console.json 4.5 MB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861986298639864986598669867986898699870987198729873987498759876987798789879988098819882988398849885988698879888988998909891989298939894989598969897989898999900990199029903990499059906990799089909991099119912991399149915991699179918991999209921992299239924992599269927992899299930993199329933993499359936993799389939994099419942994399449945994699479948994999509951995299539954995599569957995899599960996199629963996499659966996799689969997099719972997399749975997699779978997999809981998299839984998599869987998899899990999199929993999499959996999799989999100001000110002100031000410005100061000710008100091001010011100121001310014100151001610017100181001910020100211002210023100241002510026100271002810029100301003110032100331003410035100361003710038100391004010041100421004310044100451004610047100481004910050100511005210053100541005510056100571005810059100601006110062100631006410065100661006710068100691007010071100721007310074100751007610077100781007910080100811008210083100841008510086100871008810089100901009110092100931009410095100961009710098100991010010101101021010310104101051010610107101081010910110101111011210113101141011510116101171011810119101201012110122101231012410125101261012710128101291013010131101321013310134101351013610137101381013910140101411014210143101441014510146101471014810149101501015110152101531015410155101561015710158101591016010161101621016310164101651016610167101681016910170101711017210173101741017510176101771017810179101801018110182101831018410185101861018710188101891019010191101921019310194101951019610197101981019910200102011020210203102041020510206102071020810209102101021110212102131021410215102161021710218102191022010221102221022310224102251022610227102281022910230102311023210233102341023510236102371023810239102401024110242102431024410245102461024710248102491025010251102521025310254102551025610257102581025910260102611026210263102641026510266102671026810269102701027110272102731027410275102761027710278102791028010281102821028310284102851028610287102881028910290102911029210293102941029510296102971029810299103001030110302103031030410305103061030710308103091031010311103121031310314103151031610317103181031910320103211032210323103241032510326103271032810329103301033110332103331033410335103361033710338103391034010341103421034310344103451034610347103481034910350103511035210353103541035510356103571035810359103601036110362103631036410365103661036710368103691037010371103721037310374103751037610377103781037910380103811038210383103841038510386103871038810389103901039110392103931039410395103961039710398103991040010401104021040310404104051040610407104081040910410104111041210413104141041510416104171041810419104201042110422104231042410425104261042710428104291043010431104321043310434104351043610437104381043910440104411044210443104441044510446104471044810449104501045110452104531045410455104561045710458104591046010461104621046310464104651046610467104681046910470104711047210473104741047510476104771047810479104801048110482104831048410485104861048710488104891049010491104921049310494104951049610497104981049910500105011050210503105041050510506105071050810509105101051110512105131051410515105161051710518105191052010521105221052310524105251052610527105281052910530105311053210533105341053510536105371053810539105401054110542105431054410545105461054710548105491055010551105521055310554105551055610557105581055910560105611056210563105641056510566105671056810569105701057110572105731057410575105761057710578105791058010581105821058310584105851058610587105881058910590105911059210593105941059510596105971059810599106001060110602106031060410605106061060710608106091061010611106121061310614106151061610617106181061910620106211062210623106241062510626106271062810629106301063110632106331063410635106361063710638106391064010641106421064310644106451064610647106481064910650106511065210653106541065510656106571065810659106601066110662106631066410665106661066710668106691067010671106721067310674106751067610677106781067910680106811068210683106841068510686106871068810689106901069110692106931069410695106961069710698106991070010701107021070310704107051070610707107081070910710107111071210713107141071510716107171071810719107201072110722107231072410725107261072710728107291073010731107321073310734107351073610737107381073910740107411074210743107441074510746107471074810749107501075110752107531075410755107561075710758107591076010761107621076310764107651076610767107681076910770107711077210773107741077510776107771077810779107801078110782107831078410785107861078710788107891079010791107921079310794107951079610797107981079910800108011080210803108041080510806108071080810809108101081110812108131081410815108161081710818108191082010821108221082310824108251082610827108281082910830108311083210833108341083510836108371083810839108401084110842108431084410845108461084710848108491085010851108521085310854108551085610857108581085910860108611086210863108641086510866108671086810869108701087110872108731087410875108761087710878108791088010881108821088310884108851088610887108881088910890108911089210893108941089510896108971089810899109001090110902109031090410905109061090710908109091091010911109121091310914109151091610917109181091910920109211092210923109241092510926109271092810929109301093110932109331093410935109361093710938109391094010941109421094310944109451094610947109481094910950109511095210953109541095510956109571095810959109601096110962109631096410965109661096710968109691097010971109721097310974109751097610977109781097910980109811098210983109841098510986109871098810989109901099110992109931099410995109961099710998109991100011001110021100311004110051100611007110081100911010110111101211013110141101511016110171101811019110201102111022110231102411025110261102711028110291103011031110321103311034110351103611037110381103911040110411104211043110441104511046110471104811049110501105111052110531105411055110561105711058110591106011061110621106311064110651106611067110681106911070110711107211073110741107511076110771107811079110801108111082110831108411085110861108711088110891109011091110921109311094110951109611097110981109911100111011110211103111041110511106111071110811109111101111111112111131111411115111161111711118111191112011121111221112311124111251112611127111281112911130111311113211133111341113511136111371113811139111401114111142111431114411145111461114711148111491115011151111521115311154111551115611157111581115911160111611116211163111641116511166111671116811169111701117111172111731117411175111761117711178111791118011181111821118311184111851118611187111881118911190111911119211193111941119511196111971119811199112001120111202112031120411205112061120711208112091121011211112121121311214112151121611217112181121911220112211122211223112241122511226112271122811229112301123111232112331123411235112361123711238112391124011241112421124311244112451124611247112481124911250112511125211253112541125511256112571125811259112601126111262112631126411265112661126711268112691127011271112721127311274112751127611277112781127911280112811128211283112841128511286112871128811289112901129111292112931129411295112961129711298112991130011301113021130311304113051130611307113081130911310113111131211313113141131511316113171131811319113201132111322113231132411325113261132711328113291133011331113321133311334113351133611337113381133911340113411134211343113441134511346113471134811349113501135111352113531135411355113561135711358113591136011361113621136311364113651136611367113681136911370113711137211373113741137511376113771137811379113801138111382113831138411385113861138711388113891139011391113921139311394113951139611397113981139911400114011140211403114041140511406114071140811409114101141111412114131141411415114161141711418114191142011421114221142311424114251142611427114281142911430114311143211433114341143511436114371143811439114401144111442114431144411445114461144711448114491145011451114521145311454114551145611457114581145911460114611146211463114641146511466114671146811469114701147111472114731147411475114761147711478114791148011481114821148311484114851148611487114881148911490114911149211493114941149511496114971149811499115001150111502115031150411505115061150711508115091151011511115121151311514115151151611517115181151911520115211152211523115241152511526115271152811529115301153111532115331153411535115361153711538115391154011541115421154311544115451154611547115481154911550115511155211553115541155511556115571155811559115601156111562115631156411565115661156711568115691157011571115721157311574115751157611577115781157911580115811158211583115841158511586115871158811589115901159111592115931159411595115961159711598115991160011601116021160311604116051160611607116081160911610116111161211613116141161511616116171161811619116201162111622116231162411625116261162711628116291163011631116321163311634116351163611637116381163911640116411164211643116441164511646116471164811649116501165111652116531165411655116561165711658116591166011661116621166311664116651166611667116681166911670116711167211673116741167511676116771167811679116801168111682116831168411685116861168711688116891169011691116921169311694116951169611697116981169911700117011170211703117041170511706117071170811709117101171111712117131171411715117161171711718117191172011721117221172311724117251172611727117281172911730117311173211733117341173511736117371173811739117401174111742117431174411745117461174711748117491175011751117521175311754117551175611757117581175911760117611176211763117641176511766117671176811769117701177111772117731177411775117761177711778117791178011781117821178311784117851178611787117881178911790117911179211793117941179511796117971179811799118001180111802118031180411805118061180711808118091181011811118121181311814118151181611817118181181911820118211182211823118241182511826118271182811829118301183111832118331183411835118361183711838118391184011841118421184311844118451184611847118481184911850118511185211853118541185511856118571185811859118601186111862118631186411865118661186711868118691187011871118721187311874118751187611877118781187911880118811188211883118841188511886118871188811889118901189111892118931189411895118961189711898118991190011901119021190311904119051190611907119081190911910119111191211913119141191511916119171191811919119201192111922119231192411925119261192711928119291193011931119321193311934119351193611937119381193911940119411194211943119441194511946119471194811949119501195111952119531195411955119561195711958119591196011961119621196311964119651196611967119681196911970119711197211973119741197511976119771197811979119801198111982119831198411985119861198711988119891199011991119921199311994119951199611997119981199912000120011200212003120041200512006120071200812009120101201112012120131201412015120161201712018120191202012021120221202312024120251202612027120281202912030120311203212033120341203512036120371203812039120401204112042120431204412045120461204712048120491205012051120521205312054120551205612057120581205912060120611206212063120641206512066120671206812069120701207112072120731207412075120761207712078120791208012081120821208312084120851208612087120881208912090120911209212093120941209512096120971209812099121001210112102121031210412105121061210712108121091211012111121121211312114121151211612117121181211912120121211212212123121241212512126121271212812129121301213112132121331213412135121361213712138121391214012141121421214312144121451214612147121481214912150121511215212153121541215512156121571215812159121601216112162121631216412165121661216712168121691217012171121721217312174121751217612177121781217912180121811218212183121841218512186121871218812189121901219112192121931219412195121961219712198121991220012201122021220312204122051220612207122081220912210122111221212213122141221512216122171221812219122201222112222122231222412225122261222712228122291223012231122321223312234122351223612237122381223912240122411224212243122441224512246122471224812249122501225112252122531225412255122561225712258122591226012261122621226312264122651226612267122681226912270122711227212273122741227512276122771227812279122801228112282122831228412285122861228712288122891229012291122921229312294122951229612297122981229912300123011230212303123041230512306123071230812309123101231112312123131231412315123161231712318123191232012321123221232312324123251232612327123281232912330123311233212333123341233512336123371233812339123401234112342123431234412345123461234712348123491235012351123521235312354123551235612357123581235912360123611236212363123641236512366123671236812369123701237112372123731237412375123761237712378123791238012381123821238312384123851238612387123881238912390123911239212393123941239512396123971239812399124001240112402124031240412405124061240712408124091241012411124121241312414124151241612417124181241912420124211242212423124241242512426124271242812429124301243112432124331243412435124361243712438124391244012441124421244312444124451244612447124481244912450124511245212453124541245512456124571245812459124601246112462124631246412465124661246712468124691247012471124721247312474124751247612477124781247912480124811248212483124841248512486124871248812489124901249112492124931249412495124961249712498124991250012501125021250312504125051250612507125081250912510125111251212513125141251512516125171251812519125201252112522125231252412525125261252712528125291253012531125321253312534125351253612537125381253912540125411254212543125441254512546125471254812549125501255112552125531255412555125561255712558125591256012561125621256312564125651256612567125681256912570125711257212573125741257512576125771257812579125801258112582125831258412585125861258712588125891259012591125921259312594125951259612597125981259912600126011260212603126041260512606126071260812609126101261112612126131261412615126161261712618126191262012621126221262312624126251262612627126281262912630126311263212633126341263512636126371263812639126401264112642126431264412645126461264712648126491265012651126521265312654126551265612657126581265912660126611266212663126641266512666126671266812669126701267112672126731267412675126761267712678126791268012681126821268312684126851268612687126881268912690126911269212693126941269512696126971269812699127001270112702127031270412705127061270712708127091271012711127121271312714127151271612717127181271912720127211272212723127241272512726127271272812729127301273112732127331273412735127361273712738127391274012741127421274312744127451274612747127481274912750127511275212753127541275512756127571275812759127601276112762127631276412765127661276712768127691277012771127721277312774127751277612777127781277912780127811278212783127841278512786127871278812789127901279112792127931279412795127961279712798127991280012801128021280312804128051280612807128081280912810128111281212813128141281512816128171281812819128201282112822128231282412825128261282712828128291283012831128321283312834128351283612837128381283912840128411284212843128441284512846128471284812849128501285112852128531285412855128561285712858128591286012861128621286312864128651286612867128681286912870128711287212873128741287512876128771287812879128801288112882128831288412885128861288712888128891289012891128921289312894128951289612897128981289912900129011290212903129041290512906129071290812909129101291112912129131291412915129161291712918129191292012921129221292312924129251292612927129281292912930129311293212933129341293512936129371293812939129401294112942129431294412945129461294712948129491295012951129521295312954129551295612957129581295912960129611296212963129641296512966129671296812969129701297112972129731297412975129761297712978129791298012981129821298312984129851298612987129881298912990129911299212993129941299512996129971299812999130001300113002130031300413005130061300713008130091301013011130121301313014130151301613017130181301913020130211302213023130241302513026130271302813029130301303113032130331303413035130361303713038130391304013041130421304313044130451304613047130481304913050130511305213053130541305513056130571305813059130601306113062130631306413065130661306713068130691307013071130721307313074130751307613077130781307913080130811308213083130841308513086130871308813089130901309113092130931309413095130961309713098130991310013101131021310313104131051310613107131081310913110131111311213113131141311513116131171311813119131201312113122131231312413125131261312713128131291313013131131321313313134131351313613137131381313913140131411314213143131441314513146131471314813149131501315113152131531315413155131561315713158131591316013161131621316313164131651316613167131681316913170131711317213173131741317513176131771317813179131801318113182131831318413185131861318713188131891319013191131921319313194131951319613197131981319913200132011320213203132041320513206132071320813209132101321113212132131321413215132161321713218132191322013221132221322313224132251322613227132281322913230132311323213233132341323513236132371323813239132401324113242132431324413245132461324713248132491325013251132521325313254132551325613257132581325913260132611326213263132641326513266132671326813269132701327113272132731327413275132761327713278132791328013281132821328313284132851328613287132881328913290132911329213293132941329513296132971329813299133001330113302133031330413305133061330713308133091331013311133121331313314133151331613317133181331913320133211332213323133241332513326133271332813329133301333113332133331333413335133361333713338133391334013341133421334313344133451334613347133481334913350133511335213353133541335513356133571335813359133601336113362133631336413365133661336713368133691337013371133721337313374133751337613377133781337913380133811338213383133841338513386133871338813389133901339113392133931339413395133961339713398133991340013401134021340313404134051340613407134081340913410134111341213413134141341513416134171341813419134201342113422134231342413425134261342713428134291343013431134321343313434134351343613437134381343913440134411344213443134441344513446134471344813449134501345113452134531345413455134561345713458134591346013461134621346313464134651346613467134681346913470134711347213473134741347513476134771347813479134801348113482134831348413485134861348713488134891349013491134921349313494134951349613497134981349913500135011350213503135041350513506135071350813509135101351113512135131351413515135161351713518135191352013521135221352313524135251352613527135281352913530135311353213533135341353513536135371353813539135401354113542135431354413545135461354713548135491355013551135521355313554135551355613557135581355913560135611356213563135641356513566135671356813569135701357113572135731357413575135761357713578135791358013581135821358313584135851358613587135881358913590135911359213593135941359513596135971359813599136001360113602136031360413605136061360713608136091361013611136121361313614136151361613617136181361913620136211362213623136241362513626136271362813629136301363113632136331363413635136361363713638136391364013641136421364313644136451364613647136481364913650136511365213653136541365513656136571365813659136601366113662136631366413665136661366713668136691367013671136721367313674136751367613677136781367913680136811368213683136841368513686136871368813689136901369113692136931369413695136961369713698136991370013701137021370313704137051370613707137081370913710137111371213713137141371513716137171371813719137201372113722137231372413725137261372713728137291373013731137321373313734137351373613737137381373913740137411374213743137441374513746137471374813749137501375113752137531375413755137561375713758137591376013761137621376313764137651376613767137681376913770137711377213773137741377513776137771377813779137801378113782137831378413785137861378713788137891379013791137921379313794137951379613797137981379913800138011380213803138041380513806138071380813809138101381113812138131381413815138161381713818138191382013821138221382313824138251382613827138281382913830138311383213833138341383513836138371383813839138401384113842138431384413845138461384713848138491385013851138521385313854138551385613857138581385913860138611386213863138641386513866138671386813869138701387113872138731387413875138761387713878138791388013881138821388313884138851388613887138881388913890138911389213893138941389513896138971389813899139001390113902139031390413905139061390713908139091391013911139121391313914139151391613917139181391913920139211392213923139241392513926139271392813929139301393113932139331393413935139361393713938139391394013941139421394313944139451394613947139481394913950139511395213953139541395513956139571395813959139601396113962139631396413965139661396713968139691397013971139721397313974139751397613977139781397913980139811398213983139841398513986139871398813989139901399113992139931399413995139961399713998139991400014001140021400314004140051400614007140081400914010140111401214013140141401514016140171401814019140201402114022140231402414025140261402714028140291403014031140321403314034140351403614037140381403914040140411404214043140441404514046140471404814049140501405114052140531405414055140561405714058140591406014061140621406314064140651406614067140681406914070140711407214073140741407514076140771407814079140801408114082140831408414085140861408714088140891409014091140921409314094140951409614097140981409914100141011410214103141041410514106141071410814109141101411114112141131411414115141161411714118141191412014121141221412314124141251412614127141281412914130141311413214133141341413514136141371413814139141401414114142141431414414145141461414714148141491415014151141521415314154141551415614157141581415914160141611416214163141641416514166141671416814169141701417114172141731417414175141761417714178141791418014181141821418314184141851418614187141881418914190141911419214193141941419514196141971419814199142001420114202142031420414205142061420714208142091421014211142121421314214142151421614217142181421914220142211422214223142241422514226142271422814229142301423114232142331423414235142361423714238142391424014241142421424314244142451424614247142481424914250142511425214253142541425514256142571425814259142601426114262142631426414265142661426714268142691427014271142721427314274142751427614277142781427914280142811428214283142841428514286142871428814289142901429114292142931429414295142961429714298142991430014301143021430314304143051430614307143081430914310143111431214313143141431514316143171431814319143201432114322143231432414325143261432714328143291433014331143321433314334143351433614337143381433914340143411434214343143441434514346143471434814349143501435114352143531435414355143561435714358143591436014361143621436314364143651436614367143681436914370143711437214373143741437514376143771437814379143801438114382143831438414385143861438714388143891439014391143921439314394143951439614397143981439914400144011440214403144041440514406144071440814409144101441114412144131441414415144161441714418144191442014421144221442314424144251442614427144281442914430144311443214433144341443514436144371443814439144401444114442144431444414445144461444714448144491445014451144521445314454144551445614457144581445914460144611446214463144641446514466144671446814469144701447114472144731447414475144761447714478144791448014481144821448314484144851448614487144881448914490144911449214493144941449514496144971449814499145001450114502145031450414505145061450714508145091451014511145121451314514145151451614517145181451914520145211452214523145241452514526145271452814529145301453114532145331453414535145361453714538145391454014541145421454314544145451454614547145481454914550145511455214553145541455514556145571455814559145601456114562145631456414565145661456714568145691457014571145721457314574145751457614577145781457914580145811458214583145841458514586145871458814589145901459114592145931459414595145961459714598145991460014601146021460314604146051460614607146081460914610146111461214613146141461514616146171461814619146201462114622146231462414625146261462714628146291463014631146321463314634146351463614637146381463914640146411464214643146441464514646146471464814649146501465114652146531465414655146561465714658146591466014661146621466314664146651466614667146681466914670146711467214673146741467514676146771467814679146801468114682146831468414685146861468714688146891469014691146921469314694146951469614697146981469914700147011470214703147041470514706147071470814709147101471114712147131471414715147161471714718147191472014721147221472314724147251472614727147281472914730147311473214733147341473514736147371473814739147401474114742147431474414745147461474714748147491475014751147521475314754147551475614757147581475914760147611476214763147641476514766147671476814769147701477114772147731477414775147761477714778147791478014781147821478314784147851478614787147881478914790147911479214793147941479514796147971479814799148001480114802148031480414805148061480714808148091481014811148121481314814148151481614817148181481914820148211482214823148241482514826148271482814829148301483114832148331483414835148361483714838148391484014841148421484314844148451484614847148481484914850148511485214853148541485514856148571485814859148601486114862148631486414865148661486714868148691487014871148721487314874148751487614877148781487914880148811488214883148841488514886148871488814889148901489114892148931489414895148961489714898148991490014901149021490314904149051490614907149081490914910149111491214913149141491514916149171491814919149201492114922149231492414925149261492714928149291493014931149321493314934149351493614937149381493914940149411494214943149441494514946149471494814949149501495114952149531495414955149561495714958149591496014961149621496314964149651496614967149681496914970149711497214973149741497514976149771497814979149801498114982149831498414985149861498714988149891499014991149921499314994149951499614997149981499915000150011500215003150041500515006150071500815009150101501115012150131501415015150161501715018150191502015021150221502315024150251502615027150281502915030150311503215033150341503515036150371503815039150401504115042150431504415045150461504715048150491505015051150521505315054150551505615057150581505915060150611506215063150641506515066150671506815069150701507115072150731507415075150761507715078150791508015081150821508315084150851508615087150881508915090150911509215093150941509515096150971509815099151001510115102151031510415105151061510715108151091511015111151121511315114151151511615117151181511915120151211512215123151241512515126151271512815129151301513115132151331513415135151361513715138151391514015141151421514315144151451514615147151481514915150151511515215153151541515515156151571515815159151601516115162151631516415165151661516715168151691517015171151721517315174151751517615177151781517915180151811518215183151841518515186151871518815189151901519115192151931519415195151961519715198151991520015201152021520315204152051520615207152081520915210152111521215213152141521515216152171521815219152201522115222152231522415225152261522715228152291523015231152321523315234152351523615237152381523915240152411524215243152441524515246152471524815249152501525115252152531525415255152561525715258152591526015261152621526315264152651526615267152681526915270152711527215273152741527515276152771527815279152801528115282152831528415285152861528715288152891529015291152921529315294152951529615297152981529915300153011530215303153041530515306153071530815309153101531115312153131531415315153161531715318153191532015321153221532315324153251532615327153281532915330153311533215333153341533515336153371533815339153401534115342153431534415345153461534715348153491535015351153521535315354153551535615357153581535915360153611536215363153641536515366153671536815369153701537115372153731537415375153761537715378153791538015381153821538315384153851538615387153881538915390153911539215393153941539515396153971539815399154001540115402154031540415405154061540715408154091541015411154121541315414154151541615417154181541915420154211542215423154241542515426154271542815429154301543115432154331543415435154361543715438154391544015441154421544315444154451544615447154481544915450154511545215453154541545515456154571545815459154601546115462154631546415465154661546715468154691547015471154721547315474154751547615477154781547915480154811548215483154841548515486154871548815489154901549115492154931549415495154961549715498154991550015501155021550315504155051550615507155081550915510155111551215513155141551515516155171551815519155201552115522155231552415525155261552715528155291553015531155321553315534155351553615537155381553915540155411554215543155441554515546155471554815549155501555115552155531555415555155561555715558155591556015561155621556315564155651556615567155681556915570155711557215573155741557515576155771557815579155801558115582155831558415585155861558715588155891559015591155921559315594155951559615597155981559915600156011560215603156041560515606156071560815609156101561115612156131561415615156161561715618156191562015621156221562315624156251562615627156281562915630156311563215633156341563515636156371563815639156401564115642156431564415645156461564715648156491565015651156521565315654156551565615657156581565915660156611566215663156641566515666156671566815669156701567115672156731567415675156761567715678156791568015681156821568315684156851568615687156881568915690156911569215693156941569515696156971569815699157001570115702157031570415705157061570715708157091571015711157121571315714157151571615717157181571915720157211572215723157241572515726157271572815729157301573115732157331573415735157361573715738157391574015741157421574315744157451574615747157481574915750157511575215753157541575515756157571575815759157601576115762157631576415765157661576715768157691577015771157721577315774157751577615777157781577915780157811578215783157841578515786157871578815789157901579115792157931579415795157961579715798157991580015801158021580315804158051580615807158081580915810158111581215813158141581515816158171581815819158201582115822158231582415825158261582715828158291583015831158321583315834158351583615837158381583915840158411584215843158441584515846158471584815849158501585115852158531585415855158561585715858158591586015861158621586315864158651586615867158681586915870158711587215873158741587515876158771587815879158801588115882158831588415885158861588715888158891589015891158921589315894158951589615897158981589915900159011590215903159041590515906159071590815909159101591115912159131591415915159161591715918159191592015921159221592315924159251592615927159281592915930159311593215933159341593515936159371593815939159401594115942159431594415945159461594715948159491595015951159521595315954159551595615957159581595915960159611596215963159641596515966159671596815969159701597115972159731597415975159761597715978159791598015981159821598315984159851598615987159881598915990159911599215993159941599515996159971599815999160001600116002160031600416005160061600716008160091601016011160121601316014160151601616017160181601916020160211602216023160241602516026160271602816029160301603116032160331603416035160361603716038160391604016041160421604316044160451604616047160481604916050160511605216053160541605516056160571605816059160601606116062160631606416065160661606716068160691607016071160721607316074160751607616077160781607916080160811608216083160841608516086160871608816089160901609116092160931609416095160961609716098160991610016101161021610316104161051610616107161081610916110161111611216113161141611516116161171611816119161201612116122161231612416125161261612716128161291613016131161321613316134161351613616137161381613916140161411614216143161441614516146161471614816149161501615116152161531615416155161561615716158161591616016161161621616316164161651616616167161681616916170161711617216173161741617516176161771617816179161801618116182161831618416185161861618716188161891619016191161921619316194161951619616197161981619916200162011620216203162041620516206162071620816209162101621116212162131621416215162161621716218162191622016221162221622316224162251622616227162281622916230162311623216233162341623516236162371623816239162401624116242162431624416245162461624716248162491625016251162521625316254162551625616257162581625916260162611626216263162641626516266162671626816269162701627116272162731627416275162761627716278162791628016281162821628316284162851628616287162881628916290162911629216293162941629516296162971629816299163001630116302163031630416305163061630716308163091631016311163121631316314163151631616317163181631916320163211632216323163241632516326163271632816329163301633116332163331633416335163361633716338163391634016341163421634316344163451634616347163481634916350163511635216353163541635516356163571635816359163601636116362163631636416365163661636716368163691637016371163721637316374163751637616377163781637916380163811638216383163841638516386163871638816389163901639116392163931639416395163961639716398163991640016401164021640316404164051640616407164081640916410164111641216413164141641516416164171641816419164201642116422164231642416425164261642716428164291643016431164321643316434164351643616437164381643916440164411644216443164441644516446164471644816449164501645116452164531645416455164561645716458164591646016461164621646316464164651646616467164681646916470164711647216473164741647516476164771647816479164801648116482164831648416485164861648716488164891649016491164921649316494164951649616497164981649916500165011650216503165041650516506165071650816509165101651116512165131651416515165161651716518165191652016521165221652316524165251652616527165281652916530165311653216533165341653516536165371653816539165401654116542165431654416545165461654716548165491655016551165521655316554165551655616557165581655916560165611656216563165641656516566165671656816569165701657116572165731657416575165761657716578165791658016581165821658316584165851658616587165881658916590165911659216593165941659516596165971659816599166001660116602166031660416605166061660716608166091661016611166121661316614166151661616617166181661916620166211662216623166241662516626166271662816629166301663116632166331663416635166361663716638166391664016641166421664316644166451664616647166481664916650166511665216653166541665516656166571665816659166601666116662166631666416665166661666716668166691667016671166721667316674166751667616677166781667916680166811668216683166841668516686166871668816689166901669116692166931669416695166961669716698166991670016701167021670316704167051670616707167081670916710167111671216713167141671516716167171671816719167201672116722167231672416725167261672716728167291673016731167321673316734167351673616737167381673916740167411674216743167441674516746167471674816749167501675116752167531675416755167561675716758167591676016761167621676316764167651676616767167681676916770167711677216773167741677516776167771677816779167801678116782167831678416785167861678716788167891679016791167921679316794167951679616797167981679916800168011680216803168041680516806168071680816809168101681116812168131681416815168161681716818168191682016821168221682316824168251682616827168281682916830168311683216833168341683516836168371683816839168401684116842168431684416845168461684716848168491685016851168521685316854168551685616857168581685916860168611686216863168641686516866168671686816869168701687116872168731687416875168761687716878168791688016881168821688316884168851688616887168881688916890168911689216893168941689516896168971689816899169001690116902169031690416905169061690716908169091691016911169121691316914169151691616917169181691916920169211692216923169241692516926169271692816929169301693116932169331693416935169361693716938169391694016941169421694316944169451694616947169481694916950169511695216953169541695516956169571695816959169601696116962169631696416965169661696716968169691697016971169721697316974169751697616977169781697916980169811698216983169841698516986169871698816989169901699116992169931699416995169961699716998169991700017001170021700317004170051700617007170081700917010170111701217013170141701517016170171701817019170201702117022170231702417025170261702717028170291703017031170321703317034170351703617037170381703917040170411704217043170441704517046170471704817049170501705117052170531705417055170561705717058170591706017061170621706317064170651706617067170681706917070170711707217073170741707517076170771707817079170801708117082170831708417085170861708717088170891709017091170921709317094170951709617097170981709917100171011710217103171041710517106171071710817109171101711117112171131711417115171161711717118171191712017121171221712317124171251712617127171281712917130171311713217133171341713517136171371713817139171401714117142171431714417145171461714717148171491715017151171521715317154171551715617157171581715917160171611716217163171641716517166171671716817169171701717117172171731717417175171761717717178171791718017181171821718317184171851718617187171881718917190171911719217193171941719517196171971719817199172001720117202172031720417205172061720717208172091721017211172121721317214172151721617217172181721917220172211722217223172241722517226172271722817229172301723117232172331723417235172361723717238172391724017241172421724317244172451724617247172481724917250172511725217253172541725517256172571725817259172601726117262172631726417265172661726717268172691727017271172721727317274172751727617277172781727917280172811728217283172841728517286172871728817289172901729117292172931729417295172961729717298172991730017301173021730317304173051730617307173081730917310173111731217313173141731517316173171731817319173201732117322173231732417325173261732717328173291733017331173321733317334173351733617337173381733917340173411734217343173441734517346173471734817349173501735117352173531735417355173561735717358173591736017361173621736317364173651736617367173681736917370173711737217373173741737517376173771737817379173801738117382173831738417385173861738717388173891739017391173921739317394173951739617397173981739917400174011740217403174041740517406174071740817409174101741117412174131741417415174161741717418174191742017421174221742317424174251742617427174281742917430174311743217433174341743517436174371743817439174401744117442174431744417445174461744717448174491745017451174521745317454174551745617457174581745917460174611746217463174641746517466174671746817469174701747117472174731747417475174761747717478174791748017481174821748317484174851748617487174881748917490174911749217493174941749517496174971749817499175001750117502175031750417505175061750717508175091751017511175121751317514175151751617517175181751917520175211752217523175241752517526175271752817529175301753117532175331753417535175361753717538175391754017541175421754317544175451754617547175481754917550175511755217553175541755517556175571755817559175601756117562175631756417565175661756717568175691757017571175721757317574175751757617577175781757917580175811758217583175841758517586175871758817589175901759117592175931759417595175961759717598175991760017601176021760317604176051760617607176081760917610176111761217613176141761517616176171761817619176201762117622176231762417625176261762717628176291763017631176321763317634176351763617637176381763917640176411764217643176441764517646176471764817649176501765117652176531765417655176561765717658176591766017661176621766317664176651766617667176681766917670176711767217673176741767517676176771767817679176801768117682176831768417685176861768717688176891769017691176921769317694176951769617697176981769917700177011770217703177041770517706177071770817709177101771117712177131771417715177161771717718177191772017721177221772317724177251772617727177281772917730177311773217733177341773517736177371773817739177401774117742177431774417745177461774717748177491775017751177521775317754177551775617757177581775917760177611776217763177641776517766177671776817769177701777117772177731777417775177761777717778177791778017781177821778317784177851778617787177881778917790177911779217793177941779517796177971779817799178001780117802178031780417805178061780717808178091781017811178121781317814178151781617817178181781917820178211782217823178241782517826178271782817829178301783117832178331783417835178361783717838178391784017841178421784317844178451784617847178481784917850178511785217853178541785517856178571785817859178601786117862178631786417865178661786717868178691787017871178721787317874178751787617877178781787917880178811788217883178841788517886178871788817889178901789117892178931789417895178961789717898178991790017901179021790317904179051790617907179081790917910179111791217913179141791517916179171791817919179201792117922179231792417925179261792717928179291793017931179321793317934179351793617937179381793917940179411794217943179441794517946179471794817949179501795117952179531795417955179561795717958179591796017961179621796317964179651796617967179681796917970179711797217973179741797517976179771797817979179801798117982179831798417985179861798717988179891799017991179921799317994179951799617997179981799918000180011800218003180041800518006180071800818009180101801118012180131801418015180161801718018180191802018021180221802318024180251802618027180281802918030180311803218033180341803518036180371803818039180401804118042180431804418045180461804718048180491805018051180521805318054180551805618057180581805918060180611806218063180641806518066180671806818069180701807118072180731807418075180761807718078180791808018081180821808318084180851808618087180881808918090180911809218093180941809518096180971809818099181001810118102181031810418105181061810718108181091811018111181121811318114181151811618117181181811918120181211812218123181241812518126181271812818129181301813118132181331813418135181361813718138181391814018141181421814318144181451814618147181481814918150181511815218153181541815518156181571815818159181601816118162181631816418165181661816718168181691817018171181721817318174181751817618177181781817918180181811818218183181841818518186181871818818189181901819118192181931819418195181961819718198181991820018201182021820318204182051820618207182081820918210182111821218213182141821518216182171821818219182201822118222182231822418225182261822718228182291823018231182321823318234182351823618237182381823918240182411824218243182441824518246182471824818249182501825118252182531825418255182561825718258182591826018261182621826318264182651826618267182681826918270182711827218273182741827518276182771827818279182801828118282182831828418285182861828718288182891829018291182921829318294182951829618297182981829918300183011830218303183041830518306183071830818309183101831118312183131831418315183161831718318183191832018321183221832318324183251832618327183281832918330183311833218333183341833518336183371833818339183401834118342183431834418345183461834718348183491835018351183521835318354183551835618357183581835918360183611836218363183641836518366183671836818369183701837118372183731837418375183761837718378183791838018381183821838318384183851838618387183881838918390183911839218393183941839518396183971839818399184001840118402184031840418405184061840718408184091841018411184121841318414184151841618417184181841918420184211842218423184241842518426184271842818429184301843118432184331843418435184361843718438184391844018441184421844318444184451844618447184481844918450184511845218453184541845518456184571845818459184601846118462184631846418465184661846718468184691847018471184721847318474184751847618477184781847918480184811848218483184841848518486184871848818489184901849118492184931849418495184961849718498184991850018501185021850318504185051850618507185081850918510185111851218513185141851518516185171851818519185201852118522185231852418525185261852718528185291853018531185321853318534185351853618537185381853918540185411854218543185441854518546185471854818549185501855118552185531855418555185561855718558185591856018561185621856318564185651856618567185681856918570185711857218573185741857518576185771857818579185801858118582185831858418585185861858718588185891859018591185921859318594185951859618597185981859918600186011860218603186041860518606186071860818609186101861118612186131861418615186161861718618186191862018621186221862318624186251862618627186281862918630186311863218633186341863518636186371863818639186401864118642186431864418645186461864718648186491865018651186521865318654186551865618657186581865918660186611866218663186641866518666186671866818669186701867118672186731867418675186761867718678186791868018681186821868318684186851868618687186881868918690186911869218693186941869518696186971869818699187001870118702187031870418705187061870718708187091871018711187121871318714187151871618717187181871918720187211872218723187241872518726187271872818729187301873118732187331873418735187361873718738187391874018741187421874318744187451874618747187481874918750187511875218753187541875518756187571875818759187601876118762187631876418765187661876718768187691877018771187721877318774187751877618777187781877918780187811878218783187841878518786187871878818789187901879118792187931879418795187961879718798187991880018801188021880318804188051880618807188081880918810188111881218813188141881518816188171881818819188201882118822188231882418825188261882718828188291883018831188321883318834188351883618837188381883918840188411884218843188441884518846188471884818849188501885118852188531885418855188561885718858188591886018861188621886318864188651886618867188681886918870188711887218873188741887518876188771887818879188801888118882188831888418885188861888718888188891889018891188921889318894188951889618897188981889918900189011890218903189041890518906189071890818909189101891118912189131891418915189161891718918189191892018921189221892318924189251892618927189281892918930189311893218933189341893518936189371893818939189401894118942189431894418945189461894718948189491895018951189521895318954189551895618957189581895918960189611896218963189641896518966189671896818969189701897118972189731897418975189761897718978189791898018981189821898318984189851898618987189881898918990189911899218993189941899518996189971899818999190001900119002190031900419005190061900719008190091901019011190121901319014190151901619017190181901919020190211902219023190241902519026190271902819029190301903119032190331903419035190361903719038190391904019041190421904319044190451904619047190481904919050190511905219053190541905519056190571905819059190601906119062190631906419065190661906719068190691907019071190721907319074190751907619077190781907919080190811908219083190841908519086190871908819089190901909119092190931909419095190961909719098190991910019101191021910319104191051910619107191081910919110191111911219113191141911519116191171911819119191201912119122191231912419125191261912719128191291913019131191321913319134191351913619137191381913919140191411914219143191441914519146191471914819149191501915119152191531915419155191561915719158191591916019161191621916319164191651916619167191681916919170191711917219173191741917519176191771917819179191801918119182191831918419185191861918719188191891919019191191921919319194191951919619197191981919919200192011920219203192041920519206192071920819209192101921119212192131921419215192161921719218192191922019221192221922319224192251922619227192281922919230192311923219233192341923519236192371923819239192401924119242192431924419245192461924719248192491925019251192521925319254192551925619257192581925919260192611926219263192641926519266192671926819269192701927119272192731927419275192761927719278192791928019281192821928319284192851928619287192881928919290192911929219293192941929519296192971929819299193001930119302193031930419305193061930719308193091931019311193121931319314193151931619317193181931919320193211932219323193241932519326193271932819329193301933119332193331933419335193361933719338193391934019341193421934319344193451934619347193481934919350193511935219353193541935519356193571935819359193601936119362193631936419365193661936719368193691937019371193721937319374193751937619377193781937919380193811938219383193841938519386193871938819389193901939119392193931939419395193961939719398193991940019401194021940319404194051940619407194081940919410194111941219413194141941519416194171941819419194201942119422194231942419425194261942719428194291943019431194321943319434194351943619437194381943919440194411944219443194441944519446194471944819449194501945119452194531945419455194561945719458194591946019461194621946319464194651946619467194681946919470194711947219473194741947519476194771947819479194801948119482194831948419485194861948719488194891949019491194921949319494194951949619497194981949919500195011950219503195041950519506195071950819509195101951119512195131951419515195161951719518195191952019521195221952319524195251952619527195281952919530195311953219533195341953519536195371953819539195401954119542195431954419545195461954719548195491955019551195521955319554195551955619557195581955919560195611956219563195641956519566195671956819569195701957119572195731957419575195761957719578195791958019581195821958319584195851958619587195881958919590195911959219593195941959519596195971959819599196001960119602196031960419605196061960719608196091961019611196121961319614196151961619617196181961919620196211962219623196241962519626196271962819629196301963119632196331963419635196361963719638196391964019641196421964319644196451964619647196481964919650196511965219653196541965519656196571965819659196601966119662196631966419665196661966719668196691967019671196721967319674196751967619677196781967919680196811968219683196841968519686196871968819689196901969119692196931969419695196961969719698196991970019701197021970319704197051970619707197081970919710197111971219713197141971519716197171971819719197201972119722197231972419725197261972719728197291973019731197321973319734197351973619737197381973919740197411974219743197441974519746197471974819749197501975119752197531975419755197561975719758197591976019761197621976319764197651976619767197681976919770197711977219773197741977519776197771977819779197801978119782197831978419785197861978719788197891979019791197921979319794197951979619797197981979919800198011980219803198041980519806198071980819809198101981119812198131981419815198161981719818198191982019821198221982319824198251982619827198281982919830198311983219833198341983519836198371983819839198401984119842198431984419845198461984719848198491985019851198521985319854198551985619857198581985919860198611986219863198641986519866198671986819869198701987119872198731987419875198761987719878198791988019881198821988319884198851988619887198881988919890198911989219893198941989519896198971989819899199001990119902199031990419905199061990719908199091991019911199121991319914199151991619917199181991919920199211992219923199241992519926199271992819929199301993119932199331993419935199361993719938199391994019941199421994319944199451994619947199481994919950199511995219953199541995519956199571995819959199601996119962199631996419965199661996719968199691997019971199721997319974199751997619977199781997919980199811998219983199841998519986199871998819989199901999119992199931999419995199961999719998199992000020001200022000320004200052000620007200082000920010200112001220013200142001520016200172001820019200202002120022200232002420025200262002720028200292003020031200322003320034200352003620037200382003920040200412004220043200442004520046200472004820049200502005120052200532005420055200562005720058200592006020061200622006320064200652006620067200682006920070200712007220073200742007520076200772007820079200802008120082200832008420085200862008720088200892009020091200922009320094200952009620097200982009920100201012010220103201042010520106201072010820109201102011120112201132011420115201162011720118201192012020121201222012320124201252012620127201282012920130201312013220133201342013520136201372013820139201402014120142201432014420145201462014720148201492015020151201522015320154201552015620157201582015920160201612016220163201642016520166201672016820169201702017120172201732017420175201762017720178201792018020181201822018320184201852018620187201882018920190201912019220193201942019520196201972019820199202002020120202202032020420205202062020720208202092021020211202122021320214202152021620217202182021920220202212022220223202242022520226202272022820229202302023120232202332023420235202362023720238202392024020241202422024320244202452024620247202482024920250202512025220253202542025520256202572025820259202602026120262202632026420265202662026720268202692027020271202722027320274202752027620277202782027920280202812028220283202842028520286202872028820289202902029120292202932029420295202962029720298202992030020301203022030320304203052030620307203082030920310203112031220313203142031520316203172031820319203202032120322203232032420325203262032720328203292033020331203322033320334203352033620337203382033920340203412034220343203442034520346203472034820349203502035120352203532035420355203562035720358203592036020361203622036320364203652036620367203682036920370203712037220373203742037520376203772037820379203802038120382203832038420385203862038720388203892039020391203922039320394203952039620397203982039920400204012040220403204042040520406204072040820409204102041120412204132041420415204162041720418204192042020421204222042320424204252042620427204282042920430204312043220433204342043520436204372043820439204402044120442204432044420445204462044720448204492045020451204522045320454204552045620457204582045920460204612046220463204642046520466204672046820469204702047120472204732047420475204762047720478204792048020481204822048320484204852048620487204882048920490204912049220493204942049520496204972049820499205002050120502205032050420505205062050720508205092051020511205122051320514205152051620517205182051920520205212052220523205242052520526205272052820529205302053120532205332053420535205362053720538205392054020541205422054320544205452054620547205482054920550205512055220553205542055520556205572055820559205602056120562205632056420565205662056720568205692057020571205722057320574205752057620577205782057920580205812058220583205842058520586205872058820589205902059120592205932059420595205962059720598205992060020601206022060320604206052060620607206082060920610206112061220613206142061520616206172061820619206202062120622206232062420625206262062720628206292063020631206322063320634206352063620637206382063920640206412064220643206442064520646206472064820649206502065120652206532065420655206562065720658206592066020661206622066320664206652066620667206682066920670206712067220673206742067520676206772067820679206802068120682206832068420685206862068720688206892069020691206922069320694206952069620697206982069920700207012070220703207042070520706207072070820709207102071120712207132071420715207162071720718207192072020721207222072320724207252072620727207282072920730207312073220733207342073520736207372073820739207402074120742207432074420745207462074720748207492075020751207522075320754207552075620757207582075920760207612076220763207642076520766207672076820769207702077120772207732077420775207762077720778207792078020781207822078320784207852078620787207882078920790207912079220793207942079520796207972079820799208002080120802208032080420805208062080720808208092081020811208122081320814208152081620817208182081920820208212082220823208242082520826208272082820829208302083120832208332083420835208362083720838208392084020841208422084320844208452084620847208482084920850208512085220853208542085520856208572085820859208602086120862208632086420865208662086720868208692087020871208722087320874208752087620877208782087920880208812088220883208842088520886208872088820889208902089120892208932089420895208962089720898208992090020901209022090320904209052090620907209082090920910209112091220913209142091520916209172091820919209202092120922209232092420925209262092720928209292093020931209322093320934209352093620937209382093920940209412094220943209442094520946209472094820949209502095120952209532095420955209562095720958209592096020961209622096320964209652096620967209682096920970209712097220973209742097520976209772097820979209802098120982209832098420985209862098720988209892099020991209922099320994209952099620997209982099921000210012100221003210042100521006210072100821009210102101121012210132101421015210162101721018210192102021021210222102321024210252102621027210282102921030210312103221033210342103521036210372103821039210402104121042210432104421045210462104721048210492105021051210522105321054210552105621057210582105921060210612106221063210642106521066210672106821069210702107121072210732107421075210762107721078210792108021081210822108321084210852108621087210882108921090210912109221093210942109521096210972109821099211002110121102211032110421105211062110721108211092111021111211122111321114211152111621117211182111921120211212112221123211242112521126211272112821129211302113121132211332113421135211362113721138211392114021141211422114321144211452114621147211482114921150211512115221153211542115521156211572115821159211602116121162211632116421165211662116721168211692117021171211722117321174211752117621177211782117921180211812118221183211842118521186211872118821189211902119121192211932119421195211962119721198211992120021201212022120321204212052120621207212082120921210212112121221213212142121521216212172121821219212202122121222212232122421225212262122721228212292123021231212322123321234212352123621237212382123921240212412124221243212442124521246212472124821249212502125121252212532125421255212562125721258212592126021261212622126321264212652126621267212682126921270212712127221273212742127521276212772127821279212802128121282212832128421285212862128721288212892129021291212922129321294212952129621297212982129921300213012130221303213042130521306213072130821309213102131121312213132131421315213162131721318213192132021321213222132321324213252132621327213282132921330213312133221333213342133521336213372133821339213402134121342213432134421345213462134721348213492135021351213522135321354213552135621357213582135921360213612136221363213642136521366213672136821369213702137121372213732137421375213762137721378213792138021381213822138321384213852138621387213882138921390213912139221393213942139521396213972139821399214002140121402214032140421405214062140721408214092141021411214122141321414214152141621417214182141921420214212142221423214242142521426214272142821429214302143121432214332143421435214362143721438214392144021441214422144321444214452144621447214482144921450214512145221453214542145521456214572145821459214602146121462214632146421465214662146721468214692147021471214722147321474214752147621477214782147921480214812148221483214842148521486214872148821489214902149121492214932149421495214962149721498214992150021501215022150321504215052150621507215082150921510215112151221513215142151521516215172151821519215202152121522215232152421525215262152721528215292153021531215322153321534215352153621537215382153921540215412154221543215442154521546215472154821549215502155121552215532155421555215562155721558215592156021561215622156321564215652156621567215682156921570215712157221573215742157521576215772157821579215802158121582215832158421585215862158721588215892159021591215922159321594215952159621597215982159921600216012160221603216042160521606216072160821609216102161121612216132161421615216162161721618216192162021621216222162321624216252162621627216282162921630216312163221633216342163521636216372163821639216402164121642216432164421645216462164721648216492165021651216522165321654216552165621657216582165921660216612166221663216642166521666216672166821669216702167121672216732167421675216762167721678216792168021681216822168321684216852168621687216882168921690216912169221693216942169521696216972169821699217002170121702217032170421705217062170721708217092171021711217122171321714217152171621717217182171921720217212172221723217242172521726217272172821729217302173121732217332173421735217362173721738217392174021741217422174321744217452174621747217482174921750217512175221753217542175521756217572175821759217602176121762217632176421765217662176721768217692177021771217722177321774217752177621777217782177921780217812178221783217842178521786217872178821789217902179121792217932179421795217962179721798217992180021801218022180321804218052180621807218082180921810218112181221813218142181521816218172181821819218202182121822218232182421825218262182721828218292183021831218322183321834218352183621837218382183921840218412184221843218442184521846218472184821849218502185121852218532185421855218562185721858218592186021861218622186321864218652186621867218682186921870218712187221873218742187521876218772187821879218802188121882218832188421885218862188721888218892189021891218922189321894218952189621897218982189921900219012190221903219042190521906219072190821909219102191121912219132191421915219162191721918219192192021921219222192321924219252192621927219282192921930219312193221933219342193521936219372193821939219402194121942219432194421945219462194721948219492195021951219522195321954219552195621957219582195921960219612196221963219642196521966219672196821969219702197121972219732197421975219762197721978219792198021981219822198321984219852198621987219882198921990219912199221993219942199521996219972199821999220002200122002220032200422005220062200722008220092201022011220122201322014220152201622017220182201922020220212202222023220242202522026220272202822029220302203122032220332203422035220362203722038220392204022041220422204322044220452204622047220482204922050220512205222053220542205522056220572205822059220602206122062220632206422065220662206722068220692207022071220722207322074220752207622077220782207922080220812208222083220842208522086220872208822089220902209122092220932209422095220962209722098220992210022101221022210322104221052210622107221082210922110221112211222113221142211522116221172211822119221202212122122221232212422125221262212722128221292213022131221322213322134221352213622137221382213922140221412214222143221442214522146221472214822149221502215122152221532215422155221562215722158221592216022161221622216322164221652216622167221682216922170221712217222173221742217522176221772217822179221802218122182221832218422185221862218722188221892219022191221922219322194221952219622197221982219922200222012220222203222042220522206222072220822209222102221122212222132221422215222162221722218222192222022221222222222322224222252222622227222282222922230222312223222233222342223522236222372223822239222402224122242222432224422245222462224722248222492225022251222522225322254222552225622257222582225922260222612226222263222642226522266222672226822269222702227122272222732227422275222762227722278222792228022281222822228322284222852228622287222882228922290222912229222293222942229522296222972229822299223002230122302223032230422305223062230722308223092231022311223122231322314223152231622317223182231922320223212232222323223242232522326223272232822329223302233122332223332233422335223362233722338223392234022341223422234322344223452234622347223482234922350223512235222353223542235522356223572235822359223602236122362223632236422365223662236722368223692237022371223722237322374223752237622377223782237922380223812238222383223842238522386223872238822389223902239122392223932239422395223962239722398223992240022401224022240322404224052240622407224082240922410224112241222413224142241522416224172241822419224202242122422224232242422425224262242722428224292243022431224322243322434224352243622437224382243922440224412244222443224442244522446224472244822449224502245122452224532245422455224562245722458224592246022461224622246322464224652246622467224682246922470224712247222473224742247522476224772247822479224802248122482224832248422485224862248722488224892249022491224922249322494224952249622497224982249922500225012250222503225042250522506225072250822509225102251122512225132251422515225162251722518225192252022521225222252322524225252252622527225282252922530225312253222533225342253522536225372253822539225402254122542225432254422545225462254722548225492255022551225522255322554225552255622557225582255922560225612256222563225642256522566225672256822569225702257122572225732257422575225762257722578225792258022581225822258322584225852258622587225882258922590225912259222593225942259522596225972259822599226002260122602226032260422605226062260722608226092261022611226122261322614226152261622617226182261922620226212262222623226242262522626226272262822629226302263122632226332263422635226362263722638226392264022641226422264322644226452264622647226482264922650226512265222653226542265522656226572265822659226602266122662226632266422665226662266722668226692267022671226722267322674226752267622677226782267922680226812268222683226842268522686226872268822689226902269122692226932269422695226962269722698226992270022701227022270322704227052270622707227082270922710227112271222713227142271522716227172271822719227202272122722227232272422725227262272722728227292273022731227322273322734227352273622737227382273922740227412274222743227442274522746227472274822749227502275122752227532275422755227562275722758227592276022761227622276322764227652276622767227682276922770227712277222773227742277522776227772277822779227802278122782227832278422785227862278722788227892279022791227922279322794227952279622797227982279922800228012280222803228042280522806228072280822809228102281122812228132281422815228162281722818228192282022821228222282322824228252282622827228282282922830228312283222833228342283522836228372283822839228402284122842228432284422845228462284722848228492285022851228522285322854228552285622857228582285922860228612286222863228642286522866228672286822869228702287122872228732287422875228762287722878228792288022881228822288322884228852288622887228882288922890228912289222893228942289522896228972289822899229002290122902229032290422905229062290722908229092291022911229122291322914229152291622917229182291922920229212292222923229242292522926229272292822929229302293122932229332293422935229362293722938229392294022941229422294322944229452294622947229482294922950229512295222953229542295522956229572295822959229602296122962229632296422965229662296722968229692297022971229722297322974229752297622977229782297922980229812298222983229842298522986229872298822989229902299122992229932299422995229962299722998229992300023001230022300323004230052300623007230082300923010230112301223013230142301523016230172301823019230202302123022230232302423025230262302723028230292303023031230322303323034230352303623037230382303923040230412304223043230442304523046230472304823049230502305123052230532305423055230562305723058230592306023061230622306323064230652306623067230682306923070230712307223073230742307523076230772307823079230802308123082230832308423085230862308723088230892309023091230922309323094230952309623097230982309923100231012310223103231042310523106231072310823109231102311123112231132311423115231162311723118231192312023121231222312323124231252312623127231282312923130231312313223133231342313523136231372313823139231402314123142231432314423145231462314723148231492315023151231522315323154231552315623157231582315923160231612316223163231642316523166231672316823169231702317123172231732317423175231762317723178231792318023181231822318323184231852318623187231882318923190231912319223193231942319523196231972319823199232002320123202232032320423205232062320723208232092321023211232122321323214232152321623217232182321923220232212322223223232242322523226232272322823229232302323123232232332323423235232362323723238232392324023241232422324323244232452324623247232482324923250232512325223253232542325523256232572325823259232602326123262232632326423265232662326723268232692327023271232722327323274232752327623277232782327923280232812328223283232842328523286232872328823289232902329123292232932329423295232962329723298232992330023301233022330323304233052330623307233082330923310233112331223313233142331523316233172331823319233202332123322233232332423325233262332723328233292333023331233322333323334233352333623337233382333923340233412334223343233442334523346233472334823349233502335123352233532335423355233562335723358233592336023361233622336323364233652336623367233682336923370233712337223373233742337523376233772337823379233802338123382233832338423385233862338723388233892339023391233922339323394233952339623397233982339923400234012340223403234042340523406234072340823409234102341123412234132341423415234162341723418234192342023421234222342323424234252342623427234282342923430234312343223433234342343523436234372343823439234402344123442234432344423445234462344723448234492345023451234522345323454234552345623457234582345923460234612346223463234642346523466234672346823469234702347123472234732347423475234762347723478234792348023481234822348323484234852348623487234882348923490234912349223493234942349523496234972349823499235002350123502235032350423505235062350723508235092351023511235122351323514235152351623517235182351923520235212352223523235242352523526235272352823529235302353123532235332353423535235362353723538235392354023541235422354323544235452354623547235482354923550235512355223553235542355523556235572355823559235602356123562235632356423565235662356723568235692357023571235722357323574235752357623577235782357923580235812358223583235842358523586235872358823589235902359123592235932359423595235962359723598235992360023601236022360323604236052360623607236082360923610236112361223613236142361523616236172361823619236202362123622236232362423625236262362723628236292363023631236322363323634236352363623637236382363923640236412364223643236442364523646236472364823649236502365123652236532365423655236562365723658236592366023661236622366323664236652366623667236682366923670236712367223673236742367523676236772367823679236802368123682236832368423685236862368723688236892369023691236922369323694236952369623697236982369923700237012370223703237042370523706237072370823709237102371123712237132371423715237162371723718237192372023721237222372323724237252372623727237282372923730237312373223733237342373523736237372373823739237402374123742237432374423745237462374723748237492375023751237522375323754237552375623757237582375923760237612376223763237642376523766237672376823769237702377123772237732377423775237762377723778237792378023781237822378323784237852378623787237882378923790237912379223793237942379523796237972379823799238002380123802238032380423805238062380723808238092381023811238122381323814238152381623817238182381923820238212382223823238242382523826238272382823829238302383123832238332383423835238362383723838238392384023841238422384323844238452384623847238482384923850238512385223853238542385523856238572385823859238602386123862238632386423865238662386723868238692387023871238722387323874238752387623877238782387923880238812388223883238842388523886238872388823889238902389123892238932389423895238962389723898238992390023901239022390323904239052390623907239082390923910239112391223913239142391523916239172391823919239202392123922239232392423925239262392723928239292393023931239322393323934239352393623937239382393923940239412394223943239442394523946239472394823949239502395123952239532395423955239562395723958239592396023961239622396323964239652396623967239682396923970239712397223973239742397523976239772397823979239802398123982239832398423985239862398723988239892399023991239922399323994239952399623997239982399924000240012400224003240042400524006240072400824009240102401124012240132401424015240162401724018240192402024021240222402324024240252402624027240282402924030240312403224033240342403524036240372403824039240402404124042240432404424045240462404724048240492405024051240522405324054240552405624057240582405924060240612406224063240642406524066240672406824069240702407124072240732407424075240762407724078240792408024081240822408324084240852408624087240882408924090240912409224093240942409524096240972409824099241002410124102241032410424105241062410724108241092411024111241122411324114241152411624117241182411924120241212412224123241242412524126241272412824129241302413124132241332413424135241362413724138241392414024141241422414324144241452414624147241482414924150241512415224153241542415524156241572415824159241602416124162241632416424165241662416724168241692417024171241722417324174241752417624177241782417924180241812418224183241842418524186241872418824189241902419124192241932419424195241962419724198241992420024201242022420324204242052420624207242082420924210242112421224213242142421524216242172421824219242202422124222242232422424225242262422724228242292423024231242322423324234242352423624237242382423924240242412424224243242442424524246242472424824249242502425124252242532425424255242562425724258242592426024261242622426324264242652426624267242682426924270242712427224273242742427524276242772427824279242802428124282242832428424285242862428724288242892429024291242922429324294242952429624297242982429924300243012430224303243042430524306243072430824309243102431124312243132431424315243162431724318243192432024321243222432324324243252432624327243282432924330243312433224333243342433524336243372433824339243402434124342243432434424345243462434724348243492435024351243522435324354243552435624357243582435924360243612436224363243642436524366243672436824369243702437124372243732437424375243762437724378243792438024381243822438324384243852438624387243882438924390243912439224393243942439524396243972439824399244002440124402244032440424405244062440724408244092441024411244122441324414244152441624417244182441924420244212442224423244242442524426244272442824429244302443124432244332443424435244362443724438244392444024441244422444324444244452444624447244482444924450244512445224453244542445524456244572445824459244602446124462244632446424465244662446724468244692447024471244722447324474244752447624477244782447924480244812448224483244842448524486244872448824489244902449124492244932449424495244962449724498244992450024501245022450324504245052450624507245082450924510245112451224513245142451524516245172451824519245202452124522245232452424525245262452724528245292453024531245322453324534245352453624537245382453924540245412454224543245442454524546245472454824549245502455124552245532455424555245562455724558245592456024561245622456324564245652456624567245682456924570245712457224573245742457524576245772457824579245802458124582245832458424585245862458724588245892459024591245922459324594245952459624597245982459924600246012460224603246042460524606246072460824609246102461124612246132461424615246162461724618246192462024621246222462324624246252462624627246282462924630246312463224633246342463524636246372463824639246402464124642246432464424645246462464724648246492465024651246522465324654246552465624657246582465924660246612466224663246642466524666246672466824669246702467124672246732467424675246762467724678246792468024681246822468324684246852468624687246882468924690246912469224693246942469524696246972469824699247002470124702247032470424705247062470724708247092471024711247122471324714247152471624717247182471924720247212472224723247242472524726247272472824729247302473124732247332473424735247362473724738247392474024741247422474324744247452474624747247482474924750247512475224753247542475524756247572475824759247602476124762247632476424765247662476724768247692477024771247722477324774247752477624777247782477924780247812478224783247842478524786247872478824789247902479124792247932479424795247962479724798247992480024801248022480324804248052480624807248082480924810248112481224813248142481524816248172481824819248202482124822248232482424825248262482724828248292483024831248322483324834248352483624837248382483924840248412484224843248442484524846248472484824849248502485124852248532485424855248562485724858248592486024861248622486324864248652486624867248682486924870248712487224873248742487524876248772487824879248802488124882248832488424885248862488724888248892489024891248922489324894248952489624897248982489924900249012490224903249042490524906249072490824909249102491124912249132491424915249162491724918249192492024921249222492324924249252492624927249282492924930249312493224933249342493524936249372493824939249402494124942249432494424945249462494724948249492495024951249522495324954249552495624957249582495924960249612496224963249642496524966249672496824969249702497124972249732497424975249762497724978249792498024981249822498324984249852498624987249882498924990249912499224993249942499524996249972499824999250002500125002250032500425005250062500725008250092501025011250122501325014250152501625017250182501925020250212502225023250242502525026250272502825029250302503125032250332503425035250362503725038250392504025041250422504325044250452504625047250482504925050250512505225053250542505525056250572505825059250602506125062250632506425065250662506725068250692507025071250722507325074250752507625077250782507925080250812508225083250842508525086250872508825089250902509125092250932509425095250962509725098250992510025101251022510325104251052510625107251082510925110251112511225113251142511525116251172511825119251202512125122251232512425125251262512725128251292513025131251322513325134251352513625137251382513925140251412514225143251442514525146251472514825149251502515125152251532515425155251562515725158251592516025161251622516325164251652516625167251682516925170251712517225173251742517525176251772517825179251802518125182251832518425185251862518725188251892519025191251922519325194251952519625197251982519925200252012520225203252042520525206252072520825209252102521125212252132521425215252162521725218252192522025221252222522325224252252522625227252282522925230252312523225233252342523525236252372523825239252402524125242252432524425245252462524725248252492525025251252522525325254252552525625257252582525925260252612526225263252642526525266252672526825269252702527125272252732527425275252762527725278252792528025281252822528325284252852528625287252882528925290252912529225293252942529525296252972529825299253002530125302253032530425305253062530725308253092531025311253122531325314253152531625317253182531925320253212532225323253242532525326253272532825329253302533125332253332533425335253362533725338253392534025341253422534325344253452534625347253482534925350253512535225353253542535525356253572535825359253602536125362253632536425365253662536725368253692537025371253722537325374253752537625377253782537925380253812538225383253842538525386253872538825389253902539125392253932539425395253962539725398253992540025401254022540325404254052540625407254082540925410254112541225413254142541525416254172541825419254202542125422254232542425425254262542725428254292543025431254322543325434254352543625437254382543925440254412544225443254442544525446254472544825449254502545125452254532545425455254562545725458254592546025461254622546325464254652546625467254682546925470254712547225473254742547525476254772547825479254802548125482254832548425485254862548725488254892549025491254922549325494254952549625497254982549925500255012550225503255042550525506255072550825509255102551125512255132551425515255162551725518255192552025521255222552325524255252552625527255282552925530255312553225533255342553525536255372553825539255402554125542255432554425545255462554725548255492555025551255522555325554255552555625557255582555925560255612556225563255642556525566255672556825569255702557125572255732557425575255762557725578255792558025581255822558325584255852558625587255882558925590255912559225593255942559525596255972559825599256002560125602256032560425605256062560725608256092561025611256122561325614256152561625617256182561925620256212562225623256242562525626256272562825629256302563125632256332563425635256362563725638256392564025641256422564325644256452564625647256482564925650256512565225653256542565525656256572565825659256602566125662256632566425665256662566725668256692567025671256722567325674256752567625677256782567925680256812568225683256842568525686256872568825689256902569125692256932569425695256962569725698256992570025701257022570325704257052570625707257082570925710257112571225713257142571525716257172571825719257202572125722257232572425725257262572725728257292573025731257322573325734257352573625737257382573925740257412574225743257442574525746257472574825749257502575125752257532575425755257562575725758257592576025761257622576325764257652576625767257682576925770257712577225773257742577525776257772577825779257802578125782257832578425785257862578725788257892579025791257922579325794257952579625797257982579925800258012580225803258042580525806258072580825809258102581125812258132581425815258162581725818258192582025821258222582325824258252582625827258282582925830258312583225833258342583525836258372583825839258402584125842258432584425845258462584725848258492585025851258522585325854258552585625857258582585925860258612586225863258642586525866258672586825869258702587125872258732587425875258762587725878258792588025881258822588325884258852588625887258882588925890258912589225893258942589525896258972589825899259002590125902259032590425905259062590725908259092591025911259122591325914259152591625917259182591925920259212592225923259242592525926259272592825929259302593125932259332593425935259362593725938259392594025941259422594325944259452594625947259482594925950259512595225953259542595525956259572595825959259602596125962259632596425965259662596725968259692597025971259722597325974259752597625977259782597925980259812598225983259842598525986259872598825989259902599125992259932599425995259962599725998259992600026001260022600326004260052600626007260082600926010260112601226013260142601526016260172601826019260202602126022260232602426025260262602726028260292603026031260322603326034260352603626037260382603926040260412604226043260442604526046260472604826049260502605126052260532605426055260562605726058260592606026061260622606326064260652606626067260682606926070260712607226073260742607526076260772607826079260802608126082260832608426085260862608726088260892609026091260922609326094260952609626097260982609926100261012610226103261042610526106261072610826109261102611126112261132611426115261162611726118261192612026121261222612326124261252612626127261282612926130261312613226133261342613526136261372613826139261402614126142261432614426145261462614726148261492615026151261522615326154261552615626157261582615926160261612616226163261642616526166261672616826169261702617126172261732617426175261762617726178261792618026181261822618326184261852618626187261882618926190261912619226193261942619526196261972619826199262002620126202262032620426205262062620726208262092621026211262122621326214262152621626217262182621926220262212622226223262242622526226262272622826229262302623126232262332623426235262362623726238262392624026241262422624326244262452624626247262482624926250262512625226253262542625526256262572625826259262602626126262262632626426265262662626726268262692627026271262722627326274262752627626277262782627926280262812628226283262842628526286262872628826289262902629126292262932629426295262962629726298262992630026301263022630326304263052630626307263082630926310263112631226313263142631526316263172631826319263202632126322263232632426325263262632726328263292633026331263322633326334263352633626337263382633926340263412634226343263442634526346263472634826349263502635126352263532635426355263562635726358263592636026361263622636326364263652636626367263682636926370263712637226373263742637526376263772637826379263802638126382263832638426385263862638726388263892639026391263922639326394263952639626397263982639926400264012640226403264042640526406264072640826409264102641126412264132641426415264162641726418264192642026421264222642326424264252642626427264282642926430264312643226433264342643526436264372643826439264402644126442264432644426445264462644726448264492645026451264522645326454264552645626457264582645926460264612646226463264642646526466264672646826469264702647126472264732647426475264762647726478264792648026481264822648326484264852648626487264882648926490264912649226493264942649526496264972649826499265002650126502265032650426505265062650726508265092651026511265122651326514265152651626517265182651926520265212652226523265242652526526265272652826529265302653126532265332653426535265362653726538265392654026541265422654326544265452654626547265482654926550265512655226553265542655526556265572655826559265602656126562265632656426565265662656726568265692657026571265722657326574265752657626577265782657926580265812658226583265842658526586265872658826589265902659126592265932659426595265962659726598265992660026601266022660326604266052660626607266082660926610266112661226613266142661526616266172661826619266202662126622266232662426625266262662726628266292663026631266322663326634266352663626637266382663926640266412664226643266442664526646266472664826649266502665126652266532665426655266562665726658266592666026661266622666326664266652666626667266682666926670266712667226673266742667526676266772667826679266802668126682266832668426685266862668726688266892669026691266922669326694266952669626697266982669926700267012670226703267042670526706267072670826709267102671126712267132671426715267162671726718267192672026721267222672326724267252672626727267282672926730267312673226733267342673526736267372673826739267402674126742267432674426745267462674726748267492675026751267522675326754267552675626757267582675926760267612676226763267642676526766267672676826769267702677126772267732677426775267762677726778267792678026781267822678326784267852678626787267882678926790267912679226793267942679526796267972679826799268002680126802268032680426805268062680726808268092681026811268122681326814268152681626817268182681926820268212682226823268242682526826268272682826829268302683126832268332683426835268362683726838268392684026841268422684326844268452684626847268482684926850268512685226853268542685526856268572685826859268602686126862268632686426865268662686726868268692687026871268722687326874268752687626877268782687926880268812688226883268842688526886268872688826889268902689126892268932689426895268962689726898268992690026901269022690326904269052690626907269082690926910269112691226913269142691526916269172691826919269202692126922269232692426925269262692726928269292693026931269322693326934269352693626937269382693926940269412694226943269442694526946269472694826949269502695126952269532695426955269562695726958269592696026961269622696326964269652696626967269682696926970269712697226973269742697526976269772697826979269802698126982269832698426985269862698726988269892699026991269922699326994269952699626997269982699927000270012700227003270042700527006270072700827009270102701127012270132701427015270162701727018270192702027021270222702327024270252702627027270282702927030270312703227033270342703527036270372703827039270402704127042270432704427045270462704727048270492705027051270522705327054270552705627057270582705927060270612706227063270642706527066270672706827069270702707127072270732707427075270762707727078270792708027081270822708327084270852708627087270882708927090270912709227093270942709527096270972709827099271002710127102271032710427105271062710727108271092711027111271122711327114271152711627117271182711927120271212712227123271242712527126271272712827129271302713127132271332713427135271362713727138271392714027141271422714327144271452714627147271482714927150271512715227153271542715527156271572715827159271602716127162271632716427165271662716727168271692717027171271722717327174271752717627177271782717927180271812718227183271842718527186271872718827189271902719127192271932719427195271962719727198271992720027201272022720327204272052720627207272082720927210272112721227213272142721527216272172721827219272202722127222272232722427225272262722727228272292723027231272322723327234272352723627237272382723927240272412724227243272442724527246272472724827249272502725127252272532725427255272562725727258272592726027261272622726327264272652726627267272682726927270272712727227273272742727527276272772727827279272802728127282272832728427285272862728727288272892729027291272922729327294272952729627297272982729927300273012730227303273042730527306273072730827309273102731127312273132731427315273162731727318273192732027321273222732327324273252732627327273282732927330273312733227333273342733527336273372733827339273402734127342273432734427345273462734727348273492735027351273522735327354273552735627357273582735927360273612736227363273642736527366273672736827369273702737127372273732737427375273762737727378273792738027381273822738327384273852738627387273882738927390273912739227393273942739527396273972739827399274002740127402274032740427405274062740727408274092741027411274122741327414274152741627417274182741927420274212742227423274242742527426274272742827429274302743127432274332743427435274362743727438274392744027441274422744327444274452744627447274482744927450274512745227453274542745527456274572745827459274602746127462274632746427465274662746727468274692747027471274722747327474274752747627477274782747927480274812748227483274842748527486274872748827489274902749127492274932749427495274962749727498274992750027501275022750327504275052750627507275082750927510275112751227513275142751527516275172751827519275202752127522275232752427525275262752727528275292753027531275322753327534275352753627537275382753927540275412754227543275442754527546275472754827549275502755127552275532755427555275562755727558275592756027561275622756327564275652756627567275682756927570275712757227573275742757527576275772757827579275802758127582275832758427585275862758727588275892759027591275922759327594275952759627597275982759927600276012760227603276042760527606276072760827609276102761127612276132761427615276162761727618276192762027621276222762327624276252762627627276282762927630276312763227633276342763527636276372763827639276402764127642276432764427645276462764727648276492765027651276522765327654276552765627657276582765927660276612766227663276642766527666276672766827669276702767127672276732767427675276762767727678276792768027681276822768327684276852768627687276882768927690276912769227693276942769527696276972769827699277002770127702277032770427705277062770727708277092771027711277122771327714277152771627717277182771927720277212772227723277242772527726277272772827729277302773127732277332773427735277362773727738277392774027741277422774327744277452774627747277482774927750277512775227753277542775527756277572775827759277602776127762277632776427765277662776727768277692777027771277722777327774277752777627777277782777927780277812778227783277842778527786277872778827789277902779127792277932779427795277962779727798277992780027801278022780327804278052780627807278082780927810278112781227813278142781527816278172781827819278202782127822278232782427825278262782727828278292783027831278322783327834278352783627837278382783927840278412784227843278442784527846278472784827849278502785127852278532785427855278562785727858278592786027861278622786327864278652786627867278682786927870278712787227873278742787527876278772787827879278802788127882278832788427885278862788727888278892789027891278922789327894278952789627897278982789927900279012790227903279042790527906279072790827909279102791127912279132791427915279162791727918279192792027921279222792327924279252792627927279282792927930279312793227933279342793527936279372793827939279402794127942279432794427945279462794727948279492795027951279522795327954279552795627957279582795927960279612796227963279642796527966279672796827969279702797127972279732797427975279762797727978279792798027981279822798327984279852798627987279882798927990279912799227993279942799527996279972799827999280002800128002280032800428005280062800728008280092801028011280122801328014280152801628017280182801928020280212802228023280242802528026280272802828029280302803128032280332803428035280362803728038280392804028041280422804328044280452804628047280482804928050280512805228053280542805528056280572805828059280602806128062280632806428065280662806728068280692807028071280722807328074280752807628077280782807928080280812808228083280842808528086280872808828089280902809128092280932809428095280962809728098280992810028101281022810328104281052810628107281082810928110281112811228113281142811528116281172811828119281202812128122281232812428125281262812728128281292813028131281322813328134281352813628137281382813928140281412814228143281442814528146281472814828149281502815128152281532815428155281562815728158281592816028161281622816328164281652816628167281682816928170281712817228173281742817528176281772817828179281802818128182281832818428185281862818728188281892819028191281922819328194281952819628197281982819928200282012820228203282042820528206282072820828209282102821128212282132821428215282162821728218282192822028221282222822328224282252822628227282282822928230282312823228233282342823528236282372823828239282402824128242282432824428245282462824728248282492825028251282522825328254282552825628257282582825928260282612826228263282642826528266282672826828269282702827128272282732827428275282762827728278282792828028281282822828328284282852828628287282882828928290282912829228293282942829528296282972829828299283002830128302283032830428305283062830728308283092831028311283122831328314283152831628317283182831928320283212832228323283242832528326283272832828329283302833128332283332833428335283362833728338283392834028341283422834328344283452834628347283482834928350283512835228353283542835528356283572835828359283602836128362283632836428365283662836728368283692837028371283722837328374283752837628377283782837928380283812838228383283842838528386283872838828389283902839128392283932839428395283962839728398283992840028401284022840328404284052840628407284082840928410284112841228413284142841528416284172841828419284202842128422284232842428425284262842728428284292843028431284322843328434284352843628437284382843928440284412844228443284442844528446284472844828449284502845128452284532845428455284562845728458284592846028461284622846328464284652846628467284682846928470284712847228473284742847528476284772847828479284802848128482284832848428485284862848728488284892849028491284922849328494284952849628497284982849928500285012850228503285042850528506285072850828509285102851128512285132851428515285162851728518285192852028521285222852328524285252852628527285282852928530285312853228533285342853528536285372853828539285402854128542285432854428545285462854728548285492855028551285522855328554285552855628557285582855928560285612856228563285642856528566285672856828569285702857128572285732857428575285762857728578285792858028581285822858328584285852858628587285882858928590285912859228593285942859528596285972859828599286002860128602286032860428605286062860728608286092861028611286122861328614286152861628617286182861928620286212862228623286242862528626286272862828629286302863128632286332863428635286362863728638286392864028641286422864328644286452864628647286482864928650286512865228653286542865528656286572865828659286602866128662286632866428665286662866728668286692867028671286722867328674286752867628677286782867928680286812868228683286842868528686286872868828689286902869128692286932869428695286962869728698286992870028701287022870328704287052870628707287082870928710287112871228713287142871528716287172871828719287202872128722287232872428725287262872728728287292873028731287322873328734287352873628737287382873928740287412874228743287442874528746287472874828749287502875128752287532875428755287562875728758287592876028761287622876328764287652876628767287682876928770287712877228773287742877528776287772877828779287802878128782287832878428785287862878728788287892879028791287922879328794287952879628797287982879928800288012880228803288042880528806288072880828809288102881128812288132881428815288162881728818288192882028821288222882328824288252882628827288282882928830288312883228833288342883528836288372883828839288402884128842288432884428845288462884728848288492885028851288522885328854288552885628857288582885928860288612886228863288642886528866288672886828869288702887128872288732887428875288762887728878288792888028881288822888328884288852888628887288882888928890288912889228893288942889528896288972889828899289002890128902289032890428905289062890728908289092891028911289122891328914289152891628917289182891928920289212892228923289242892528926289272892828929289302893128932289332893428935289362893728938289392894028941289422894328944289452894628947289482894928950289512895228953289542895528956289572895828959289602896128962289632896428965289662896728968289692897028971289722897328974289752897628977289782897928980289812898228983289842898528986289872898828989289902899128992289932899428995289962899728998289992900029001290022900329004290052900629007290082900929010290112901229013290142901529016290172901829019290202902129022290232902429025290262902729028290292903029031290322903329034290352903629037290382903929040290412904229043290442904529046290472904829049290502905129052290532905429055290562905729058290592906029061290622906329064290652906629067290682906929070290712907229073290742907529076290772907829079290802908129082290832908429085290862908729088290892909029091290922909329094290952909629097290982909929100291012910229103291042910529106291072910829109291102911129112291132911429115291162911729118291192912029121291222912329124291252912629127291282912929130291312913229133291342913529136291372913829139291402914129142291432914429145291462914729148291492915029151291522915329154291552915629157291582915929160291612916229163291642916529166291672916829169291702917129172291732917429175291762917729178291792918029181291822918329184291852918629187291882918929190291912919229193291942919529196291972919829199292002920129202292032920429205292062920729208292092921029211292122921329214292152921629217292182921929220292212922229223292242922529226292272922829229292302923129232292332923429235292362923729238292392924029241292422924329244292452924629247292482924929250292512925229253292542925529256292572925829259292602926129262292632926429265292662926729268292692927029271292722927329274292752927629277292782927929280292812928229283292842928529286292872928829289292902929129292292932929429295292962929729298292992930029301293022930329304293052930629307293082930929310293112931229313293142931529316293172931829319293202932129322293232932429325293262932729328293292933029331293322933329334293352933629337293382933929340293412934229343293442934529346293472934829349293502935129352293532935429355293562935729358293592936029361293622936329364293652936629367293682936929370293712937229373293742937529376293772937829379293802938129382293832938429385293862938729388293892939029391293922939329394293952939629397293982939929400294012940229403294042940529406294072940829409294102941129412294132941429415294162941729418294192942029421294222942329424294252942629427294282942929430294312943229433294342943529436294372943829439294402944129442294432944429445294462944729448294492945029451294522945329454294552945629457294582945929460294612946229463294642946529466294672946829469294702947129472294732947429475294762947729478294792948029481294822948329484294852948629487294882948929490294912949229493294942949529496294972949829499295002950129502295032950429505295062950729508295092951029511295122951329514295152951629517295182951929520295212952229523295242952529526295272952829529295302953129532295332953429535295362953729538295392954029541295422954329544295452954629547295482954929550295512955229553295542955529556295572955829559295602956129562295632956429565295662956729568295692957029571295722957329574295752957629577295782957929580295812958229583295842958529586295872958829589295902959129592295932959429595295962959729598295992960029601296022960329604296052960629607296082960929610296112961229613296142961529616296172961829619296202962129622296232962429625296262962729628296292963029631296322963329634296352963629637296382963929640296412964229643296442964529646296472964829649296502965129652296532965429655296562965729658296592966029661296622966329664296652966629667296682966929670296712967229673296742967529676296772967829679296802968129682296832968429685296862968729688296892969029691296922969329694296952969629697296982969929700297012970229703297042970529706297072970829709297102971129712297132971429715297162971729718297192972029721297222972329724297252972629727297282972929730297312973229733297342973529736297372973829739297402974129742297432974429745297462974729748297492975029751297522975329754297552975629757297582975929760297612976229763297642976529766297672976829769297702977129772297732977429775297762977729778297792978029781297822978329784297852978629787297882978929790297912979229793297942979529796297972979829799298002980129802298032980429805298062980729808298092981029811298122981329814298152981629817298182981929820298212982229823298242982529826298272982829829298302983129832298332983429835298362983729838298392984029841298422984329844298452984629847298482984929850298512985229853298542985529856298572985829859298602986129862298632986429865298662986729868298692987029871298722987329874298752987629877298782987929880298812988229883298842988529886298872988829889298902989129892298932989429895298962989729898298992990029901299022990329904299052990629907299082990929910299112991229913299142991529916299172991829919299202992129922299232992429925299262992729928299292993029931299322993329934299352993629937299382993929940299412994229943299442994529946299472994829949299502995129952299532995429955299562995729958299592996029961299622996329964299652996629967299682996929970299712997229973299742997529976299772997829979299802998129982299832998429985299862998729988299892999029991299922999329994299952999629997299982999930000300013000230003300043000530006300073000830009300103001130012300133001430015300163001730018300193002030021300223002330024300253002630027300283002930030300313003230033300343003530036300373003830039300403004130042300433004430045300463004730048300493005030051300523005330054300553005630057300583005930060300613006230063300643006530066300673006830069300703007130072300733007430075300763007730078300793008030081300823008330084300853008630087300883008930090300913009230093300943009530096300973009830099301003010130102301033010430105301063010730108301093011030111301123011330114301153011630117301183011930120301213012230123301243012530126301273012830129301303013130132301333013430135301363013730138301393014030141301423014330144301453014630147301483014930150301513015230153301543015530156301573015830159301603016130162301633016430165301663016730168301693017030171301723017330174301753017630177301783017930180301813018230183301843018530186301873018830189301903019130192301933019430195301963019730198301993020030201302023020330204302053020630207302083020930210302113021230213302143021530216302173021830219302203022130222302233022430225302263022730228302293023030231302323023330234302353023630237302383023930240302413024230243302443024530246302473024830249302503025130252302533025430255302563025730258302593026030261302623026330264302653026630267302683026930270302713027230273302743027530276302773027830279302803028130282302833028430285302863028730288302893029030291302923029330294302953029630297302983029930300303013030230303303043030530306303073030830309303103031130312303133031430315303163031730318303193032030321303223032330324303253032630327303283032930330303313033230333303343033530336303373033830339303403034130342303433034430345303463034730348303493035030351303523035330354303553035630357303583035930360303613036230363303643036530366303673036830369303703037130372303733037430375303763037730378303793038030381303823038330384303853038630387303883038930390303913039230393303943039530396303973039830399304003040130402304033040430405304063040730408304093041030411304123041330414304153041630417304183041930420304213042230423304243042530426304273042830429304303043130432304333043430435304363043730438304393044030441304423044330444304453044630447304483044930450304513045230453304543045530456304573045830459304603046130462304633046430465304663046730468304693047030471304723047330474304753047630477304783047930480304813048230483304843048530486304873048830489304903049130492304933049430495304963049730498304993050030501305023050330504305053050630507305083050930510305113051230513305143051530516305173051830519305203052130522305233052430525305263052730528305293053030531305323053330534305353053630537305383053930540305413054230543305443054530546305473054830549305503055130552305533055430555305563055730558305593056030561305623056330564305653056630567305683056930570305713057230573305743057530576305773057830579305803058130582305833058430585305863058730588305893059030591305923059330594305953059630597305983059930600306013060230603306043060530606306073060830609306103061130612306133061430615306163061730618306193062030621306223062330624306253062630627306283062930630306313063230633306343063530636306373063830639306403064130642306433064430645306463064730648306493065030651306523065330654306553065630657306583065930660306613066230663306643066530666306673066830669306703067130672306733067430675306763067730678306793068030681306823068330684306853068630687306883068930690306913069230693306943069530696306973069830699307003070130702307033070430705307063070730708307093071030711307123071330714307153071630717307183071930720307213072230723307243072530726307273072830729307303073130732307333073430735307363073730738307393074030741307423074330744307453074630747307483074930750307513075230753307543075530756307573075830759307603076130762307633076430765307663076730768307693077030771307723077330774307753077630777307783077930780307813078230783307843078530786307873078830789307903079130792307933079430795307963079730798307993080030801308023080330804308053080630807308083080930810308113081230813308143081530816308173081830819308203082130822308233082430825308263082730828308293083030831308323083330834308353083630837308383083930840308413084230843308443084530846308473084830849308503085130852308533085430855308563085730858308593086030861308623086330864308653086630867308683086930870308713087230873308743087530876308773087830879308803088130882308833088430885308863088730888308893089030891308923089330894308953089630897308983089930900309013090230903309043090530906309073090830909309103091130912309133091430915309163091730918309193092030921309223092330924309253092630927309283092930930309313093230933309343093530936309373093830939309403094130942309433094430945309463094730948309493095030951309523095330954309553095630957309583095930960309613096230963309643096530966309673096830969309703097130972309733097430975309763097730978309793098030981309823098330984309853098630987309883098930990309913099230993309943099530996309973099830999310003100131002310033100431005310063100731008310093101031011310123101331014310153101631017310183101931020310213102231023310243102531026310273102831029310303103131032310333103431035310363103731038310393104031041310423104331044310453104631047310483104931050310513105231053310543105531056310573105831059310603106131062310633106431065310663106731068310693107031071310723107331074310753107631077310783107931080310813108231083310843108531086310873108831089310903109131092310933109431095310963109731098310993110031101311023110331104311053110631107311083110931110311113111231113311143111531116311173111831119311203112131122311233112431125311263112731128311293113031131311323113331134311353113631137311383113931140311413114231143311443114531146311473114831149311503115131152311533115431155311563115731158311593116031161311623116331164311653116631167311683116931170311713117231173311743117531176311773117831179311803118131182311833118431185311863118731188311893119031191311923119331194311953119631197311983119931200312013120231203312043120531206312073120831209312103121131212312133121431215312163121731218312193122031221312223122331224312253122631227312283122931230312313123231233312343123531236312373123831239312403124131242312433124431245312463124731248312493125031251312523125331254312553125631257312583125931260312613126231263312643126531266312673126831269312703127131272312733127431275312763127731278312793128031281312823128331284312853128631287312883128931290312913129231293312943129531296312973129831299313003130131302313033130431305313063130731308313093131031311313123131331314313153131631317313183131931320313213132231323313243132531326313273132831329313303133131332313333133431335313363133731338313393134031341313423134331344313453134631347313483134931350313513135231353313543135531356313573135831359313603136131362313633136431365313663136731368313693137031371313723137331374313753137631377313783137931380313813138231383313843138531386313873138831389313903139131392313933139431395313963139731398313993140031401314023140331404314053140631407314083140931410314113141231413314143141531416314173141831419314203142131422314233142431425314263142731428314293143031431314323143331434314353143631437314383143931440314413144231443314443144531446314473144831449314503145131452314533145431455314563145731458314593146031461314623146331464314653146631467314683146931470314713147231473314743147531476314773147831479314803148131482314833148431485314863148731488314893149031491314923149331494314953149631497314983149931500315013150231503315043150531506315073150831509315103151131512315133151431515315163151731518315193152031521315223152331524315253152631527315283152931530315313153231533315343153531536315373153831539315403154131542315433154431545315463154731548315493155031551315523155331554315553155631557315583155931560315613156231563315643156531566315673156831569315703157131572315733157431575315763157731578315793158031581315823158331584315853158631587315883158931590315913159231593315943159531596315973159831599316003160131602316033160431605316063160731608316093161031611316123161331614316153161631617316183161931620316213162231623316243162531626316273162831629316303163131632316333163431635316363163731638316393164031641316423164331644316453164631647316483164931650316513165231653316543165531656316573165831659316603166131662316633166431665316663166731668316693167031671316723167331674316753167631677316783167931680316813168231683316843168531686316873168831689316903169131692316933169431695316963169731698316993170031701317023170331704317053170631707317083170931710317113171231713317143171531716317173171831719317203172131722317233172431725317263172731728317293173031731317323173331734317353173631737317383173931740317413174231743317443174531746317473174831749317503175131752317533175431755317563175731758317593176031761317623176331764317653176631767317683176931770317713177231773317743177531776317773177831779317803178131782317833178431785317863178731788317893179031791317923179331794317953179631797317983179931800318013180231803318043180531806318073180831809318103181131812318133181431815318163181731818318193182031821318223182331824318253182631827318283182931830318313183231833318343183531836318373183831839318403184131842318433184431845318463184731848318493185031851318523185331854318553185631857318583185931860318613186231863318643186531866318673186831869318703187131872318733187431875318763187731878318793188031881318823188331884318853188631887318883188931890318913189231893318943189531896318973189831899319003190131902319033190431905319063190731908319093191031911319123191331914319153191631917319183191931920319213192231923319243192531926319273192831929319303193131932319333193431935319363193731938319393194031941319423194331944319453194631947319483194931950319513195231953319543195531956319573195831959319603196131962319633196431965319663196731968319693197031971319723197331974319753197631977319783197931980319813198231983319843198531986319873198831989319903199131992319933199431995319963199731998319993200032001320023200332004320053200632007320083200932010320113201232013320143201532016320173201832019320203202132022320233202432025320263202732028320293203032031320323203332034320353203632037320383203932040320413204232043320443204532046320473204832049320503205132052320533205432055320563205732058320593206032061320623206332064320653206632067320683206932070320713207232073320743207532076320773207832079320803208132082320833208432085320863208732088320893209032091320923209332094320953209632097320983209932100321013210232103321043210532106321073210832109321103211132112321133211432115321163211732118321193212032121321223212332124321253212632127321283212932130321313213232133321343213532136321373213832139321403214132142321433214432145321463214732148321493215032151321523215332154321553215632157321583215932160321613216232163321643216532166321673216832169321703217132172321733217432175321763217732178321793218032181321823218332184321853218632187321883218932190321913219232193321943219532196321973219832199322003220132202322033220432205322063220732208322093221032211322123221332214322153221632217322183221932220322213222232223322243222532226322273222832229322303223132232322333223432235322363223732238322393224032241322423224332244322453224632247322483224932250322513225232253322543225532256322573225832259322603226132262322633226432265322663226732268322693227032271322723227332274322753227632277322783227932280322813228232283322843228532286322873228832289322903229132292322933229432295322963229732298322993230032301323023230332304323053230632307323083230932310323113231232313323143231532316323173231832319323203232132322323233232432325323263232732328323293233032331323323233332334323353233632337323383233932340323413234232343323443234532346323473234832349323503235132352323533235432355323563235732358323593236032361323623236332364323653236632367323683236932370323713237232373323743237532376323773237832379323803238132382323833238432385323863238732388323893239032391323923239332394323953239632397323983239932400324013240232403324043240532406324073240832409324103241132412324133241432415324163241732418324193242032421324223242332424324253242632427324283242932430324313243232433324343243532436324373243832439324403244132442324433244432445324463244732448324493245032451324523245332454324553245632457324583245932460324613246232463324643246532466324673246832469324703247132472324733247432475324763247732478324793248032481324823248332484324853248632487324883248932490324913249232493324943249532496324973249832499325003250132502325033250432505325063250732508325093251032511325123251332514325153251632517325183251932520325213252232523325243252532526325273252832529325303253132532325333253432535325363253732538325393254032541325423254332544325453254632547325483254932550325513255232553325543255532556325573255832559325603256132562325633256432565325663256732568325693257032571325723257332574325753257632577325783257932580325813258232583325843258532586325873258832589325903259132592325933259432595325963259732598325993260032601326023260332604326053260632607326083260932610326113261232613326143261532616326173261832619326203262132622326233262432625326263262732628326293263032631326323263332634326353263632637326383263932640326413264232643326443264532646326473264832649326503265132652326533265432655326563265732658326593266032661326623266332664326653266632667326683266932670326713267232673326743267532676326773267832679326803268132682326833268432685326863268732688326893269032691326923269332694326953269632697326983269932700327013270232703327043270532706327073270832709327103271132712327133271432715327163271732718327193272032721327223272332724327253272632727327283272932730327313273232733327343273532736327373273832739327403274132742327433274432745327463274732748327493275032751327523275332754327553275632757327583275932760327613276232763327643276532766327673276832769327703277132772327733277432775327763277732778327793278032781327823278332784327853278632787327883278932790327913279232793327943279532796327973279832799328003280132802328033280432805328063280732808328093281032811328123281332814328153281632817328183281932820328213282232823328243282532826328273282832829328303283132832328333283432835328363283732838328393284032841328423284332844328453284632847328483284932850328513285232853328543285532856328573285832859328603286132862328633286432865328663286732868328693287032871328723287332874328753287632877328783287932880328813288232883328843288532886328873288832889328903289132892328933289432895328963289732898328993290032901329023290332904329053290632907329083290932910329113291232913329143291532916329173291832919329203292132922329233292432925329263292732928329293293032931329323293332934329353293632937329383293932940329413294232943329443294532946329473294832949329503295132952329533295432955329563295732958329593296032961329623296332964329653296632967329683296932970329713297232973329743297532976329773297832979329803298132982329833298432985329863298732988329893299032991329923299332994329953299632997329983299933000330013300233003330043300533006330073300833009330103301133012330133301433015330163301733018330193302033021330223302333024330253302633027330283302933030330313303233033330343303533036330373303833039330403304133042330433304433045330463304733048330493305033051330523305333054330553305633057330583305933060330613306233063330643306533066330673306833069330703307133072330733307433075330763307733078330793308033081330823308333084330853308633087330883308933090330913309233093330943309533096330973309833099331003310133102331033310433105331063310733108331093311033111331123311333114331153311633117331183311933120331213312233123331243312533126331273312833129331303313133132331333313433135331363313733138331393314033141331423314333144331453314633147331483314933150331513315233153331543315533156331573315833159331603316133162331633316433165331663316733168331693317033171331723317333174331753317633177331783317933180331813318233183331843318533186331873318833189331903319133192331933319433195331963319733198331993320033201332023320333204332053320633207332083320933210332113321233213332143321533216332173321833219332203322133222332233322433225332263322733228332293323033231332323323333234332353323633237332383323933240332413324233243332443324533246332473324833249332503325133252332533325433255332563325733258332593326033261332623326333264332653326633267332683326933270332713327233273332743327533276332773327833279332803328133282332833328433285332863328733288332893329033291332923329333294332953329633297332983329933300333013330233303333043330533306333073330833309333103331133312333133331433315333163331733318333193332033321333223332333324333253332633327333283332933330333313333233333333343333533336333373333833339333403334133342333433334433345333463334733348333493335033351333523335333354333553335633357333583335933360333613336233363333643336533366333673336833369333703337133372333733337433375333763337733378333793338033381333823338333384333853338633387333883338933390333913339233393333943339533396333973339833399334003340133402334033340433405334063340733408334093341033411334123341333414334153341633417334183341933420334213342233423334243342533426334273342833429334303343133432334333343433435334363343733438334393344033441334423344333444334453344633447334483344933450334513345233453334543345533456334573345833459334603346133462334633346433465334663346733468334693347033471334723347333474334753347633477334783347933480334813348233483334843348533486334873348833489334903349133492334933349433495334963349733498334993350033501335023350333504335053350633507335083350933510335113351233513335143351533516335173351833519335203352133522335233352433525335263352733528335293353033531335323353333534335353353633537335383353933540335413354233543335443354533546335473354833549335503355133552335533355433555335563355733558335593356033561335623356333564335653356633567335683356933570335713357233573335743357533576335773357833579335803358133582335833358433585335863358733588335893359033591335923359333594335953359633597335983359933600336013360233603336043360533606336073360833609336103361133612336133361433615336163361733618336193362033621336223362333624336253362633627336283362933630336313363233633336343363533636336373363833639336403364133642336433364433645336463364733648336493365033651336523365333654336553365633657336583365933660336613366233663336643366533666336673366833669336703367133672336733367433675336763367733678336793368033681336823368333684336853368633687336883368933690336913369233693336943369533696336973369833699337003370133702337033370433705337063370733708337093371033711337123371333714337153371633717337183371933720337213372233723337243372533726337273372833729337303373133732337333373433735337363373733738337393374033741337423374333744337453374633747337483374933750337513375233753337543375533756337573375833759337603376133762337633376433765337663376733768337693377033771337723377333774337753377633777337783377933780337813378233783337843378533786337873378833789337903379133792337933379433795337963379733798337993380033801338023380333804338053380633807338083380933810338113381233813338143381533816338173381833819338203382133822338233382433825338263382733828338293383033831338323383333834338353383633837338383383933840338413384233843338443384533846338473384833849338503385133852338533385433855338563385733858338593386033861338623386333864338653386633867338683386933870338713387233873338743387533876338773387833879338803388133882338833388433885338863388733888338893389033891338923389333894338953389633897338983389933900339013390233903339043390533906339073390833909339103391133912339133391433915339163391733918339193392033921339223392333924339253392633927339283392933930339313393233933339343393533936339373393833939339403394133942339433394433945339463394733948339493395033951339523395333954339553395633957339583395933960339613396233963339643396533966339673396833969339703397133972339733397433975339763397733978339793398033981339823398333984339853398633987339883398933990339913399233993339943399533996339973399833999340003400134002340033400434005340063400734008340093401034011340123401334014340153401634017340183401934020340213402234023340243402534026340273402834029340303403134032340333403434035340363403734038340393404034041340423404334044340453404634047340483404934050340513405234053340543405534056340573405834059340603406134062340633406434065340663406734068340693407034071340723407334074340753407634077340783407934080340813408234083340843408534086340873408834089340903409134092340933409434095340963409734098340993410034101341023410334104341053410634107341083410934110341113411234113341143411534116341173411834119341203412134122341233412434125341263412734128341293413034131341323413334134341353413634137341383413934140341413414234143341443414534146341473414834149341503415134152341533415434155341563415734158341593416034161341623416334164341653416634167341683416934170341713417234173341743417534176341773417834179341803418134182341833418434185341863418734188341893419034191341923419334194341953419634197341983419934200342013420234203342043420534206342073420834209342103421134212342133421434215342163421734218342193422034221342223422334224342253422634227342283422934230342313423234233342343423534236342373423834239342403424134242342433424434245342463424734248342493425034251342523425334254342553425634257342583425934260342613426234263342643426534266342673426834269342703427134272342733427434275342763427734278342793428034281342823428334284342853428634287342883428934290342913429234293342943429534296342973429834299343003430134302343033430434305343063430734308343093431034311343123431334314343153431634317343183431934320343213432234323343243432534326343273432834329343303433134332343333433434335343363433734338343393434034341343423434334344343453434634347343483434934350343513435234353343543435534356343573435834359343603436134362343633436434365343663436734368343693437034371343723437334374343753437634377343783437934380343813438234383343843438534386343873438834389343903439134392343933439434395343963439734398343993440034401344023440334404344053440634407344083440934410344113441234413344143441534416344173441834419344203442134422344233442434425344263442734428344293443034431344323443334434344353443634437344383443934440344413444234443344443444534446344473444834449344503445134452344533445434455344563445734458344593446034461344623446334464344653446634467344683446934470344713447234473344743447534476344773447834479344803448134482344833448434485344863448734488344893449034491344923449334494344953449634497344983449934500345013450234503345043450534506345073450834509345103451134512345133451434515345163451734518345193452034521345223452334524345253452634527345283452934530345313453234533345343453534536345373453834539345403454134542345433454434545345463454734548345493455034551345523455334554345553455634557345583455934560345613456234563345643456534566345673456834569345703457134572345733457434575345763457734578345793458034581345823458334584345853458634587345883458934590345913459234593345943459534596345973459834599346003460134602346033460434605346063460734608346093461034611346123461334614346153461634617346183461934620346213462234623346243462534626346273462834629346303463134632346333463434635346363463734638346393464034641346423464334644346453464634647346483464934650346513465234653346543465534656346573465834659346603466134662346633466434665346663466734668346693467034671346723467334674346753467634677346783467934680346813468234683346843468534686346873468834689346903469134692346933469434695346963469734698346993470034701347023470334704347053470634707347083470934710347113471234713347143471534716347173471834719347203472134722347233472434725347263472734728347293473034731347323473334734347353473634737347383473934740347413474234743347443474534746347473474834749347503475134752347533475434755347563475734758347593476034761347623476334764347653476634767347683476934770347713477234773347743477534776347773477834779347803478134782347833478434785347863478734788347893479034791347923479334794347953479634797347983479934800348013480234803348043480534806348073480834809348103481134812348133481434815348163481734818348193482034821348223482334824348253482634827348283482934830348313483234833348343483534836348373483834839348403484134842348433484434845348463484734848348493485034851348523485334854348553485634857348583485934860348613486234863348643486534866348673486834869348703487134872348733487434875348763487734878348793488034881348823488334884348853488634887348883488934890348913489234893348943489534896348973489834899349003490134902349033490434905349063490734908349093491034911349123491334914349153491634917349183491934920349213492234923349243492534926349273492834929349303493134932349333493434935349363493734938349393494034941349423494334944349453494634947349483494934950349513495234953349543495534956349573495834959349603496134962349633496434965349663496734968349693497034971349723497334974349753497634977349783497934980349813498234983349843498534986349873498834989349903499134992349933499434995349963499734998349993500035001350023500335004350053500635007350083500935010350113501235013350143501535016350173501835019350203502135022350233502435025350263502735028350293503035031350323503335034350353503635037350383503935040350413504235043350443504535046350473504835049350503505135052350533505435055350563505735058350593506035061350623506335064350653506635067350683506935070350713507235073350743507535076350773507835079350803508135082350833508435085350863508735088350893509035091350923509335094350953509635097350983509935100351013510235103351043510535106351073510835109351103511135112351133511435115351163511735118351193512035121351223512335124351253512635127351283512935130351313513235133351343513535136351373513835139351403514135142351433514435145351463514735148351493515035151351523515335154351553515635157351583515935160351613516235163351643516535166351673516835169351703517135172351733517435175351763517735178351793518035181351823518335184351853518635187351883518935190351913519235193351943519535196351973519835199352003520135202352033520435205352063520735208352093521035211352123521335214352153521635217352183521935220352213522235223352243522535226352273522835229352303523135232352333523435235352363523735238352393524035241352423524335244352453524635247352483524935250352513525235253352543525535256352573525835259352603526135262352633526435265352663526735268352693527035271352723527335274352753527635277352783527935280352813528235283352843528535286352873528835289352903529135292352933529435295352963529735298352993530035301353023530335304353053530635307353083530935310353113531235313353143531535316353173531835319353203532135322353233532435325353263532735328353293533035331353323533335334353353533635337353383533935340353413534235343353443534535346353473534835349353503535135352353533535435355353563535735358353593536035361353623536335364353653536635367353683536935370353713537235373353743537535376353773537835379353803538135382353833538435385353863538735388353893539035391353923539335394353953539635397353983539935400354013540235403354043540535406354073540835409354103541135412354133541435415354163541735418354193542035421354223542335424354253542635427354283542935430354313543235433354343543535436354373543835439354403544135442354433544435445354463544735448354493545035451354523545335454354553545635457354583545935460354613546235463354643546535466354673546835469354703547135472354733547435475354763547735478354793548035481354823548335484354853548635487354883548935490354913549235493354943549535496354973549835499355003550135502355033550435505355063550735508355093551035511355123551335514355153551635517355183551935520355213552235523355243552535526355273552835529355303553135532355333553435535355363553735538355393554035541355423554335544355453554635547355483554935550355513555235553355543555535556355573555835559355603556135562355633556435565355663556735568355693557035571355723557335574355753557635577355783557935580355813558235583355843558535586355873558835589355903559135592355933559435595355963559735598355993560035601356023560335604356053560635607356083560935610356113561235613356143561535616356173561835619356203562135622356233562435625356263562735628356293563035631356323563335634356353563635637356383563935640356413564235643356443564535646356473564835649356503565135652356533565435655356563565735658356593566035661356623566335664356653566635667356683566935670356713567235673356743567535676356773567835679356803568135682356833568435685356863568735688356893569035691356923569335694356953569635697356983569935700357013570235703357043570535706357073570835709357103571135712357133571435715357163571735718357193572035721357223572335724357253572635727357283572935730357313573235733357343573535736357373573835739357403574135742357433574435745357463574735748357493575035751357523575335754357553575635757357583575935760357613576235763357643576535766357673576835769357703577135772357733577435775357763577735778357793578035781357823578335784357853578635787357883578935790357913579235793357943579535796357973579835799358003580135802358033580435805358063580735808358093581035811358123581335814358153581635817358183581935820358213582235823358243582535826358273582835829358303583135832358333583435835358363583735838358393584035841358423584335844358453584635847358483584935850358513585235853358543585535856358573585835859358603586135862358633586435865358663586735868358693587035871358723587335874358753587635877358783587935880358813588235883358843588535886358873588835889358903589135892358933589435895358963589735898358993590035901359023590335904359053590635907359083590935910359113591235913359143591535916359173591835919359203592135922359233592435925359263592735928359293593035931359323593335934359353593635937359383593935940359413594235943359443594535946359473594835949359503595135952359533595435955359563595735958359593596035961359623596335964359653596635967359683596935970359713597235973359743597535976359773597835979359803598135982359833598435985359863598735988359893599035991359923599335994359953599635997359983599936000360013600236003360043600536006360073600836009360103601136012360133601436015360163601736018360193602036021360223602336024360253602636027360283602936030360313603236033360343603536036360373603836039360403604136042360433604436045360463604736048360493605036051360523605336054360553605636057360583605936060360613606236063360643606536066360673606836069360703607136072360733607436075360763607736078360793608036081360823608336084360853608636087360883608936090360913609236093360943609536096360973609836099361003610136102361033610436105361063610736108361093611036111361123611336114361153611636117361183611936120361213612236123361243612536126361273612836129361303613136132361333613436135361363613736138361393614036141361423614336144361453614636147361483614936150361513615236153361543615536156361573615836159361603616136162361633616436165361663616736168361693617036171361723617336174361753617636177361783617936180361813618236183361843618536186361873618836189361903619136192361933619436195361963619736198361993620036201362023620336204362053620636207362083620936210362113621236213362143621536216362173621836219362203622136222362233622436225362263622736228362293623036231362323623336234362353623636237362383623936240362413624236243362443624536246362473624836249362503625136252362533625436255362563625736258362593626036261362623626336264362653626636267362683626936270362713627236273362743627536276362773627836279362803628136282362833628436285362863628736288362893629036291362923629336294362953629636297362983629936300363013630236303363043630536306363073630836309363103631136312363133631436315363163631736318363193632036321363223632336324363253632636327363283632936330363313633236333363343633536336363373633836339363403634136342363433634436345363463634736348363493635036351363523635336354363553635636357363583635936360363613636236363363643636536366363673636836369363703637136372363733637436375363763637736378363793638036381363823638336384363853638636387363883638936390363913639236393363943639536396363973639836399364003640136402364033640436405364063640736408364093641036411364123641336414364153641636417364183641936420364213642236423364243642536426364273642836429364303643136432364333643436435364363643736438364393644036441364423644336444364453644636447364483644936450364513645236453364543645536456364573645836459364603646136462364633646436465364663646736468364693647036471364723647336474364753647636477364783647936480364813648236483364843648536486364873648836489364903649136492364933649436495364963649736498364993650036501365023650336504365053650636507365083650936510365113651236513365143651536516365173651836519365203652136522365233652436525365263652736528365293653036531365323653336534365353653636537365383653936540365413654236543365443654536546365473654836549365503655136552365533655436555365563655736558365593656036561365623656336564365653656636567365683656936570365713657236573365743657536576365773657836579365803658136582365833658436585365863658736588365893659036591365923659336594365953659636597365983659936600366013660236603366043660536606366073660836609366103661136612366133661436615366163661736618366193662036621366223662336624366253662636627366283662936630366313663236633366343663536636366373663836639366403664136642366433664436645366463664736648366493665036651366523665336654366553665636657366583665936660366613666236663366643666536666366673666836669366703667136672366733667436675366763667736678366793668036681366823668336684366853668636687366883668936690366913669236693366943669536696366973669836699367003670136702367033670436705367063670736708367093671036711367123671336714367153671636717367183671936720367213672236723367243672536726367273672836729367303673136732367333673436735367363673736738367393674036741367423674336744367453674636747367483674936750367513675236753367543675536756367573675836759367603676136762367633676436765367663676736768367693677036771367723677336774367753677636777367783677936780367813678236783367843678536786367873678836789367903679136792367933679436795367963679736798367993680036801368023680336804368053680636807368083680936810368113681236813368143681536816368173681836819368203682136822368233682436825368263682736828368293683036831368323683336834368353683636837368383683936840368413684236843368443684536846368473684836849368503685136852368533685436855368563685736858368593686036861368623686336864368653686636867368683686936870368713687236873368743687536876368773687836879368803688136882368833688436885368863688736888368893689036891368923689336894368953689636897368983689936900369013690236903369043690536906369073690836909369103691136912369133691436915369163691736918369193692036921369223692336924369253692636927369283692936930369313693236933369343693536936369373693836939369403694136942369433694436945369463694736948369493695036951369523695336954369553695636957369583695936960369613696236963369643696536966369673696836969369703697136972369733697436975369763697736978369793698036981369823698336984369853698636987369883698936990369913699236993369943699536996369973699836999370003700137002370033700437005370063700737008370093701037011370123701337014370153701637017370183701937020370213702237023370243702537026370273702837029370303703137032370333703437035370363703737038370393704037041370423704337044370453704637047370483704937050370513705237053370543705537056370573705837059370603706137062370633706437065370663706737068370693707037071370723707337074370753707637077370783707937080370813708237083370843708537086370873708837089370903709137092370933709437095370963709737098370993710037101371023710337104371053710637107371083710937110371113711237113371143711537116371173711837119371203712137122371233712437125371263712737128371293713037131371323713337134371353713637137371383713937140371413714237143371443714537146371473714837149371503715137152371533715437155371563715737158371593716037161371623716337164371653716637167371683716937170371713717237173371743717537176371773717837179371803718137182371833718437185371863718737188371893719037191371923719337194371953719637197371983719937200372013720237203372043720537206372073720837209372103721137212372133721437215372163721737218372193722037221372223722337224372253722637227372283722937230372313723237233372343723537236372373723837239372403724137242372433724437245372463724737248372493725037251372523725337254372553725637257372583725937260372613726237263372643726537266372673726837269372703727137272372733727437275372763727737278372793728037281372823728337284372853728637287372883728937290372913729237293372943729537296372973729837299373003730137302373033730437305373063730737308373093731037311373123731337314373153731637317373183731937320373213732237323373243732537326373273732837329373303733137332373333733437335373363733737338373393734037341373423734337344373453734637347373483734937350373513735237353373543735537356373573735837359373603736137362373633736437365373663736737368373693737037371373723737337374373753737637377373783737937380373813738237383373843738537386373873738837389373903739137392373933739437395373963739737398373993740037401374023740337404374053740637407374083740937410374113741237413374143741537416374173741837419374203742137422374233742437425374263742737428374293743037431374323743337434374353743637437374383743937440374413744237443374443744537446374473744837449374503745137452374533745437455374563745737458374593746037461374623746337464374653746637467374683746937470374713747237473374743747537476374773747837479374803748137482374833748437485374863748737488374893749037491374923749337494374953749637497374983749937500375013750237503375043750537506375073750837509375103751137512375133751437515375163751737518375193752037521375223752337524375253752637527375283752937530375313753237533375343753537536375373753837539375403754137542375433754437545375463754737548375493755037551375523755337554375553755637557375583755937560375613756237563375643756537566375673756837569375703757137572375733757437575375763757737578375793758037581375823758337584375853758637587375883758937590375913759237593375943759537596375973759837599376003760137602376033760437605376063760737608376093761037611376123761337614376153761637617376183761937620376213762237623376243762537626376273762837629376303763137632376333763437635376363763737638376393764037641376423764337644376453764637647376483764937650376513765237653376543765537656376573765837659376603766137662376633766437665376663766737668376693767037671376723767337674376753767637677376783767937680376813768237683376843768537686376873768837689376903769137692376933769437695376963769737698376993770037701377023770337704377053770637707377083770937710377113771237713377143771537716377173771837719377203772137722377233772437725377263772737728377293773037731377323773337734377353773637737377383773937740377413774237743377443774537746377473774837749377503775137752377533775437755377563775737758377593776037761377623776337764377653776637767377683776937770377713777237773377743777537776377773777837779377803778137782377833778437785377863778737788377893779037791377923779337794377953779637797377983779937800378013780237803378043780537806378073780837809378103781137812378133781437815378163781737818378193782037821378223782337824378253782637827378283782937830378313783237833378343783537836378373783837839378403784137842378433784437845378463784737848378493785037851378523785337854378553785637857378583785937860378613786237863378643786537866378673786837869378703787137872378733787437875378763787737878378793788037881378823788337884378853788637887378883788937890378913789237893378943789537896378973789837899379003790137902379033790437905379063790737908379093791037911379123791337914379153791637917379183791937920379213792237923379243792537926379273792837929379303793137932379333793437935379363793737938379393794037941379423794337944379453794637947379483794937950379513795237953379543795537956379573795837959379603796137962379633796437965379663796737968379693797037971379723797337974379753797637977379783797937980379813798237983379843798537986379873798837989379903799137992379933799437995379963799737998379993800038001380023800338004380053800638007380083800938010380113801238013380143801538016380173801838019380203802138022380233802438025380263802738028380293803038031380323803338034380353803638037380383803938040380413804238043380443804538046380473804838049380503805138052380533805438055380563805738058380593806038061380623806338064380653806638067380683806938070380713807238073380743807538076380773807838079380803808138082380833808438085380863808738088380893809038091380923809338094380953809638097380983809938100381013810238103381043810538106381073810838109381103811138112381133811438115381163811738118381193812038121381223812338124381253812638127381283812938130381313813238133381343813538136381373813838139381403814138142381433814438145381463814738148381493815038151381523815338154381553815638157381583815938160381613816238163381643816538166381673816838169381703817138172381733817438175381763817738178381793818038181381823818338184381853818638187381883818938190381913819238193381943819538196381973819838199382003820138202382033820438205382063820738208382093821038211382123821338214382153821638217382183821938220382213822238223382243822538226382273822838229382303823138232382333823438235382363823738238382393824038241382423824338244382453824638247382483824938250382513825238253382543825538256382573825838259382603826138262382633826438265382663826738268382693827038271382723827338274382753827638277382783827938280382813828238283382843828538286382873828838289382903829138292382933829438295382963829738298382993830038301383023830338304383053830638307383083830938310383113831238313383143831538316383173831838319383203832138322383233832438325383263832738328383293833038331383323833338334383353833638337383383833938340383413834238343383443834538346383473834838349383503835138352383533835438355383563835738358383593836038361383623836338364383653836638367383683836938370383713837238373383743837538376383773837838379383803838138382383833838438385383863838738388383893839038391383923839338394383953839638397383983839938400384013840238403384043840538406384073840838409384103841138412384133841438415384163841738418384193842038421384223842338424384253842638427384283842938430384313843238433384343843538436384373843838439384403844138442384433844438445384463844738448384493845038451384523845338454384553845638457384583845938460384613846238463384643846538466384673846838469384703847138472384733847438475384763847738478384793848038481384823848338484384853848638487384883848938490384913849238493384943849538496384973849838499385003850138502385033850438505385063850738508385093851038511385123851338514385153851638517385183851938520385213852238523385243852538526385273852838529385303853138532385333853438535385363853738538385393854038541385423854338544385453854638547385483854938550385513855238553385543855538556385573855838559385603856138562385633856438565385663856738568385693857038571385723857338574385753857638577385783857938580385813858238583385843858538586385873858838589385903859138592385933859438595385963859738598385993860038601386023860338604386053860638607386083860938610386113861238613386143861538616386173861838619386203862138622386233862438625386263862738628386293863038631386323863338634386353863638637386383863938640386413864238643386443864538646386473864838649386503865138652386533865438655386563865738658386593866038661386623866338664386653866638667386683866938670386713867238673386743867538676386773867838679386803868138682386833868438685386863868738688386893869038691386923869338694386953869638697386983869938700387013870238703387043870538706387073870838709387103871138712387133871438715387163871738718387193872038721387223872338724387253872638727387283872938730387313873238733387343873538736387373873838739387403874138742387433874438745387463874738748387493875038751387523875338754387553875638757387583875938760387613876238763387643876538766387673876838769387703877138772387733877438775387763877738778387793878038781387823878338784387853878638787387883878938790387913879238793387943879538796387973879838799388003880138802388033880438805388063880738808388093881038811388123881338814388153881638817388183881938820388213882238823388243882538826388273882838829388303883138832388333883438835388363883738838388393884038841388423884338844388453884638847388483884938850388513885238853388543885538856388573885838859388603886138862388633886438865388663886738868388693887038871388723887338874388753887638877388783887938880388813888238883388843888538886388873888838889388903889138892388933889438895388963889738898388993890038901389023890338904389053890638907389083890938910389113891238913389143891538916389173891838919389203892138922389233892438925389263892738928389293893038931389323893338934389353893638937389383893938940389413894238943389443894538946389473894838949389503895138952389533895438955389563895738958389593896038961389623896338964389653896638967389683896938970389713897238973389743897538976389773897838979389803898138982389833898438985389863898738988389893899038991389923899338994389953899638997389983899939000390013900239003390043900539006390073900839009390103901139012390133901439015390163901739018390193902039021390223902339024390253902639027390283902939030390313903239033390343903539036390373903839039390403904139042390433904439045390463904739048390493905039051390523905339054390553905639057390583905939060390613906239063390643906539066390673906839069390703907139072390733907439075390763907739078390793908039081390823908339084390853908639087390883908939090390913909239093390943909539096390973909839099391003910139102391033910439105391063910739108391093911039111391123911339114391153911639117391183911939120391213912239123391243912539126391273912839129391303913139132391333913439135391363913739138391393914039141391423914339144391453914639147391483914939150391513915239153391543915539156391573915839159391603916139162391633916439165391663916739168391693917039171391723917339174391753917639177391783917939180391813918239183391843918539186391873918839189391903919139192391933919439195391963919739198391993920039201392023920339204392053920639207392083920939210392113921239213392143921539216392173921839219392203922139222392233922439225392263922739228392293923039231392323923339234392353923639237392383923939240392413924239243392443924539246392473924839249392503925139252392533925439255392563925739258392593926039261392623926339264392653926639267392683926939270392713927239273392743927539276392773927839279392803928139282392833928439285392863928739288392893929039291392923929339294392953929639297392983929939300393013930239303393043930539306393073930839309393103931139312393133931439315393163931739318393193932039321393223932339324393253932639327393283932939330393313933239333393343933539336393373933839339393403934139342393433934439345393463934739348393493935039351393523935339354393553935639357393583935939360393613936239363393643936539366393673936839369393703937139372393733937439375393763937739378393793938039381393823938339384393853938639387393883938939390393913939239393393943939539396393973939839399394003940139402394033940439405394063940739408394093941039411394123941339414394153941639417394183941939420394213942239423394243942539426394273942839429394303943139432394333943439435394363943739438394393944039441394423944339444394453944639447394483944939450394513945239453394543945539456394573945839459394603946139462394633946439465394663946739468394693947039471394723947339474394753947639477394783947939480394813948239483394843948539486394873948839489394903949139492394933949439495394963949739498394993950039501395023950339504395053950639507395083950939510395113951239513395143951539516395173951839519395203952139522395233952439525395263952739528395293953039531395323953339534395353953639537395383953939540395413954239543395443954539546395473954839549395503955139552395533955439555395563955739558395593956039561395623956339564395653956639567395683956939570395713957239573395743957539576395773957839579395803958139582395833958439585395863958739588395893959039591395923959339594395953959639597395983959939600396013960239603396043960539606396073960839609396103961139612396133961439615396163961739618396193962039621396223962339624396253962639627396283962939630396313963239633396343963539636396373963839639396403964139642396433964439645396463964739648396493965039651396523965339654396553965639657396583965939660396613966239663396643966539666396673966839669396703967139672396733967439675396763967739678396793968039681396823968339684396853968639687396883968939690396913969239693396943969539696396973969839699397003970139702397033970439705397063970739708397093971039711397123971339714397153971639717397183971939720397213972239723397243972539726397273972839729397303973139732397333973439735397363973739738397393974039741397423974339744397453974639747397483974939750397513975239753397543975539756397573975839759397603976139762397633976439765397663976739768397693977039771397723977339774397753977639777397783977939780397813978239783397843978539786397873978839789397903979139792397933979439795397963979739798397993980039801398023980339804398053980639807398083980939810398113981239813398143981539816398173981839819398203982139822398233982439825398263982739828398293983039831398323983339834398353983639837398383983939840398413984239843398443984539846398473984839849398503985139852398533985439855398563985739858398593986039861398623986339864398653986639867398683986939870398713987239873398743987539876398773987839879398803988139882398833988439885398863988739888398893989039891398923989339894398953989639897398983989939900399013990239903399043990539906399073990839909399103991139912399133991439915399163991739918399193992039921399223992339924399253992639927399283992939930399313993239933399343993539936399373993839939399403994139942399433994439945399463994739948399493995039951399523995339954399553995639957399583995939960399613996239963399643996539966399673996839969399703997139972399733997439975399763997739978399793998039981399823998339984399853998639987399883998939990399913999239993399943999539996399973999839999400004000140002400034000440005400064000740008400094001040011400124001340014400154001640017400184001940020400214002240023400244002540026400274002840029400304003140032400334003440035400364003740038400394004040041400424004340044400454004640047400484004940050400514005240053400544005540056400574005840059400604006140062400634006440065400664006740068400694007040071400724007340074400754007640077400784007940080400814008240083400844008540086400874008840089400904009140092400934009440095400964009740098400994010040101401024010340104401054010640107401084010940110401114011240113401144011540116401174011840119401204012140122401234012440125401264012740128401294013040131401324013340134401354013640137401384013940140401414014240143401444014540146401474014840149401504015140152401534015440155401564015740158401594016040161401624016340164401654016640167401684016940170401714017240173401744017540176401774017840179401804018140182401834018440185401864018740188401894019040191401924019340194401954019640197401984019940200402014020240203402044020540206402074020840209402104021140212402134021440215402164021740218402194022040221402224022340224402254022640227402284022940230402314023240233402344023540236402374023840239402404024140242402434024440245402464024740248402494025040251402524025340254402554025640257402584025940260402614026240263402644026540266402674026840269402704027140272402734027440275402764027740278402794028040281402824028340284402854028640287402884028940290402914029240293402944029540296402974029840299403004030140302403034030440305403064030740308403094031040311403124031340314403154031640317403184031940320403214032240323403244032540326403274032840329403304033140332403334033440335403364033740338403394034040341403424034340344403454034640347403484034940350403514035240353403544035540356403574035840359403604036140362403634036440365403664036740368403694037040371403724037340374403754037640377403784037940380403814038240383403844038540386403874038840389403904039140392403934039440395403964039740398403994040040401404024040340404404054040640407404084040940410404114041240413404144041540416404174041840419404204042140422404234042440425404264042740428404294043040431404324043340434404354043640437404384043940440404414044240443404444044540446404474044840449404504045140452404534045440455404564045740458404594046040461404624046340464404654046640467404684046940470404714047240473404744047540476404774047840479404804048140482404834048440485404864048740488404894049040491404924049340494404954049640497404984049940500405014050240503405044050540506405074050840509405104051140512405134051440515405164051740518405194052040521405224052340524405254052640527405284052940530405314053240533405344053540536405374053840539405404054140542405434054440545405464054740548405494055040551405524055340554405554055640557405584055940560405614056240563405644056540566405674056840569405704057140572405734057440575405764057740578405794058040581405824058340584405854058640587405884058940590405914059240593405944059540596405974059840599406004060140602406034060440605406064060740608406094061040611406124061340614406154061640617406184061940620406214062240623406244062540626406274062840629406304063140632406334063440635406364063740638406394064040641406424064340644406454064640647406484064940650406514065240653406544065540656406574065840659406604066140662406634066440665406664066740668406694067040671406724067340674406754067640677406784067940680406814068240683406844068540686406874068840689406904069140692406934069440695406964069740698406994070040701407024070340704407054070640707407084070940710407114071240713407144071540716407174071840719407204072140722407234072440725407264072740728407294073040731407324073340734407354073640737407384073940740407414074240743407444074540746407474074840749407504075140752407534075440755407564075740758407594076040761407624076340764407654076640767407684076940770407714077240773407744077540776407774077840779407804078140782407834078440785407864078740788407894079040791407924079340794407954079640797407984079940800408014080240803408044080540806408074080840809408104081140812408134081440815408164081740818408194082040821408224082340824408254082640827408284082940830408314083240833408344083540836408374083840839408404084140842408434084440845408464084740848408494085040851408524085340854408554085640857408584085940860408614086240863408644086540866408674086840869408704087140872408734087440875408764087740878408794088040881408824088340884408854088640887408884088940890408914089240893408944089540896408974089840899409004090140902409034090440905409064090740908409094091040911409124091340914409154091640917409184091940920409214092240923409244092540926409274092840929409304093140932409334093440935409364093740938409394094040941409424094340944409454094640947409484094940950409514095240953409544095540956409574095840959409604096140962409634096440965409664096740968409694097040971409724097340974409754097640977409784097940980409814098240983409844098540986409874098840989409904099140992409934099440995409964099740998409994100041001410024100341004410054100641007410084100941010410114101241013410144101541016410174101841019410204102141022410234102441025410264102741028410294103041031410324103341034410354103641037410384103941040410414104241043410444104541046410474104841049410504105141052410534105441055410564105741058410594106041061410624106341064410654106641067410684106941070410714107241073410744107541076410774107841079410804108141082410834108441085410864108741088410894109041091410924109341094410954109641097410984109941100411014110241103411044110541106411074110841109411104111141112411134111441115411164111741118411194112041121411224112341124411254112641127411284112941130411314113241133411344113541136411374113841139411404114141142411434114441145411464114741148411494115041151411524115341154411554115641157411584115941160411614116241163411644116541166411674116841169411704117141172411734117441175411764117741178411794118041181411824118341184411854118641187411884118941190411914119241193411944119541196411974119841199412004120141202412034120441205412064120741208412094121041211412124121341214412154121641217412184121941220412214122241223412244122541226412274122841229412304123141232412334123441235412364123741238412394124041241412424124341244412454124641247412484124941250412514125241253412544125541256412574125841259412604126141262412634126441265412664126741268412694127041271412724127341274412754127641277412784127941280412814128241283412844128541286412874128841289412904129141292412934129441295412964129741298412994130041301413024130341304413054130641307413084130941310413114131241313413144131541316413174131841319413204132141322413234132441325413264132741328413294133041331413324133341334413354133641337413384133941340413414134241343413444134541346413474134841349413504135141352413534135441355413564135741358413594136041361413624136341364413654136641367413684136941370413714137241373413744137541376413774137841379413804138141382413834138441385413864138741388413894139041391413924139341394413954139641397413984139941400414014140241403414044140541406414074140841409414104141141412414134141441415414164141741418414194142041421414224142341424414254142641427414284142941430414314143241433414344143541436414374143841439414404144141442414434144441445414464144741448414494145041451414524145341454414554145641457414584145941460414614146241463414644146541466414674146841469414704147141472414734147441475414764147741478414794148041481414824148341484414854148641487414884148941490414914149241493414944149541496414974149841499415004150141502415034150441505415064150741508415094151041511415124151341514415154151641517415184151941520415214152241523415244152541526415274152841529415304153141532415334153441535415364153741538415394154041541415424154341544415454154641547415484154941550415514155241553415544155541556415574155841559415604156141562415634156441565415664156741568415694157041571415724157341574415754157641577415784157941580415814158241583415844158541586415874158841589415904159141592415934159441595415964159741598415994160041601416024160341604416054160641607416084160941610416114161241613416144161541616416174161841619416204162141622416234162441625416264162741628416294163041631416324163341634416354163641637416384163941640416414164241643416444164541646416474164841649416504165141652416534165441655416564165741658416594166041661416624166341664416654166641667416684166941670416714167241673416744167541676416774167841679416804168141682416834168441685416864168741688416894169041691416924169341694416954169641697416984169941700417014170241703417044170541706417074170841709417104171141712417134171441715417164171741718417194172041721417224172341724417254172641727417284172941730417314173241733417344173541736417374173841739417404174141742417434174441745417464174741748417494175041751417524175341754417554175641757417584175941760417614176241763417644176541766417674176841769417704177141772417734177441775417764177741778417794178041781417824178341784417854178641787417884178941790417914179241793417944179541796417974179841799418004180141802418034180441805418064180741808418094181041811418124181341814418154181641817418184181941820418214182241823418244182541826418274182841829418304183141832418334183441835418364183741838418394184041841418424184341844418454184641847418484184941850418514185241853418544185541856418574185841859418604186141862418634186441865418664186741868418694187041871418724187341874418754187641877418784187941880418814188241883418844188541886418874188841889418904189141892418934189441895418964189741898418994190041901419024190341904419054190641907419084190941910419114191241913419144191541916419174191841919419204192141922419234192441925419264192741928419294193041931419324193341934419354193641937419384193941940419414194241943419444194541946419474194841949419504195141952419534195441955419564195741958419594196041961419624196341964419654196641967419684196941970419714197241973419744197541976419774197841979419804198141982419834198441985419864198741988419894199041991419924199341994419954199641997419984199942000420014200242003420044200542006420074200842009420104201142012420134201442015420164201742018420194202042021420224202342024420254202642027420284202942030420314203242033420344203542036420374203842039420404204142042420434204442045420464204742048420494205042051420524205342054420554205642057420584205942060420614206242063420644206542066420674206842069420704207142072420734207442075420764207742078420794208042081420824208342084420854208642087420884208942090420914209242093420944209542096420974209842099421004210142102421034210442105421064210742108421094211042111421124211342114421154211642117421184211942120421214212242123421244212542126421274212842129421304213142132421334213442135421364213742138421394214042141421424214342144421454214642147421484214942150421514215242153421544215542156421574215842159421604216142162421634216442165421664216742168421694217042171421724217342174421754217642177421784217942180421814218242183421844218542186421874218842189421904219142192421934219442195421964219742198421994220042201422024220342204422054220642207422084220942210422114221242213422144221542216422174221842219422204222142222422234222442225422264222742228422294223042231422324223342234422354223642237422384223942240422414224242243422444224542246422474224842249422504225142252422534225442255422564225742258422594226042261422624226342264422654226642267422684226942270422714227242273422744227542276422774227842279422804228142282422834228442285422864228742288422894229042291422924229342294422954229642297422984229942300423014230242303423044230542306423074230842309423104231142312423134231442315423164231742318423194232042321423224232342324423254232642327423284232942330423314233242333423344233542336423374233842339423404234142342423434234442345423464234742348423494235042351423524235342354423554235642357423584235942360423614236242363423644236542366423674236842369423704237142372423734237442375423764237742378423794238042381423824238342384423854238642387423884238942390423914239242393423944239542396423974239842399424004240142402424034240442405424064240742408424094241042411424124241342414424154241642417424184241942420424214242242423424244242542426424274242842429424304243142432424334243442435424364243742438424394244042441424424244342444424454244642447424484244942450424514245242453424544245542456424574245842459424604246142462424634246442465424664246742468424694247042471424724247342474424754247642477424784247942480424814248242483424844248542486424874248842489424904249142492424934249442495424964249742498424994250042501425024250342504425054250642507425084250942510425114251242513425144251542516425174251842519425204252142522425234252442525425264252742528425294253042531425324253342534425354253642537425384253942540425414254242543425444254542546425474254842549425504255142552425534255442555425564255742558425594256042561425624256342564425654256642567425684256942570425714257242573425744257542576425774257842579425804258142582425834258442585425864258742588425894259042591425924259342594425954259642597425984259942600426014260242603426044260542606426074260842609426104261142612426134261442615426164261742618426194262042621426224262342624426254262642627426284262942630426314263242633426344263542636426374263842639426404264142642426434264442645426464264742648426494265042651426524265342654426554265642657426584265942660426614266242663426644266542666426674266842669426704267142672426734267442675426764267742678426794268042681426824268342684426854268642687426884268942690426914269242693426944269542696426974269842699427004270142702427034270442705427064270742708427094271042711427124271342714427154271642717427184271942720427214272242723427244272542726427274272842729427304273142732427334273442735427364273742738427394274042741427424274342744427454274642747427484274942750427514275242753427544275542756427574275842759427604276142762427634276442765427664276742768427694277042771427724277342774427754277642777427784277942780427814278242783427844278542786427874278842789427904279142792427934279442795427964279742798427994280042801428024280342804428054280642807428084280942810428114281242813428144281542816428174281842819428204282142822428234282442825428264282742828428294283042831428324283342834428354283642837428384283942840428414284242843428444284542846428474284842849428504285142852428534285442855428564285742858428594286042861428624286342864428654286642867428684286942870428714287242873428744287542876428774287842879428804288142882428834288442885428864288742888428894289042891428924289342894428954289642897428984289942900429014290242903429044290542906429074290842909429104291142912429134291442915429164291742918429194292042921429224292342924429254292642927429284292942930429314293242933429344293542936429374293842939429404294142942429434294442945429464294742948429494295042951429524295342954429554295642957429584295942960429614296242963429644296542966429674296842969429704297142972429734297442975429764297742978429794298042981429824298342984429854298642987429884298942990429914299242993429944299542996429974299842999430004300143002430034300443005430064300743008430094301043011430124301343014430154301643017430184301943020430214302243023430244302543026430274302843029430304303143032430334303443035430364303743038430394304043041430424304343044430454304643047430484304943050430514305243053430544305543056430574305843059430604306143062430634306443065430664306743068430694307043071430724307343074430754307643077430784307943080430814308243083430844308543086430874308843089430904309143092430934309443095430964309743098430994310043101431024310343104431054310643107431084310943110431114311243113431144311543116431174311843119431204312143122431234312443125431264312743128431294313043131431324313343134431354313643137431384313943140431414314243143431444314543146431474314843149431504315143152431534315443155431564315743158431594316043161431624316343164431654316643167431684316943170431714317243173431744317543176431774317843179431804318143182431834318443185431864318743188431894319043191431924319343194431954319643197431984319943200432014320243203432044320543206432074320843209432104321143212432134321443215432164321743218432194322043221432224322343224432254322643227432284322943230432314323243233432344323543236432374323843239432404324143242432434324443245432464324743248432494325043251432524325343254432554325643257432584325943260432614326243263432644326543266432674326843269432704327143272432734327443275432764327743278432794328043281432824328343284432854328643287432884328943290432914329243293432944329543296432974329843299433004330143302433034330443305433064330743308433094331043311433124331343314433154331643317433184331943320433214332243323433244332543326433274332843329433304333143332433334333443335433364333743338433394334043341433424334343344433454334643347433484334943350433514335243353433544335543356433574335843359433604336143362433634336443365433664336743368433694337043371433724337343374433754337643377433784337943380433814338243383433844338543386433874338843389433904339143392433934339443395433964339743398433994340043401434024340343404434054340643407434084340943410434114341243413434144341543416434174341843419434204342143422434234342443425434264342743428434294343043431434324343343434434354343643437434384343943440434414344243443434444344543446434474344843449434504345143452434534345443455434564345743458434594346043461434624346343464434654346643467434684346943470434714347243473434744347543476434774347843479434804348143482434834348443485434864348743488434894349043491434924349343494434954349643497434984349943500435014350243503435044350543506435074350843509435104351143512435134351443515435164351743518435194352043521435224352343524435254352643527435284352943530435314353243533435344353543536435374353843539435404354143542435434354443545435464354743548435494355043551435524355343554435554355643557435584355943560435614356243563435644356543566435674356843569435704357143572435734357443575435764357743578435794358043581435824358343584435854358643587435884358943590435914359243593435944359543596435974359843599436004360143602436034360443605436064360743608436094361043611436124361343614436154361643617436184361943620436214362243623436244362543626436274362843629436304363143632436334363443635436364363743638436394364043641436424364343644436454364643647436484364943650436514365243653436544365543656436574365843659436604366143662436634366443665436664366743668436694367043671436724367343674436754367643677436784367943680436814368243683436844368543686436874368843689436904369143692436934369443695436964369743698436994370043701437024370343704437054370643707437084370943710437114371243713437144371543716437174371843719437204372143722437234372443725437264372743728437294373043731437324373343734437354373643737437384373943740437414374243743437444374543746437474374843749437504375143752437534375443755437564375743758437594376043761437624376343764437654376643767437684376943770437714377243773437744377543776437774377843779437804378143782437834378443785437864378743788437894379043791437924379343794437954379643797437984379943800438014380243803438044380543806438074380843809438104381143812438134381443815438164381743818438194382043821438224382343824438254382643827438284382943830438314383243833438344383543836438374383843839438404384143842438434384443845438464384743848438494385043851438524385343854438554385643857438584385943860438614386243863438644386543866438674386843869438704387143872438734387443875438764387743878438794388043881438824388343884438854388643887438884388943890438914389243893438944389543896438974389843899439004390143902439034390443905439064390743908439094391043911439124391343914439154391643917439184391943920439214392243923439244392543926439274392843929439304393143932439334393443935439364393743938439394394043941439424394343944439454394643947439484394943950439514395243953439544395543956439574395843959439604396143962439634396443965439664396743968439694397043971439724397343974439754397643977439784397943980439814398243983439844398543986439874398843989439904399143992439934399443995439964399743998439994400044001440024400344004440054400644007440084400944010440114401244013440144401544016440174401844019440204402144022440234402444025440264402744028440294403044031440324403344034440354403644037440384403944040440414404244043440444404544046440474404844049440504405144052440534405444055440564405744058440594406044061440624406344064440654406644067440684406944070440714407244073440744407544076440774407844079440804408144082440834408444085440864408744088440894409044091440924409344094440954409644097440984409944100441014410244103441044410544106441074410844109441104411144112441134411444115441164411744118441194412044121441224412344124441254412644127441284412944130441314413244133441344413544136441374413844139441404414144142441434414444145441464414744148441494415044151441524415344154441554415644157441584415944160441614416244163441644416544166441674416844169441704417144172441734417444175441764417744178441794418044181441824418344184441854418644187441884418944190441914419244193441944419544196441974419844199442004420144202442034420444205442064420744208442094421044211442124421344214442154421644217442184421944220442214422244223442244422544226442274422844229442304423144232442334423444235442364423744238442394424044241442424424344244442454424644247442484424944250442514425244253442544425544256442574425844259442604426144262442634426444265442664426744268442694427044271442724427344274442754427644277442784427944280442814428244283442844428544286442874428844289442904429144292442934429444295442964429744298442994430044301443024430344304443054430644307443084430944310443114431244313443144431544316443174431844319443204432144322443234432444325443264432744328443294433044331443324433344334443354433644337443384433944340443414434244343443444434544346443474434844349443504435144352443534435444355443564435744358443594436044361443624436344364443654436644367443684436944370443714437244373443744437544376443774437844379443804438144382443834438444385443864438744388443894439044391443924439344394443954439644397443984439944400444014440244403444044440544406444074440844409444104441144412444134441444415444164441744418444194442044421444224442344424444254442644427444284442944430444314443244433444344443544436444374443844439444404444144442444434444444445444464444744448444494445044451444524445344454444554445644457444584445944460444614446244463444644446544466444674446844469444704447144472444734447444475444764447744478444794448044481444824448344484444854448644487444884448944490444914449244493444944449544496444974449844499445004450144502445034450444505445064450744508445094451044511445124451344514445154451644517445184451944520445214452244523445244452544526445274452844529445304453144532445334453444535445364453744538445394454044541445424454344544445454454644547445484454944550445514455244553445544455544556445574455844559445604456144562445634456444565445664456744568445694457044571445724457344574445754457644577445784457944580445814458244583445844458544586445874458844589445904459144592445934459444595445964459744598445994460044601446024460344604446054460644607446084460944610446114461244613446144461544616446174461844619446204462144622446234462444625446264462744628446294463044631446324463344634446354463644637446384463944640446414464244643446444464544646446474464844649446504465144652446534465444655446564465744658446594466044661446624466344664446654466644667446684466944670446714467244673446744467544676446774467844679446804468144682446834468444685446864468744688446894469044691446924469344694446954469644697446984469944700447014470244703447044470544706447074470844709447104471144712447134471444715447164471744718447194472044721447224472344724447254472644727447284472944730447314473244733447344473544736447374473844739447404474144742447434474444745447464474744748447494475044751447524475344754447554475644757447584475944760447614476244763447644476544766447674476844769447704477144772447734477444775447764477744778447794478044781447824478344784447854478644787447884478944790447914479244793447944479544796447974479844799448004480144802448034480444805448064480744808448094481044811448124481344814448154481644817448184481944820448214482244823448244482544826448274482844829448304483144832448334483444835448364483744838448394484044841448424484344844448454484644847448484484944850448514485244853448544485544856448574485844859448604486144862448634486444865448664486744868448694487044871448724487344874448754487644877448784487944880448814488244883448844488544886448874488844889448904489144892448934489444895448964489744898448994490044901449024490344904449054490644907449084490944910449114491244913449144491544916449174491844919449204492144922449234492444925449264492744928449294493044931449324493344934449354493644937449384493944940449414494244943449444494544946449474494844949449504495144952449534495444955449564495744958449594496044961449624496344964449654496644967449684496944970449714497244973449744497544976449774497844979449804498144982449834498444985449864498744988449894499044991449924499344994449954499644997449984499945000450014500245003450044500545006450074500845009450104501145012450134501445015450164501745018450194502045021450224502345024450254502645027450284502945030450314503245033450344503545036450374503845039450404504145042450434504445045450464504745048450494505045051450524505345054450554505645057450584505945060450614506245063450644506545066450674506845069450704507145072450734507445075450764507745078450794508045081450824508345084450854508645087450884508945090450914509245093450944509545096450974509845099451004510145102451034510445105451064510745108451094511045111451124511345114451154511645117451184511945120451214512245123451244512545126451274512845129451304513145132451334513445135451364513745138451394514045141451424514345144451454514645147451484514945150451514515245153451544515545156451574515845159451604516145162451634516445165451664516745168451694517045171451724517345174451754517645177451784517945180451814518245183451844518545186451874518845189451904519145192451934519445195451964519745198451994520045201452024520345204452054520645207452084520945210452114521245213452144521545216452174521845219452204522145222452234522445225452264522745228452294523045231452324523345234452354523645237452384523945240452414524245243452444524545246452474524845249452504525145252452534525445255452564525745258452594526045261452624526345264452654526645267452684526945270452714527245273452744527545276452774527845279452804528145282452834528445285452864528745288452894529045291452924529345294452954529645297452984529945300453014530245303453044530545306453074530845309453104531145312453134531445315453164531745318453194532045321453224532345324453254532645327453284532945330453314533245333453344533545336453374533845339453404534145342453434534445345453464534745348453494535045351453524535345354453554535645357453584535945360453614536245363453644536545366453674536845369453704537145372453734537445375453764537745378453794538045381453824538345384453854538645387453884538945390453914539245393453944539545396453974539845399454004540145402454034540445405454064540745408454094541045411454124541345414454154541645417454184541945420454214542245423454244542545426454274542845429454304543145432454334543445435454364543745438454394544045441454424544345444454454544645447454484544945450454514545245453454544545545456454574545845459454604546145462454634546445465454664546745468454694547045471454724547345474454754547645477454784547945480454814548245483454844548545486454874548845489454904549145492454934549445495454964549745498454994550045501455024550345504455054550645507455084550945510455114551245513455144551545516455174551845519455204552145522455234552445525455264552745528455294553045531455324553345534455354553645537455384553945540455414554245543455444554545546455474554845549455504555145552455534555445555455564555745558455594556045561455624556345564455654556645567455684556945570455714557245573455744557545576455774557845579455804558145582455834558445585455864558745588455894559045591455924559345594455954559645597455984559945600456014560245603456044560545606456074560845609456104561145612456134561445615456164561745618456194562045621456224562345624456254562645627456284562945630456314563245633456344563545636456374563845639456404564145642456434564445645456464564745648456494565045651456524565345654456554565645657456584565945660456614566245663456644566545666456674566845669456704567145672456734567445675456764567745678456794568045681456824568345684456854568645687456884568945690456914569245693456944569545696456974569845699457004570145702457034570445705457064570745708457094571045711457124571345714457154571645717457184571945720457214572245723457244572545726457274572845729457304573145732457334573445735457364573745738457394574045741457424574345744457454574645747457484574945750457514575245753457544575545756457574575845759457604576145762457634576445765457664576745768457694577045771457724577345774457754577645777457784577945780457814578245783457844578545786457874578845789457904579145792457934579445795457964579745798457994580045801458024580345804458054580645807458084580945810458114581245813458144581545816458174581845819458204582145822458234582445825458264582745828458294583045831458324583345834458354583645837458384583945840458414584245843458444584545846458474584845849458504585145852458534585445855458564585745858458594586045861458624586345864458654586645867458684586945870458714587245873458744587545876458774587845879458804588145882458834588445885458864588745888458894589045891458924589345894458954589645897458984589945900459014590245903459044590545906459074590845909459104591145912459134591445915459164591745918459194592045921459224592345924459254592645927459284592945930459314593245933459344593545936459374593845939459404594145942459434594445945459464594745948459494595045951459524595345954459554595645957459584595945960459614596245963459644596545966459674596845969459704597145972459734597445975459764597745978459794598045981459824598345984459854598645987459884598945990459914599245993459944599545996459974599845999460004600146002460034600446005460064600746008460094601046011460124601346014460154601646017460184601946020460214602246023460244602546026460274602846029460304603146032460334603446035460364603746038460394604046041460424604346044460454604646047460484604946050460514605246053460544605546056460574605846059460604606146062460634606446065460664606746068460694607046071460724607346074460754607646077460784607946080460814608246083460844608546086460874608846089460904609146092460934609446095460964609746098460994610046101461024610346104461054610646107461084610946110461114611246113461144611546116461174611846119461204612146122461234612446125461264612746128461294613046131461324613346134461354613646137461384613946140461414614246143461444614546146461474614846149461504615146152461534615446155461564615746158461594616046161461624616346164461654616646167461684616946170461714617246173461744617546176461774617846179461804618146182461834618446185461864618746188461894619046191461924619346194461954619646197461984619946200462014620246203462044620546206462074620846209462104621146212462134621446215462164621746218462194622046221462224622346224462254622646227462284622946230462314623246233462344623546236462374623846239462404624146242462434624446245462464624746248462494625046251462524625346254462554625646257462584625946260462614626246263462644626546266462674626846269462704627146272462734627446275462764627746278462794628046281462824628346284462854628646287462884628946290462914629246293462944629546296462974629846299463004630146302463034630446305463064630746308463094631046311463124631346314463154631646317463184631946320463214632246323463244632546326463274632846329463304633146332463334633446335463364633746338463394634046341463424634346344463454634646347463484634946350463514635246353463544635546356463574635846359463604636146362463634636446365463664636746368463694637046371463724637346374463754637646377463784637946380463814638246383463844638546386463874638846389463904639146392463934639446395463964639746398463994640046401464024640346404464054640646407464084640946410464114641246413464144641546416464174641846419464204642146422464234642446425464264642746428464294643046431464324643346434464354643646437464384643946440464414644246443464444644546446464474644846449464504645146452464534645446455464564645746458464594646046461464624646346464464654646646467464684646946470464714647246473464744647546476464774647846479464804648146482464834648446485464864648746488464894649046491464924649346494464954649646497464984649946500465014650246503465044650546506465074650846509465104651146512465134651446515465164651746518465194652046521465224652346524465254652646527465284652946530465314653246533465344653546536465374653846539465404654146542465434654446545465464654746548465494655046551465524655346554465554655646557465584655946560465614656246563465644656546566465674656846569465704657146572465734657446575465764657746578465794658046581465824658346584465854658646587465884658946590465914659246593465944659546596465974659846599466004660146602466034660446605466064660746608466094661046611466124661346614466154661646617466184661946620466214662246623466244662546626466274662846629466304663146632466334663446635466364663746638466394664046641466424664346644466454664646647466484664946650466514665246653466544665546656466574665846659466604666146662466634666446665466664666746668466694667046671466724667346674466754667646677466784667946680466814668246683466844668546686466874668846689466904669146692466934669446695466964669746698466994670046701467024670346704467054670646707467084670946710467114671246713467144671546716467174671846719467204672146722467234672446725467264672746728467294673046731467324673346734467354673646737467384673946740467414674246743467444674546746467474674846749467504675146752467534675446755467564675746758467594676046761467624676346764467654676646767467684676946770467714677246773467744677546776467774677846779467804678146782467834678446785467864678746788467894679046791467924679346794467954679646797467984679946800468014680246803468044680546806468074680846809468104681146812468134681446815468164681746818468194682046821468224682346824468254682646827468284682946830468314683246833468344683546836468374683846839468404684146842468434684446845468464684746848468494685046851468524685346854468554685646857468584685946860468614686246863468644686546866468674686846869468704687146872468734687446875468764687746878468794688046881468824688346884468854688646887468884688946890468914689246893468944689546896468974689846899469004690146902469034690446905469064690746908469094691046911469124691346914469154691646917469184691946920469214692246923469244692546926469274692846929469304693146932469334693446935469364693746938469394694046941469424694346944469454694646947469484694946950469514695246953469544695546956469574695846959469604696146962469634696446965469664696746968469694697046971469724697346974469754697646977469784697946980469814698246983469844698546986469874698846989469904699146992469934699446995469964699746998469994700047001470024700347004470054700647007470084700947010470114701247013470144701547016470174701847019470204702147022470234702447025470264702747028470294703047031470324703347034470354703647037470384703947040470414704247043470444704547046470474704847049470504705147052470534705447055470564705747058470594706047061470624706347064470654706647067470684706947070470714707247073470744707547076470774707847079470804708147082470834708447085470864708747088470894709047091470924709347094470954709647097470984709947100471014710247103471044710547106471074710847109471104711147112471134711447115471164711747118471194712047121471224712347124471254712647127471284712947130471314713247133471344713547136471374713847139471404714147142471434714447145471464714747148471494715047151471524715347154471554715647157471584715947160471614716247163471644716547166471674716847169471704717147172471734717447175471764717747178471794718047181471824718347184471854718647187471884718947190471914719247193471944719547196471974719847199472004720147202472034720447205472064720747208472094721047211472124721347214472154721647217472184721947220472214722247223472244722547226472274722847229472304723147232472334723447235472364723747238472394724047241472424724347244472454724647247472484724947250472514725247253472544725547256472574725847259472604726147262472634726447265472664726747268472694727047271472724727347274472754727647277472784727947280472814728247283472844728547286472874728847289472904729147292472934729447295472964729747298472994730047301473024730347304473054730647307473084730947310473114731247313473144731547316473174731847319473204732147322473234732447325473264732747328473294733047331473324733347334473354733647337473384733947340473414734247343473444734547346473474734847349473504735147352473534735447355473564735747358473594736047361473624736347364473654736647367473684736947370473714737247373473744737547376473774737847379473804738147382473834738447385473864738747388473894739047391473924739347394473954739647397473984739947400474014740247403474044740547406474074740847409474104741147412474134741447415474164741747418474194742047421474224742347424474254742647427474284742947430474314743247433474344743547436474374743847439474404744147442474434744447445474464744747448474494745047451474524745347454474554745647457474584745947460474614746247463474644746547466474674746847469474704747147472474734747447475474764747747478474794748047481474824748347484474854748647487474884748947490474914749247493474944749547496474974749847499475004750147502475034750447505475064750747508475094751047511475124751347514475154751647517475184751947520475214752247523475244752547526475274752847529475304753147532475334753447535475364753747538475394754047541475424754347544475454754647547475484754947550475514755247553475544755547556475574755847559475604756147562475634756447565475664756747568475694757047571475724757347574475754757647577475784757947580475814758247583475844758547586475874758847589475904759147592475934759447595475964759747598475994760047601476024760347604476054760647607476084760947610476114761247613476144761547616476174761847619476204762147622476234762447625476264762747628476294763047631476324763347634476354763647637476384763947640476414764247643476444764547646476474764847649476504765147652476534765447655476564765747658476594766047661476624766347664476654766647667476684766947670476714767247673476744767547676476774767847679476804768147682476834768447685476864768747688476894769047691476924769347694476954769647697476984769947700477014770247703477044770547706477074770847709477104771147712477134771447715477164771747718477194772047721477224772347724477254772647727477284772947730477314773247733477344773547736477374773847739477404774147742477434774447745477464774747748477494775047751477524775347754477554775647757477584775947760477614776247763477644776547766477674776847769477704777147772477734777447775477764777747778477794778047781477824778347784477854778647787477884778947790477914779247793477944779547796477974779847799478004780147802478034780447805478064780747808478094781047811478124781347814478154781647817478184781947820478214782247823478244782547826478274782847829478304783147832478334783447835478364783747838478394784047841478424784347844478454784647847478484784947850478514785247853478544785547856478574785847859478604786147862478634786447865478664786747868478694787047871478724787347874478754787647877478784787947880478814788247883478844788547886478874788847889478904789147892478934789447895478964789747898478994790047901479024790347904479054790647907479084790947910479114791247913479144791547916479174791847919479204792147922479234792447925479264792747928479294793047931479324793347934479354793647937479384793947940479414794247943479444794547946479474794847949479504795147952479534795447955479564795747958479594796047961479624796347964479654796647967479684796947970479714797247973479744797547976479774797847979479804798147982479834798447985479864798747988479894799047991479924799347994479954799647997479984799948000480014800248003480044800548006480074800848009480104801148012480134801448015480164801748018480194802048021480224802348024480254802648027480284802948030480314803248033480344803548036480374803848039480404804148042480434804448045480464804748048480494805048051480524805348054480554805648057480584805948060480614806248063480644806548066480674806848069480704807148072480734807448075480764807748078480794808048081480824808348084480854808648087480884808948090480914809248093480944809548096480974809848099481004810148102481034810448105481064810748108481094811048111481124811348114481154811648117481184811948120481214812248123481244812548126481274812848129481304813148132481334813448135481364813748138481394814048141481424814348144481454814648147481484814948150481514815248153481544815548156481574815848159481604816148162481634816448165481664816748168481694817048171481724817348174481754817648177481784817948180481814818248183481844818548186481874818848189481904819148192481934819448195481964819748198481994820048201482024820348204482054820648207482084820948210482114821248213482144821548216482174821848219482204822148222482234822448225482264822748228482294823048231482324823348234482354823648237482384823948240482414824248243482444824548246482474824848249482504825148252482534825448255482564825748258482594826048261482624826348264482654826648267482684826948270482714827248273482744827548276482774827848279482804828148282482834828448285482864828748288482894829048291482924829348294482954829648297482984829948300483014830248303483044830548306483074830848309483104831148312483134831448315483164831748318483194832048321483224832348324483254832648327483284832948330483314833248333483344833548336483374833848339483404834148342483434834448345483464834748348483494835048351483524835348354483554835648357483584835948360483614836248363483644836548366483674836848369483704837148372483734837448375483764837748378483794838048381483824838348384483854838648387483884838948390483914839248393483944839548396483974839848399484004840148402484034840448405484064840748408484094841048411484124841348414484154841648417484184841948420484214842248423484244842548426484274842848429484304843148432484334843448435484364843748438484394844048441484424844348444484454844648447484484844948450484514845248453484544845548456484574845848459484604846148462484634846448465484664846748468484694847048471484724847348474484754847648477484784847948480484814848248483484844848548486484874848848489484904849148492484934849448495484964849748498484994850048501485024850348504485054850648507485084850948510485114851248513485144851548516485174851848519485204852148522485234852448525485264852748528485294853048531485324853348534485354853648537485384853948540485414854248543485444854548546485474854848549485504855148552485534855448555485564855748558485594856048561485624856348564485654856648567485684856948570485714857248573485744857548576485774857848579485804858148582485834858448585485864858748588485894859048591485924859348594485954859648597485984859948600486014860248603486044860548606486074860848609486104861148612486134861448615486164861748618486194862048621486224862348624486254862648627486284862948630486314863248633486344863548636486374863848639486404864148642486434864448645486464864748648486494865048651486524865348654486554865648657486584865948660486614866248663486644866548666486674866848669486704867148672486734867448675486764867748678486794868048681486824868348684486854868648687486884868948690486914869248693486944869548696486974869848699487004870148702487034870448705487064870748708487094871048711487124871348714487154871648717487184871948720487214872248723487244872548726487274872848729487304873148732487334873448735487364873748738487394874048741487424874348744487454874648747487484874948750487514875248753487544875548756487574875848759487604876148762487634876448765487664876748768487694877048771487724877348774487754877648777487784877948780487814878248783487844878548786487874878848789487904879148792487934879448795487964879748798487994880048801488024880348804488054880648807488084880948810488114881248813488144881548816488174881848819488204882148822488234882448825488264882748828488294883048831488324883348834488354883648837488384883948840488414884248843488444884548846488474884848849488504885148852488534885448855488564885748858488594886048861488624886348864488654886648867488684886948870488714887248873488744887548876488774887848879488804888148882488834888448885488864888748888488894889048891488924889348894488954889648897488984889948900489014890248903489044890548906489074890848909489104891148912489134891448915489164891748918489194892048921489224892348924489254892648927489284892948930489314893248933489344893548936489374893848939489404894148942489434894448945489464894748948489494895048951489524895348954489554895648957489584895948960489614896248963489644896548966489674896848969489704897148972489734897448975489764897748978489794898048981489824898348984489854898648987489884898948990489914899248993489944899548996489974899848999490004900149002490034900449005490064900749008490094901049011490124901349014490154901649017490184901949020490214902249023490244902549026490274902849029490304903149032490334903449035490364903749038490394904049041490424904349044490454904649047490484904949050490514905249053490544905549056490574905849059490604906149062490634906449065490664906749068490694907049071490724907349074490754907649077490784907949080490814908249083490844908549086490874908849089490904909149092490934909449095490964909749098490994910049101491024910349104491054910649107491084910949110491114911249113491144911549116491174911849119491204912149122491234912449125491264912749128491294913049131491324913349134491354913649137491384913949140491414914249143491444914549146491474914849149491504915149152491534915449155491564915749158491594916049161491624916349164491654916649167491684916949170491714917249173491744917549176491774917849179491804918149182491834918449185491864918749188491894919049191491924919349194491954919649197491984919949200492014920249203492044920549206492074920849209492104921149212492134921449215492164921749218492194922049221492224922349224492254922649227492284922949230492314923249233492344923549236492374923849239492404924149242492434924449245492464924749248492494925049251492524925349254492554925649257492584925949260492614926249263492644926549266492674926849269492704927149272492734927449275492764927749278492794928049281492824928349284492854928649287492884928949290492914929249293492944929549296492974929849299493004930149302493034930449305493064930749308493094931049311493124931349314493154931649317493184931949320493214932249323493244932549326493274932849329493304933149332493334933449335493364933749338493394934049341493424934349344493454934649347493484934949350493514935249353493544935549356493574935849359493604936149362493634936449365493664936749368493694937049371493724937349374493754937649377493784937949380493814938249383493844938549386493874938849389493904939149392493934939449395493964939749398493994940049401494024940349404494054940649407494084940949410494114941249413494144941549416494174941849419494204942149422494234942449425494264942749428494294943049431494324943349434494354943649437494384943949440494414944249443494444944549446494474944849449494504945149452494534945449455494564945749458494594946049461494624946349464494654946649467494684946949470494714947249473494744947549476494774947849479494804948149482494834948449485494864948749488494894949049491494924949349494494954949649497494984949949500495014950249503495044950549506495074950849509495104951149512495134951449515495164951749518495194952049521495224952349524495254952649527495284952949530495314953249533495344953549536495374953849539495404954149542495434954449545495464954749548495494955049551495524955349554495554955649557495584955949560495614956249563495644956549566495674956849569495704957149572495734957449575495764957749578495794958049581495824958349584495854958649587495884958949590495914959249593495944959549596495974959849599496004960149602496034960449605496064960749608496094961049611496124961349614496154961649617496184961949620496214962249623496244962549626496274962849629496304963149632496334963449635496364963749638496394964049641496424964349644496454964649647496484964949650496514965249653496544965549656496574965849659496604966149662496634966449665496664966749668496694967049671496724967349674496754967649677496784967949680496814968249683496844968549686496874968849689496904969149692496934969449695496964969749698496994970049701497024970349704497054970649707497084970949710497114971249713497144971549716497174971849719497204972149722497234972449725497264972749728497294973049731497324973349734497354973649737497384973949740497414974249743497444974549746497474974849749497504975149752497534975449755497564975749758497594976049761497624976349764497654976649767497684976949770497714977249773497744977549776497774977849779497804978149782497834978449785497864978749788497894979049791497924979349794497954979649797497984979949800498014980249803498044980549806498074980849809498104981149812498134981449815498164981749818498194982049821498224982349824498254982649827498284982949830498314983249833498344983549836498374983849839498404984149842498434984449845498464984749848498494985049851498524985349854498554985649857498584985949860498614986249863498644986549866498674986849869498704987149872498734987449875498764987749878498794988049881498824988349884498854988649887498884988949890498914989249893498944989549896498974989849899499004990149902499034990449905499064990749908499094991049911499124991349914499154991649917499184991949920499214992249923499244992549926499274992849929499304993149932499334993449935499364993749938499394994049941499424994349944499454994649947499484994949950499514995249953499544995549956499574995849959499604996149962499634996449965499664996749968499694997049971499724997349974499754997649977499784997949980499814998249983499844998549986499874998849989499904999149992499934999449995499964999749998499995000050001500025000350004500055000650007500085000950010500115001250013500145001550016500175001850019500205002150022500235002450025500265002750028500295003050031500325003350034500355003650037500385003950040500415004250043500445004550046500475004850049500505005150052500535005450055500565005750058500595006050061500625006350064500655006650067500685006950070500715007250073500745007550076500775007850079500805008150082500835008450085500865008750088500895009050091500925009350094500955009650097500985009950100501015010250103501045010550106501075010850109501105011150112501135011450115501165011750118501195012050121501225012350124501255012650127501285012950130501315013250133501345013550136501375013850139501405014150142501435014450145501465014750148501495015050151501525015350154501555015650157501585015950160501615016250163501645016550166501675016850169501705017150172501735017450175501765017750178501795018050181501825018350184501855018650187501885018950190501915019250193501945019550196501975019850199502005020150202502035020450205502065020750208502095021050211502125021350214502155021650217502185021950220502215022250223502245022550226502275022850229502305023150232502335023450235502365023750238502395024050241502425024350244502455024650247502485024950250502515025250253502545025550256502575025850259502605026150262502635026450265502665026750268502695027050271502725027350274502755027650277502785027950280502815028250283502845028550286502875028850289502905029150292502935029450295502965029750298502995030050301503025030350304503055030650307503085030950310503115031250313503145031550316503175031850319503205032150322503235032450325503265032750328503295033050331503325033350334503355033650337503385033950340503415034250343503445034550346503475034850349503505035150352503535035450355503565035750358503595036050361503625036350364503655036650367503685036950370503715037250373503745037550376503775037850379503805038150382503835038450385503865038750388503895039050391503925039350394503955039650397503985039950400504015040250403504045040550406504075040850409504105041150412504135041450415504165041750418504195042050421504225042350424504255042650427504285042950430504315043250433504345043550436504375043850439504405044150442504435044450445504465044750448504495045050451504525045350454504555045650457504585045950460504615046250463504645046550466504675046850469504705047150472504735047450475504765047750478504795048050481504825048350484504855048650487504885048950490504915049250493504945049550496504975049850499505005050150502505035050450505505065050750508505095051050511505125051350514505155051650517505185051950520505215052250523505245052550526505275052850529505305053150532505335053450535505365053750538505395054050541505425054350544505455054650547505485054950550505515055250553505545055550556505575055850559505605056150562505635056450565505665056750568505695057050571505725057350574505755057650577505785057950580505815058250583505845058550586505875058850589505905059150592505935059450595505965059750598505995060050601506025060350604506055060650607506085060950610506115061250613506145061550616506175061850619506205062150622506235062450625506265062750628506295063050631506325063350634506355063650637506385063950640506415064250643506445064550646506475064850649506505065150652506535065450655506565065750658506595066050661506625066350664506655066650667506685066950670506715067250673506745067550676506775067850679506805068150682506835068450685506865068750688506895069050691506925069350694506955069650697506985069950700507015070250703507045070550706507075070850709507105071150712507135071450715507165071750718507195072050721507225072350724507255072650727507285072950730507315073250733507345073550736507375073850739507405074150742507435074450745507465074750748507495075050751507525075350754507555075650757507585075950760507615076250763507645076550766507675076850769507705077150772507735077450775507765077750778507795078050781507825078350784507855078650787507885078950790507915079250793507945079550796507975079850799508005080150802508035080450805508065080750808508095081050811508125081350814508155081650817508185081950820508215082250823508245082550826508275082850829508305083150832508335083450835508365083750838508395084050841508425084350844508455084650847508485084950850508515085250853508545085550856508575085850859508605086150862508635086450865508665086750868508695087050871508725087350874508755087650877508785087950880508815088250883508845088550886508875088850889508905089150892508935089450895508965089750898508995090050901509025090350904509055090650907509085090950910509115091250913509145091550916509175091850919509205092150922509235092450925509265092750928509295093050931509325093350934509355093650937509385093950940509415094250943509445094550946509475094850949509505095150952509535095450955509565095750958509595096050961509625096350964509655096650967509685096950970509715097250973509745097550976509775097850979509805098150982509835098450985509865098750988509895099050991509925099350994509955099650997509985099951000510015100251003510045100551006510075100851009510105101151012510135101451015510165101751018510195102051021510225102351024510255102651027510285102951030510315103251033510345103551036510375103851039510405104151042510435104451045510465104751048510495105051051510525105351054510555105651057510585105951060510615106251063510645106551066510675106851069510705107151072510735107451075510765107751078510795108051081510825108351084510855108651087510885108951090510915109251093510945109551096510975109851099511005110151102511035110451105511065110751108511095111051111511125111351114511155111651117511185111951120511215112251123511245112551126511275112851129511305113151132511335113451135511365113751138511395114051141511425114351144511455114651147511485114951150511515115251153511545115551156511575115851159511605116151162511635116451165511665116751168511695117051171511725117351174511755117651177511785117951180511815118251183511845118551186511875118851189511905119151192511935119451195511965119751198511995120051201512025120351204512055120651207512085120951210512115121251213512145121551216512175121851219512205122151222512235122451225512265122751228512295123051231512325123351234512355123651237512385123951240512415124251243512445124551246512475124851249512505125151252512535125451255512565125751258512595126051261512625126351264512655126651267512685126951270512715127251273512745127551276512775127851279512805128151282512835128451285512865128751288512895129051291512925129351294512955129651297512985129951300513015130251303513045130551306513075130851309513105131151312513135131451315513165131751318513195132051321513225132351324513255132651327513285132951330513315133251333513345133551336513375133851339513405134151342513435134451345513465134751348513495135051351513525135351354513555135651357513585135951360513615136251363513645136551366513675136851369513705137151372513735137451375513765137751378513795138051381513825138351384513855138651387513885138951390513915139251393513945139551396513975139851399514005140151402514035140451405514065140751408514095141051411514125141351414514155141651417514185141951420514215142251423514245142551426514275142851429514305143151432514335143451435514365143751438514395144051441514425144351444514455144651447514485144951450514515145251453514545145551456514575145851459514605146151462514635146451465514665146751468514695147051471514725147351474514755147651477514785147951480514815148251483514845148551486514875148851489514905149151492514935149451495514965149751498514995150051501515025150351504515055150651507515085150951510515115151251513515145151551516515175151851519515205152151522515235152451525515265152751528515295153051531515325153351534515355153651537515385153951540515415154251543515445154551546515475154851549515505155151552515535155451555515565155751558515595156051561515625156351564515655156651567515685156951570515715157251573515745157551576515775157851579515805158151582515835158451585515865158751588515895159051591515925159351594515955159651597515985159951600516015160251603516045160551606516075160851609516105161151612516135161451615516165161751618516195162051621516225162351624516255162651627516285162951630516315163251633516345163551636516375163851639516405164151642516435164451645516465164751648516495165051651516525165351654516555165651657516585165951660516615166251663516645166551666516675166851669516705167151672516735167451675516765167751678516795168051681516825168351684516855168651687516885168951690516915169251693516945169551696516975169851699517005170151702517035170451705517065170751708517095171051711517125171351714517155171651717517185171951720517215172251723517245172551726517275172851729517305173151732517335173451735517365173751738517395174051741517425174351744517455174651747517485174951750517515175251753517545175551756517575175851759517605176151762517635176451765517665176751768517695177051771517725177351774517755177651777517785177951780517815178251783517845178551786517875178851789517905179151792517935179451795517965179751798517995180051801518025180351804518055180651807518085180951810518115181251813518145181551816518175181851819518205182151822518235182451825518265182751828518295183051831518325183351834518355183651837518385183951840518415184251843518445184551846518475184851849518505185151852518535185451855518565185751858518595186051861518625186351864518655186651867518685186951870518715187251873518745187551876518775187851879518805188151882518835188451885518865188751888518895189051891518925189351894518955189651897518985189951900519015190251903519045190551906519075190851909519105191151912519135191451915519165191751918519195192051921519225192351924519255192651927519285192951930519315193251933519345193551936519375193851939519405194151942519435194451945519465194751948519495195051951519525195351954519555195651957519585195951960519615196251963519645196551966519675196851969519705197151972519735197451975519765197751978519795198051981519825198351984519855198651987519885198951990519915199251993519945199551996519975199851999520005200152002520035200452005520065200752008520095201052011520125201352014520155201652017520185201952020520215202252023520245202552026520275202852029520305203152032520335203452035520365203752038520395204052041520425204352044520455204652047520485204952050520515205252053520545205552056520575205852059520605206152062520635206452065520665206752068520695207052071520725207352074520755207652077520785207952080520815208252083520845208552086520875208852089520905209152092520935209452095520965209752098520995210052101521025210352104521055210652107521085210952110521115211252113521145211552116521175211852119521205212152122521235212452125521265212752128521295213052131521325213352134521355213652137521385213952140521415214252143521445214552146521475214852149521505215152152521535215452155521565215752158521595216052161521625216352164521655216652167521685216952170521715217252173521745217552176521775217852179521805218152182521835218452185521865218752188521895219052191521925219352194521955219652197521985219952200522015220252203522045220552206522075220852209522105221152212522135221452215522165221752218522195222052221522225222352224522255222652227522285222952230522315223252233522345223552236522375223852239522405224152242522435224452245522465224752248522495225052251522525225352254522555225652257522585225952260522615226252263522645226552266522675226852269522705227152272522735227452275522765227752278522795228052281522825228352284522855228652287522885228952290522915229252293522945229552296522975229852299523005230152302523035230452305523065230752308523095231052311523125231352314523155231652317523185231952320523215232252323523245232552326523275232852329523305233152332523335233452335523365233752338523395234052341523425234352344523455234652347523485234952350523515235252353523545235552356523575235852359523605236152362523635236452365523665236752368523695237052371523725237352374523755237652377523785237952380523815238252383523845238552386523875238852389523905239152392523935239452395523965239752398523995240052401524025240352404524055240652407524085240952410524115241252413524145241552416524175241852419524205242152422524235242452425524265242752428524295243052431524325243352434524355243652437524385243952440524415244252443524445244552446524475244852449524505245152452524535245452455524565245752458524595246052461524625246352464524655246652467524685246952470524715247252473524745247552476524775247852479524805248152482524835248452485524865248752488524895249052491524925249352494524955249652497524985249952500525015250252503525045250552506525075250852509525105251152512525135251452515525165251752518525195252052521525225252352524525255252652527525285252952530525315253252533525345253552536525375253852539525405254152542525435254452545525465254752548525495255052551525525255352554525555255652557525585255952560525615256252563525645256552566525675256852569525705257152572525735257452575525765257752578525795258052581525825258352584525855258652587525885258952590525915259252593525945259552596525975259852599526005260152602526035260452605526065260752608526095261052611526125261352614526155261652617526185261952620526215262252623526245262552626526275262852629526305263152632526335263452635526365263752638526395264052641526425264352644526455264652647526485264952650526515265252653526545265552656526575265852659526605266152662526635266452665526665266752668526695267052671526725267352674526755267652677526785267952680526815268252683526845268552686526875268852689526905269152692526935269452695526965269752698526995270052701527025270352704527055270652707527085270952710527115271252713527145271552716527175271852719527205272152722527235272452725527265272752728527295273052731527325273352734527355273652737527385273952740527415274252743527445274552746527475274852749527505275152752527535275452755527565275752758527595276052761527625276352764527655276652767527685276952770527715277252773527745277552776527775277852779527805278152782527835278452785527865278752788527895279052791527925279352794527955279652797527985279952800528015280252803528045280552806528075280852809528105281152812528135281452815528165281752818528195282052821528225282352824528255282652827528285282952830528315283252833528345283552836528375283852839528405284152842528435284452845528465284752848528495285052851528525285352854528555285652857528585285952860528615286252863528645286552866528675286852869528705287152872528735287452875528765287752878528795288052881528825288352884528855288652887528885288952890528915289252893528945289552896528975289852899529005290152902529035290452905529065290752908529095291052911529125291352914529155291652917529185291952920529215292252923529245292552926529275292852929529305293152932529335293452935529365293752938529395294052941529425294352944529455294652947529485294952950529515295252953529545295552956529575295852959529605296152962529635296452965529665296752968529695297052971529725297352974529755297652977529785297952980529815298252983529845298552986529875298852989529905299152992529935299452995529965299752998529995300053001530025300353004530055300653007530085300953010530115301253013530145301553016530175301853019530205302153022530235302453025530265302753028530295303053031530325303353034530355303653037530385303953040530415304253043530445304553046530475304853049530505305153052530535305453055530565305753058530595306053061530625306353064530655306653067530685306953070530715307253073530745307553076530775307853079530805308153082530835308453085530865308753088530895309053091530925309353094530955309653097530985309953100531015310253103531045310553106531075310853109531105311153112531135311453115531165311753118531195312053121531225312353124531255312653127531285312953130531315313253133531345313553136531375313853139531405314153142531435314453145531465314753148531495315053151531525315353154531555315653157531585315953160531615316253163531645316553166531675316853169531705317153172531735317453175531765317753178531795318053181531825318353184531855318653187531885318953190531915319253193531945319553196531975319853199532005320153202532035320453205532065320753208532095321053211532125321353214532155321653217532185321953220532215322253223532245322553226532275322853229532305323153232532335323453235532365323753238532395324053241532425324353244532455324653247532485324953250532515325253253532545325553256532575325853259532605326153262532635326453265532665326753268532695327053271532725327353274532755327653277532785327953280532815328253283532845328553286532875328853289532905329153292532935329453295532965329753298532995330053301533025330353304533055330653307533085330953310533115331253313533145331553316533175331853319533205332153322533235332453325533265332753328533295333053331533325333353334533355333653337533385333953340533415334253343533445334553346533475334853349533505335153352533535335453355533565335753358533595336053361533625336353364533655336653367533685336953370533715337253373533745337553376533775337853379533805338153382533835338453385533865338753388533895339053391533925339353394533955339653397533985339953400534015340253403534045340553406534075340853409534105341153412534135341453415534165341753418534195342053421534225342353424534255342653427534285342953430534315343253433534345343553436534375343853439534405344153442534435344453445534465344753448534495345053451534525345353454534555345653457534585345953460534615346253463534645346553466534675346853469534705347153472534735347453475534765347753478534795348053481534825348353484534855348653487534885348953490534915349253493534945349553496534975349853499535005350153502535035350453505535065350753508535095351053511535125351353514535155351653517535185351953520535215352253523535245352553526535275352853529535305353153532535335353453535535365353753538535395354053541535425354353544535455354653547535485354953550535515355253553535545355553556535575355853559535605356153562535635356453565535665356753568535695357053571535725357353574535755357653577535785357953580535815358253583535845358553586535875358853589535905359153592535935359453595535965359753598535995360053601536025360353604536055360653607536085360953610536115361253613536145361553616536175361853619536205362153622536235362453625536265362753628536295363053631536325363353634536355363653637536385363953640536415364253643536445364553646536475364853649536505365153652536535365453655536565365753658536595366053661536625366353664536655366653667536685366953670536715367253673536745367553676536775367853679536805368153682536835368453685536865368753688536895369053691536925369353694536955369653697536985369953700537015370253703537045370553706537075370853709537105371153712537135371453715537165371753718537195372053721537225372353724537255372653727537285372953730537315373253733537345373553736537375373853739537405374153742537435374453745537465374753748537495375053751537525375353754537555375653757537585375953760537615376253763537645376553766537675376853769537705377153772537735377453775537765377753778537795378053781537825378353784537855378653787537885378953790537915379253793537945379553796537975379853799538005380153802538035380453805538065380753808538095381053811538125381353814538155381653817538185381953820538215382253823538245382553826538275382853829538305383153832538335383453835538365383753838538395384053841538425384353844538455384653847538485384953850538515385253853538545385553856538575385853859538605386153862538635386453865538665386753868538695387053871538725387353874538755387653877538785387953880538815388253883538845388553886538875388853889538905389153892538935389453895538965389753898538995390053901539025390353904539055390653907539085390953910539115391253913539145391553916539175391853919539205392153922539235392453925539265392753928539295393053931539325393353934539355393653937539385393953940539415394253943539445394553946539475394853949539505395153952539535395453955539565395753958539595396053961539625396353964539655396653967539685396953970539715397253973539745397553976539775397853979539805398153982539835398453985539865398753988539895399053991539925399353994539955399653997539985399954000540015400254003540045400554006540075400854009540105401154012540135401454015540165401754018540195402054021540225402354024540255402654027540285402954030540315403254033540345403554036540375403854039540405404154042540435404454045540465404754048540495405054051540525405354054540555405654057540585405954060540615406254063540645406554066540675406854069540705407154072540735407454075540765407754078540795408054081540825408354084540855408654087540885408954090540915409254093540945409554096540975409854099541005410154102541035410454105541065410754108541095411054111541125411354114541155411654117541185411954120541215412254123541245412554126541275412854129541305413154132541335413454135541365413754138541395414054141541425414354144541455414654147541485414954150541515415254153541545415554156541575415854159541605416154162541635416454165541665416754168541695417054171541725417354174541755417654177541785417954180541815418254183541845418554186541875418854189541905419154192541935419454195541965419754198541995420054201542025420354204542055420654207542085420954210542115421254213542145421554216542175421854219542205422154222542235422454225542265422754228542295423054231542325423354234542355423654237542385423954240542415424254243542445424554246542475424854249542505425154252542535425454255542565425754258542595426054261542625426354264542655426654267542685426954270542715427254273542745427554276542775427854279542805428154282542835428454285542865428754288542895429054291542925429354294542955429654297542985429954300543015430254303543045430554306543075430854309543105431154312543135431454315543165431754318543195432054321543225432354324543255432654327543285432954330543315433254333543345433554336543375433854339543405434154342543435434454345543465434754348543495435054351543525435354354543555435654357543585435954360543615436254363543645436554366543675436854369543705437154372543735437454375543765437754378543795438054381543825438354384543855438654387543885438954390543915439254393543945439554396543975439854399544005440154402544035440454405544065440754408544095441054411544125441354414544155441654417544185441954420544215442254423544245442554426544275442854429544305443154432544335443454435544365443754438544395444054441544425444354444544455444654447544485444954450544515445254453544545445554456544575445854459544605446154462544635446454465544665446754468544695447054471544725447354474544755447654477544785447954480544815448254483544845448554486544875448854489544905449154492544935449454495544965449754498544995450054501545025450354504545055450654507545085450954510545115451254513545145451554516545175451854519545205452154522545235452454525545265452754528545295453054531545325453354534545355453654537545385453954540545415454254543545445454554546545475454854549545505455154552545535455454555545565455754558545595456054561545625456354564545655456654567545685456954570545715457254573545745457554576545775457854579545805458154582545835458454585545865458754588545895459054591545925459354594545955459654597545985459954600546015460254603546045460554606546075460854609546105461154612546135461454615546165461754618546195462054621546225462354624546255462654627546285462954630546315463254633546345463554636546375463854639546405464154642546435464454645546465464754648546495465054651546525465354654546555465654657546585465954660546615466254663546645466554666546675466854669546705467154672546735467454675546765467754678546795468054681546825468354684546855468654687546885468954690546915469254693546945469554696546975469854699547005470154702547035470454705547065470754708547095471054711547125471354714547155471654717547185471954720547215472254723547245472554726547275472854729547305473154732547335473454735547365473754738547395474054741547425474354744547455474654747547485474954750547515475254753547545475554756547575475854759547605476154762547635476454765547665476754768547695477054771547725477354774547755477654777547785477954780547815478254783547845478554786547875478854789547905479154792547935479454795547965479754798547995480054801548025480354804548055480654807548085480954810548115481254813548145481554816548175481854819548205482154822548235482454825548265482754828548295483054831548325483354834548355483654837548385483954840548415484254843548445484554846548475484854849548505485154852548535485454855548565485754858548595486054861548625486354864548655486654867548685486954870548715487254873548745487554876548775487854879548805488154882548835488454885548865488754888548895489054891548925489354894548955489654897548985489954900549015490254903549045490554906549075490854909549105491154912549135491454915549165491754918549195492054921549225492354924549255492654927549285492954930549315493254933549345493554936549375493854939549405494154942549435494454945549465494754948549495495054951549525495354954549555495654957549585495954960549615496254963549645496554966549675496854969549705497154972549735497454975549765497754978549795498054981549825498354984549855498654987549885498954990549915499254993549945499554996549975499854999550005500155002550035500455005550065500755008550095501055011550125501355014550155501655017550185501955020550215502255023550245502555026550275502855029550305503155032550335503455035550365503755038550395504055041550425504355044550455504655047550485504955050550515505255053550545505555056550575505855059550605506155062550635506455065550665506755068550695507055071550725507355074550755507655077550785507955080550815508255083550845508555086550875508855089550905509155092550935509455095550965509755098550995510055101551025510355104551055510655107551085510955110551115511255113551145511555116551175511855119551205512155122551235512455125551265512755128551295513055131551325513355134551355513655137551385513955140551415514255143551445514555146551475514855149551505515155152551535515455155551565515755158551595516055161551625516355164551655516655167551685516955170551715517255173551745517555176551775517855179551805518155182551835518455185551865518755188551895519055191551925519355194551955519655197551985519955200552015520255203552045520555206552075520855209552105521155212552135521455215552165521755218552195522055221552225522355224552255522655227552285522955230552315523255233552345523555236552375523855239552405524155242552435524455245552465524755248552495525055251552525525355254552555525655257552585525955260552615526255263552645526555266552675526855269552705527155272552735527455275552765527755278552795528055281552825528355284552855528655287552885528955290552915529255293552945529555296552975529855299553005530155302553035530455305553065530755308553095531055311553125531355314553155531655317553185531955320553215532255323553245532555326553275532855329553305533155332553335533455335553365533755338553395534055341553425534355344553455534655347553485534955350553515535255353553545535555356553575535855359553605536155362553635536455365553665536755368553695537055371553725537355374553755537655377553785537955380553815538255383553845538555386553875538855389553905539155392553935539455395553965539755398553995540055401554025540355404554055540655407554085540955410554115541255413554145541555416554175541855419554205542155422554235542455425554265542755428554295543055431554325543355434554355543655437554385543955440554415544255443554445544555446554475544855449554505545155452554535545455455554565545755458554595546055461554625546355464554655546655467554685546955470554715547255473554745547555476554775547855479554805548155482554835548455485554865548755488554895549055491554925549355494554955549655497554985549955500555015550255503555045550555506555075550855509555105551155512555135551455515555165551755518555195552055521555225552355524555255552655527555285552955530555315553255533555345553555536555375553855539555405554155542555435554455545555465554755548555495555055551555525555355554555555555655557555585555955560555615556255563555645556555566555675556855569555705557155572555735557455575555765557755578555795558055581555825558355584555855558655587555885558955590555915559255593555945559555596555975559855599556005560155602556035560455605556065560755608556095561055611556125561355614556155561655617556185561955620556215562255623556245562555626556275562855629556305563155632556335563455635556365563755638556395564055641556425564355644556455564655647556485564955650556515565255653556545565555656556575565855659556605566155662556635566455665556665566755668556695567055671556725567355674556755567655677556785567955680556815568255683556845568555686556875568855689556905569155692556935569455695556965569755698556995570055701557025570355704557055570655707557085570955710557115571255713557145571555716557175571855719557205572155722557235572455725557265572755728557295573055731557325573355734557355573655737557385573955740557415574255743557445574555746557475574855749557505575155752557535575455755557565575755758557595576055761557625576355764557655576655767557685576955770557715577255773557745577555776557775577855779557805578155782557835578455785557865578755788557895579055791557925579355794557955579655797557985579955800558015580255803558045580555806558075580855809558105581155812558135581455815558165581755818558195582055821558225582355824558255582655827558285582955830558315583255833558345583555836558375583855839558405584155842558435584455845558465584755848558495585055851558525585355854558555585655857558585585955860558615586255863558645586555866558675586855869558705587155872558735587455875558765587755878558795588055881558825588355884558855588655887558885588955890558915589255893558945589555896558975589855899559005590155902559035590455905559065590755908559095591055911559125591355914559155591655917559185591955920559215592255923559245592555926559275592855929559305593155932559335593455935559365593755938559395594055941559425594355944559455594655947559485594955950559515595255953559545595555956559575595855959559605596155962559635596455965559665596755968559695597055971559725597355974559755597655977559785597955980559815598255983559845598555986559875598855989559905599155992559935599455995559965599755998559995600056001560025600356004560055600656007560085600956010560115601256013560145601556016560175601856019560205602156022560235602456025560265602756028560295603056031560325603356034560355603656037560385603956040560415604256043560445604556046560475604856049560505605156052560535605456055560565605756058560595606056061560625606356064560655606656067560685606956070560715607256073560745607556076560775607856079560805608156082560835608456085560865608756088560895609056091560925609356094560955609656097560985609956100561015610256103561045610556106561075610856109561105611156112561135611456115561165611756118561195612056121561225612356124561255612656127561285612956130561315613256133561345613556136561375613856139561405614156142561435614456145561465614756148561495615056151561525615356154561555615656157561585615956160561615616256163561645616556166561675616856169561705617156172561735617456175561765617756178561795618056181561825618356184561855618656187561885618956190561915619256193561945619556196561975619856199562005620156202562035620456205562065620756208562095621056211562125621356214562155621656217562185621956220562215622256223562245622556226562275622856229562305623156232562335623456235562365623756238562395624056241562425624356244562455624656247562485624956250562515625256253562545625556256562575625856259562605626156262562635626456265562665626756268562695627056271562725627356274562755627656277562785627956280562815628256283562845628556286562875628856289562905629156292562935629456295562965629756298562995630056301563025630356304563055630656307563085630956310563115631256313563145631556316563175631856319563205632156322563235632456325563265632756328563295633056331563325633356334563355633656337563385633956340563415634256343563445634556346563475634856349563505635156352563535635456355563565635756358563595636056361563625636356364563655636656367563685636956370563715637256373563745637556376563775637856379563805638156382563835638456385563865638756388563895639056391563925639356394563955639656397563985639956400564015640256403564045640556406564075640856409564105641156412564135641456415564165641756418564195642056421564225642356424564255642656427564285642956430564315643256433564345643556436564375643856439564405644156442564435644456445564465644756448564495645056451564525645356454564555645656457564585645956460564615646256463564645646556466564675646856469564705647156472564735647456475564765647756478564795648056481564825648356484564855648656487564885648956490564915649256493564945649556496564975649856499565005650156502565035650456505565065650756508565095651056511565125651356514565155651656517565185651956520565215652256523565245652556526565275652856529565305653156532565335653456535565365653756538565395654056541565425654356544565455654656547565485654956550565515655256553565545655556556565575655856559565605656156562565635656456565565665656756568565695657056571565725657356574565755657656577565785657956580565815658256583565845658556586565875658856589565905659156592565935659456595565965659756598565995660056601566025660356604566055660656607566085660956610566115661256613566145661556616566175661856619566205662156622566235662456625566265662756628566295663056631566325663356634566355663656637566385663956640566415664256643566445664556646566475664856649566505665156652566535665456655566565665756658566595666056661566625666356664566655666656667566685666956670566715667256673566745667556676566775667856679566805668156682566835668456685566865668756688566895669056691566925669356694566955669656697566985669956700567015670256703567045670556706567075670856709567105671156712567135671456715567165671756718567195672056721567225672356724567255672656727567285672956730567315673256733567345673556736567375673856739567405674156742567435674456745567465674756748567495675056751567525675356754567555675656757567585675956760567615676256763567645676556766567675676856769567705677156772567735677456775567765677756778567795678056781567825678356784567855678656787567885678956790567915679256793567945679556796567975679856799568005680156802568035680456805568065680756808568095681056811568125681356814568155681656817568185681956820568215682256823568245682556826568275682856829568305683156832568335683456835568365683756838568395684056841568425684356844568455684656847568485684956850568515685256853568545685556856568575685856859568605686156862568635686456865568665686756868568695687056871568725687356874568755687656877568785687956880568815688256883568845688556886568875688856889568905689156892568935689456895568965689756898568995690056901569025690356904569055690656907569085690956910569115691256913569145691556916569175691856919569205692156922569235692456925569265692756928569295693056931569325693356934569355693656937569385693956940569415694256943569445694556946569475694856949569505695156952569535695456955569565695756958569595696056961569625696356964569655696656967569685696956970569715697256973569745697556976569775697856979569805698156982569835698456985569865698756988569895699056991569925699356994569955699656997569985699957000570015700257003570045700557006570075700857009570105701157012570135701457015570165701757018570195702057021570225702357024570255702657027570285702957030570315703257033570345703557036570375703857039570405704157042570435704457045570465704757048570495705057051570525705357054570555705657057570585705957060570615706257063570645706557066570675706857069570705707157072570735707457075570765707757078570795708057081570825708357084570855708657087570885708957090570915709257093570945709557096570975709857099571005710157102571035710457105571065710757108571095711057111571125711357114571155711657117571185711957120571215712257123571245712557126571275712857129571305713157132571335713457135571365713757138571395714057141571425714357144571455714657147571485714957150571515715257153571545715557156571575715857159571605716157162571635716457165571665716757168571695717057171571725717357174571755717657177571785717957180571815718257183571845718557186571875718857189571905719157192571935719457195571965719757198571995720057201572025720357204572055720657207572085720957210572115721257213572145721557216572175721857219572205722157222572235722457225572265722757228572295723057231572325723357234572355723657237572385723957240572415724257243572445724557246572475724857249572505725157252572535725457255572565725757258572595726057261572625726357264572655726657267572685726957270572715727257273572745727557276572775727857279572805728157282572835728457285572865728757288572895729057291572925729357294572955729657297572985729957300573015730257303573045730557306573075730857309573105731157312573135731457315573165731757318573195732057321573225732357324573255732657327573285732957330573315733257333573345733557336573375733857339573405734157342573435734457345573465734757348573495735057351573525735357354573555735657357573585735957360573615736257363573645736557366573675736857369573705737157372573735737457375573765737757378573795738057381573825738357384573855738657387573885738957390573915739257393573945739557396573975739857399574005740157402574035740457405574065740757408574095741057411574125741357414574155741657417574185741957420574215742257423574245742557426574275742857429574305743157432574335743457435574365743757438574395744057441574425744357444574455744657447574485744957450574515745257453574545745557456574575745857459574605746157462574635746457465574665746757468574695747057471574725747357474574755747657477574785747957480574815748257483574845748557486574875748857489574905749157492574935749457495574965749757498574995750057501575025750357504575055750657507575085750957510575115751257513575145751557516575175751857519575205752157522575235752457525575265752757528575295753057531575325753357534575355753657537575385753957540575415754257543575445754557546575475754857549575505755157552575535755457555575565755757558575595756057561575625756357564575655756657567575685756957570575715757257573575745757557576575775757857579575805758157582575835758457585575865758757588575895759057591575925759357594575955759657597575985759957600576015760257603576045760557606576075760857609576105761157612576135761457615576165761757618576195762057621576225762357624576255762657627576285762957630576315763257633576345763557636576375763857639576405764157642576435764457645576465764757648576495765057651576525765357654576555765657657576585765957660576615766257663576645766557666576675766857669576705767157672576735767457675576765767757678576795768057681576825768357684576855768657687576885768957690576915769257693576945769557696576975769857699577005770157702577035770457705577065770757708577095771057711577125771357714577155771657717577185771957720577215772257723577245772557726577275772857729577305773157732577335773457735577365773757738577395774057741577425774357744577455774657747577485774957750577515775257753577545775557756577575775857759577605776157762577635776457765577665776757768577695777057771577725777357774577755777657777577785777957780577815778257783577845778557786577875778857789577905779157792577935779457795577965779757798577995780057801578025780357804578055780657807578085780957810578115781257813578145781557816578175781857819578205782157822578235782457825578265782757828578295783057831578325783357834578355783657837578385783957840578415784257843578445784557846578475784857849578505785157852578535785457855578565785757858578595786057861578625786357864578655786657867578685786957870578715787257873578745787557876578775787857879578805788157882578835788457885578865788757888578895789057891578925789357894578955789657897578985789957900579015790257903579045790557906579075790857909579105791157912579135791457915579165791757918579195792057921579225792357924579255792657927579285792957930579315793257933579345793557936579375793857939579405794157942579435794457945579465794757948579495795057951579525795357954579555795657957579585795957960579615796257963579645796557966579675796857969579705797157972579735797457975579765797757978579795798057981579825798357984579855798657987579885798957990579915799257993579945799557996579975799857999580005800158002580035800458005580065800758008580095801058011580125801358014580155801658017580185801958020580215802258023580245802558026580275802858029580305803158032580335803458035580365803758038580395804058041580425804358044580455804658047580485804958050580515805258053580545805558056580575805858059580605806158062580635806458065580665806758068580695807058071580725807358074580755807658077580785807958080580815808258083580845808558086580875808858089580905809158092580935809458095580965809758098580995810058101581025810358104581055810658107581085810958110581115811258113581145811558116581175811858119581205812158122581235812458125581265812758128581295813058131581325813358134581355813658137581385813958140581415814258143581445814558146581475814858149581505815158152581535815458155581565815758158581595816058161581625816358164581655816658167581685816958170581715817258173581745817558176581775817858179581805818158182581835818458185581865818758188581895819058191581925819358194581955819658197581985819958200582015820258203582045820558206582075820858209582105821158212582135821458215582165821758218582195822058221582225822358224582255822658227582285822958230582315823258233582345823558236582375823858239582405824158242582435824458245582465824758248582495825058251582525825358254582555825658257582585825958260582615826258263582645826558266582675826858269582705827158272582735827458275582765827758278582795828058281582825828358284582855828658287582885828958290582915829258293582945829558296582975829858299583005830158302583035830458305583065830758308583095831058311583125831358314583155831658317583185831958320583215832258323583245832558326583275832858329583305833158332583335833458335583365833758338583395834058341583425834358344583455834658347583485834958350583515835258353583545835558356583575835858359583605836158362583635836458365583665836758368583695837058371583725837358374583755837658377583785837958380583815838258383583845838558386583875838858389583905839158392583935839458395583965839758398583995840058401584025840358404584055840658407584085840958410584115841258413584145841558416584175841858419584205842158422584235842458425584265842758428584295843058431584325843358434584355843658437584385843958440584415844258443584445844558446584475844858449584505845158452584535845458455584565845758458584595846058461584625846358464584655846658467584685846958470584715847258473584745847558476584775847858479584805848158482584835848458485584865848758488584895849058491584925849358494584955849658497584985849958500585015850258503585045850558506585075850858509585105851158512585135851458515585165851758518585195852058521585225852358524585255852658527585285852958530585315853258533585345853558536585375853858539585405854158542585435854458545585465854758548585495855058551585525855358554585555855658557585585855958560585615856258563585645856558566585675856858569585705857158572585735857458575585765857758578585795858058581585825858358584585855858658587585885858958590585915859258593585945859558596585975859858599586005860158602586035860458605586065860758608586095861058611586125861358614586155861658617586185861958620586215862258623586245862558626586275862858629586305863158632586335863458635586365863758638586395864058641586425864358644586455864658647586485864958650586515865258653586545865558656586575865858659586605866158662586635866458665586665866758668586695867058671586725867358674586755867658677586785867958680586815868258683586845868558686586875868858689586905869158692586935869458695586965869758698586995870058701587025870358704587055870658707587085870958710587115871258713587145871558716587175871858719587205872158722587235872458725587265872758728587295873058731587325873358734587355873658737587385873958740587415874258743587445874558746587475874858749587505875158752587535875458755587565875758758587595876058761587625876358764587655876658767587685876958770587715877258773587745877558776587775877858779587805878158782587835878458785587865878758788587895879058791587925879358794587955879658797587985879958800588015880258803588045880558806588075880858809588105881158812588135881458815588165881758818588195882058821588225882358824588255882658827588285882958830588315883258833588345883558836588375883858839588405884158842588435884458845588465884758848588495885058851588525885358854588555885658857588585885958860588615886258863588645886558866588675886858869588705887158872588735887458875588765887758878588795888058881588825888358884588855888658887588885888958890588915889258893588945889558896588975889858899589005890158902589035890458905589065890758908589095891058911589125891358914589155891658917589185891958920589215892258923589245892558926589275892858929589305893158932589335893458935589365893758938589395894058941589425894358944589455894658947589485894958950589515895258953589545895558956589575895858959589605896158962589635896458965589665896758968589695897058971589725897358974589755897658977589785897958980589815898258983589845898558986589875898858989589905899158992589935899458995589965899758998589995900059001590025900359004590055900659007590085900959010590115901259013590145901559016590175901859019590205902159022590235902459025590265902759028590295903059031590325903359034590355903659037590385903959040590415904259043590445904559046590475904859049590505905159052590535905459055590565905759058590595906059061590625906359064590655906659067590685906959070590715907259073590745907559076590775907859079590805908159082590835908459085590865908759088590895909059091590925909359094590955909659097590985909959100591015910259103591045910559106591075910859109591105911159112591135911459115591165911759118591195912059121591225912359124591255912659127591285912959130591315913259133591345913559136591375913859139591405914159142591435914459145591465914759148591495915059151591525915359154591555915659157591585915959160591615916259163591645916559166591675916859169591705917159172591735917459175591765917759178591795918059181591825918359184591855918659187591885918959190591915919259193591945919559196591975919859199592005920159202592035920459205592065920759208592095921059211592125921359214592155921659217592185921959220592215922259223592245922559226592275922859229592305923159232592335923459235592365923759238592395924059241592425924359244592455924659247592485924959250592515925259253592545925559256592575925859259592605926159262592635926459265592665926759268592695927059271592725927359274592755927659277592785927959280592815928259283592845928559286592875928859289592905929159292592935929459295592965929759298592995930059301593025930359304593055930659307593085930959310593115931259313593145931559316593175931859319593205932159322593235932459325593265932759328593295933059331593325933359334593355933659337593385933959340593415934259343593445934559346593475934859349593505935159352593535935459355593565935759358593595936059361593625936359364593655936659367593685936959370593715937259373593745937559376593775937859379593805938159382593835938459385593865938759388593895939059391593925939359394593955939659397593985939959400594015940259403594045940559406594075940859409594105941159412594135941459415594165941759418594195942059421594225942359424594255942659427594285942959430594315943259433594345943559436594375943859439594405944159442594435944459445594465944759448594495945059451594525945359454594555945659457594585945959460594615946259463594645946559466594675946859469594705947159472594735947459475594765947759478594795948059481594825948359484594855948659487594885948959490594915949259493594945949559496594975949859499595005950159502595035950459505595065950759508595095951059511595125951359514595155951659517595185951959520595215952259523595245952559526595275952859529595305953159532595335953459535595365953759538595395954059541595425954359544595455954659547595485954959550595515955259553595545955559556595575955859559595605956159562595635956459565595665956759568595695957059571595725957359574595755957659577595785957959580595815958259583595845958559586595875958859589595905959159592595935959459595595965959759598595995960059601596025960359604596055960659607596085960959610596115961259613596145961559616596175961859619596205962159622596235962459625596265962759628596295963059631596325963359634596355963659637596385963959640596415964259643596445964559646596475964859649596505965159652596535965459655596565965759658596595966059661596625966359664596655966659667596685966959670596715967259673596745967559676596775967859679596805968159682596835968459685596865968759688596895969059691596925969359694596955969659697596985969959700597015970259703597045970559706597075970859709597105971159712597135971459715597165971759718597195972059721597225972359724597255972659727597285972959730597315973259733597345973559736597375973859739597405974159742597435974459745597465974759748597495975059751597525975359754597555975659757597585975959760597615976259763597645976559766597675976859769597705977159772597735977459775597765977759778597795978059781597825978359784597855978659787597885978959790597915979259793597945979559796597975979859799598005980159802598035980459805598065980759808598095981059811598125981359814598155981659817598185981959820598215982259823598245982559826598275982859829598305983159832598335983459835598365983759838598395984059841598425984359844598455984659847598485984959850598515985259853598545985559856598575985859859598605986159862598635986459865598665986759868598695987059871598725987359874598755987659877598785987959880598815988259883598845988559886598875988859889598905989159892598935989459895598965989759898598995990059901599025990359904599055990659907599085990959910599115991259913599145991559916599175991859919599205992159922599235992459925599265992759928599295993059931599325993359934599355993659937599385993959940599415994259943599445994559946599475994859949599505995159952599535995459955599565995759958599595996059961599625996359964599655996659967599685996959970599715997259973599745997559976599775997859979599805998159982599835998459985599865998759988599895999059991599925999359994599955999659997599985999960000600016000260003600046000560006600076000860009600106001160012600136001460015600166001760018600196002060021600226002360024600256002660027600286002960030600316003260033600346003560036600376003860039600406004160042600436004460045600466004760048600496005060051600526005360054600556005660057600586005960060600616006260063600646006560066600676006860069600706007160072600736007460075600766007760078600796008060081600826008360084600856008660087600886008960090600916009260093600946009560096600976009860099601006010160102601036010460105601066010760108601096011060111601126011360114601156011660117601186011960120601216012260123601246012560126601276012860129601306013160132601336013460135601366013760138601396014060141601426014360144601456014660147601486014960150601516015260153601546015560156601576015860159601606016160162601636016460165601666016760168601696017060171601726017360174601756017660177601786017960180601816018260183601846018560186601876018860189601906019160192601936019460195601966019760198601996020060201602026020360204602056020660207602086020960210602116021260213602146021560216602176021860219602206022160222602236022460225602266022760228602296023060231602326023360234602356023660237602386023960240602416024260243602446024560246602476024860249602506025160252602536025460255602566025760258602596026060261602626026360264602656026660267602686026960270602716027260273602746027560276602776027860279602806028160282602836028460285602866028760288602896029060291602926029360294602956029660297602986029960300603016030260303603046030560306603076030860309603106031160312603136031460315603166031760318603196032060321603226032360324603256032660327603286032960330603316033260333603346033560336603376033860339603406034160342603436034460345603466034760348603496035060351603526035360354603556035660357603586035960360603616036260363603646036560366603676036860369603706037160372603736037460375603766037760378603796038060381603826038360384603856038660387603886038960390603916039260393603946039560396603976039860399604006040160402604036040460405604066040760408604096041060411604126041360414604156041660417604186041960420604216042260423604246042560426604276042860429604306043160432604336043460435604366043760438604396044060441604426044360444604456044660447604486044960450604516045260453604546045560456604576045860459604606046160462604636046460465604666046760468604696047060471604726047360474604756047660477604786047960480604816048260483604846048560486604876048860489604906049160492604936049460495604966049760498604996050060501605026050360504605056050660507605086050960510605116051260513605146051560516605176051860519605206052160522605236052460525605266052760528605296053060531605326053360534605356053660537605386053960540605416054260543605446054560546605476054860549605506055160552605536055460555605566055760558605596056060561605626056360564605656056660567605686056960570605716057260573605746057560576605776057860579605806058160582605836058460585605866058760588605896059060591605926059360594605956059660597605986059960600606016060260603606046060560606606076060860609606106061160612606136061460615606166061760618606196062060621606226062360624606256062660627606286062960630606316063260633606346063560636606376063860639606406064160642606436064460645606466064760648606496065060651606526065360654606556065660657606586065960660606616066260663606646066560666606676066860669606706067160672606736067460675606766067760678606796068060681606826068360684606856068660687606886068960690606916069260693606946069560696606976069860699607006070160702607036070460705607066070760708607096071060711607126071360714607156071660717607186071960720607216072260723607246072560726607276072860729607306073160732607336073460735607366073760738607396074060741607426074360744607456074660747607486074960750607516075260753607546075560756607576075860759607606076160762607636076460765607666076760768607696077060771607726077360774607756077660777607786077960780607816078260783607846078560786607876078860789607906079160792607936079460795607966079760798607996080060801608026080360804608056080660807608086080960810608116081260813608146081560816608176081860819608206082160822608236082460825608266082760828608296083060831608326083360834608356083660837608386083960840608416084260843608446084560846608476084860849608506085160852608536085460855608566085760858608596086060861608626086360864608656086660867608686086960870608716087260873608746087560876608776087860879608806088160882608836088460885608866088760888608896089060891608926089360894608956089660897608986089960900609016090260903609046090560906609076090860909609106091160912609136091460915609166091760918609196092060921609226092360924609256092660927609286092960930609316093260933609346093560936609376093860939609406094160942609436094460945609466094760948609496095060951609526095360954609556095660957609586095960960609616096260963609646096560966609676096860969609706097160972609736097460975609766097760978609796098060981609826098360984609856098660987609886098960990609916099260993609946099560996609976099860999610006100161002610036100461005610066100761008610096101061011610126101361014610156101661017610186101961020610216102261023610246102561026610276102861029610306103161032610336103461035610366103761038610396104061041610426104361044610456104661047610486104961050610516105261053610546105561056610576105861059610606106161062610636106461065610666106761068610696107061071610726107361074610756107661077610786107961080610816108261083610846108561086610876108861089610906109161092610936109461095610966109761098610996110061101611026110361104611056110661107611086110961110611116111261113611146111561116611176111861119611206112161122611236112461125611266112761128611296113061131611326113361134611356113661137611386113961140611416114261143611446114561146611476114861149611506115161152611536115461155611566115761158611596116061161611626116361164611656116661167611686116961170611716117261173611746117561176611776117861179611806118161182611836118461185611866118761188611896119061191611926119361194611956119661197611986119961200612016120261203612046120561206612076120861209612106121161212612136121461215612166121761218612196122061221612226122361224612256122661227612286122961230612316123261233612346123561236612376123861239612406124161242612436124461245612466124761248612496125061251612526125361254612556125661257612586125961260612616126261263612646126561266612676126861269612706127161272612736127461275612766127761278612796128061281612826128361284612856128661287612886128961290612916129261293612946129561296612976129861299613006130161302613036130461305613066130761308613096131061311613126131361314613156131661317613186131961320613216132261323613246132561326613276132861329613306133161332613336133461335613366133761338613396134061341613426134361344613456134661347613486134961350613516135261353613546135561356613576135861359613606136161362613636136461365613666136761368613696137061371613726137361374613756137661377613786137961380613816138261383613846138561386613876138861389613906139161392613936139461395613966139761398613996140061401614026140361404614056140661407614086140961410614116141261413614146141561416614176141861419614206142161422614236142461425614266142761428614296143061431614326143361434614356143661437614386143961440614416144261443614446144561446614476144861449614506145161452614536145461455614566145761458614596146061461614626146361464614656146661467614686146961470614716147261473614746147561476614776147861479614806148161482614836148461485614866148761488614896149061491614926149361494614956149661497614986149961500615016150261503615046150561506615076150861509615106151161512615136151461515615166151761518615196152061521615226152361524615256152661527615286152961530615316153261533615346153561536615376153861539615406154161542615436154461545615466154761548615496155061551615526155361554615556155661557615586155961560615616156261563615646156561566615676156861569615706157161572615736157461575615766157761578615796158061581615826158361584615856158661587615886158961590615916159261593615946159561596615976159861599616006160161602616036160461605616066160761608616096161061611616126161361614616156161661617616186161961620616216162261623616246162561626616276162861629616306163161632616336163461635616366163761638616396164061641616426164361644616456164661647616486164961650616516165261653616546165561656616576165861659616606166161662616636166461665616666166761668616696167061671616726167361674616756167661677616786167961680616816168261683616846168561686616876168861689616906169161692616936169461695616966169761698616996170061701617026170361704617056170661707617086170961710617116171261713617146171561716617176171861719617206172161722617236172461725617266172761728617296173061731617326173361734617356173661737617386173961740617416174261743617446174561746617476174861749617506175161752617536175461755617566175761758617596176061761617626176361764617656176661767617686176961770617716177261773617746177561776617776177861779617806178161782617836178461785617866178761788617896179061791617926179361794617956179661797617986179961800618016180261803618046180561806618076180861809618106181161812618136181461815618166181761818618196182061821618226182361824618256182661827618286182961830618316183261833618346183561836618376183861839618406184161842618436184461845618466184761848618496185061851618526185361854618556185661857618586185961860618616186261863618646186561866618676186861869618706187161872618736187461875618766187761878618796188061881618826188361884618856188661887618886188961890618916189261893618946189561896618976189861899619006190161902619036190461905619066190761908619096191061911619126191361914619156191661917619186191961920619216192261923619246192561926619276192861929619306193161932619336193461935619366193761938619396194061941619426194361944619456194661947619486194961950619516195261953619546195561956619576195861959619606196161962619636196461965619666196761968619696197061971619726197361974619756197661977619786197961980619816198261983619846198561986619876198861989619906199161992619936199461995619966199761998619996200062001620026200362004620056200662007620086200962010620116201262013620146201562016620176201862019620206202162022620236202462025620266202762028620296203062031620326203362034620356203662037620386203962040620416204262043620446204562046620476204862049620506205162052620536205462055620566205762058620596206062061620626206362064620656206662067620686206962070620716207262073620746207562076620776207862079620806208162082620836208462085620866208762088620896209062091620926209362094620956209662097620986209962100621016210262103621046210562106621076210862109621106211162112621136211462115621166211762118621196212062121621226212362124621256212662127621286212962130621316213262133621346213562136621376213862139621406214162142621436214462145621466214762148621496215062151621526215362154621556215662157621586215962160621616216262163621646216562166621676216862169621706217162172621736217462175621766217762178621796218062181621826218362184621856218662187621886218962190621916219262193621946219562196621976219862199622006220162202622036220462205622066220762208622096221062211622126221362214622156221662217622186221962220622216222262223622246222562226622276222862229622306223162232622336223462235622366223762238622396224062241622426224362244622456224662247622486224962250622516225262253622546225562256622576225862259622606226162262622636226462265622666226762268622696227062271622726227362274622756227662277622786227962280622816228262283622846228562286622876228862289622906229162292622936229462295622966229762298622996230062301623026230362304623056230662307623086230962310623116231262313623146231562316623176231862319623206232162322623236232462325623266232762328623296233062331623326233362334623356233662337623386233962340623416234262343623446234562346623476234862349623506235162352623536235462355623566235762358623596236062361623626236362364623656236662367623686236962370623716237262373623746237562376623776237862379623806238162382623836238462385623866238762388623896239062391623926239362394623956239662397623986239962400624016240262403624046240562406624076240862409624106241162412624136241462415624166241762418624196242062421624226242362424624256242662427624286242962430624316243262433624346243562436624376243862439624406244162442624436244462445624466244762448624496245062451624526245362454624556245662457624586245962460624616246262463624646246562466624676246862469624706247162472624736247462475624766247762478624796248062481624826248362484624856248662487624886248962490624916249262493624946249562496624976249862499625006250162502625036250462505625066250762508625096251062511625126251362514625156251662517625186251962520625216252262523625246252562526625276252862529625306253162532625336253462535625366253762538625396254062541625426254362544625456254662547625486254962550625516255262553625546255562556625576255862559625606256162562625636256462565625666256762568625696257062571625726257362574625756257662577625786257962580625816258262583625846258562586625876258862589625906259162592625936259462595625966259762598625996260062601626026260362604626056260662607626086260962610626116261262613626146261562616626176261862619626206262162622626236262462625626266262762628626296263062631626326263362634626356263662637626386263962640626416264262643626446264562646626476264862649626506265162652626536265462655626566265762658626596266062661626626266362664626656266662667626686266962670626716267262673626746267562676626776267862679626806268162682626836268462685626866268762688626896269062691626926269362694626956269662697626986269962700627016270262703627046270562706627076270862709627106271162712627136271462715627166271762718627196272062721627226272362724627256272662727627286272962730627316273262733627346273562736627376273862739627406274162742627436274462745627466274762748627496275062751627526275362754627556275662757627586275962760627616276262763627646276562766627676276862769627706277162772627736277462775627766277762778627796278062781627826278362784627856278662787627886278962790627916279262793627946279562796627976279862799628006280162802628036280462805628066280762808628096281062811628126281362814628156281662817628186281962820628216282262823628246282562826628276282862829628306283162832628336283462835628366283762838628396284062841628426284362844628456284662847628486284962850628516285262853628546285562856628576285862859628606286162862628636286462865628666286762868628696287062871628726287362874628756287662877628786287962880628816288262883628846288562886628876288862889628906289162892628936289462895628966289762898628996290062901629026290362904629056290662907629086290962910629116291262913629146291562916629176291862919629206292162922629236292462925629266292762928629296293062931629326293362934629356293662937629386293962940629416294262943629446294562946629476294862949629506295162952629536295462955629566295762958629596296062961629626296362964629656296662967629686296962970629716297262973629746297562976629776297862979629806298162982629836298462985629866298762988629896299062991629926299362994629956299662997629986299963000630016300263003630046300563006630076300863009630106301163012630136301463015630166301763018630196302063021630226302363024630256302663027630286302963030630316303263033630346303563036630376303863039630406304163042630436304463045630466304763048630496305063051630526305363054630556305663057630586305963060630616306263063630646306563066630676306863069630706307163072630736307463075630766307763078630796308063081630826308363084630856308663087630886308963090630916309263093630946309563096630976309863099631006310163102631036310463105631066310763108631096311063111631126311363114631156311663117631186311963120631216312263123631246312563126631276312863129631306313163132631336313463135631366313763138631396314063141631426314363144631456314663147631486314963150631516315263153631546315563156631576315863159631606316163162631636316463165631666316763168631696317063171631726317363174631756317663177631786317963180631816318263183631846318563186631876318863189631906319163192631936319463195631966319763198631996320063201632026320363204632056320663207632086320963210632116321263213632146321563216632176321863219632206322163222632236322463225632266322763228632296323063231632326323363234632356323663237632386323963240632416324263243632446324563246632476324863249632506325163252632536325463255632566325763258632596326063261632626326363264632656326663267632686326963270632716327263273632746327563276632776327863279632806328163282632836328463285632866328763288632896329063291632926329363294632956329663297632986329963300633016330263303633046330563306633076330863309633106331163312633136331463315633166331763318633196332063321633226332363324633256332663327633286332963330633316333263333633346333563336633376333863339633406334163342633436334463345633466334763348633496335063351633526335363354633556335663357633586335963360633616336263363633646336563366633676336863369633706337163372633736337463375633766337763378633796338063381633826338363384633856338663387633886338963390633916339263393633946339563396633976339863399634006340163402634036340463405634066340763408634096341063411634126341363414634156341663417634186341963420634216342263423634246342563426634276342863429634306343163432634336343463435634366343763438634396344063441634426344363444634456344663447634486344963450634516345263453634546345563456634576345863459634606346163462634636346463465634666346763468634696347063471634726347363474634756347663477634786347963480634816348263483634846348563486634876348863489634906349163492634936349463495634966349763498634996350063501635026350363504635056350663507635086350963510635116351263513635146351563516635176351863519635206352163522635236352463525635266352763528635296353063531635326353363534635356353663537635386353963540635416354263543635446354563546635476354863549635506355163552635536355463555635566355763558635596356063561635626356363564635656356663567635686356963570635716357263573635746357563576635776357863579635806358163582635836358463585635866358763588635896359063591635926359363594635956359663597635986359963600636016360263603636046360563606636076360863609636106361163612636136361463615636166361763618636196362063621636226362363624636256362663627636286362963630636316363263633636346363563636636376363863639636406364163642636436364463645636466364763648636496365063651636526365363654636556365663657636586365963660636616366263663636646366563666636676366863669636706367163672636736367463675636766367763678636796368063681636826368363684636856368663687636886368963690636916369263693636946369563696636976369863699637006370163702637036370463705637066370763708637096371063711637126371363714637156371663717637186371963720637216372263723637246372563726637276372863729637306373163732637336373463735637366373763738637396374063741637426374363744637456374663747637486374963750637516375263753637546375563756637576375863759637606376163762637636376463765637666376763768637696377063771637726377363774637756377663777637786377963780637816378263783637846378563786637876378863789637906379163792637936379463795637966379763798637996380063801638026380363804638056380663807638086380963810638116381263813638146381563816638176381863819638206382163822638236382463825638266382763828638296383063831638326383363834638356383663837638386383963840638416384263843638446384563846638476384863849638506385163852638536385463855638566385763858638596386063861638626386363864638656386663867638686386963870638716387263873638746387563876638776387863879638806388163882638836388463885638866388763888638896389063891638926389363894638956389663897638986389963900639016390263903639046390563906639076390863909639106391163912639136391463915639166391763918639196392063921639226392363924639256392663927639286392963930639316393263933639346393563936639376393863939639406394163942639436394463945639466394763948639496395063951639526395363954639556395663957639586395963960639616396263963639646396563966639676396863969639706397163972639736397463975639766397763978639796398063981639826398363984639856398663987639886398963990639916399263993639946399563996639976399863999640006400164002640036400464005640066400764008640096401064011640126401364014640156401664017640186401964020640216402264023640246402564026640276402864029640306403164032640336403464035640366403764038640396404064041640426404364044640456404664047640486404964050640516405264053640546405564056640576405864059640606406164062640636406464065640666406764068640696407064071640726407364074640756407664077640786407964080640816408264083640846408564086640876408864089640906409164092640936409464095640966409764098640996410064101641026410364104641056410664107641086410964110641116411264113641146411564116641176411864119641206412164122641236412464125641266412764128641296413064131641326413364134641356413664137641386413964140641416414264143641446414564146641476414864149641506415164152641536415464155641566415764158641596416064161641626416364164641656416664167641686416964170641716417264173641746417564176641776417864179641806418164182641836418464185641866418764188641896419064191641926419364194641956419664197641986419964200642016420264203642046420564206642076420864209642106421164212642136421464215642166421764218642196422064221642226422364224642256422664227642286422964230642316423264233642346423564236642376423864239642406424164242642436424464245642466424764248642496425064251642526425364254642556425664257642586425964260642616426264263642646426564266642676426864269642706427164272642736427464275642766427764278642796428064281642826428364284642856428664287642886428964290642916429264293642946429564296642976429864299643006430164302643036430464305643066430764308643096431064311643126431364314643156431664317643186431964320643216432264323643246432564326643276432864329643306433164332643336433464335643366433764338643396434064341643426434364344643456434664347643486434964350643516435264353643546435564356643576435864359643606436164362643636436464365643666436764368643696437064371643726437364374643756437664377643786437964380643816438264383643846438564386643876438864389643906439164392643936439464395643966439764398643996440064401644026440364404644056440664407644086440964410644116441264413644146441564416644176441864419644206442164422644236442464425644266442764428644296443064431644326443364434644356443664437644386443964440644416444264443644446444564446644476444864449644506445164452644536445464455644566445764458644596446064461644626446364464644656446664467644686446964470644716447264473644746447564476644776447864479644806448164482644836448464485644866448764488644896449064491644926449364494644956449664497644986449964500645016450264503645046450564506645076450864509645106451164512645136451464515645166451764518645196452064521645226452364524645256452664527645286452964530645316453264533645346453564536645376453864539645406454164542645436454464545645466454764548645496455064551645526455364554645556455664557645586455964560645616456264563645646456564566645676456864569645706457164572645736457464575645766457764578645796458064581645826458364584645856458664587645886458964590645916459264593645946459564596645976459864599646006460164602646036460464605646066460764608646096461064611646126461364614646156461664617646186461964620646216462264623646246462564626646276462864629646306463164632646336463464635646366463764638646396464064641646426464364644646456464664647646486464964650646516465264653646546465564656646576465864659646606466164662646636466464665646666466764668646696467064671646726467364674646756467664677646786467964680646816468264683646846468564686646876468864689646906469164692646936469464695646966469764698646996470064701647026470364704647056470664707647086470964710647116471264713647146471564716647176471864719647206472164722647236472464725647266472764728647296473064731647326473364734647356473664737647386473964740647416474264743647446474564746647476474864749647506475164752647536475464755647566475764758647596476064761647626476364764647656476664767647686476964770647716477264773647746477564776647776477864779647806478164782647836478464785647866478764788647896479064791647926479364794647956479664797647986479964800648016480264803648046480564806648076480864809648106481164812648136481464815648166481764818648196482064821648226482364824648256482664827648286482964830648316483264833648346483564836648376483864839648406484164842648436484464845648466484764848648496485064851648526485364854648556485664857648586485964860648616486264863648646486564866648676486864869648706487164872648736487464875648766487764878648796488064881648826488364884648856488664887648886488964890648916489264893648946489564896648976489864899649006490164902649036490464905649066490764908649096491064911649126491364914649156491664917649186491964920649216492264923649246492564926649276492864929649306493164932649336493464935649366493764938649396494064941649426494364944649456494664947649486494964950649516495264953649546495564956649576495864959649606496164962649636496464965649666496764968649696497064971649726497364974649756497664977649786497964980649816498264983649846498564986649876498864989649906499164992649936499464995649966499764998649996500065001650026500365004650056500665007650086500965010650116501265013650146501565016650176501865019650206502165022650236502465025650266502765028650296503065031650326503365034650356503665037650386503965040650416504265043650446504565046650476504865049650506505165052650536505465055650566505765058650596506065061650626506365064650656506665067650686506965070650716507265073650746507565076650776507865079650806508165082650836508465085650866508765088650896509065091650926509365094650956509665097650986509965100651016510265103651046510565106651076510865109651106511165112651136511465115651166511765118651196512065121651226512365124651256512665127651286512965130651316513265133651346513565136651376513865139651406514165142651436514465145651466514765148651496515065151651526515365154651556515665157651586515965160651616516265163651646516565166651676516865169651706517165172651736517465175651766517765178651796518065181651826518365184651856518665187651886518965190651916519265193651946519565196651976519865199652006520165202652036520465205652066520765208652096521065211652126521365214652156521665217652186521965220652216522265223652246522565226652276522865229652306523165232652336523465235652366523765238652396524065241652426524365244652456524665247652486524965250652516525265253652546525565256652576525865259652606526165262652636526465265652666526765268652696527065271652726527365274652756527665277652786527965280652816528265283652846528565286652876528865289652906529165292652936529465295652966529765298652996530065301653026530365304653056530665307653086530965310653116531265313653146531565316653176531865319653206532165322653236532465325653266532765328653296533065331653326533365334653356533665337653386533965340653416534265343653446534565346653476534865349653506535165352653536535465355653566535765358653596536065361653626536365364653656536665367653686536965370653716537265373653746537565376653776537865379653806538165382653836538465385653866538765388653896539065391653926539365394653956539665397653986539965400654016540265403654046540565406654076540865409654106541165412654136541465415654166541765418654196542065421654226542365424654256542665427654286542965430654316543265433654346543565436654376543865439654406544165442654436544465445654466544765448654496545065451654526545365454654556545665457654586545965460654616546265463654646546565466654676546865469654706547165472654736547465475654766547765478654796548065481654826548365484654856548665487654886548965490654916549265493654946549565496654976549865499655006550165502655036550465505655066550765508655096551065511655126551365514655156551665517655186551965520655216552265523655246552565526655276552865529655306553165532655336553465535655366553765538655396554065541655426554365544655456554665547655486554965550655516555265553655546555565556655576555865559655606556165562655636556465565655666556765568655696557065571655726557365574655756557665577655786557965580655816558265583655846558565586655876558865589655906559165592655936559465595655966559765598655996560065601656026560365604656056560665607656086560965610656116561265613656146561565616656176561865619656206562165622656236562465625656266562765628656296563065631656326563365634656356563665637656386563965640656416564265643656446564565646656476564865649656506565165652656536565465655656566565765658656596566065661656626566365664656656566665667656686566965670656716567265673656746567565676656776567865679656806568165682656836568465685656866568765688656896569065691656926569365694656956569665697656986569965700657016570265703657046570565706657076570865709657106571165712657136571465715657166571765718657196572065721657226572365724657256572665727657286572965730657316573265733657346573565736657376573865739657406574165742657436574465745657466574765748657496575065751657526575365754657556575665757657586575965760657616576265763657646576565766657676576865769657706577165772657736577465775657766577765778657796578065781657826578365784657856578665787657886578965790657916579265793657946579565796657976579865799658006580165802658036580465805658066580765808658096581065811658126581365814658156581665817658186581965820658216582265823658246582565826658276582865829658306583165832658336583465835658366583765838658396584065841658426584365844658456584665847658486584965850658516585265853658546585565856658576585865859658606586165862658636586465865658666586765868658696587065871658726587365874658756587665877658786587965880658816588265883658846588565886658876588865889658906589165892658936589465895658966589765898658996590065901659026590365904659056590665907659086590965910659116591265913659146591565916659176591865919659206592165922659236592465925659266592765928659296593065931659326593365934659356593665937659386593965940659416594265943659446594565946659476594865949659506595165952659536595465955659566595765958659596596065961659626596365964659656596665967659686596965970659716597265973659746597565976659776597865979659806598165982659836598465985659866598765988659896599065991659926599365994659956599665997659986599966000660016600266003660046600566006660076600866009660106601166012660136601466015660166601766018660196602066021660226602366024660256602666027660286602966030660316603266033660346603566036660376603866039660406604166042660436604466045660466604766048660496605066051660526605366054660556605666057660586605966060660616606266063660646606566066660676606866069660706607166072660736607466075660766607766078660796608066081660826608366084660856608666087660886608966090660916609266093660946609566096660976609866099661006610166102661036610466105661066610766108661096611066111661126611366114661156611666117661186611966120661216612266123661246612566126661276612866129661306613166132661336613466135661366613766138661396614066141661426614366144661456614666147661486614966150661516615266153661546615566156661576615866159661606616166162661636616466165661666616766168661696617066171661726617366174661756617666177661786617966180661816618266183661846618566186661876618866189661906619166192661936619466195661966619766198661996620066201662026620366204662056620666207662086620966210662116621266213662146621566216662176621866219662206622166222662236622466225662266622766228662296623066231662326623366234662356623666237662386623966240662416624266243662446624566246662476624866249662506625166252662536625466255662566625766258662596626066261662626626366264662656626666267662686626966270662716627266273662746627566276662776627866279662806628166282662836628466285662866628766288662896629066291662926629366294662956629666297662986629966300663016630266303663046630566306663076630866309663106631166312663136631466315663166631766318663196632066321663226632366324663256632666327663286632966330663316633266333663346633566336663376633866339663406634166342663436634466345663466634766348663496635066351663526635366354663556635666357663586635966360663616636266363663646636566366663676636866369663706637166372663736637466375663766637766378663796638066381663826638366384663856638666387663886638966390663916639266393663946639566396663976639866399664006640166402664036640466405664066640766408664096641066411664126641366414664156641666417664186641966420664216642266423664246642566426664276642866429664306643166432664336643466435664366643766438664396644066441664426644366444664456644666447664486644966450664516645266453664546645566456664576645866459664606646166462664636646466465664666646766468664696647066471664726647366474664756647666477664786647966480664816648266483664846648566486664876648866489664906649166492664936649466495664966649766498664996650066501665026650366504665056650666507665086650966510665116651266513665146651566516665176651866519665206652166522665236652466525665266652766528665296653066531665326653366534665356653666537665386653966540665416654266543665446654566546665476654866549665506655166552665536655466555665566655766558665596656066561665626656366564665656656666567665686656966570665716657266573665746657566576665776657866579665806658166582665836658466585665866658766588665896659066591665926659366594665956659666597665986659966600666016660266603666046660566606666076660866609666106661166612666136661466615666166661766618666196662066621666226662366624666256662666627666286662966630666316663266633666346663566636666376663866639666406664166642666436664466645666466664766648666496665066651666526665366654666556665666657666586665966660666616666266663666646666566666666676666866669666706667166672666736667466675666766667766678666796668066681666826668366684666856668666687666886668966690666916669266693666946669566696666976669866699667006670166702667036670466705667066670766708667096671066711667126671366714667156671666717667186671966720667216672266723667246672566726667276672866729667306673166732667336673466735667366673766738667396674066741667426674366744667456674666747667486674966750667516675266753667546675566756667576675866759667606676166762667636676466765667666676766768667696677066771667726677366774667756677666777667786677966780667816678266783667846678566786667876678866789667906679166792667936679466795667966679766798667996680066801668026680366804668056680666807668086680966810668116681266813668146681566816668176681866819668206682166822668236682466825668266682766828668296683066831668326683366834668356683666837668386683966840668416684266843668446684566846668476684866849668506685166852668536685466855668566685766858668596686066861668626686366864668656686666867668686686966870668716687266873668746687566876668776687866879668806688166882668836688466885668866688766888668896689066891668926689366894668956689666897668986689966900669016690266903669046690566906669076690866909669106691166912669136691466915669166691766918669196692066921669226692366924669256692666927669286692966930669316693266933669346693566936669376693866939669406694166942669436694466945669466694766948669496695066951669526695366954669556695666957669586695966960669616696266963669646696566966669676696866969669706697166972669736697466975669766697766978669796698066981669826698366984669856698666987669886698966990669916699266993669946699566996669976699866999670006700167002670036700467005670066700767008670096701067011670126701367014670156701667017670186701967020670216702267023670246702567026670276702867029670306703167032670336703467035670366703767038670396704067041670426704367044670456704667047670486704967050670516705267053670546705567056670576705867059670606706167062670636706467065670666706767068670696707067071670726707367074670756707667077670786707967080670816708267083670846708567086670876708867089670906709167092670936709467095670966709767098670996710067101671026710367104671056710667107671086710967110671116711267113671146711567116671176711867119671206712167122671236712467125671266712767128671296713067131671326713367134671356713667137671386713967140671416714267143671446714567146671476714867149671506715167152671536715467155671566715767158671596716067161671626716367164671656716667167671686716967170671716717267173671746717567176671776717867179671806718167182671836718467185671866718767188671896719067191671926719367194671956719667197671986719967200672016720267203672046720567206672076720867209672106721167212672136721467215672166721767218672196722067221672226722367224672256722667227672286722967230672316723267233672346723567236672376723867239672406724167242672436724467245672466724767248672496725067251672526725367254672556725667257672586725967260672616726267263672646726567266672676726867269672706727167272672736727467275672766727767278672796728067281672826728367284672856728667287672886728967290672916729267293672946729567296672976729867299673006730167302673036730467305673066730767308673096731067311673126731367314673156731667317673186731967320673216732267323673246732567326673276732867329673306733167332673336733467335673366733767338673396734067341673426734367344673456734667347673486734967350673516735267353673546735567356673576735867359673606736167362673636736467365673666736767368673696737067371673726737367374673756737667377673786737967380673816738267383673846738567386673876738867389673906739167392673936739467395673966739767398673996740067401674026740367404674056740667407674086740967410674116741267413674146741567416674176741867419674206742167422674236742467425674266742767428674296743067431674326743367434674356743667437674386743967440674416744267443674446744567446674476744867449674506745167452674536745467455674566745767458674596746067461674626746367464674656746667467674686746967470674716747267473674746747567476674776747867479674806748167482674836748467485674866748767488674896749067491674926749367494674956749667497674986749967500675016750267503675046750567506675076750867509675106751167512675136751467515675166751767518675196752067521675226752367524675256752667527675286752967530675316753267533675346753567536675376753867539675406754167542675436754467545675466754767548675496755067551675526755367554675556755667557675586755967560675616756267563675646756567566675676756867569675706757167572675736757467575675766757767578675796758067581675826758367584675856758667587675886758967590675916759267593675946759567596675976759867599676006760167602676036760467605676066760767608676096761067611676126761367614676156761667617676186761967620676216762267623676246762567626676276762867629676306763167632676336763467635676366763767638676396764067641676426764367644676456764667647676486764967650676516765267653676546765567656676576765867659676606766167662676636766467665676666766767668676696767067671676726767367674676756767667677676786767967680676816768267683676846768567686676876768867689676906769167692676936769467695676966769767698676996770067701677026770367704677056770667707677086770967710677116771267713677146771567716677176771867719677206772167722677236772467725677266772767728677296773067731677326773367734677356773667737677386773967740677416774267743677446774567746677476774867749677506775167752677536775467755677566775767758677596776067761677626776367764677656776667767677686776967770677716777267773677746777567776677776777867779677806778167782677836778467785677866778767788677896779067791677926779367794677956779667797677986779967800678016780267803678046780567806678076780867809678106781167812678136781467815678166781767818678196782067821678226782367824678256782667827678286782967830678316783267833678346783567836678376783867839678406784167842678436784467845678466784767848678496785067851678526785367854678556785667857678586785967860678616786267863678646786567866678676786867869678706787167872678736787467875678766787767878678796788067881678826788367884678856788667887678886788967890678916789267893678946789567896678976789867899679006790167902679036790467905679066790767908679096791067911679126791367914679156791667917679186791967920679216792267923679246792567926679276792867929679306793167932679336793467935679366793767938679396794067941679426794367944679456794667947679486794967950679516795267953679546795567956679576795867959679606796167962679636796467965679666796767968679696797067971679726797367974679756797667977679786797967980679816798267983679846798567986679876798867989679906799167992679936799467995679966799767998679996800068001680026800368004680056800668007680086800968010680116801268013680146801568016680176801868019680206802168022680236802468025680266802768028680296803068031680326803368034680356803668037680386803968040680416804268043680446804568046680476804868049680506805168052680536805468055680566805768058680596806068061680626806368064680656806668067680686806968070680716807268073680746807568076680776807868079680806808168082680836808468085680866808768088680896809068091680926809368094680956809668097680986809968100681016810268103681046810568106681076810868109681106811168112681136811468115681166811768118681196812068121681226812368124681256812668127681286812968130681316813268133681346813568136681376813868139681406814168142681436814468145681466814768148681496815068151681526815368154681556815668157681586815968160681616816268163681646816568166681676816868169681706817168172681736817468175681766817768178681796818068181681826818368184681856818668187681886818968190681916819268193681946819568196681976819868199682006820168202682036820468205682066820768208682096821068211682126821368214682156821668217682186821968220682216822268223682246822568226682276822868229682306823168232682336823468235682366823768238682396824068241682426824368244682456824668247682486824968250682516825268253682546825568256682576825868259682606826168262682636826468265682666826768268682696827068271682726827368274682756827668277682786827968280682816828268283682846828568286682876828868289682906829168292682936829468295682966829768298682996830068301683026830368304683056830668307683086830968310683116831268313683146831568316683176831868319683206832168322683236832468325683266832768328683296833068331683326833368334683356833668337683386833968340683416834268343683446834568346683476834868349683506835168352683536835468355683566835768358683596836068361683626836368364683656836668367683686836968370683716837268373683746837568376683776837868379683806838168382683836838468385683866838768388683896839068391683926839368394683956839668397683986839968400684016840268403684046840568406684076840868409684106841168412684136841468415684166841768418684196842068421684226842368424684256842668427684286842968430684316843268433684346843568436684376843868439684406844168442684436844468445684466844768448684496845068451684526845368454684556845668457684586845968460684616846268463684646846568466684676846868469684706847168472684736847468475684766847768478684796848068481684826848368484684856848668487684886848968490684916849268493684946849568496684976849868499685006850168502685036850468505685066850768508685096851068511685126851368514685156851668517685186851968520685216852268523685246852568526685276852868529685306853168532685336853468535685366853768538685396854068541685426854368544685456854668547685486854968550685516855268553685546855568556685576855868559685606856168562685636856468565685666856768568685696857068571685726857368574685756857668577685786857968580685816858268583685846858568586685876858868589685906859168592685936859468595685966859768598685996860068601686026860368604686056860668607686086860968610686116861268613686146861568616686176861868619686206862168622686236862468625686266862768628686296863068631686326863368634686356863668637686386863968640686416864268643686446864568646686476864868649686506865168652686536865468655686566865768658686596866068661686626866368664686656866668667686686866968670686716867268673686746867568676686776867868679686806868168682686836868468685686866868768688686896869068691686926869368694686956869668697686986869968700687016870268703687046870568706687076870868709687106871168712687136871468715687166871768718687196872068721687226872368724687256872668727687286872968730687316873268733687346873568736687376873868739687406874168742687436874468745687466874768748687496875068751687526875368754687556875668757687586875968760687616876268763687646876568766687676876868769687706877168772687736877468775687766877768778687796878068781687826878368784687856878668787687886878968790687916879268793687946879568796687976879868799688006880168802688036880468805688066880768808688096881068811688126881368814688156881668817688186881968820688216882268823688246882568826688276882868829688306883168832688336883468835688366883768838688396884068841688426884368844688456884668847688486884968850688516885268853688546885568856688576885868859688606886168862688636886468865688666886768868688696887068871688726887368874688756887668877688786887968880688816888268883688846888568886688876888868889688906889168892688936889468895688966889768898688996890068901689026890368904689056890668907689086890968910689116891268913689146891568916689176891868919689206892168922689236892468925689266892768928689296893068931689326893368934689356893668937689386893968940689416894268943689446894568946689476894868949689506895168952689536895468955689566895768958689596896068961689626896368964689656896668967689686896968970689716897268973689746897568976689776897868979689806898168982689836898468985689866898768988689896899068991689926899368994689956899668997689986899969000690016900269003690046900569006690076900869009690106901169012690136901469015690166901769018690196902069021690226902369024690256902669027690286902969030690316903269033690346903569036690376903869039690406904169042690436904469045690466904769048690496905069051690526905369054690556905669057690586905969060690616906269063690646906569066690676906869069690706907169072690736907469075690766907769078690796908069081690826908369084690856908669087690886908969090690916909269093690946909569096690976909869099691006910169102691036910469105691066910769108691096911069111691126911369114691156911669117691186911969120691216912269123691246912569126691276912869129691306913169132691336913469135691366913769138691396914069141691426914369144691456914669147691486914969150691516915269153691546915569156691576915869159691606916169162691636916469165691666916769168691696917069171691726917369174691756917669177691786917969180691816918269183691846918569186691876918869189691906919169192691936919469195691966919769198691996920069201692026920369204692056920669207692086920969210692116921269213692146921569216692176921869219692206922169222692236922469225692266922769228692296923069231692326923369234692356923669237692386923969240692416924269243692446924569246692476924869249692506925169252692536925469255692566925769258692596926069261692626926369264692656926669267692686926969270692716927269273692746927569276692776927869279692806928169282692836928469285692866928769288692896929069291692926929369294692956929669297692986929969300693016930269303693046930569306693076930869309693106931169312693136931469315693166931769318693196932069321693226932369324693256932669327693286932969330693316933269333693346933569336693376933869339693406934169342693436934469345693466934769348693496935069351693526935369354693556935669357693586935969360693616936269363693646936569366693676936869369693706937169372693736937469375693766937769378693796938069381693826938369384693856938669387693886938969390693916939269393693946939569396693976939869399694006940169402694036940469405694066940769408694096941069411694126941369414694156941669417694186941969420694216942269423694246942569426694276942869429694306943169432694336943469435694366943769438694396944069441694426944369444694456944669447694486944969450694516945269453694546945569456694576945869459694606946169462694636946469465694666946769468694696947069471694726947369474694756947669477694786947969480694816948269483694846948569486694876948869489694906949169492694936949469495694966949769498694996950069501695026950369504695056950669507695086950969510695116951269513695146951569516695176951869519695206952169522695236952469525695266952769528695296953069531695326953369534695356953669537695386953969540695416954269543695446954569546695476954869549695506955169552695536955469555695566955769558695596956069561695626956369564695656956669567695686956969570695716957269573695746957569576695776957869579695806958169582695836958469585695866958769588695896959069591695926959369594695956959669597695986959969600696016960269603696046960569606696076960869609696106961169612696136961469615696166961769618696196962069621696226962369624696256962669627696286962969630696316963269633696346963569636696376963869639696406964169642696436964469645696466964769648696496965069651696526965369654696556965669657696586965969660696616966269663696646966569666696676966869669696706967169672696736967469675696766967769678696796968069681696826968369684696856968669687696886968969690696916969269693696946969569696696976969869699697006970169702697036970469705697066970769708697096971069711697126971369714697156971669717697186971969720697216972269723697246972569726697276972869729697306973169732697336973469735697366973769738697396974069741697426974369744697456974669747697486974969750697516975269753697546975569756697576975869759697606976169762697636976469765697666976769768697696977069771697726977369774697756977669777697786977969780697816978269783697846978569786697876978869789697906979169792697936979469795697966979769798697996980069801698026980369804698056980669807698086980969810698116981269813698146981569816698176981869819698206982169822698236982469825698266982769828698296983069831698326983369834698356983669837698386983969840698416984269843698446984569846698476984869849698506985169852698536985469855698566985769858698596986069861698626986369864698656986669867698686986969870698716987269873698746987569876698776987869879698806988169882698836988469885698866988769888698896989069891698926989369894698956989669897698986989969900699016990269903699046990569906699076990869909699106991169912699136991469915699166991769918699196992069921699226992369924699256992669927699286992969930699316993269933699346993569936699376993869939699406994169942699436994469945699466994769948699496995069951699526995369954699556995669957699586995969960699616996269963699646996569966699676996869969699706997169972699736997469975699766997769978699796998069981699826998369984699856998669987699886998969990699916999269993699946999569996699976999869999700007000170002700037000470005700067000770008700097001070011700127001370014700157001670017700187001970020700217002270023700247002570026700277002870029700307003170032700337003470035700367003770038700397004070041700427004370044700457004670047700487004970050700517005270053700547005570056700577005870059700607006170062700637006470065700667006770068700697007070071700727007370074700757007670077700787007970080700817008270083700847008570086700877008870089700907009170092700937009470095700967009770098700997010070101701027010370104701057010670107701087010970110701117011270113701147011570116701177011870119701207012170122701237012470125701267012770128701297013070131701327013370134701357013670137701387013970140701417014270143701447014570146701477014870149701507015170152701537015470155701567015770158701597016070161701627016370164701657016670167701687016970170701717017270173701747017570176701777017870179701807018170182701837018470185701867018770188701897019070191701927019370194701957019670197701987019970200702017020270203702047020570206702077020870209702107021170212702137021470215702167021770218702197022070221702227022370224702257022670227702287022970230702317023270233702347023570236702377023870239702407024170242702437024470245702467024770248702497025070251702527025370254702557025670257702587025970260702617026270263702647026570266702677026870269702707027170272702737027470275702767027770278702797028070281702827028370284702857028670287702887028970290702917029270293702947029570296702977029870299703007030170302703037030470305703067030770308703097031070311703127031370314703157031670317703187031970320703217032270323703247032570326703277032870329703307033170332703337033470335703367033770338703397034070341703427034370344703457034670347703487034970350703517035270353703547035570356703577035870359703607036170362703637036470365703667036770368703697037070371703727037370374703757037670377703787037970380703817038270383703847038570386703877038870389703907039170392703937039470395703967039770398703997040070401704027040370404704057040670407704087040970410704117041270413704147041570416704177041870419704207042170422704237042470425704267042770428704297043070431704327043370434704357043670437704387043970440704417044270443704447044570446704477044870449704507045170452704537045470455704567045770458704597046070461704627046370464704657046670467704687046970470704717047270473704747047570476704777047870479704807048170482704837048470485704867048770488704897049070491704927049370494704957049670497704987049970500705017050270503705047050570506705077050870509705107051170512705137051470515705167051770518705197052070521705227052370524705257052670527705287052970530705317053270533705347053570536705377053870539705407054170542705437054470545705467054770548705497055070551705527055370554705557055670557705587055970560705617056270563705647056570566705677056870569705707057170572705737057470575705767057770578705797058070581705827058370584705857058670587705887058970590705917059270593705947059570596705977059870599706007060170602706037060470605706067060770608706097061070611706127061370614706157061670617706187061970620706217062270623706247062570626706277062870629706307063170632706337063470635706367063770638706397064070641706427064370644706457064670647706487064970650706517065270653706547065570656706577065870659706607066170662706637066470665706667066770668706697067070671706727067370674706757067670677706787067970680706817068270683706847068570686706877068870689706907069170692706937069470695706967069770698706997070070701707027070370704707057070670707707087070970710707117071270713707147071570716707177071870719707207072170722707237072470725707267072770728707297073070731707327073370734707357073670737707387073970740707417074270743707447074570746707477074870749707507075170752707537075470755707567075770758707597076070761707627076370764707657076670767707687076970770707717077270773707747077570776707777077870779707807078170782707837078470785707867078770788707897079070791707927079370794707957079670797707987079970800708017080270803708047080570806708077080870809708107081170812708137081470815708167081770818708197082070821708227082370824708257082670827708287082970830708317083270833708347083570836708377083870839708407084170842708437084470845708467084770848708497085070851708527085370854708557085670857708587085970860708617086270863708647086570866708677086870869708707087170872708737087470875708767087770878708797088070881708827088370884708857088670887708887088970890708917089270893708947089570896708977089870899709007090170902709037090470905709067090770908709097091070911709127091370914709157091670917709187091970920709217092270923709247092570926709277092870929709307093170932709337093470935709367093770938709397094070941709427094370944709457094670947709487094970950709517095270953709547095570956709577095870959709607096170962709637096470965709667096770968709697097070971709727097370974709757097670977709787097970980709817098270983709847098570986709877098870989709907099170992709937099470995709967099770998709997100071001710027100371004710057100671007710087100971010710117101271013710147101571016710177101871019710207102171022710237102471025710267102771028710297103071031710327103371034710357103671037710387103971040710417104271043710447104571046710477104871049710507105171052710537105471055710567105771058710597106071061710627106371064710657106671067710687106971070710717107271073710747107571076710777107871079710807108171082710837108471085710867108771088710897109071091710927109371094710957109671097710987109971100711017110271103711047110571106711077110871109711107111171112711137111471115711167111771118711197112071121711227112371124711257112671127711287112971130711317113271133711347113571136711377113871139711407114171142711437114471145711467114771148711497115071151711527115371154711557115671157711587115971160711617116271163711647116571166711677116871169711707117171172711737117471175711767117771178711797118071181711827118371184711857118671187711887118971190711917119271193711947119571196711977119871199712007120171202712037120471205712067120771208712097121071211712127121371214712157121671217712187121971220712217122271223712247122571226712277122871229712307123171232712337123471235712367123771238712397124071241712427124371244712457124671247712487124971250712517125271253712547125571256712577125871259712607126171262712637126471265712667126771268712697127071271712727127371274712757127671277712787127971280712817128271283712847128571286712877128871289712907129171292712937129471295712967129771298712997130071301713027130371304713057130671307713087130971310713117131271313713147131571316713177131871319713207132171322713237132471325713267132771328713297133071331713327133371334713357133671337713387133971340713417134271343713447134571346713477134871349713507135171352713537135471355713567135771358713597136071361713627136371364713657136671367713687136971370713717137271373713747137571376713777137871379713807138171382713837138471385713867138771388713897139071391713927139371394713957139671397713987139971400714017140271403714047140571406714077140871409714107141171412714137141471415714167141771418714197142071421714227142371424714257142671427714287142971430714317143271433714347143571436714377143871439714407144171442714437144471445714467144771448714497145071451714527145371454714557145671457714587145971460714617146271463714647146571466714677146871469714707147171472714737147471475714767147771478714797148071481714827148371484714857148671487714887148971490714917149271493714947149571496714977149871499715007150171502715037150471505715067150771508715097151071511715127151371514715157151671517715187151971520715217152271523715247152571526715277152871529715307153171532715337153471535715367153771538715397154071541715427154371544715457154671547715487154971550715517155271553715547155571556715577155871559715607156171562715637156471565715667156771568715697157071571715727157371574715757157671577715787157971580715817158271583715847158571586715877158871589715907159171592715937159471595715967159771598715997160071601716027160371604716057160671607716087160971610716117161271613716147161571616716177161871619716207162171622716237162471625716267162771628716297163071631716327163371634716357163671637716387163971640716417164271643716447164571646716477164871649716507165171652716537165471655716567165771658716597166071661716627166371664716657166671667716687166971670716717167271673716747167571676716777167871679716807168171682716837168471685716867168771688716897169071691716927169371694716957169671697716987169971700717017170271703717047170571706717077170871709717107171171712717137171471715717167171771718717197172071721717227172371724717257172671727717287172971730717317173271733717347173571736717377173871739717407174171742717437174471745717467174771748717497175071751717527175371754717557175671757717587175971760717617176271763717647176571766717677176871769717707177171772717737177471775717767177771778717797178071781717827178371784717857178671787717887178971790717917179271793717947179571796717977179871799718007180171802718037180471805718067180771808718097181071811718127181371814718157181671817718187181971820718217182271823718247182571826718277182871829718307183171832718337183471835718367183771838718397184071841718427184371844718457184671847718487184971850718517185271853718547185571856718577185871859718607186171862718637186471865718667186771868718697187071871718727187371874718757187671877718787187971880718817188271883718847188571886718877188871889718907189171892718937189471895718967189771898718997190071901719027190371904719057190671907719087190971910719117191271913719147191571916719177191871919719207192171922719237192471925719267192771928719297193071931719327193371934719357193671937719387193971940719417194271943719447194571946719477194871949719507195171952719537195471955719567195771958719597196071961719627196371964719657196671967719687196971970719717197271973719747197571976719777197871979719807198171982719837198471985719867198771988719897199071991719927199371994719957199671997719987199972000720017200272003720047200572006720077200872009720107201172012720137201472015720167201772018720197202072021720227202372024720257202672027720287202972030720317203272033720347203572036720377203872039720407204172042720437204472045720467204772048720497205072051720527205372054720557205672057720587205972060720617206272063720647206572066720677206872069720707207172072720737207472075720767207772078720797208072081720827208372084720857208672087720887208972090720917209272093720947209572096720977209872099721007210172102721037210472105721067210772108721097211072111721127211372114721157211672117721187211972120721217212272123721247212572126721277212872129721307213172132721337213472135721367213772138721397214072141721427214372144721457214672147721487214972150721517215272153721547215572156721577215872159721607216172162721637216472165721667216772168721697217072171721727217372174721757217672177721787217972180721817218272183721847218572186721877218872189721907219172192721937219472195721967219772198721997220072201722027220372204722057220672207722087220972210722117221272213722147221572216722177221872219722207222172222722237222472225722267222772228722297223072231722327223372234722357223672237722387223972240722417224272243722447224572246722477224872249722507225172252722537225472255722567225772258722597226072261722627226372264722657226672267722687226972270722717227272273722747227572276722777227872279722807228172282722837228472285722867228772288722897229072291722927229372294722957229672297722987229972300723017230272303723047230572306723077230872309723107231172312723137231472315723167231772318723197232072321723227232372324723257232672327723287232972330723317233272333723347233572336723377233872339723407234172342723437234472345723467234772348723497235072351723527235372354723557235672357723587235972360723617236272363723647236572366723677236872369723707237172372723737237472375723767237772378723797238072381723827238372384723857238672387723887238972390723917239272393723947239572396723977239872399724007240172402724037240472405724067240772408724097241072411724127241372414724157241672417724187241972420724217242272423724247242572426724277242872429724307243172432724337243472435724367243772438724397244072441724427244372444724457244672447724487244972450724517245272453724547245572456724577245872459724607246172462724637246472465724667246772468724697247072471724727247372474724757247672477724787247972480724817248272483724847248572486724877248872489724907249172492724937249472495724967249772498724997250072501725027250372504725057250672507725087250972510725117251272513725147251572516725177251872519725207252172522725237252472525725267252772528725297253072531725327253372534725357253672537725387253972540725417254272543725447254572546725477254872549725507255172552725537255472555725567255772558725597256072561725627256372564725657256672567725687256972570725717257272573725747257572576725777257872579725807258172582725837258472585725867258772588725897259072591725927259372594725957259672597725987259972600726017260272603726047260572606726077260872609726107261172612726137261472615726167261772618726197262072621726227262372624726257262672627726287262972630726317263272633726347263572636726377263872639726407264172642726437264472645726467264772648726497265072651726527265372654726557265672657726587265972660726617266272663726647266572666726677266872669726707267172672726737267472675726767267772678726797268072681726827268372684726857268672687726887268972690726917269272693726947269572696726977269872699727007270172702727037270472705727067270772708727097271072711727127271372714727157271672717727187271972720727217272272723727247272572726727277272872729727307273172732727337273472735727367273772738727397274072741727427274372744727457274672747727487274972750727517275272753727547275572756727577275872759727607276172762727637276472765727667276772768727697277072771727727277372774727757277672777727787277972780727817278272783727847278572786727877278872789727907279172792727937279472795727967279772798727997280072801728027280372804728057280672807728087280972810728117281272813728147281572816728177281872819728207282172822728237282472825728267282772828728297283072831728327283372834728357283672837728387283972840728417284272843728447284572846728477284872849728507285172852728537285472855728567285772858728597286072861728627286372864728657286672867728687286972870728717287272873728747287572876728777287872879728807288172882728837288472885728867288772888728897289072891728927289372894728957289672897728987289972900729017290272903729047290572906729077290872909729107291172912729137291472915729167291772918729197292072921729227292372924729257292672927729287292972930729317293272933729347293572936729377293872939729407294172942729437294472945729467294772948729497295072951729527295372954729557295672957729587295972960729617296272963729647296572966729677296872969729707297172972729737297472975729767297772978729797298072981729827298372984729857298672987729887298972990729917299272993729947299572996729977299872999730007300173002730037300473005730067300773008730097301073011730127301373014730157301673017730187301973020730217302273023730247302573026730277302873029730307303173032730337303473035730367303773038730397304073041730427304373044730457304673047730487304973050730517305273053730547305573056730577305873059730607306173062730637306473065730667306773068730697307073071730727307373074730757307673077730787307973080730817308273083730847308573086730877308873089730907309173092730937309473095730967309773098730997310073101731027310373104731057310673107731087310973110731117311273113731147311573116731177311873119731207312173122731237312473125731267312773128731297313073131731327313373134731357313673137731387313973140731417314273143731447314573146731477314873149731507315173152731537315473155731567315773158731597316073161731627316373164731657316673167731687316973170731717317273173731747317573176731777317873179731807318173182731837318473185731867318773188731897319073191731927319373194731957319673197731987319973200732017320273203732047320573206732077320873209732107321173212732137321473215732167321773218732197322073221732227322373224732257322673227732287322973230732317323273233732347323573236732377323873239732407324173242732437324473245732467324773248732497325073251732527325373254732557325673257732587325973260732617326273263732647326573266732677326873269732707327173272732737327473275732767327773278732797328073281732827328373284732857328673287732887328973290732917329273293732947329573296732977329873299733007330173302733037330473305733067330773308733097331073311733127331373314733157331673317733187331973320733217332273323733247332573326733277332873329733307333173332733337333473335733367333773338733397334073341733427334373344733457334673347733487334973350733517335273353733547335573356733577335873359733607336173362733637336473365733667336773368733697337073371733727337373374733757337673377733787337973380733817338273383733847338573386733877338873389733907339173392733937339473395733967339773398733997340073401734027340373404734057340673407734087340973410734117341273413734147341573416734177341873419734207342173422734237342473425734267342773428734297343073431734327343373434734357343673437734387343973440734417344273443734447344573446734477344873449734507345173452734537345473455734567345773458734597346073461734627346373464734657346673467734687346973470734717347273473734747347573476734777347873479734807348173482734837348473485734867348773488734897349073491734927349373494734957349673497734987349973500735017350273503735047350573506735077350873509735107351173512735137351473515735167351773518735197352073521735227352373524735257352673527735287352973530735317353273533735347353573536735377353873539735407354173542735437354473545735467354773548735497355073551735527355373554735557355673557735587355973560735617356273563735647356573566735677356873569735707357173572735737357473575735767357773578735797358073581735827358373584735857358673587735887358973590735917359273593735947359573596735977359873599736007360173602736037360473605736067360773608736097361073611736127361373614736157361673617736187361973620736217362273623736247362573626736277362873629736307363173632736337363473635736367363773638736397364073641736427364373644736457364673647736487364973650736517365273653736547365573656736577365873659736607366173662736637366473665736667366773668736697367073671736727367373674736757367673677736787367973680736817368273683736847368573686736877368873689736907369173692736937369473695736967369773698736997370073701737027370373704737057370673707737087370973710737117371273713737147371573716737177371873719737207372173722737237372473725737267372773728737297373073731737327373373734737357373673737737387373973740737417374273743737447374573746737477374873749737507375173752737537375473755737567375773758737597376073761737627376373764737657376673767737687376973770737717377273773737747377573776737777377873779737807378173782737837378473785737867378773788737897379073791737927379373794737957379673797737987379973800738017380273803738047380573806738077380873809738107381173812738137381473815738167381773818738197382073821738227382373824738257382673827738287382973830738317383273833738347383573836738377383873839738407384173842738437384473845738467384773848738497385073851738527385373854738557385673857738587385973860738617386273863738647386573866738677386873869738707387173872738737387473875738767387773878738797388073881738827388373884738857388673887738887388973890738917389273893738947389573896738977389873899739007390173902739037390473905739067390773908739097391073911739127391373914739157391673917739187391973920739217392273923739247392573926739277392873929739307393173932739337393473935739367393773938739397394073941739427394373944739457394673947739487394973950739517395273953739547395573956739577395873959739607396173962739637396473965739667396773968739697397073971739727397373974739757397673977739787397973980739817398273983739847398573986739877398873989739907399173992739937399473995739967399773998739997400074001740027400374004740057400674007740087400974010740117401274013740147401574016740177401874019740207402174022740237402474025740267402774028740297403074031740327403374034740357403674037740387403974040740417404274043740447404574046740477404874049740507405174052740537405474055740567405774058740597406074061740627406374064740657406674067740687406974070740717407274073740747407574076740777407874079740807408174082740837408474085740867408774088740897409074091740927409374094740957409674097740987409974100741017410274103741047410574106741077410874109741107411174112741137411474115741167411774118741197412074121741227412374124741257412674127741287412974130741317413274133741347413574136741377413874139741407414174142741437414474145741467414774148741497415074151741527415374154741557415674157741587415974160741617416274163741647416574166741677416874169741707417174172741737417474175741767417774178741797418074181741827418374184741857418674187741887418974190741917419274193741947419574196741977419874199742007420174202742037420474205742067420774208742097421074211742127421374214742157421674217742187421974220742217422274223742247422574226742277422874229742307423174232742337423474235742367423774238742397424074241742427424374244742457424674247742487424974250742517425274253742547425574256742577425874259742607426174262742637426474265742667426774268742697427074271742727427374274742757427674277742787427974280742817428274283742847428574286742877428874289742907429174292742937429474295742967429774298742997430074301743027430374304743057430674307743087430974310743117431274313743147431574316743177431874319743207432174322743237432474325743267432774328743297433074331743327433374334743357433674337743387433974340743417434274343743447434574346743477434874349743507435174352743537435474355743567435774358743597436074361743627436374364743657436674367743687436974370743717437274373743747437574376743777437874379743807438174382743837438474385743867438774388743897439074391743927439374394743957439674397743987439974400744017440274403744047440574406744077440874409744107441174412744137441474415744167441774418744197442074421744227442374424744257442674427744287442974430744317443274433744347443574436744377443874439744407444174442744437444474445744467444774448744497445074451744527445374454744557445674457744587445974460744617446274463744647446574466744677446874469744707447174472744737447474475744767447774478744797448074481744827448374484744857448674487744887448974490744917449274493744947449574496744977449874499745007450174502745037450474505745067450774508745097451074511745127451374514745157451674517745187451974520745217452274523745247452574526745277452874529745307453174532745337453474535745367453774538745397454074541745427454374544745457454674547745487454974550745517455274553745547455574556745577455874559745607456174562745637456474565745667456774568745697457074571745727457374574745757457674577745787457974580745817458274583745847458574586745877458874589745907459174592745937459474595745967459774598745997460074601746027460374604746057460674607746087460974610746117461274613746147461574616746177461874619746207462174622746237462474625746267462774628746297463074631746327463374634746357463674637746387463974640746417464274643746447464574646746477464874649746507465174652746537465474655746567465774658746597466074661746627466374664746657466674667746687466974670746717467274673746747467574676746777467874679746807468174682746837468474685746867468774688746897469074691746927469374694746957469674697746987469974700747017470274703747047470574706747077470874709747107471174712747137471474715747167471774718747197472074721747227472374724747257472674727747287472974730747317473274733747347473574736747377473874739747407474174742747437474474745747467474774748747497475074751747527475374754747557475674757747587475974760747617476274763747647476574766747677476874769747707477174772747737477474775747767477774778747797478074781747827478374784747857478674787747887478974790747917479274793747947479574796747977479874799748007480174802748037480474805748067480774808748097481074811748127481374814748157481674817748187481974820748217482274823748247482574826748277482874829748307483174832748337483474835748367483774838748397484074841748427484374844748457484674847748487484974850748517485274853748547485574856748577485874859748607486174862748637486474865748667486774868748697487074871748727487374874748757487674877748787487974880748817488274883748847488574886748877488874889748907489174892748937489474895748967489774898748997490074901749027490374904749057490674907749087490974910749117491274913749147491574916749177491874919749207492174922749237492474925749267492774928749297493074931749327493374934749357493674937749387493974940749417494274943749447494574946749477494874949749507495174952749537495474955749567495774958749597496074961749627496374964749657496674967749687496974970749717497274973749747497574976749777497874979749807498174982749837498474985749867498774988749897499074991749927499374994749957499674997749987499975000750017500275003750047500575006750077500875009750107501175012750137501475015750167501775018750197502075021750227502375024750257502675027750287502975030750317503275033750347503575036750377503875039750407504175042750437504475045750467504775048750497505075051750527505375054750557505675057750587505975060750617506275063750647506575066750677506875069750707507175072750737507475075750767507775078750797508075081750827508375084750857508675087750887508975090750917509275093750947509575096750977509875099751007510175102751037510475105751067510775108751097511075111751127511375114751157511675117751187511975120751217512275123751247512575126751277512875129751307513175132751337513475135751367513775138751397514075141751427514375144751457514675147751487514975150751517515275153751547515575156751577515875159751607516175162751637516475165751667516775168751697517075171751727517375174751757517675177751787517975180751817518275183751847518575186751877518875189751907519175192751937519475195751967519775198751997520075201752027520375204752057520675207752087520975210752117521275213752147521575216752177521875219752207522175222752237522475225752267522775228752297523075231752327523375234752357523675237752387523975240752417524275243752447524575246752477524875249752507525175252752537525475255752567525775258752597526075261752627526375264752657526675267752687526975270752717527275273752747527575276752777527875279752807528175282752837528475285752867528775288752897529075291752927529375294752957529675297752987529975300753017530275303753047530575306753077530875309753107531175312753137531475315753167531775318753197532075321753227532375324753257532675327753287532975330753317533275333753347533575336753377533875339753407534175342753437534475345753467534775348753497535075351753527535375354753557535675357753587535975360753617536275363753647536575366753677536875369753707537175372753737537475375753767537775378753797538075381753827538375384753857538675387753887538975390753917539275393753947539575396753977539875399754007540175402754037540475405754067540775408754097541075411754127541375414754157541675417754187541975420754217542275423754247542575426754277542875429754307543175432754337543475435754367543775438754397544075441754427544375444754457544675447754487544975450754517545275453754547545575456754577545875459754607546175462754637546475465754667546775468754697547075471754727547375474754757547675477754787547975480754817548275483754847548575486754877548875489754907549175492754937549475495754967549775498754997550075501755027550375504755057550675507755087550975510755117551275513755147551575516755177551875519755207552175522755237552475525755267552775528755297553075531755327553375534755357553675537755387553975540755417554275543755447554575546755477554875549755507555175552755537555475555755567555775558755597556075561755627556375564755657556675567755687556975570755717557275573755747557575576755777557875579755807558175582755837558475585755867558775588755897559075591755927559375594755957559675597755987559975600756017560275603756047560575606756077560875609756107561175612756137561475615756167561775618756197562075621756227562375624756257562675627756287562975630756317563275633756347563575636756377563875639756407564175642756437564475645756467564775648756497565075651756527565375654756557565675657756587565975660756617566275663756647566575666756677566875669756707567175672756737567475675756767567775678756797568075681756827568375684756857568675687756887568975690756917569275693756947569575696756977569875699757007570175702757037570475705757067570775708757097571075711757127571375714757157571675717757187571975720757217572275723757247572575726757277572875729757307573175732757337573475735757367573775738757397574075741757427574375744757457574675747757487574975750757517575275753757547575575756757577575875759757607576175762757637576475765757667576775768757697577075771757727577375774757757577675777757787577975780757817578275783757847578575786757877578875789757907579175792757937579475795757967579775798757997580075801758027580375804758057580675807758087580975810758117581275813758147581575816758177581875819758207582175822758237582475825758267582775828758297583075831758327583375834758357583675837758387583975840758417584275843758447584575846758477584875849758507585175852758537585475855758567585775858758597586075861758627586375864758657586675867758687586975870758717587275873758747587575876758777587875879758807588175882758837588475885758867588775888758897589075891758927589375894758957589675897758987589975900759017590275903759047590575906759077590875909759107591175912759137591475915759167591775918759197592075921759227592375924759257592675927759287592975930759317593275933759347593575936759377593875939759407594175942759437594475945759467594775948759497595075951759527595375954759557595675957759587595975960759617596275963759647596575966759677596875969759707597175972759737597475975759767597775978759797598075981759827598375984759857598675987759887598975990759917599275993759947599575996759977599875999760007600176002760037600476005760067600776008760097601076011760127601376014760157601676017760187601976020760217602276023760247602576026760277602876029760307603176032760337603476035760367603776038760397604076041760427604376044760457604676047760487604976050760517605276053760547605576056760577605876059760607606176062760637606476065760667606776068760697607076071760727607376074760757607676077760787607976080760817608276083760847608576086760877608876089760907609176092760937609476095760967609776098760997610076101761027610376104761057610676107761087610976110761117611276113761147611576116761177611876119761207612176122761237612476125761267612776128761297613076131761327613376134761357613676137761387613976140761417614276143761447614576146761477614876149761507615176152761537615476155761567615776158761597616076161761627616376164761657616676167761687616976170761717617276173761747617576176761777617876179761807618176182761837618476185761867618776188761897619076191761927619376194761957619676197761987619976200762017620276203762047620576206762077620876209762107621176212762137621476215762167621776218762197622076221762227622376224762257622676227762287622976230762317623276233762347623576236762377623876239762407624176242762437624476245762467624776248762497625076251762527625376254762557625676257762587625976260762617626276263762647626576266762677626876269762707627176272762737627476275762767627776278762797628076281762827628376284762857628676287762887628976290762917629276293762947629576296762977629876299763007630176302763037630476305763067630776308763097631076311763127631376314763157631676317763187631976320763217632276323763247632576326763277632876329763307633176332763337633476335763367633776338763397634076341763427634376344763457634676347763487634976350763517635276353763547635576356763577635876359763607636176362763637636476365763667636776368763697637076371763727637376374763757637676377763787637976380763817638276383763847638576386763877638876389763907639176392763937639476395763967639776398763997640076401764027640376404764057640676407764087640976410764117641276413764147641576416764177641876419764207642176422764237642476425764267642776428764297643076431764327643376434764357643676437764387643976440764417644276443764447644576446764477644876449764507645176452764537645476455764567645776458764597646076461764627646376464764657646676467764687646976470764717647276473764747647576476764777647876479764807648176482764837648476485764867648776488764897649076491764927649376494764957649676497764987649976500765017650276503765047650576506765077650876509765107651176512765137651476515765167651776518765197652076521765227652376524765257652676527765287652976530765317653276533765347653576536765377653876539765407654176542765437654476545765467654776548765497655076551765527655376554765557655676557765587655976560765617656276563765647656576566765677656876569765707657176572765737657476575765767657776578765797658076581765827658376584765857658676587765887658976590765917659276593765947659576596765977659876599766007660176602766037660476605766067660776608766097661076611766127661376614766157661676617766187661976620766217662276623766247662576626766277662876629766307663176632766337663476635766367663776638766397664076641766427664376644766457664676647766487664976650766517665276653766547665576656766577665876659766607666176662766637666476665766667666776668766697667076671766727667376674766757667676677766787667976680766817668276683766847668576686766877668876689766907669176692766937669476695766967669776698766997670076701767027670376704767057670676707767087670976710767117671276713767147671576716767177671876719767207672176722767237672476725767267672776728767297673076731767327673376734767357673676737767387673976740767417674276743767447674576746767477674876749767507675176752767537675476755767567675776758767597676076761767627676376764767657676676767767687676976770767717677276773767747677576776767777677876779767807678176782767837678476785767867678776788767897679076791767927679376794767957679676797767987679976800768017680276803768047680576806768077680876809768107681176812768137681476815768167681776818768197682076821768227682376824768257682676827768287682976830768317683276833768347683576836768377683876839768407684176842768437684476845768467684776848768497685076851768527685376854768557685676857768587685976860768617686276863768647686576866768677686876869768707687176872768737687476875768767687776878768797688076881768827688376884768857688676887768887688976890768917689276893768947689576896768977689876899769007690176902769037690476905769067690776908769097691076911769127691376914769157691676917769187691976920769217692276923769247692576926769277692876929769307693176932769337693476935769367693776938769397694076941769427694376944769457694676947769487694976950769517695276953769547695576956769577695876959769607696176962769637696476965769667696776968769697697076971769727697376974769757697676977769787697976980769817698276983769847698576986769877698876989769907699176992769937699476995769967699776998769997700077001770027700377004770057700677007770087700977010770117701277013770147701577016770177701877019770207702177022770237702477025770267702777028770297703077031770327703377034770357703677037770387703977040770417704277043770447704577046770477704877049770507705177052770537705477055770567705777058770597706077061770627706377064770657706677067770687706977070770717707277073770747707577076770777707877079770807708177082770837708477085770867708777088770897709077091770927709377094770957709677097770987709977100771017710277103771047710577106771077710877109771107711177112771137711477115771167711777118771197712077121771227712377124771257712677127771287712977130771317713277133771347713577136771377713877139771407714177142771437714477145771467714777148771497715077151771527715377154771557715677157771587715977160771617716277163771647716577166771677716877169771707717177172771737717477175771767717777178771797718077181771827718377184771857718677187771887718977190771917719277193771947719577196771977719877199772007720177202772037720477205772067720777208772097721077211772127721377214772157721677217772187721977220772217722277223772247722577226772277722877229772307723177232772337723477235772367723777238772397724077241772427724377244772457724677247772487724977250772517725277253772547725577256772577725877259772607726177262772637726477265772667726777268772697727077271772727727377274772757727677277772787727977280772817728277283772847728577286772877728877289772907729177292772937729477295772967729777298772997730077301773027730377304773057730677307773087730977310773117731277313773147731577316773177731877319773207732177322773237732477325773267732777328773297733077331773327733377334773357733677337773387733977340773417734277343773447734577346773477734877349773507735177352773537735477355773567735777358773597736077361773627736377364773657736677367773687736977370773717737277373773747737577376773777737877379773807738177382773837738477385773867738777388773897739077391773927739377394773957739677397773987739977400774017740277403774047740577406774077740877409774107741177412774137741477415774167741777418774197742077421774227742377424774257742677427774287742977430774317743277433774347743577436774377743877439774407744177442774437744477445774467744777448774497745077451774527745377454774557745677457774587745977460774617746277463774647746577466774677746877469774707747177472774737747477475774767747777478774797748077481774827748377484774857748677487774887748977490774917749277493774947749577496774977749877499775007750177502775037750477505775067750777508775097751077511775127751377514775157751677517775187751977520775217752277523775247752577526775277752877529775307753177532775337753477535775367753777538775397754077541775427754377544775457754677547775487754977550775517755277553775547755577556775577755877559775607756177562775637756477565775667756777568775697757077571775727757377574775757757677577775787757977580775817758277583775847758577586775877758877589775907759177592775937759477595775967759777598775997760077601776027760377604776057760677607776087760977610776117761277613776147761577616776177761877619776207762177622776237762477625776267762777628776297763077631776327763377634776357763677637776387763977640776417764277643776447764577646776477764877649776507765177652776537765477655776567765777658776597766077661776627766377664776657766677667776687766977670776717767277673776747767577676776777767877679776807768177682776837768477685776867768777688776897769077691776927769377694776957769677697776987769977700777017770277703777047770577706777077770877709777107771177712777137771477715777167771777718777197772077721777227772377724777257772677727777287772977730777317773277733777347773577736777377773877739777407774177742777437774477745777467774777748777497775077751777527775377754777557775677757777587775977760777617776277763777647776577766777677776877769777707777177772777737777477775777767777777778777797778077781777827778377784777857778677787777887778977790777917779277793777947779577796777977779877799778007780177802778037780477805778067780777808778097781077811778127781377814778157781677817778187781977820778217782277823778247782577826778277782877829778307783177832778337783477835778367783777838778397784077841778427784377844778457784677847778487784977850778517785277853778547785577856778577785877859778607786177862778637786477865778667786777868778697787077871778727787377874778757787677877778787787977880778817788277883778847788577886778877788877889778907789177892778937789477895778967789777898778997790077901779027790377904779057790677907779087790977910779117791277913779147791577916779177791877919779207792177922779237792477925779267792777928779297793077931779327793377934779357793677937779387793977940779417794277943779447794577946779477794877949779507795177952779537795477955779567795777958779597796077961779627796377964779657796677967779687796977970779717797277973779747797577976779777797877979779807798177982779837798477985779867798777988779897799077991779927799377994779957799677997779987799978000780017800278003780047800578006780077800878009780107801178012780137801478015780167801778018780197802078021780227802378024780257802678027780287802978030780317803278033780347803578036780377803878039780407804178042780437804478045780467804778048780497805078051780527805378054780557805678057780587805978060780617806278063780647806578066780677806878069780707807178072780737807478075780767807778078780797808078081780827808378084780857808678087780887808978090780917809278093780947809578096780977809878099781007810178102781037810478105781067810778108781097811078111781127811378114781157811678117781187811978120781217812278123781247812578126781277812878129781307813178132781337813478135781367813778138781397814078141781427814378144781457814678147781487814978150781517815278153781547815578156781577815878159781607816178162781637816478165781667816778168781697817078171781727817378174781757817678177781787817978180781817818278183781847818578186781877818878189781907819178192781937819478195781967819778198781997820078201782027820378204782057820678207782087820978210782117821278213782147821578216782177821878219782207822178222782237822478225782267822778228782297823078231782327823378234782357823678237782387823978240782417824278243782447824578246782477824878249782507825178252782537825478255782567825778258782597826078261782627826378264782657826678267782687826978270782717827278273782747827578276782777827878279782807828178282782837828478285782867828778288782897829078291782927829378294782957829678297782987829978300783017830278303783047830578306783077830878309783107831178312783137831478315783167831778318783197832078321783227832378324783257832678327783287832978330783317833278333783347833578336783377833878339783407834178342783437834478345783467834778348783497835078351783527835378354783557835678357783587835978360783617836278363783647836578366783677836878369783707837178372783737837478375783767837778378783797838078381783827838378384783857838678387783887838978390783917839278393783947839578396783977839878399784007840178402784037840478405784067840778408784097841078411784127841378414784157841678417784187841978420784217842278423784247842578426784277842878429784307843178432784337843478435784367843778438784397844078441784427844378444784457844678447784487844978450784517845278453784547845578456784577845878459784607846178462784637846478465784667846778468784697847078471784727847378474784757847678477784787847978480784817848278483784847848578486784877848878489784907849178492784937849478495784967849778498784997850078501785027850378504785057850678507785087850978510785117851278513785147851578516785177851878519785207852178522785237852478525785267852778528785297853078531785327853378534785357853678537785387853978540785417854278543785447854578546785477854878549785507855178552785537855478555785567855778558785597856078561785627856378564785657856678567785687856978570785717857278573785747857578576785777857878579785807858178582785837858478585785867858778588785897859078591785927859378594785957859678597785987859978600786017860278603786047860578606786077860878609786107861178612786137861478615786167861778618786197862078621786227862378624786257862678627786287862978630786317863278633786347863578636786377863878639786407864178642786437864478645786467864778648786497865078651786527865378654786557865678657786587865978660786617866278663786647866578666786677866878669786707867178672786737867478675786767867778678786797868078681786827868378684786857868678687786887868978690786917869278693786947869578696786977869878699787007870178702787037870478705787067870778708787097871078711787127871378714787157871678717787187871978720787217872278723787247872578726787277872878729787307873178732787337873478735787367873778738787397874078741787427874378744787457874678747787487874978750787517875278753787547875578756787577875878759787607876178762787637876478765787667876778768787697877078771787727877378774787757877678777787787877978780787817878278783787847878578786787877878878789787907879178792787937879478795787967879778798787997880078801788027880378804788057880678807788087880978810788117881278813788147881578816788177881878819788207882178822788237882478825788267882778828788297883078831788327883378834788357883678837788387883978840788417884278843788447884578846788477884878849788507885178852788537885478855788567885778858788597886078861788627886378864788657886678867788687886978870788717887278873788747887578876788777887878879788807888178882788837888478885788867888778888788897889078891788927889378894788957889678897788987889978900789017890278903789047890578906789077890878909789107891178912789137891478915789167891778918789197892078921789227892378924789257892678927789287892978930789317893278933789347893578936789377893878939789407894178942789437894478945789467894778948789497895078951789527895378954789557895678957789587895978960789617896278963789647896578966789677896878969789707897178972789737897478975789767897778978789797898078981789827898378984789857898678987789887898978990789917899278993789947899578996789977899878999790007900179002790037900479005790067900779008790097901079011790127901379014790157901679017790187901979020790217902279023790247902579026790277902879029790307903179032790337903479035790367903779038790397904079041790427904379044790457904679047790487904979050790517905279053790547905579056790577905879059790607906179062790637906479065790667906779068790697907079071790727907379074790757907679077790787907979080790817908279083790847908579086790877908879089790907909179092790937909479095790967909779098790997910079101791027910379104791057910679107791087910979110791117911279113791147911579116791177911879119791207912179122791237912479125791267912779128791297913079131791327913379134791357913679137791387913979140791417914279143791447914579146791477914879149791507915179152791537915479155791567915779158791597916079161791627916379164791657916679167791687916979170791717917279173791747917579176791777917879179791807918179182791837918479185791867918779188791897919079191791927919379194791957919679197791987919979200792017920279203792047920579206792077920879209792107921179212792137921479215792167921779218792197922079221792227922379224792257922679227792287922979230792317923279233792347923579236792377923879239792407924179242792437924479245792467924779248792497925079251792527925379254792557925679257792587925979260792617926279263792647926579266792677926879269792707927179272792737927479275792767927779278792797928079281792827928379284792857928679287792887928979290792917929279293792947929579296792977929879299793007930179302793037930479305793067930779308793097931079311793127931379314793157931679317793187931979320793217932279323793247932579326793277932879329793307933179332793337933479335793367933779338793397934079341793427934379344793457934679347793487934979350793517935279353793547935579356793577935879359793607936179362793637936479365793667936779368793697937079371793727937379374793757937679377793787937979380793817938279383793847938579386793877938879389793907939179392793937939479395793967939779398793997940079401794027940379404794057940679407794087940979410794117941279413794147941579416794177941879419794207942179422794237942479425794267942779428794297943079431794327943379434794357943679437794387943979440794417944279443794447944579446794477944879449794507945179452794537945479455794567945779458794597946079461794627946379464794657946679467794687946979470794717947279473794747947579476794777947879479794807948179482794837948479485794867948779488794897949079491794927949379494794957949679497794987949979500795017950279503795047950579506795077950879509795107951179512795137951479515795167951779518795197952079521795227952379524795257952679527795287952979530795317953279533795347953579536795377953879539795407954179542795437954479545795467954779548795497955079551795527955379554795557955679557795587955979560795617956279563795647956579566795677956879569795707957179572795737957479575795767957779578795797958079581795827958379584795857958679587795887958979590795917959279593795947959579596795977959879599796007960179602796037960479605796067960779608796097961079611796127961379614796157961679617796187961979620796217962279623796247962579626796277962879629796307963179632796337963479635796367963779638796397964079641796427964379644796457964679647796487964979650796517965279653796547965579656796577965879659796607966179662796637966479665796667966779668796697967079671796727967379674796757967679677796787967979680796817968279683796847968579686796877968879689796907969179692796937969479695796967969779698796997970079701797027970379704797057970679707797087970979710797117971279713797147971579716797177971879719797207972179722797237972479725797267972779728797297973079731797327973379734797357973679737797387973979740797417974279743797447974579746797477974879749797507975179752797537975479755797567975779758797597976079761797627976379764797657976679767797687976979770797717977279773797747977579776797777977879779797807978179782797837978479785797867978779788797897979079791797927979379794797957979679797797987979979800798017980279803798047980579806798077980879809798107981179812798137981479815798167981779818798197982079821798227982379824798257982679827798287982979830798317983279833798347983579836798377983879839798407984179842798437984479845798467984779848798497985079851798527985379854798557985679857798587985979860798617986279863798647986579866798677986879869798707987179872798737987479875798767987779878798797988079881798827988379884798857988679887798887988979890798917989279893798947989579896798977989879899799007990179902799037990479905799067990779908799097991079911799127991379914799157991679917799187991979920799217992279923799247992579926799277992879929799307993179932799337993479935799367993779938799397994079941799427994379944799457994679947799487994979950799517995279953799547995579956799577995879959799607996179962799637996479965799667996779968799697997079971799727997379974799757997679977799787997979980799817998279983799847998579986799877998879989799907999179992799937999479995799967999779998799998000080001800028000380004800058000680007800088000980010800118001280013800148001580016800178001880019800208002180022800238002480025800268002780028800298003080031800328003380034800358003680037800388003980040800418004280043800448004580046800478004880049800508005180052800538005480055800568005780058800598006080061800628006380064800658006680067800688006980070800718007280073800748007580076800778007880079800808008180082800838008480085800868008780088800898009080091800928009380094800958009680097800988009980100801018010280103801048010580106801078010880109801108011180112801138011480115801168011780118801198012080121801228012380124801258012680127801288012980130801318013280133801348013580136801378013880139801408014180142801438014480145801468014780148801498015080151801528015380154801558015680157801588015980160801618016280163801648016580166801678016880169801708017180172801738017480175801768017780178801798018080181801828018380184801858018680187801888018980190801918019280193801948019580196801978019880199802008020180202802038020480205802068020780208802098021080211802128021380214802158021680217802188021980220802218022280223802248022580226802278022880229802308023180232802338023480235802368023780238802398024080241802428024380244802458024680247802488024980250802518025280253802548025580256802578025880259802608026180262802638026480265802668026780268802698027080271802728027380274802758027680277802788027980280802818028280283802848028580286802878028880289802908029180292802938029480295802968029780298802998030080301803028030380304803058030680307803088030980310803118031280313803148031580316803178031880319803208032180322803238032480325803268032780328803298033080331803328033380334803358033680337803388033980340803418034280343803448034580346803478034880349803508035180352803538035480355803568035780358803598036080361803628036380364803658036680367803688036980370803718037280373803748037580376803778037880379803808038180382803838038480385803868038780388803898039080391803928039380394803958039680397803988039980400804018040280403804048040580406804078040880409804108041180412804138041480415804168041780418804198042080421804228042380424804258042680427804288042980430804318043280433804348043580436804378043880439804408044180442804438044480445804468044780448804498045080451804528045380454804558045680457804588045980460804618046280463804648046580466804678046880469804708047180472804738047480475804768047780478804798048080481804828048380484804858048680487804888048980490804918049280493804948049580496804978049880499805008050180502805038050480505805068050780508805098051080511805128051380514805158051680517805188051980520805218052280523805248052580526805278052880529805308053180532805338053480535805368053780538805398054080541805428054380544805458054680547805488054980550805518055280553805548055580556805578055880559805608056180562805638056480565805668056780568805698057080571805728057380574805758057680577805788057980580805818058280583805848058580586805878058880589805908059180592805938059480595805968059780598805998060080601806028060380604806058060680607806088060980610806118061280613806148061580616806178061880619806208062180622806238062480625806268062780628806298063080631806328063380634806358063680637806388063980640806418064280643806448064580646806478064880649806508065180652806538065480655806568065780658806598066080661806628066380664806658066680667806688066980670806718067280673806748067580676806778067880679806808068180682806838068480685806868068780688806898069080691806928069380694806958069680697806988069980700807018070280703807048070580706807078070880709807108071180712807138071480715807168071780718807198072080721807228072380724807258072680727807288072980730807318073280733807348073580736807378073880739807408074180742807438074480745807468074780748807498075080751807528075380754807558075680757807588075980760807618076280763807648076580766807678076880769807708077180772807738077480775807768077780778807798078080781807828078380784807858078680787807888078980790807918079280793807948079580796807978079880799808008080180802808038080480805808068080780808808098081080811808128081380814808158081680817808188081980820808218082280823808248082580826808278082880829808308083180832808338083480835808368083780838808398084080841808428084380844808458084680847808488084980850808518085280853808548085580856808578085880859808608086180862808638086480865808668086780868808698087080871808728087380874808758087680877808788087980880808818088280883808848088580886808878088880889808908089180892808938089480895808968089780898808998090080901809028090380904809058090680907809088090980910809118091280913809148091580916809178091880919809208092180922809238092480925809268092780928809298093080931809328093380934809358093680937809388093980940809418094280943809448094580946809478094880949809508095180952809538095480955809568095780958809598096080961809628096380964809658096680967809688096980970809718097280973809748097580976809778097880979809808098180982809838098480985809868098780988809898099080991809928099380994809958099680997809988099981000810018100281003810048100581006810078100881009810108101181012810138101481015810168101781018810198102081021810228102381024810258102681027810288102981030810318103281033810348103581036810378103881039810408104181042810438104481045810468104781048810498105081051810528105381054810558105681057810588105981060810618106281063810648106581066810678106881069810708107181072810738107481075810768107781078810798108081081810828108381084810858108681087810888108981090810918109281093810948109581096810978109881099811008110181102811038110481105811068110781108811098111081111811128111381114811158111681117811188111981120811218112281123811248112581126811278112881129811308113181132811338113481135811368113781138811398114081141811428114381144811458114681147811488114981150811518115281153811548115581156811578115881159811608116181162811638116481165811668116781168811698117081171811728117381174811758117681177811788117981180811818118281183811848118581186811878118881189811908119181192811938119481195811968119781198811998120081201812028120381204812058120681207812088120981210812118121281213812148121581216812178121881219812208122181222812238122481225812268122781228812298123081231812328123381234812358123681237812388123981240812418124281243812448124581246812478124881249812508125181252812538125481255812568125781258812598126081261812628126381264812658126681267812688126981270812718127281273812748127581276812778127881279812808128181282812838128481285812868128781288812898129081291812928129381294812958129681297812988129981300813018130281303813048130581306813078130881309813108131181312813138131481315813168131781318813198132081321813228132381324813258132681327813288132981330813318133281333813348133581336813378133881339813408134181342813438134481345813468134781348813498135081351813528135381354813558135681357813588135981360813618136281363813648136581366813678136881369813708137181372813738137481375813768137781378813798138081381813828138381384813858138681387813888138981390813918139281393813948139581396813978139881399814008140181402814038140481405814068140781408814098141081411814128141381414814158141681417814188141981420814218142281423814248142581426814278142881429814308143181432814338143481435814368143781438814398144081441814428144381444814458144681447814488144981450814518145281453814548145581456814578145881459814608146181462814638146481465814668146781468814698147081471814728147381474814758147681477814788147981480814818148281483814848148581486814878148881489814908149181492814938149481495814968149781498814998150081501815028150381504815058150681507815088150981510815118151281513815148151581516815178151881519815208152181522815238152481525815268152781528815298153081531815328153381534815358153681537815388153981540815418154281543815448154581546815478154881549815508155181552815538155481555815568155781558815598156081561815628156381564815658156681567815688156981570815718157281573815748157581576815778157881579815808158181582815838158481585815868158781588815898159081591815928159381594815958159681597815988159981600816018160281603816048160581606816078160881609816108161181612816138161481615816168161781618816198162081621816228162381624816258162681627816288162981630816318163281633816348163581636816378163881639816408164181642816438164481645816468164781648816498165081651816528165381654816558165681657816588165981660816618166281663816648166581666816678166881669816708167181672816738167481675816768167781678816798168081681816828168381684816858168681687816888168981690816918169281693816948169581696816978169881699817008170181702817038170481705817068170781708817098171081711817128171381714817158171681717817188171981720817218172281723817248172581726817278172881729817308173181732817338173481735817368173781738817398174081741817428174381744817458174681747817488174981750817518175281753817548175581756817578175881759817608176181762817638176481765817668176781768817698177081771817728177381774817758177681777817788177981780817818178281783817848178581786817878178881789817908179181792817938179481795817968179781798817998180081801818028180381804818058180681807818088180981810818118181281813818148181581816818178181881819818208182181822818238182481825818268182781828818298183081831818328183381834818358183681837818388183981840818418184281843818448184581846818478184881849818508185181852818538185481855818568185781858818598186081861818628186381864818658186681867818688186981870818718187281873818748187581876818778187881879818808188181882818838188481885818868188781888818898189081891818928189381894818958189681897818988189981900819018190281903819048190581906819078190881909819108191181912819138191481915819168191781918819198192081921819228192381924819258192681927819288192981930819318193281933819348193581936819378193881939819408194181942819438194481945819468194781948819498195081951819528195381954819558195681957819588195981960819618196281963819648196581966819678196881969819708197181972819738197481975819768197781978819798198081981819828198381984819858198681987819888198981990819918199281993819948199581996819978199881999820008200182002820038200482005820068200782008820098201082011820128201382014820158201682017820188201982020820218202282023820248202582026820278202882029820308203182032820338203482035820368203782038820398204082041820428204382044820458204682047820488204982050820518205282053820548205582056820578205882059820608206182062820638206482065820668206782068820698207082071820728207382074820758207682077820788207982080820818208282083820848208582086820878208882089820908209182092820938209482095820968209782098820998210082101821028210382104821058210682107821088210982110821118211282113821148211582116821178211882119821208212182122821238212482125821268212782128821298213082131821328213382134821358213682137821388213982140821418214282143821448214582146821478214882149821508215182152821538215482155821568215782158821598216082161821628216382164821658216682167821688216982170821718217282173821748217582176821778217882179821808218182182821838218482185821868218782188821898219082191821928219382194821958219682197821988219982200822018220282203822048220582206822078220882209822108221182212822138221482215822168221782218822198222082221822228222382224822258222682227822288222982230822318223282233822348223582236822378223882239822408224182242822438224482245822468224782248822498225082251822528225382254822558225682257822588225982260822618226282263822648226582266822678226882269822708227182272822738227482275822768227782278822798228082281822828228382284822858228682287822888228982290822918229282293822948229582296822978229882299823008230182302823038230482305823068230782308823098231082311823128231382314823158231682317823188231982320823218232282323823248232582326823278232882329823308233182332823338233482335823368233782338823398234082341823428234382344823458234682347823488234982350823518235282353823548235582356823578235882359823608236182362823638236482365823668236782368823698237082371823728237382374823758237682377823788237982380823818238282383823848238582386823878238882389823908239182392823938239482395823968239782398823998240082401824028240382404824058240682407824088240982410824118241282413824148241582416824178241882419824208242182422824238242482425824268242782428824298243082431824328243382434824358243682437824388243982440824418244282443824448244582446824478244882449824508245182452824538245482455824568245782458824598246082461824628246382464824658246682467824688246982470824718247282473824748247582476824778247882479824808248182482824838248482485824868248782488824898249082491824928249382494824958249682497824988249982500825018250282503825048250582506825078250882509825108251182512825138251482515825168251782518825198252082521825228252382524825258252682527825288252982530825318253282533825348253582536825378253882539825408254182542825438254482545825468254782548825498255082551825528255382554825558255682557825588255982560825618256282563825648256582566825678256882569825708257182572825738257482575825768257782578825798258082581825828258382584825858258682587825888258982590825918259282593825948259582596825978259882599826008260182602826038260482605826068260782608826098261082611826128261382614826158261682617826188261982620826218262282623826248262582626826278262882629826308263182632826338263482635826368263782638826398264082641826428264382644826458264682647826488264982650826518265282653826548265582656826578265882659826608266182662826638266482665826668266782668826698267082671826728267382674826758267682677826788267982680826818268282683826848268582686826878268882689826908269182692826938269482695826968269782698826998270082701827028270382704827058270682707827088270982710827118271282713827148271582716827178271882719827208272182722827238272482725827268272782728827298273082731827328273382734827358273682737827388273982740827418274282743827448274582746827478274882749827508275182752827538275482755827568275782758827598276082761827628276382764827658276682767827688276982770827718277282773827748277582776827778277882779827808278182782827838278482785827868278782788827898279082791827928279382794827958279682797827988279982800828018280282803828048280582806828078280882809828108281182812828138281482815828168281782818828198282082821828228282382824828258282682827828288282982830828318283282833828348283582836828378283882839828408284182842828438284482845828468284782848828498285082851828528285382854828558285682857828588285982860828618286282863828648286582866828678286882869828708287182872828738287482875828768287782878828798288082881828828288382884828858288682887828888288982890828918289282893828948289582896828978289882899829008290182902829038290482905829068290782908829098291082911829128291382914829158291682917829188291982920829218292282923829248292582926829278292882929829308293182932829338293482935829368293782938829398294082941829428294382944829458294682947829488294982950829518295282953829548295582956829578295882959829608296182962829638296482965829668296782968829698297082971829728297382974829758297682977829788297982980829818298282983829848298582986829878298882989829908299182992829938299482995829968299782998829998300083001830028300383004830058300683007830088300983010830118301283013830148301583016830178301883019830208302183022830238302483025830268302783028830298303083031830328303383034830358303683037830388303983040830418304283043830448304583046830478304883049830508305183052830538305483055830568305783058830598306083061830628306383064830658306683067830688306983070830718307283073830748307583076830778307883079830808308183082830838308483085830868308783088830898309083091830928309383094830958309683097830988309983100831018310283103831048310583106831078310883109831108311183112831138311483115831168311783118831198312083121831228312383124831258312683127831288312983130831318313283133831348313583136831378313883139831408314183142831438314483145831468314783148831498315083151831528315383154831558315683157831588315983160831618316283163831648316583166831678316883169831708317183172831738317483175831768317783178831798318083181831828318383184831858318683187831888318983190831918319283193831948319583196831978319883199832008320183202832038320483205832068320783208832098321083211832128321383214832158321683217832188321983220832218322283223832248322583226832278322883229832308323183232832338323483235832368323783238832398324083241832428324383244832458324683247832488324983250832518325283253832548325583256832578325883259832608326183262832638326483265832668326783268832698327083271832728327383274832758327683277832788327983280832818328283283832848328583286832878328883289832908329183292832938329483295832968329783298832998330083301833028330383304833058330683307833088330983310833118331283313833148331583316833178331883319833208332183322833238332483325833268332783328833298333083331833328333383334833358333683337833388333983340833418334283343833448334583346833478334883349833508335183352833538335483355833568335783358833598336083361833628336383364833658336683367833688336983370833718337283373833748337583376833778337883379833808338183382833838338483385833868338783388833898339083391833928339383394833958339683397833988339983400834018340283403834048340583406834078340883409834108341183412834138341483415834168341783418834198342083421834228342383424834258342683427834288342983430834318343283433834348343583436834378343883439834408344183442834438344483445834468344783448834498345083451834528345383454834558345683457834588345983460834618346283463834648346583466834678346883469834708347183472834738347483475834768347783478834798348083481834828348383484834858348683487834888348983490834918349283493834948349583496834978349883499835008350183502835038350483505835068350783508835098351083511835128351383514835158351683517835188351983520835218352283523835248352583526835278352883529835308353183532835338353483535835368353783538835398354083541835428354383544835458354683547835488354983550835518355283553835548355583556835578355883559835608356183562835638356483565835668356783568835698357083571835728357383574835758357683577835788357983580835818358283583835848358583586835878358883589835908359183592835938359483595835968359783598835998360083601836028360383604836058360683607836088360983610836118361283613836148361583616836178361883619836208362183622836238362483625836268362783628836298363083631836328363383634836358363683637836388363983640836418364283643836448364583646836478364883649836508365183652836538365483655836568365783658836598366083661836628366383664836658366683667836688366983670836718367283673836748367583676836778367883679836808368183682836838368483685836868368783688836898369083691836928369383694836958369683697836988369983700837018370283703837048370583706837078370883709837108371183712837138371483715837168371783718837198372083721837228372383724837258372683727837288372983730837318373283733837348373583736837378373883739837408374183742837438374483745837468374783748837498375083751837528375383754837558375683757837588375983760837618376283763837648376583766837678376883769837708377183772837738377483775837768377783778837798378083781837828378383784837858378683787837888378983790837918379283793837948379583796837978379883799838008380183802838038380483805838068380783808838098381083811838128381383814838158381683817838188381983820838218382283823838248382583826838278382883829838308383183832838338383483835838368383783838838398384083841838428384383844838458384683847838488384983850838518385283853838548385583856838578385883859838608386183862838638386483865838668386783868838698387083871838728387383874838758387683877838788387983880838818388283883838848388583886838878388883889838908389183892838938389483895838968389783898838998390083901839028390383904839058390683907839088390983910839118391283913839148391583916839178391883919839208392183922839238392483925839268392783928839298393083931839328393383934839358393683937839388393983940839418394283943839448394583946839478394883949839508395183952839538395483955839568395783958839598396083961839628396383964839658396683967839688396983970839718397283973839748397583976839778397883979839808398183982839838398483985839868398783988839898399083991839928399383994839958399683997839988399984000840018400284003840048400584006840078400884009840108401184012840138401484015840168401784018840198402084021840228402384024840258402684027840288402984030840318403284033840348403584036840378403884039840408404184042840438404484045840468404784048840498405084051840528405384054840558405684057840588405984060840618406284063840648406584066840678406884069840708407184072840738407484075840768407784078840798408084081840828408384084840858408684087840888408984090840918409284093840948409584096840978409884099841008410184102841038410484105841068410784108841098411084111841128411384114841158411684117841188411984120841218412284123841248412584126841278412884129841308413184132841338413484135841368413784138841398414084141841428414384144841458414684147841488414984150841518415284153841548415584156841578415884159841608416184162841638416484165841668416784168841698417084171841728417384174841758417684177841788417984180841818418284183841848418584186841878418884189841908419184192841938419484195841968419784198841998420084201842028420384204842058420684207842088420984210842118421284213842148421584216842178421884219842208422184222842238422484225842268422784228842298423084231842328423384234842358423684237842388423984240842418424284243842448424584246842478424884249842508425184252842538425484255842568425784258842598426084261842628426384264842658426684267842688426984270842718427284273842748427584276842778427884279842808428184282842838428484285842868428784288842898429084291842928429384294842958429684297842988429984300843018430284303843048430584306843078430884309843108431184312843138431484315843168431784318843198432084321843228432384324843258432684327843288432984330843318433284333843348433584336843378433884339843408434184342843438434484345843468434784348843498435084351843528435384354843558435684357843588435984360843618436284363843648436584366843678436884369843708437184372843738437484375843768437784378843798438084381843828438384384843858438684387843888438984390843918439284393843948439584396843978439884399844008440184402844038440484405844068440784408844098441084411844128441384414844158441684417844188441984420844218442284423844248442584426844278442884429844308443184432844338443484435844368443784438844398444084441844428444384444844458444684447844488444984450844518445284453844548445584456844578445884459844608446184462844638446484465844668446784468844698447084471844728447384474844758447684477844788447984480844818448284483844848448584486844878448884489844908449184492844938449484495844968449784498844998450084501845028450384504845058450684507845088450984510845118451284513845148451584516845178451884519845208452184522845238452484525845268452784528845298453084531845328453384534845358453684537845388453984540845418454284543845448454584546845478454884549845508455184552845538455484555845568455784558845598456084561845628456384564845658456684567845688456984570845718457284573845748457584576845778457884579845808458184582845838458484585845868458784588845898459084591845928459384594845958459684597845988459984600846018460284603846048460584606846078460884609846108461184612846138461484615846168461784618846198462084621846228462384624846258462684627846288462984630846318463284633846348463584636846378463884639846408464184642846438464484645846468464784648846498465084651846528465384654846558465684657846588465984660846618466284663846648466584666846678466884669846708467184672846738467484675846768467784678846798468084681846828468384684846858468684687846888468984690846918469284693846948469584696846978469884699847008470184702847038470484705847068470784708847098471084711847128471384714847158471684717847188471984720847218472284723847248472584726847278472884729847308473184732847338473484735847368473784738847398474084741847428474384744847458474684747847488474984750847518475284753847548475584756847578475884759847608476184762847638476484765847668476784768847698477084771847728477384774847758477684777847788477984780847818478284783847848478584786847878478884789847908479184792847938479484795847968479784798847998480084801848028480384804848058480684807848088480984810848118481284813848148481584816848178481884819848208482184822848238482484825848268482784828848298483084831848328483384834848358483684837848388483984840848418484284843848448484584846848478484884849848508485184852848538485484855848568485784858848598486084861848628486384864848658486684867848688486984870848718487284873848748487584876848778487884879848808488184882848838488484885848868488784888848898489084891848928489384894848958489684897848988489984900849018490284903849048490584906849078490884909849108491184912849138491484915849168491784918849198492084921849228492384924849258492684927849288492984930849318493284933849348493584936849378493884939849408494184942849438494484945849468494784948849498495084951849528495384954849558495684957849588495984960849618496284963849648496584966849678496884969849708497184972849738497484975849768497784978849798498084981849828498384984849858498684987849888498984990849918499284993849948499584996849978499884999850008500185002850038500485005850068500785008850098501085011850128501385014850158501685017850188501985020850218502285023850248502585026850278502885029850308503185032850338503485035850368503785038850398504085041850428504385044850458504685047850488504985050850518505285053850548505585056850578505885059850608506185062850638506485065850668506785068850698507085071850728507385074850758507685077850788507985080850818508285083850848508585086850878508885089850908509185092850938509485095850968509785098850998510085101851028510385104851058510685107851088510985110851118511285113851148511585116851178511885119851208512185122851238512485125851268512785128851298513085131851328513385134851358513685137851388513985140851418514285143851448514585146851478514885149851508515185152851538515485155851568515785158851598516085161851628516385164851658516685167851688516985170851718517285173851748517585176851778517885179851808518185182851838518485185851868518785188851898519085191851928519385194851958519685197851988519985200852018520285203852048520585206852078520885209852108521185212852138521485215852168521785218852198522085221852228522385224852258522685227852288522985230852318523285233852348523585236852378523885239852408524185242852438524485245852468524785248852498525085251852528525385254852558525685257852588525985260852618526285263852648526585266852678526885269852708527185272852738527485275852768527785278852798528085281852828528385284852858528685287852888528985290852918529285293852948529585296852978529885299853008530185302853038530485305853068530785308853098531085311853128531385314853158531685317853188531985320853218532285323853248532585326853278532885329853308533185332853338533485335853368533785338853398534085341853428534385344853458534685347853488534985350853518535285353853548535585356853578535885359853608536185362853638536485365853668536785368853698537085371853728537385374853758537685377853788537985380853818538285383853848538585386853878538885389853908539185392853938539485395853968539785398853998540085401854028540385404854058540685407854088540985410854118541285413854148541585416854178541885419854208542185422854238542485425854268542785428854298543085431854328543385434854358543685437854388543985440854418544285443854448544585446854478544885449854508545185452854538545485455854568545785458854598546085461854628546385464854658546685467854688546985470854718547285473854748547585476854778547885479854808548185482854838548485485854868548785488854898549085491854928549385494854958549685497854988549985500855018550285503855048550585506855078550885509855108551185512855138551485515855168551785518855198552085521855228552385524855258552685527855288552985530855318553285533855348553585536855378553885539855408554185542855438554485545855468554785548855498555085551855528555385554855558555685557855588555985560855618556285563855648556585566855678556885569855708557185572855738557485575855768557785578855798558085581855828558385584855858558685587855888558985590855918559285593855948559585596855978559885599856008560185602856038560485605856068560785608856098561085611856128561385614856158561685617856188561985620856218562285623856248562585626856278562885629856308563185632856338563485635856368563785638856398564085641856428564385644856458564685647856488564985650856518565285653856548565585656856578565885659856608566185662856638566485665856668566785668856698567085671856728567385674856758567685677856788567985680856818568285683856848568585686856878568885689856908569185692856938569485695856968569785698856998570085701857028570385704857058570685707857088570985710857118571285713857148571585716857178571885719857208572185722857238572485725857268572785728857298573085731857328573385734857358573685737857388573985740857418574285743857448574585746857478574885749857508575185752857538575485755857568575785758857598576085761857628576385764857658576685767857688576985770857718577285773857748577585776857778577885779857808578185782857838578485785857868578785788857898579085791857928579385794857958579685797857988579985800858018580285803858048580585806858078580885809858108581185812858138581485815858168581785818858198582085821858228582385824858258582685827858288582985830858318583285833858348583585836858378583885839858408584185842858438584485845858468584785848858498585085851858528585385854858558585685857858588585985860858618586285863858648586585866858678586885869858708587185872858738587485875858768587785878858798588085881858828588385884858858588685887858888588985890858918589285893858948589585896858978589885899859008590185902859038590485905859068590785908859098591085911859128591385914859158591685917859188591985920859218592285923859248592585926859278592885929859308593185932859338593485935859368593785938859398594085941859428594385944859458594685947859488594985950859518595285953859548595585956859578595885959859608596185962859638596485965859668596785968859698597085971859728597385974859758597685977859788597985980859818598285983859848598585986859878598885989859908599185992859938599485995859968599785998859998600086001860028600386004860058600686007860088600986010860118601286013860148601586016860178601886019860208602186022860238602486025860268602786028860298603086031860328603386034860358603686037860388603986040860418604286043860448604586046860478604886049860508605186052860538605486055860568605786058860598606086061860628606386064860658606686067860688606986070860718607286073860748607586076860778607886079860808608186082860838608486085860868608786088860898609086091860928609386094860958609686097860988609986100861018610286103861048610586106861078610886109861108611186112861138611486115861168611786118861198612086121861228612386124861258612686127861288612986130861318613286133861348613586136861378613886139861408614186142861438614486145861468614786148861498615086151861528615386154861558615686157861588615986160861618616286163861648616586166861678616886169861708617186172861738617486175861768617786178861798618086181861828618386184861858618686187861888618986190861918619286193861948619586196861978619886199862008620186202862038620486205862068620786208862098621086211862128621386214862158621686217862188621986220862218622286223862248622586226862278622886229862308623186232862338623486235862368623786238862398624086241862428624386244862458624686247862488624986250862518625286253862548625586256862578625886259862608626186262862638626486265862668626786268862698627086271862728627386274862758627686277862788627986280862818628286283862848628586286862878628886289862908629186292862938629486295862968629786298862998630086301863028630386304863058630686307863088630986310863118631286313863148631586316863178631886319863208632186322863238632486325863268632786328863298633086331863328633386334863358633686337863388633986340863418634286343863448634586346863478634886349863508635186352863538635486355863568635786358863598636086361863628636386364863658636686367863688636986370863718637286373863748637586376863778637886379863808638186382863838638486385863868638786388863898639086391863928639386394863958639686397863988639986400864018640286403864048640586406864078640886409864108641186412864138641486415864168641786418864198642086421864228642386424864258642686427864288642986430864318643286433864348643586436864378643886439864408644186442864438644486445864468644786448864498645086451864528645386454864558645686457864588645986460864618646286463864648646586466864678646886469864708647186472864738647486475864768647786478864798648086481864828648386484864858648686487864888648986490864918649286493864948649586496864978649886499865008650186502865038650486505865068650786508865098651086511865128651386514865158651686517865188651986520865218652286523865248652586526865278652886529865308653186532865338653486535865368653786538865398654086541865428654386544865458654686547865488654986550865518655286553865548655586556865578655886559865608656186562865638656486565865668656786568865698657086571865728657386574865758657686577865788657986580865818658286583865848658586586865878658886589865908659186592865938659486595865968659786598865998660086601866028660386604866058660686607866088660986610866118661286613866148661586616866178661886619866208662186622866238662486625866268662786628866298663086631866328663386634866358663686637866388663986640866418664286643866448664586646866478664886649866508665186652866538665486655866568665786658866598666086661866628666386664866658666686667866688666986670866718667286673866748667586676866778667886679866808668186682866838668486685866868668786688866898669086691866928669386694866958669686697866988669986700867018670286703867048670586706867078670886709867108671186712867138671486715867168671786718867198672086721867228672386724867258672686727867288672986730867318673286733867348673586736867378673886739867408674186742867438674486745867468674786748867498675086751867528675386754867558675686757867588675986760867618676286763867648676586766867678676886769867708677186772867738677486775867768677786778867798678086781867828678386784867858678686787867888678986790867918679286793867948679586796867978679886799868008680186802868038680486805868068680786808868098681086811868128681386814868158681686817868188681986820868218682286823868248682586826868278682886829868308683186832868338683486835868368683786838868398684086841868428684386844868458684686847868488684986850868518685286853868548685586856868578685886859868608686186862868638686486865868668686786868868698687086871868728687386874868758687686877868788687986880868818688286883868848688586886868878688886889868908689186892868938689486895868968689786898868998690086901869028690386904869058690686907869088690986910869118691286913869148691586916869178691886919869208692186922869238692486925869268692786928869298693086931869328693386934869358693686937869388693986940869418694286943869448694586946869478694886949869508695186952869538695486955869568695786958869598696086961869628696386964869658696686967869688696986970869718697286973869748697586976869778697886979869808698186982869838698486985869868698786988869898699086991869928699386994869958699686997869988699987000870018700287003870048700587006870078700887009870108701187012870138701487015870168701787018870198702087021870228702387024870258702687027870288702987030870318703287033870348703587036870378703887039870408704187042870438704487045870468704787048870498705087051870528705387054870558705687057870588705987060870618706287063870648706587066870678706887069870708707187072870738707487075870768707787078870798708087081870828708387084870858708687087870888708987090870918709287093870948709587096870978709887099871008710187102871038710487105871068710787108871098711087111871128711387114871158711687117871188711987120871218712287123871248712587126871278712887129871308713187132871338713487135871368713787138871398714087141871428714387144871458714687147871488714987150871518715287153871548715587156871578715887159871608716187162871638716487165871668716787168871698717087171871728717387174871758717687177871788717987180871818718287183871848718587186871878718887189871908719187192871938719487195871968719787198871998720087201872028720387204872058720687207872088720987210872118721287213872148721587216872178721887219872208722187222872238722487225872268722787228872298723087231872328723387234872358723687237872388723987240872418724287243872448724587246872478724887249872508725187252872538725487255872568725787258872598726087261872628726387264872658726687267872688726987270872718727287273872748727587276872778727887279872808728187282872838728487285872868728787288872898729087291872928729387294872958729687297872988729987300873018730287303873048730587306873078730887309873108731187312873138731487315873168731787318873198732087321873228732387324873258732687327873288732987330873318733287333873348733587336873378733887339873408734187342873438734487345873468734787348873498735087351873528735387354873558735687357873588735987360873618736287363873648736587366873678736887369873708737187372873738737487375873768737787378873798738087381873828738387384873858738687387873888738987390873918739287393873948739587396873978739887399874008740187402874038740487405874068740787408874098741087411874128741387414874158741687417874188741987420874218742287423874248742587426874278742887429874308743187432874338743487435874368743787438874398744087441874428744387444874458744687447874488744987450874518745287453874548745587456874578745887459874608746187462874638746487465874668746787468874698747087471874728747387474874758747687477874788747987480874818748287483874848748587486874878748887489874908749187492874938749487495874968749787498874998750087501875028750387504875058750687507875088750987510875118751287513875148751587516875178751887519875208752187522875238752487525875268752787528875298753087531875328753387534875358753687537875388753987540875418754287543875448754587546875478754887549875508755187552875538755487555875568755787558875598756087561875628756387564875658756687567875688756987570875718757287573875748757587576875778757887579875808758187582875838758487585875868758787588875898759087591875928759387594875958759687597875988759987600876018760287603876048760587606876078760887609876108761187612876138761487615876168761787618876198762087621876228762387624876258762687627876288762987630876318763287633876348763587636876378763887639876408764187642876438764487645876468764787648876498765087651876528765387654876558765687657876588765987660876618766287663876648766587666876678766887669876708767187672876738767487675876768767787678876798768087681876828768387684876858768687687876888768987690876918769287693876948769587696876978769887699877008770187702877038770487705877068770787708877098771087711877128771387714877158771687717877188771987720877218772287723877248772587726877278772887729877308773187732877338773487735877368773787738877398774087741877428774387744877458774687747877488774987750877518775287753877548775587756877578775887759877608776187762877638776487765877668776787768877698777087771877728777387774877758777687777877788777987780877818778287783877848778587786877878778887789877908779187792877938779487795877968779787798877998780087801878028780387804878058780687807878088780987810878118781287813878148781587816878178781887819878208782187822878238782487825878268782787828878298783087831878328783387834878358783687837878388783987840878418784287843878448784587846878478784887849878508785187852878538785487855878568785787858878598786087861878628786387864878658786687867878688786987870878718787287873878748787587876878778787887879878808788187882878838788487885878868788787888878898789087891878928789387894878958789687897878988789987900879018790287903879048790587906879078790887909879108791187912879138791487915879168791787918879198792087921879228792387924879258792687927879288792987930879318793287933879348793587936879378793887939879408794187942879438794487945879468794787948879498795087951879528795387954879558795687957879588795987960879618796287963879648796587966879678796887969879708797187972879738797487975879768797787978879798798087981879828798387984879858798687987879888798987990879918799287993879948799587996879978799887999880008800188002880038800488005880068800788008880098801088011880128801388014880158801688017880188801988020880218802288023880248802588026880278802888029880308803188032880338803488035880368803788038880398804088041880428804388044880458804688047880488804988050880518805288053880548805588056880578805888059880608806188062880638806488065880668806788068880698807088071880728807388074880758807688077880788807988080880818808288083880848808588086880878808888089880908809188092880938809488095880968809788098880998810088101881028810388104881058810688107881088810988110881118811288113881148811588116881178811888119881208812188122881238812488125881268812788128881298813088131881328813388134881358813688137881388813988140881418814288143881448814588146881478814888149881508815188152881538815488155881568815788158881598816088161881628816388164881658816688167881688816988170881718817288173881748817588176881778817888179881808818188182881838818488185881868818788188881898819088191881928819388194881958819688197881988819988200882018820288203882048820588206882078820888209882108821188212882138821488215882168821788218882198822088221882228822388224882258822688227882288822988230882318823288233882348823588236882378823888239882408824188242882438824488245882468824788248882498825088251882528825388254882558825688257882588825988260882618826288263882648826588266882678826888269882708827188272882738827488275882768827788278882798828088281882828828388284882858828688287882888828988290882918829288293882948829588296882978829888299883008830188302883038830488305883068830788308883098831088311883128831388314883158831688317883188831988320883218832288323883248832588326883278832888329883308833188332883338833488335883368833788338883398834088341883428834388344883458834688347883488834988350883518835288353883548835588356883578835888359883608836188362883638836488365883668836788368883698837088371883728837388374883758837688377883788837988380883818838288383883848838588386883878838888389883908839188392883938839488395883968839788398883998840088401884028840388404884058840688407884088840988410884118841288413884148841588416884178841888419884208842188422884238842488425884268842788428884298843088431884328843388434884358843688437884388843988440884418844288443884448844588446884478844888449884508845188452884538845488455884568845788458884598846088461884628846388464884658846688467884688846988470884718847288473884748847588476884778847888479884808848188482884838848488485884868848788488884898849088491884928849388494884958849688497884988849988500885018850288503885048850588506885078850888509885108851188512885138851488515885168851788518885198852088521885228852388524885258852688527885288852988530885318853288533885348853588536885378853888539885408854188542885438854488545885468854788548885498855088551885528855388554885558855688557885588855988560885618856288563885648856588566885678856888569885708857188572885738857488575885768857788578885798858088581885828858388584885858858688587885888858988590885918859288593885948859588596885978859888599886008860188602886038860488605886068860788608886098861088611886128861388614886158861688617886188861988620886218862288623886248862588626886278862888629886308863188632886338863488635886368863788638886398864088641886428864388644886458864688647886488864988650886518865288653886548865588656886578865888659886608866188662886638866488665886668866788668886698867088671886728867388674886758867688677886788867988680886818868288683886848868588686886878868888689886908869188692886938869488695886968869788698886998870088701887028870388704887058870688707887088870988710887118871288713887148871588716887178871888719887208872188722887238872488725887268872788728887298873088731887328873388734887358873688737887388873988740887418874288743887448874588746887478874888749887508875188752887538875488755887568875788758887598876088761887628876388764887658876688767887688876988770887718877288773887748877588776887778877888779887808878188782887838878488785887868878788788887898879088791887928879388794887958879688797887988879988800888018880288803888048880588806888078880888809888108881188812888138881488815888168881788818888198882088821888228882388824888258882688827888288882988830888318883288833888348883588836888378883888839888408884188842888438884488845888468884788848888498885088851888528885388854888558885688857888588885988860888618886288863888648886588866888678886888869888708887188872888738887488875888768887788878888798888088881888828888388884888858888688887888888888988890888918889288893888948889588896888978889888899889008890188902889038890488905889068890788908889098891088911889128891388914889158891688917889188891988920889218892288923889248892588926889278892888929889308893188932889338893488935889368893788938889398894088941889428894388944889458894688947889488894988950889518895288953889548895588956889578895888959889608896188962889638896488965889668896788968889698897088971889728897388974889758897688977889788897988980889818898288983889848898588986889878898888989889908899188992889938899488995889968899788998889998900089001890028900389004890058900689007890088900989010890118901289013890148901589016890178901889019890208902189022890238902489025890268902789028890298903089031890328903389034890358903689037890388903989040890418904289043890448904589046890478904889049890508905189052890538905489055890568905789058890598906089061890628906389064890658906689067890688906989070890718907289073890748907589076890778907889079890808908189082890838908489085890868908789088890898909089091890928909389094890958909689097890988909989100891018910289103891048910589106891078910889109891108911189112891138911489115891168911789118891198912089121891228912389124891258912689127891288912989130891318913289133891348913589136891378913889139891408914189142891438914489145891468914789148891498915089151891528915389154891558915689157891588915989160891618916289163891648916589166891678916889169891708917189172891738917489175891768917789178891798918089181891828918389184891858918689187891888918989190891918919289193891948919589196891978919889199892008920189202892038920489205892068920789208892098921089211892128921389214892158921689217892188921989220892218922289223892248922589226892278922889229892308923189232892338923489235892368923789238892398924089241892428924389244892458924689247892488924989250892518925289253892548925589256892578925889259892608926189262892638926489265892668926789268892698927089271892728927389274892758927689277892788927989280892818928289283892848928589286892878928889289892908929189292892938929489295892968929789298892998930089301893028930389304893058930689307893088930989310893118931289313893148931589316893178931889319893208932189322893238932489325893268932789328893298933089331893328933389334893358933689337893388933989340893418934289343893448934589346893478934889349893508935189352893538935489355893568935789358893598936089361893628936389364893658936689367893688936989370893718937289373893748937589376893778937889379893808938189382893838938489385893868938789388893898939089391893928939389394893958939689397893988939989400894018940289403894048940589406894078940889409894108941189412894138941489415894168941789418894198942089421894228942389424894258942689427894288942989430894318943289433894348943589436894378943889439894408944189442894438944489445894468944789448894498945089451894528945389454894558945689457894588945989460894618946289463894648946589466894678946889469894708947189472894738947489475894768947789478894798948089481894828948389484894858948689487894888948989490894918949289493894948949589496894978949889499895008950189502895038950489505895068950789508895098951089511895128951389514895158951689517895188951989520895218952289523895248952589526895278952889529895308953189532895338953489535895368953789538895398954089541895428954389544895458954689547895488954989550895518955289553895548955589556895578955889559895608956189562895638956489565895668956789568895698957089571895728957389574895758957689577895788957989580895818958289583895848958589586895878958889589895908959189592895938959489595895968959789598895998960089601896028960389604896058960689607896088960989610896118961289613896148961589616896178961889619896208962189622896238962489625896268962789628896298963089631896328963389634896358963689637896388963989640896418964289643896448964589646896478964889649896508965189652896538965489655896568965789658896598966089661896628966389664896658966689667896688966989670896718967289673896748967589676896778967889679896808968189682896838968489685896868968789688896898969089691896928969389694896958969689697896988969989700897018970289703897048970589706897078970889709897108971189712897138971489715897168971789718897198972089721897228972389724897258972689727897288972989730897318973289733897348973589736897378973889739897408974189742897438974489745897468974789748897498975089751897528975389754897558975689757897588975989760897618976289763897648976589766897678976889769897708977189772897738977489775897768977789778897798978089781897828978389784897858978689787897888978989790897918979289793897948979589796897978979889799898008980189802898038980489805898068980789808898098981089811898128981389814898158981689817898188981989820898218982289823898248982589826898278982889829898308983189832898338983489835898368983789838898398984089841898428984389844898458984689847898488984989850898518985289853898548985589856898578985889859898608986189862898638986489865898668986789868898698987089871898728987389874898758987689877898788987989880898818988289883898848988589886898878988889889898908989189892898938989489895898968989789898898998990089901899028990389904899058990689907899088990989910899118991289913899148991589916899178991889919899208992189922899238992489925899268992789928899298993089931899328993389934899358993689937899388993989940899418994289943899448994589946899478994889949899508995189952899538995489955899568995789958899598996089961899628996389964899658996689967899688996989970899718997289973899748997589976899778997889979899808998189982899838998489985899868998789988899898999089991899928999389994899958999689997899988999990000900019000290003900049000590006900079000890009900109001190012900139001490015900169001790018900199002090021900229002390024900259002690027900289002990030900319003290033900349003590036900379003890039900409004190042900439004490045900469004790048900499005090051900529005390054900559005690057900589005990060900619006290063900649006590066900679006890069900709007190072900739007490075900769007790078900799008090081900829008390084900859008690087900889008990090900919009290093900949009590096900979009890099901009010190102901039010490105901069010790108901099011090111901129011390114901159011690117901189011990120901219012290123901249012590126901279012890129901309013190132901339013490135901369013790138901399014090141901429014390144901459014690147901489014990150901519015290153901549015590156901579015890159901609016190162901639016490165901669016790168901699017090171901729017390174901759017690177901789017990180901819018290183901849018590186901879018890189901909019190192901939019490195901969019790198901999020090201902029020390204902059020690207902089020990210902119021290213902149021590216902179021890219902209022190222902239022490225902269022790228902299023090231902329023390234902359023690237902389023990240902419024290243902449024590246902479024890249902509025190252902539025490255902569025790258902599026090261902629026390264902659026690267902689026990270902719027290273902749027590276902779027890279902809028190282902839028490285902869028790288902899029090291902929029390294902959029690297902989029990300903019030290303903049030590306903079030890309903109031190312903139031490315903169031790318903199032090321903229032390324903259032690327903289032990330903319033290333903349033590336903379033890339903409034190342903439034490345903469034790348903499035090351903529035390354903559035690357903589035990360903619036290363903649036590366903679036890369903709037190372903739037490375903769037790378903799038090381903829038390384903859038690387903889038990390903919039290393903949039590396903979039890399904009040190402904039040490405904069040790408904099041090411904129041390414904159041690417904189041990420904219042290423904249042590426904279042890429904309043190432904339043490435904369043790438904399044090441904429044390444904459044690447904489044990450904519045290453904549045590456904579045890459904609046190462904639046490465904669046790468904699047090471904729047390474904759047690477904789047990480904819048290483904849048590486904879048890489904909049190492904939049490495904969049790498904999050090501905029050390504905059050690507905089050990510905119051290513905149051590516905179051890519905209052190522905239052490525905269052790528905299053090531905329053390534905359053690537905389053990540905419054290543905449054590546905479054890549905509055190552905539055490555905569055790558905599056090561905629056390564905659056690567905689056990570905719057290573905749057590576905779057890579905809058190582905839058490585905869058790588905899059090591905929059390594905959059690597905989059990600906019060290603906049060590606906079060890609906109061190612906139061490615906169061790618906199062090621906229062390624906259062690627906289062990630906319063290633906349063590636906379063890639906409064190642906439064490645906469064790648906499065090651906529065390654906559065690657906589065990660906619066290663906649066590666906679066890669906709067190672906739067490675906769067790678906799068090681906829068390684906859068690687906889068990690906919069290693906949069590696906979069890699907009070190702907039070490705907069070790708907099071090711907129071390714907159071690717907189071990720907219072290723907249072590726907279072890729907309073190732907339073490735907369073790738907399074090741907429074390744907459074690747907489074990750907519075290753907549075590756907579075890759907609076190762907639076490765907669076790768907699077090771907729077390774907759077690777907789077990780907819078290783907849078590786907879078890789907909079190792907939079490795907969079790798907999080090801908029080390804908059080690807908089080990810908119081290813908149081590816908179081890819908209082190822908239082490825908269082790828908299083090831908329083390834908359083690837908389083990840908419084290843908449084590846908479084890849908509085190852908539085490855908569085790858908599086090861908629086390864908659086690867908689086990870908719087290873908749087590876908779087890879908809088190882908839088490885908869088790888908899089090891908929089390894908959089690897908989089990900909019090290903909049090590906909079090890909909109091190912909139091490915909169091790918909199092090921909229092390924909259092690927909289092990930909319093290933909349093590936909379093890939909409094190942909439094490945909469094790948909499095090951909529095390954909559095690957909589095990960909619096290963909649096590966909679096890969909709097190972909739097490975909769097790978909799098090981909829098390984909859098690987909889098990990909919099290993909949099590996909979099890999910009100191002910039100491005910069100791008910099101091011910129101391014910159101691017910189101991020910219102291023910249102591026910279102891029910309103191032910339103491035910369103791038910399104091041910429104391044910459104691047910489104991050910519105291053910549105591056910579105891059910609106191062910639106491065910669106791068910699107091071910729107391074910759107691077910789107991080910819108291083910849108591086910879108891089910909109191092910939109491095910969109791098910999110091101911029110391104911059110691107911089110991110911119111291113911149111591116911179111891119911209112191122911239112491125911269112791128911299113091131911329113391134911359113691137911389113991140911419114291143911449114591146911479114891149911509115191152911539115491155911569115791158911599116091161911629116391164911659116691167911689116991170911719117291173911749117591176911779117891179911809118191182911839118491185911869118791188911899119091191911929119391194911959119691197911989119991200912019120291203912049120591206912079120891209912109121191212912139121491215912169121791218912199122091221912229122391224912259122691227912289122991230912319123291233912349123591236912379123891239912409124191242912439124491245912469124791248912499125091251912529125391254912559125691257912589125991260912619126291263912649126591266912679126891269912709127191272912739127491275912769127791278912799128091281912829128391284912859128691287912889128991290912919129291293912949129591296912979129891299913009130191302913039130491305913069130791308913099131091311913129131391314913159131691317913189131991320913219132291323913249132591326913279132891329913309133191332913339133491335913369133791338913399134091341913429134391344913459134691347913489134991350913519135291353913549135591356913579135891359913609136191362913639136491365913669136791368913699137091371913729137391374913759137691377913789137991380913819138291383913849138591386913879138891389913909139191392913939139491395913969139791398913999140091401914029140391404914059140691407914089140991410914119141291413914149141591416914179141891419914209142191422914239142491425914269142791428914299143091431914329143391434914359143691437914389143991440914419144291443914449144591446914479144891449914509145191452914539145491455914569145791458914599146091461914629146391464914659146691467914689146991470914719147291473914749147591476914779147891479914809148191482914839148491485914869148791488914899149091491914929149391494914959149691497914989149991500915019150291503915049150591506915079150891509915109151191512915139151491515915169151791518915199152091521915229152391524915259152691527915289152991530915319153291533915349153591536915379153891539915409154191542915439154491545915469154791548915499155091551915529155391554915559155691557915589155991560915619156291563915649156591566915679156891569915709157191572915739157491575915769157791578915799158091581915829158391584915859158691587915889158991590915919159291593915949159591596915979159891599916009160191602916039160491605916069160791608916099161091611916129161391614916159161691617916189161991620916219162291623916249162591626916279162891629916309163191632916339163491635916369163791638916399164091641916429164391644916459164691647916489164991650916519165291653916549165591656916579165891659916609166191662916639166491665916669166791668916699167091671916729167391674916759167691677916789167991680916819168291683916849168591686916879168891689916909169191692916939169491695916969169791698916999170091701917029170391704917059170691707917089170991710917119171291713917149171591716917179171891719917209172191722917239172491725917269172791728917299173091731917329173391734917359173691737917389173991740917419174291743917449174591746917479174891749917509175191752917539175491755917569175791758917599176091761917629176391764917659176691767917689176991770917719177291773917749177591776917779177891779917809178191782917839178491785917869178791788917899179091791917929179391794917959179691797917989179991800918019180291803918049180591806918079180891809918109181191812918139181491815918169181791818918199182091821918229182391824918259182691827918289182991830918319183291833918349183591836918379183891839918409184191842918439184491845918469184791848918499185091851918529185391854918559185691857918589185991860918619186291863918649186591866918679186891869918709187191872918739187491875918769187791878918799188091881918829188391884918859188691887918889188991890918919189291893918949189591896918979189891899919009190191902919039190491905919069190791908919099191091911919129191391914919159191691917919189191991920919219192291923919249192591926919279192891929919309193191932919339193491935919369193791938919399194091941919429194391944919459194691947919489194991950919519195291953919549195591956919579195891959919609196191962919639196491965919669196791968919699197091971919729197391974919759197691977919789197991980919819198291983919849198591986919879198891989919909199191992919939199491995919969199791998919999200092001920029200392004920059200692007920089200992010920119201292013920149201592016920179201892019920209202192022920239202492025920269202792028920299203092031920329203392034920359203692037920389203992040920419204292043920449204592046920479204892049920509205192052920539205492055920569205792058920599206092061920629206392064920659206692067920689206992070920719207292073920749207592076920779207892079920809208192082920839208492085920869208792088920899209092091920929209392094920959209692097920989209992100921019210292103921049210592106921079210892109921109211192112921139211492115921169211792118921199212092121921229212392124921259212692127921289212992130921319213292133921349213592136921379213892139921409214192142921439214492145921469214792148921499215092151921529215392154921559215692157921589215992160921619216292163921649216592166921679216892169921709217192172921739217492175921769217792178921799218092181921829218392184921859218692187921889218992190921919219292193921949219592196921979219892199922009220192202922039220492205922069220792208922099221092211922129221392214922159221692217922189221992220922219222292223922249222592226922279222892229922309223192232922339223492235922369223792238922399224092241922429224392244922459224692247922489224992250922519225292253922549225592256922579225892259922609226192262922639226492265922669226792268922699227092271922729227392274922759227692277922789227992280922819228292283922849228592286922879228892289922909229192292922939229492295922969229792298922999230092301923029230392304923059230692307923089230992310923119231292313923149231592316923179231892319923209232192322923239232492325923269232792328923299233092331923329233392334923359233692337923389233992340923419234292343923449234592346923479234892349923509235192352923539235492355923569235792358923599236092361923629236392364923659236692367923689236992370923719237292373923749237592376923779237892379923809238192382923839238492385923869238792388923899239092391923929239392394923959239692397923989239992400924019240292403924049240592406924079240892409924109241192412924139241492415924169241792418924199242092421924229242392424924259242692427924289242992430924319243292433924349243592436924379243892439924409244192442924439244492445924469244792448924499245092451924529245392454924559245692457924589245992460924619246292463924649246592466924679246892469924709247192472924739247492475924769247792478924799248092481924829248392484924859248692487924889248992490924919249292493924949249592496924979249892499925009250192502925039250492505925069250792508925099251092511925129251392514925159251692517925189251992520925219252292523925249252592526925279252892529925309253192532925339253492535925369253792538925399254092541925429254392544925459254692547925489254992550925519255292553925549255592556925579255892559925609256192562925639256492565925669256792568925699257092571925729257392574925759257692577925789257992580925819258292583925849258592586925879258892589925909259192592925939259492595925969259792598925999260092601926029260392604926059260692607926089260992610926119261292613926149261592616926179261892619926209262192622926239262492625926269262792628926299263092631926329263392634926359263692637926389263992640926419264292643926449264592646926479264892649926509265192652926539265492655926569265792658926599266092661926629266392664926659266692667926689266992670926719267292673926749267592676926779267892679926809268192682926839268492685926869268792688926899269092691926929269392694926959269692697926989269992700927019270292703927049270592706927079270892709927109271192712927139271492715927169271792718927199272092721927229272392724927259272692727927289272992730927319273292733927349273592736927379273892739927409274192742927439274492745927469274792748927499275092751927529275392754927559275692757927589275992760927619276292763927649276592766927679276892769927709277192772927739277492775927769277792778927799278092781927829278392784927859278692787927889278992790927919279292793927949279592796927979279892799928009280192802928039280492805928069280792808928099281092811928129281392814928159281692817928189281992820928219282292823928249282592826928279282892829928309283192832928339283492835928369283792838928399284092841928429284392844928459284692847928489284992850928519285292853928549285592856928579285892859928609286192862928639286492865928669286792868928699287092871928729287392874928759287692877928789287992880928819288292883928849288592886928879288892889928909289192892928939289492895928969289792898928999290092901929029290392904929059290692907929089290992910929119291292913929149291592916929179291892919929209292192922929239292492925929269292792928929299293092931929329293392934929359293692937929389293992940929419294292943929449294592946929479294892949929509295192952929539295492955929569295792958929599296092961929629296392964929659296692967929689296992970929719297292973929749297592976929779297892979929809298192982929839298492985929869298792988929899299092991929929299392994929959299692997929989299993000930019300293003930049300593006930079300893009930109301193012930139301493015930169301793018930199302093021930229302393024930259302693027930289302993030930319303293033930349303593036930379303893039930409304193042930439304493045930469304793048930499305093051930529305393054930559305693057930589305993060930619306293063930649306593066930679306893069930709307193072930739307493075930769307793078930799308093081930829308393084930859308693087930889308993090930919309293093930949309593096930979309893099931009310193102931039310493105931069310793108931099311093111931129311393114931159311693117931189311993120931219312293123931249312593126931279312893129931309313193132931339313493135931369313793138931399314093141931429314393144931459314693147931489314993150931519315293153931549315593156931579315893159931609316193162931639316493165931669316793168931699317093171931729317393174931759317693177931789317993180931819318293183931849318593186931879318893189931909319193192931939319493195931969319793198931999320093201932029320393204932059320693207932089320993210932119321293213932149321593216932179321893219932209322193222932239322493225932269322793228932299323093231932329323393234932359323693237932389323993240932419324293243932449324593246932479324893249932509325193252932539325493255932569325793258932599326093261932629326393264932659326693267932689326993270932719327293273932749327593276932779327893279932809328193282932839328493285932869328793288932899329093291932929329393294932959329693297932989329993300933019330293303933049330593306933079330893309933109331193312933139331493315933169331793318933199332093321933229332393324933259332693327933289332993330933319333293333933349333593336933379333893339933409334193342933439334493345933469334793348933499335093351933529335393354933559335693357933589335993360933619336293363933649336593366933679336893369933709337193372933739337493375933769337793378933799338093381933829338393384933859338693387933889338993390933919339293393933949339593396933979339893399934009340193402934039340493405934069340793408934099341093411934129341393414934159341693417934189341993420934219342293423934249342593426934279342893429934309343193432934339343493435934369343793438934399344093441934429344393444934459344693447934489344993450934519345293453934549345593456934579345893459934609346193462934639346493465934669346793468934699347093471934729347393474934759347693477934789347993480934819348293483934849348593486934879348893489934909349193492934939349493495934969349793498934999350093501935029350393504935059350693507935089350993510935119351293513935149351593516935179351893519935209352193522935239352493525935269352793528935299353093531935329353393534935359353693537935389353993540935419354293543935449354593546935479354893549935509355193552935539355493555935569355793558935599356093561935629356393564935659356693567935689356993570935719357293573935749357593576935779357893579935809358193582935839358493585935869358793588935899359093591935929359393594935959359693597935989359993600936019360293603936049360593606936079360893609936109361193612936139361493615936169361793618936199362093621936229362393624936259362693627936289362993630936319363293633936349363593636936379363893639936409364193642936439364493645936469364793648936499365093651936529365393654936559365693657936589365993660936619366293663936649366593666936679366893669936709367193672936739367493675936769367793678936799368093681936829368393684936859368693687936889368993690936919369293693936949369593696936979369893699937009370193702937039370493705937069370793708937099371093711937129371393714937159371693717937189371993720937219372293723937249372593726937279372893729937309373193732937339373493735937369373793738937399374093741937429374393744937459374693747937489374993750937519375293753937549375593756937579375893759937609376193762937639376493765937669376793768937699377093771937729377393774937759377693777937789377993780937819378293783937849378593786937879378893789937909379193792937939379493795937969379793798937999380093801938029380393804938059380693807938089380993810938119381293813938149381593816938179381893819938209382193822938239382493825938269382793828938299383093831938329383393834938359383693837938389383993840938419384293843938449384593846938479384893849938509385193852938539385493855938569385793858938599386093861938629386393864938659386693867938689386993870938719387293873938749387593876938779387893879938809388193882938839388493885938869388793888938899389093891938929389393894938959389693897938989389993900939019390293903939049390593906939079390893909939109391193912939139391493915939169391793918939199392093921939229392393924939259392693927939289392993930939319393293933939349393593936939379393893939939409394193942939439394493945939469394793948939499395093951939529395393954939559395693957939589395993960939619396293963939649396593966939679396893969939709397193972939739397493975939769397793978939799398093981939829398393984939859398693987939889398993990939919399293993939949399593996939979399893999940009400194002940039400494005940069400794008940099401094011940129401394014940159401694017940189401994020940219402294023940249402594026940279402894029940309403194032940339403494035940369403794038940399404094041940429404394044940459404694047940489404994050940519405294053940549405594056940579405894059940609406194062940639406494065940669406794068940699407094071940729407394074940759407694077940789407994080940819408294083940849408594086940879408894089940909409194092940939409494095940969409794098940999410094101941029410394104941059410694107941089410994110941119411294113941149411594116941179411894119941209412194122941239412494125941269412794128941299413094131941329413394134941359413694137941389413994140941419414294143941449414594146941479414894149941509415194152941539415494155941569415794158941599416094161941629416394164941659416694167941689416994170941719417294173941749417594176941779417894179941809418194182941839418494185941869418794188941899419094191941929419394194941959419694197941989419994200942019420294203942049420594206942079420894209942109421194212942139421494215942169421794218942199422094221942229422394224942259422694227942289422994230942319423294233942349423594236942379423894239942409424194242942439424494245942469424794248942499425094251942529425394254942559425694257942589425994260942619426294263942649426594266942679426894269942709427194272942739427494275942769427794278942799428094281942829428394284942859428694287942889428994290942919429294293942949429594296942979429894299943009430194302943039430494305943069430794308943099431094311943129431394314943159431694317943189431994320943219432294323943249432594326943279432894329943309433194332943339433494335943369433794338943399434094341943429434394344943459434694347943489434994350943519435294353943549435594356943579435894359943609436194362943639436494365943669436794368943699437094371943729437394374943759437694377943789437994380943819438294383943849438594386943879438894389943909439194392943939439494395943969439794398943999440094401944029440394404944059440694407944089440994410944119441294413944149441594416944179441894419944209442194422944239442494425944269442794428944299443094431944329443394434944359443694437944389443994440944419444294443944449444594446944479444894449944509445194452944539445494455944569445794458944599446094461944629446394464944659446694467944689446994470944719447294473944749447594476944779447894479944809448194482944839448494485944869448794488944899449094491944929449394494944959449694497944989449994500945019450294503945049450594506945079450894509945109451194512945139451494515945169451794518945199452094521945229452394524945259452694527945289452994530945319453294533945349453594536945379453894539945409454194542945439454494545945469454794548945499455094551945529455394554945559455694557945589455994560945619456294563945649456594566945679456894569945709457194572945739457494575945769457794578945799458094581945829458394584945859458694587945889458994590945919459294593945949459594596945979459894599946009460194602946039460494605946069460794608946099461094611946129461394614946159461694617946189461994620946219462294623946249462594626946279462894629946309463194632946339463494635946369463794638946399464094641946429464394644946459464694647946489464994650946519465294653946549465594656946579465894659946609466194662946639466494665946669466794668946699467094671946729467394674946759467694677946789467994680946819468294683946849468594686946879468894689946909469194692946939469494695946969469794698946999470094701947029470394704947059470694707947089470994710947119471294713947149471594716947179471894719947209472194722947239472494725947269472794728947299473094731947329473394734947359473694737947389473994740947419474294743947449474594746947479474894749947509475194752947539475494755947569475794758947599476094761947629476394764947659476694767947689476994770947719477294773947749477594776947779477894779947809478194782947839478494785947869478794788947899479094791947929479394794947959479694797947989479994800948019480294803948049480594806948079480894809948109481194812948139481494815948169481794818948199482094821948229482394824948259482694827948289482994830948319483294833948349483594836948379483894839948409484194842948439484494845948469484794848948499485094851948529485394854948559485694857948589485994860948619486294863948649486594866948679486894869948709487194872948739487494875948769487794878948799488094881948829488394884948859488694887948889488994890948919489294893948949489594896948979489894899949009490194902949039490494905949069490794908949099491094911949129491394914949159491694917949189491994920949219492294923949249492594926949279492894929949309493194932949339493494935949369493794938949399494094941949429494394944949459494694947949489494994950949519495294953949549495594956949579495894959949609496194962949639496494965949669496794968949699497094971949729497394974949759497694977949789497994980949819498294983949849498594986949879498894989949909499194992949939499494995949969499794998949999500095001950029500395004950059500695007950089500995010950119501295013950149501595016950179501895019950209502195022950239502495025950269502795028950299503095031950329503395034950359503695037950389503995040950419504295043950449504595046950479504895049950509505195052950539505495055950569505795058950599506095061950629506395064950659506695067950689506995070950719507295073950749507595076950779507895079950809508195082950839508495085950869508795088950899509095091950929509395094950959509695097950989509995100951019510295103951049510595106951079510895109951109511195112951139511495115951169511795118951199512095121951229512395124951259512695127951289512995130951319513295133951349513595136951379513895139951409514195142951439514495145951469514795148951499515095151951529515395154951559515695157951589515995160951619516295163951649516595166951679516895169951709517195172951739517495175951769517795178951799518095181951829518395184951859518695187951889518995190951919519295193951949519595196951979519895199952009520195202952039520495205952069520795208952099521095211952129521395214952159521695217952189521995220952219522295223952249522595226952279522895229952309523195232952339523495235952369523795238952399524095241952429524395244952459524695247952489524995250952519525295253952549525595256952579525895259952609526195262952639526495265952669526795268952699527095271952729527395274952759527695277952789527995280952819528295283952849528595286952879528895289952909529195292952939529495295952969529795298952999530095301953029530395304953059530695307953089530995310953119531295313953149531595316953179531895319953209532195322953239532495325953269532795328953299533095331953329533395334953359533695337953389533995340953419534295343953449534595346953479534895349953509535195352953539535495355953569535795358953599536095361953629536395364953659536695367953689536995370953719537295373953749537595376953779537895379953809538195382953839538495385953869538795388953899539095391953929539395394953959539695397953989539995400954019540295403954049540595406954079540895409954109541195412954139541495415954169541795418954199542095421954229542395424954259542695427954289542995430954319543295433954349543595436954379543895439954409544195442954439544495445954469544795448954499545095451954529545395454954559545695457954589545995460954619546295463954649546595466954679546895469954709547195472954739547495475954769547795478954799548095481954829548395484954859548695487954889548995490954919549295493954949549595496954979549895499955009550195502955039550495505955069550795508955099551095511955129551395514955159551695517955189551995520955219552295523955249552595526955279552895529955309553195532955339553495535955369553795538955399554095541955429554395544955459554695547955489554995550955519555295553955549555595556955579555895559955609556195562955639556495565955669556795568955699557095571955729557395574955759557695577955789557995580955819558295583955849558595586955879558895589955909559195592955939559495595955969559795598955999560095601956029560395604956059560695607956089560995610956119561295613956149561595616956179561895619956209562195622956239562495625956269562795628956299563095631956329563395634956359563695637956389563995640956419564295643956449564595646956479564895649956509565195652956539565495655956569565795658956599566095661956629566395664956659566695667956689566995670956719567295673956749567595676956779567895679956809568195682956839568495685956869568795688956899569095691956929569395694956959569695697956989569995700957019570295703957049570595706957079570895709957109571195712957139571495715957169571795718957199572095721957229572395724957259572695727957289572995730957319573295733957349573595736957379573895739957409574195742957439574495745957469574795748957499575095751957529575395754957559575695757957589575995760957619576295763957649576595766957679576895769957709577195772957739577495775957769577795778957799578095781957829578395784957859578695787957889578995790957919579295793957949579595796957979579895799958009580195802958039580495805958069580795808958099581095811958129581395814958159581695817958189581995820958219582295823958249582595826958279582895829958309583195832958339583495835958369583795838958399584095841958429584395844958459584695847958489584995850958519585295853958549585595856958579585895859958609586195862958639586495865958669586795868958699587095871958729587395874958759587695877958789587995880958819588295883958849588595886958879588895889958909589195892958939589495895958969589795898958999590095901959029590395904959059590695907959089590995910959119591295913959149591595916959179591895919959209592195922959239592495925959269592795928959299593095931959329593395934959359593695937959389593995940959419594295943959449594595946959479594895949959509595195952959539595495955959569595795958959599596095961959629596395964959659596695967959689596995970959719597295973959749597595976959779597895979959809598195982959839598495985959869598795988959899599095991959929599395994959959599695997959989599996000960019600296003960049600596006960079600896009960109601196012960139601496015960169601796018960199602096021960229602396024960259602696027960289602996030960319603296033960349603596036960379603896039960409604196042960439604496045960469604796048960499605096051960529605396054960559605696057960589605996060960619606296063960649606596066960679606896069960709607196072960739607496075960769607796078960799608096081960829608396084960859608696087960889608996090960919609296093960949609596096960979609896099961009610196102961039610496105961069610796108961099611096111961129611396114961159611696117961189611996120961219612296123961249612596126961279612896129961309613196132961339613496135961369613796138961399614096141961429614396144961459614696147961489614996150961519615296153961549615596156961579615896159961609616196162961639616496165961669616796168961699617096171961729617396174961759617696177961789617996180961819618296183961849618596186961879618896189961909619196192961939619496195961969619796198961999620096201962029620396204962059620696207962089620996210962119621296213962149621596216962179621896219962209622196222962239622496225962269622796228962299623096231962329623396234962359623696237962389623996240962419624296243962449624596246962479624896249962509625196252962539625496255962569625796258962599626096261962629626396264962659626696267962689626996270962719627296273962749627596276962779627896279962809628196282962839628496285962869628796288962899629096291962929629396294962959629696297962989629996300963019630296303963049630596306963079630896309963109631196312963139631496315963169631796318963199632096321963229632396324963259632696327963289632996330963319633296333963349633596336963379633896339963409634196342963439634496345963469634796348963499635096351963529635396354963559635696357963589635996360963619636296363963649636596366963679636896369963709637196372963739637496375963769637796378963799638096381963829638396384963859638696387963889638996390963919639296393963949639596396963979639896399964009640196402964039640496405964069640796408964099641096411964129641396414964159641696417964189641996420964219642296423964249642596426964279642896429964309643196432964339643496435964369643796438964399644096441964429644396444964459644696447964489644996450964519645296453964549645596456964579645896459964609646196462964639646496465964669646796468964699647096471964729647396474964759647696477964789647996480964819648296483964849648596486964879648896489964909649196492964939649496495964969649796498964999650096501965029650396504965059650696507965089650996510965119651296513965149651596516965179651896519965209652196522965239652496525965269652796528965299653096531965329653396534965359653696537965389653996540965419654296543965449654596546965479654896549965509655196552965539655496555965569655796558965599656096561965629656396564965659656696567965689656996570965719657296573965749657596576965779657896579965809658196582965839658496585965869658796588965899659096591965929659396594965959659696597965989659996600966019660296603966049660596606966079660896609966109661196612966139661496615966169661796618966199662096621966229662396624966259662696627966289662996630966319663296633966349663596636966379663896639966409664196642966439664496645966469664796648966499665096651966529665396654966559665696657966589665996660966619666296663966649666596666966679666896669966709667196672966739667496675966769667796678966799668096681966829668396684966859668696687966889668996690966919669296693966949669596696966979669896699967009670196702967039670496705967069670796708967099671096711967129671396714967159671696717967189671996720967219672296723967249672596726967279672896729967309673196732967339673496735967369673796738967399674096741967429674396744967459674696747967489674996750967519675296753967549675596756967579675896759967609676196762967639676496765967669676796768967699677096771967729677396774967759677696777967789677996780967819678296783967849678596786967879678896789967909679196792967939679496795967969679796798967999680096801968029680396804968059680696807968089680996810968119681296813968149681596816968179681896819968209682196822968239682496825968269682796828968299683096831968329683396834968359683696837968389683996840968419684296843968449684596846968479684896849968509685196852968539685496855968569685796858968599686096861968629686396864968659686696867968689686996870968719687296873968749687596876968779687896879968809688196882968839688496885968869688796888968899689096891968929689396894968959689696897968989689996900969019690296903969049690596906969079690896909969109691196912969139691496915969169691796918969199692096921969229692396924969259692696927969289692996930969319693296933969349693596936969379693896939969409694196942969439694496945969469694796948969499695096951969529695396954969559695696957969589695996960969619696296963969649696596966969679696896969969709697196972969739697496975969769697796978969799698096981969829698396984969859698696987969889698996990969919699296993969949699596996969979699896999970009700197002970039700497005970069700797008970099701097011970129701397014970159701697017970189701997020970219702297023970249702597026970279702897029970309703197032970339703497035970369703797038970399704097041970429704397044970459704697047970489704997050970519705297053970549705597056970579705897059970609706197062970639706497065970669706797068970699707097071970729707397074970759707697077970789707997080970819708297083970849708597086970879708897089970909709197092970939709497095970969709797098970999710097101971029710397104971059710697107971089710997110971119711297113971149711597116971179711897119971209712197122971239712497125971269712797128971299713097131971329713397134971359713697137971389713997140971419714297143971449714597146971479714897149971509715197152971539715497155971569715797158971599716097161971629716397164971659716697167971689716997170971719717297173971749717597176971779717897179971809718197182971839718497185971869718797188971899719097191971929719397194971959719697197971989719997200972019720297203972049720597206972079720897209972109721197212972139721497215972169721797218972199722097221972229722397224972259722697227972289722997230972319723297233972349723597236972379723897239972409724197242972439724497245972469724797248972499725097251972529725397254972559725697257972589725997260972619726297263972649726597266972679726897269972709727197272972739727497275972769727797278972799728097281972829728397284972859728697287972889728997290972919729297293972949729597296972979729897299973009730197302973039730497305973069730797308973099731097311973129731397314973159731697317973189731997320973219732297323973249732597326973279732897329973309733197332973339733497335973369733797338973399734097341973429734397344973459734697347973489734997350973519735297353973549735597356973579735897359973609736197362973639736497365973669736797368973699737097371973729737397374973759737697377973789737997380973819738297383973849738597386973879738897389973909739197392973939739497395973969739797398973999740097401974029740397404974059740697407974089740997410974119741297413974149741597416974179741897419974209742197422974239742497425974269742797428974299743097431974329743397434974359743697437974389743997440974419744297443974449744597446974479744897449974509745197452974539745497455974569745797458974599746097461974629746397464974659746697467974689746997470974719747297473974749747597476974779747897479974809748197482974839748497485974869748797488974899749097491974929749397494974959749697497974989749997500975019750297503975049750597506975079750897509975109751197512975139751497515975169751797518975199752097521975229752397524975259752697527975289752997530975319753297533975349753597536975379753897539975409754197542975439754497545975469754797548975499755097551975529755397554975559755697557975589755997560975619756297563975649756597566975679756897569975709757197572975739757497575975769757797578975799758097581975829758397584975859758697587975889758997590975919759297593975949759597596975979759897599976009760197602976039760497605976069760797608976099761097611976129761397614976159761697617976189761997620976219762297623976249762597626976279762897629976309763197632976339763497635976369763797638976399764097641976429764397644976459764697647976489764997650976519765297653976549765597656976579765897659976609766197662976639766497665976669766797668976699767097671976729767397674976759767697677976789767997680976819768297683976849768597686976879768897689976909769197692976939769497695976969769797698976999770097701977029770397704977059770697707977089770997710977119771297713977149771597716977179771897719977209772197722977239772497725977269772797728977299773097731977329773397734977359773697737977389773997740977419774297743977449774597746977479774897749977509775197752977539775497755977569775797758977599776097761977629776397764977659776697767977689776997770977719777297773977749777597776977779777897779977809778197782977839778497785977869778797788977899779097791977929779397794977959779697797977989779997800978019780297803978049780597806978079780897809978109781197812978139781497815978169781797818978199782097821978229782397824978259782697827978289782997830978319783297833978349783597836978379783897839978409784197842978439784497845978469784797848978499785097851978529785397854978559785697857978589785997860978619786297863978649786597866978679786897869978709787197872978739787497875978769787797878978799788097881978829788397884978859788697887978889788997890978919789297893978949789597896978979789897899979009790197902979039790497905979069790797908979099791097911979129791397914979159791697917979189791997920979219792297923979249792597926979279792897929979309793197932979339793497935979369793797938979399794097941979429794397944979459794697947979489794997950979519795297953979549795597956979579795897959979609796197962979639796497965979669796797968979699797097971979729797397974979759797697977979789797997980979819798297983979849798597986979879798897989979909799197992979939799497995979969799797998979999800098001980029800398004980059800698007980089800998010980119801298013980149801598016980179801898019980209802198022980239802498025980269802798028980299803098031980329803398034980359803698037980389803998040980419804298043980449804598046980479804898049980509805198052980539805498055980569805798058980599806098061980629806398064980659806698067980689806998070980719807298073980749807598076980779807898079980809808198082980839808498085980869808798088980899809098091980929809398094980959809698097980989809998100981019810298103981049810598106981079810898109981109811198112981139811498115981169811798118981199812098121981229812398124981259812698127981289812998130981319813298133981349813598136981379813898139981409814198142981439814498145981469814798148981499815098151981529815398154981559815698157981589815998160981619816298163981649816598166981679816898169981709817198172981739817498175981769817798178981799818098181981829818398184981859818698187981889818998190981919819298193981949819598196981979819898199982009820198202982039820498205982069820798208982099821098211982129821398214982159821698217982189821998220982219822298223982249822598226982279822898229982309823198232982339823498235982369823798238982399824098241982429824398244982459824698247982489824998250982519825298253982549825598256982579825898259982609826198262982639826498265982669826798268982699827098271982729827398274982759827698277982789827998280982819828298283982849828598286982879828898289982909829198292982939829498295982969829798298982999830098301983029830398304983059830698307983089830998310983119831298313983149831598316983179831898319983209832198322983239832498325983269832798328983299833098331983329833398334983359833698337983389833998340983419834298343983449834598346983479834898349983509835198352983539835498355983569835798358983599836098361983629836398364983659836698367983689836998370983719837298373983749837598376983779837898379983809838198382983839838498385983869838798388983899839098391983929839398394983959839698397983989839998400984019840298403984049840598406984079840898409984109841198412984139841498415984169841798418984199842098421984229842398424984259842698427984289842998430984319843298433984349843598436984379843898439984409844198442984439844498445984469844798448984499845098451984529845398454984559845698457984589845998460984619846298463984649846598466984679846898469984709847198472984739847498475984769847798478984799848098481984829848398484984859848698487984889848998490984919849298493984949849598496984979849898499985009850198502985039850498505985069850798508985099851098511985129851398514985159851698517985189851998520985219852298523985249852598526985279852898529985309853198532985339853498535985369853798538985399854098541985429854398544985459854698547985489854998550985519855298553985549855598556985579855898559985609856198562985639856498565985669856798568985699857098571985729857398574985759857698577985789857998580985819858298583985849858598586985879858898589985909859198592985939859498595985969859798598985999860098601986029860398604986059860698607986089860998610986119861298613986149861598616986179861898619986209862198622986239862498625986269862798628986299863098631986329863398634986359863698637986389863998640986419864298643986449864598646986479864898649986509865198652986539865498655986569865798658986599866098661986629866398664986659866698667986689866998670986719867298673986749867598676986779867898679986809868198682986839868498685986869868798688986899869098691986929869398694986959869698697986989869998700987019870298703987049870598706987079870898709987109871198712987139871498715987169871798718987199872098721987229872398724987259872698727987289872998730987319873298733987349873598736987379873898739987409874198742987439874498745987469874798748987499875098751987529875398754987559875698757987589875998760987619876298763987649876598766987679876898769987709877198772987739877498775987769877798778987799878098781987829878398784987859878698787987889878998790987919879298793987949879598796987979879898799988009880198802988039880498805988069880798808988099881098811988129881398814988159881698817988189881998820988219882298823988249882598826988279882898829988309883198832988339883498835988369883798838988399884098841988429884398844988459884698847988489884998850988519885298853988549885598856988579885898859988609886198862988639886498865988669886798868988699887098871988729887398874988759887698877988789887998880988819888298883988849888598886988879888898889988909889198892988939889498895988969889798898988999890098901989029890398904989059890698907989089890998910989119891298913989149891598916989179891898919989209892198922989239892498925989269892798928989299893098931989329893398934989359893698937989389893998940989419894298943989449894598946989479894898949989509895198952989539895498955989569895798958989599896098961989629896398964989659896698967989689896998970989719897298973989749897598976989779897898979989809898198982989839898498985989869898798988989899899098991989929899398994989959899698997989989899999000990019900299003990049900599006990079900899009990109901199012990139901499015990169901799018990199902099021990229902399024990259902699027990289902999030990319903299033990349903599036990379903899039990409904199042990439904499045990469904799048990499905099051990529905399054990559905699057990589905999060990619906299063990649906599066990679906899069990709907199072990739907499075990769907799078990799908099081990829908399084990859908699087990889908999090990919909299093990949909599096990979909899099991009910199102991039910499105991069910799108991099911099111991129911399114991159911699117991189911999120991219912299123991249912599126991279912899129991309913199132991339913499135991369913799138991399914099141991429914399144991459914699147991489914999150991519915299153991549915599156991579915899159991609916199162991639916499165991669916799168991699917099171991729917399174991759917699177991789917999180991819918299183991849918599186991879918899189991909919199192991939919499195991969919799198991999920099201992029920399204992059920699207992089920999210992119921299213992149921599216992179921899219992209922199222992239922499225992269922799228992299923099231992329923399234992359923699237992389923999240992419924299243992449924599246992479924899249992509925199252992539925499255992569925799258992599926099261992629926399264992659926699267992689926999270992719927299273992749927599276992779927899279992809928199282992839928499285992869928799288992899929099291992929929399294992959929699297992989929999300993019930299303993049930599306993079930899309993109931199312993139931499315993169931799318993199932099321993229932399324993259932699327993289932999330993319933299333993349933599336993379933899339993409934199342993439934499345993469934799348993499935099351993529935399354993559935699357993589935999360993619936299363993649936599366993679936899369993709937199372993739937499375993769937799378993799938099381993829938399384993859938699387993889938999390993919939299393993949939599396993979939899399994009940199402994039940499405994069940799408994099941099411994129941399414994159941699417994189941999420994219942299423994249942599426994279942899429994309943199432994339943499435994369943799438994399944099441994429944399444994459944699447994489944999450994519945299453994549945599456994579945899459994609946199462994639946499465994669946799468994699947099471994729947399474994759947699477994789947999480994819948299483994849948599486994879948899489994909949199492994939949499495994969949799498994999950099501995029950399504995059950699507995089950999510995119951299513995149951599516995179951899519995209952199522995239952499525995269952799528995299953099531995329953399534995359953699537995389953999540995419954299543995449954599546995479954899549995509955199552995539955499555995569955799558995599956099561995629956399564995659956699567995689956999570995719957299573995749957599576995779957899579995809958199582995839958499585995869958799588995899959099591995929959399594995959959699597995989959999600996019960299603996049960599606996079960899609996109961199612996139961499615996169961799618996199962099621996229962399624996259962699627996289962999630996319963299633996349963599636996379963899639996409964199642996439964499645996469964799648996499965099651996529965399654996559965699657996589965999660996619966299663996649966599666996679966899669996709967199672996739967499675996769967799678996799968099681996829968399684996859968699687996889968999690996919969299693996949969599696996979969899699997009970199702997039970499705997069970799708997099971099711997129971399714997159971699717997189971999720997219972299723997249972599726997279972899729997309973199732997339973499735997369973799738997399974099741997429974399744997459974699747997489974999750997519975299753997549975599756997579975899759997609976199762997639976499765997669976799768997699977099771997729977399774997759977699777997789977999780997819978299783997849978599786997879978899789997909979199792997939979499795997969979799798997999980099801998029980399804998059980699807998089980999810998119981299813998149981599816998179981899819998209982199822998239982499825998269982799828998299983099831998329983399834998359983699837998389983999840998419984299843998449984599846998479984899849998509985199852998539985499855998569985799858998599986099861998629986399864998659986699867998689986999870998719987299873998749987599876998779987899879998809988199882998839988499885998869988799888998899989099891998929989399894998959989699897998989989999900999019990299903999049990599906999079990899909999109991199912999139991499915999169991799918999199992099921999229992399924999259992699927999289992999930999319993299933999349993599936999379993899939999409994199942999439994499945999469994799948999499995099951999529995399954999559995699957999589995999960999619996299963999649996599966999679996899969999709997199972999739997499975999769997799978999799998099981999829998399984999859998699987999889998999990999919999299993999949999599996999979999899999100000100001100002100003100004100005100006100007100008100009100010100011100012100013100014100015100016100017100018100019100020100021100022100023100024100025100026100027100028100029100030100031100032100033100034100035100036100037100038100039100040100041100042100043100044100045100046100047100048100049100050100051100052100053100054100055100056100057100058100059100060100061100062100063100064100065100066100067100068100069100070100071100072100073100074100075100076100077100078100079100080100081100082100083100084100085100086100087100088100089100090100091100092100093100094100095100096100097100098100099100100100101100102100103100104100105100106100107100108100109100110100111100112100113100114100115100116100117100118100119100120100121100122100123100124100125100126100127100128100129100130100131100132100133100134100135100136100137100138100139100140100141100142100143100144100145100146100147100148100149100150100151100152100153100154100155100156100157100158100159100160100161100162100163100164100165100166100167100168100169100170100171100172100173100174100175100176100177100178100179100180100181100182100183100184100185100186100187100188100189100190100191100192100193100194100195100196100197100198100199100200100201100202100203100204100205100206100207100208100209100210100211100212100213100214100215100216100217100218100219100220100221100222100223100224100225100226100227100228100229100230100231100232100233100234100235100236100237100238100239100240100241100242100243100244100245100246100247100248100249100250100251100252100253100254100255100256100257100258100259100260100261100262100263100264100265100266100267100268100269100270100271100272100273100274100275100276100277100278100279100280100281100282100283100284100285100286100287100288100289100290100291100292100293100294100295100296100297100298100299100300100301100302100303100304100305100306100307100308100309100310100311100312100313100314100315100316100317100318100319100320100321100322100323100324100325100326100327100328100329100330100331100332100333100334100335100336100337100338100339100340100341100342100343100344100345100346100347100348100349100350100351100352100353100354100355100356100357100358100359100360100361100362100363100364100365100366100367100368100369100370100371100372100373100374100375100376100377100378100379100380100381100382100383100384100385100386100387100388100389100390100391100392100393100394100395100396100397100398100399100400100401100402100403100404100405100406100407100408100409100410100411100412100413100414100415100416100417100418100419100420100421100422100423100424100425100426100427100428100429100430100431100432100433100434100435100436100437100438100439100440100441100442100443100444100445100446100447100448100449100450100451100452100453100454100455100456100457100458100459100460100461100462100463100464100465100466100467100468100469100470100471100472100473100474100475100476100477100478100479100480100481100482100483100484100485100486100487100488100489100490100491100492100493100494100495100496100497100498100499100500100501100502100503100504100505100506100507100508100509100510100511100512100513100514100515100516100517100518100519100520100521100522100523100524100525100526100527100528100529100530100531100532100533100534100535100536100537100538100539100540100541100542100543100544100545100546100547100548100549100550100551100552100553100554100555100556100557100558100559100560100561100562100563100564100565100566100567100568100569100570100571100572100573100574100575100576100577100578100579100580100581100582100583100584100585100586100587100588100589100590100591100592100593100594100595100596100597100598100599100600100601100602100603100604100605100606100607100608100609100610100611100612100613100614100615100616100617100618100619100620100621100622100623100624100625100626100627100628100629100630100631100632100633100634100635100636100637100638100639100640100641100642100643100644100645100646100647100648100649100650100651100652100653100654100655100656100657100658100659100660100661100662100663100664100665100666100667100668100669100670100671100672100673100674100675100676100677100678100679100680100681100682100683100684100685100686100687100688100689100690100691100692100693100694100695100696100697100698100699100700100701100702100703100704100705100706100707100708100709100710100711100712100713100714100715100716100717100718100719100720100721100722100723100724100725100726100727100728100729100730100731100732100733100734100735100736100737100738100739100740100741100742100743100744100745100746100747100748100749100750100751100752100753100754100755100756100757100758100759100760100761100762100763100764100765100766100767100768100769100770100771100772100773100774100775100776100777100778100779100780100781100782100783100784100785100786100787100788100789100790100791100792100793100794100795100796100797100798100799100800100801100802100803100804100805100806100807100808100809100810100811100812100813100814100815100816100817100818100819100820100821100822100823100824100825100826100827100828100829100830100831100832100833100834100835100836100837100838100839100840100841100842100843100844100845100846100847100848100849100850100851100852100853100854100855100856100857100858100859100860100861100862100863100864100865100866100867100868100869100870100871100872100873100874100875100876100877100878100879100880100881100882100883100884100885100886100887100888100889100890100891100892100893100894100895100896100897100898100899100900100901100902100903100904100905100906100907100908100909100910100911100912100913100914100915100916100917100918100919100920100921100922100923100924100925100926100927100928100929100930100931100932100933100934100935100936100937100938100939100940100941100942100943100944100945100946100947100948100949100950100951100952100953100954100955100956100957100958100959100960100961100962100963100964100965100966100967100968100969100970100971100972100973100974100975100976100977100978100979100980100981100982100983100984100985100986100987100988100989100990100991100992100993100994100995100996100997100998100999101000101001101002101003101004101005101006101007101008101009101010101011101012101013101014101015101016101017101018101019101020101021101022101023101024101025101026101027101028101029101030101031101032101033101034101035101036101037101038101039101040101041101042101043101044101045101046101047101048101049101050101051101052101053101054101055101056101057101058101059101060101061101062101063101064101065101066101067101068101069101070101071101072101073101074101075101076101077101078101079101080101081101082101083101084101085101086101087101088101089101090101091101092101093101094101095101096101097101098101099101100101101101102101103101104101105101106101107101108101109101110101111101112101113101114101115101116101117101118101119101120101121101122101123101124101125101126101127101128101129101130101131101132101133101134101135101136101137101138101139101140101141101142101143101144101145101146101147101148101149101150101151101152101153101154101155101156101157101158101159101160101161101162101163101164101165101166101167101168101169101170101171101172101173101174101175101176101177101178101179101180101181101182101183101184101185101186101187101188101189101190101191101192101193101194101195101196101197101198101199101200101201101202101203101204101205101206101207101208101209101210101211101212101213101214101215101216101217101218101219101220101221101222101223101224101225101226101227101228101229101230101231101232101233101234101235101236101237101238101239101240101241101242101243101244101245101246101247101248101249101250101251101252101253101254101255101256101257101258101259101260101261101262101263101264101265101266101267101268101269101270101271101272101273101274101275101276101277101278101279101280101281101282101283101284101285101286101287101288101289101290101291101292101293101294101295101296101297101298101299101300101301101302101303101304101305101306101307101308101309101310101311101312101313101314101315101316101317101318101319101320101321101322101323101324101325101326101327101328101329101330101331101332101333101334101335101336101337101338101339101340101341101342101343101344101345101346101347101348101349101350101351101352101353101354101355101356101357101358101359101360101361101362101363101364101365101366101367101368101369101370101371101372101373101374101375101376101377101378101379101380101381101382101383101384101385101386101387101388101389101390101391101392101393101394101395101396101397101398101399101400101401101402101403101404101405101406101407101408101409101410101411101412101413101414101415101416101417101418101419101420101421101422101423101424101425101426101427101428101429101430101431101432101433101434101435101436101437101438101439101440101441101442101443101444101445101446101447101448101449101450101451101452101453101454101455101456101457101458101459101460101461101462101463101464101465101466101467101468101469101470101471101472101473101474101475101476101477101478101479101480101481101482101483101484101485101486101487101488101489101490101491101492101493101494101495101496101497101498101499101500101501101502101503101504101505101506101507101508101509101510101511101512101513101514101515101516101517101518101519101520101521101522101523101524101525101526101527101528101529101530101531101532101533101534101535101536101537101538101539101540101541101542101543101544101545101546101547101548101549101550101551101552101553101554101555101556101557101558101559101560101561101562101563101564101565101566101567101568101569101570101571101572101573101574101575101576101577101578101579101580101581101582101583101584101585101586101587101588101589101590101591101592101593101594101595101596101597101598101599101600101601101602101603101604101605101606101607101608101609101610101611101612101613101614101615101616101617101618101619101620101621101622101623101624101625101626101627101628101629101630101631101632101633101634101635101636101637101638101639101640101641101642101643101644101645101646101647101648101649101650101651101652101653101654101655101656101657101658101659101660101661101662101663101664101665101666101667101668101669101670101671101672101673101674101675101676101677101678101679101680101681101682101683101684101685101686101687101688101689101690101691101692101693101694101695101696101697101698101699101700101701101702101703101704101705101706101707101708101709101710101711101712101713101714101715101716101717101718101719101720101721101722101723101724101725101726101727101728101729101730101731101732101733101734101735101736101737101738101739101740101741101742101743101744101745101746101747101748101749101750101751101752101753101754101755101756101757101758101759101760101761101762101763101764101765101766101767101768101769101770101771101772101773101774101775101776101777101778101779101780101781101782101783101784101785101786101787101788101789101790101791101792101793101794101795101796101797101798101799101800101801101802101803101804101805101806101807101808101809101810101811101812101813101814101815101816101817101818101819101820101821101822101823101824101825101826101827101828101829101830101831101832101833101834101835101836101837101838101839101840101841101842101843101844101845101846101847101848101849101850101851101852101853101854101855101856101857101858101859101860101861101862101863101864101865101866101867101868101869101870101871101872101873101874101875101876101877101878101879101880101881101882101883101884101885101886101887101888101889101890101891101892101893101894101895101896101897101898101899101900101901101902101903101904101905101906101907101908101909101910101911101912101913101914101915101916101917101918101919101920101921101922101923101924101925101926101927101928101929101930101931101932101933101934101935101936101937101938101939101940101941101942101943101944101945101946101947101948101949101950101951101952101953101954101955101956101957101958101959101960101961101962101963101964101965101966101967101968101969101970101971101972101973101974101975101976101977101978101979101980101981101982101983101984101985101986101987101988101989101990101991101992101993101994101995101996101997101998101999102000102001102002102003102004102005102006102007102008102009102010102011102012102013102014102015102016102017102018102019102020102021102022102023102024102025102026102027102028102029102030102031102032102033102034102035102036102037102038102039102040102041102042102043102044102045102046102047102048102049102050102051102052102053102054102055102056102057102058102059102060102061102062102063102064102065102066102067102068102069102070102071102072102073102074102075102076102077102078102079102080102081102082102083102084102085102086102087102088102089102090102091102092102093102094102095102096102097102098102099102100102101102102102103102104102105102106102107102108102109102110102111102112102113102114102115102116102117102118102119102120102121102122102123102124102125102126102127102128102129102130102131102132102133102134102135102136102137102138102139102140102141102142102143102144102145102146102147102148102149102150102151102152102153102154102155102156102157102158102159102160102161102162102163102164102165102166102167102168102169102170102171102172102173102174102175102176102177102178102179102180102181102182102183102184102185102186102187102188102189102190102191102192102193102194102195102196102197102198102199102200102201102202102203102204102205102206102207102208102209102210102211102212102213102214102215102216102217102218102219102220102221102222102223102224102225102226102227102228102229102230102231102232102233102234102235102236102237102238102239102240102241102242102243102244102245102246102247102248102249102250102251102252102253102254102255102256102257102258102259102260102261102262102263102264102265102266102267102268102269102270102271102272102273102274102275102276102277102278102279102280102281102282102283102284102285102286102287102288102289102290102291102292102293102294102295102296102297102298102299102300102301102302102303102304102305102306102307102308102309102310102311102312102313102314102315102316102317102318102319102320102321102322102323102324102325102326102327102328102329102330102331102332102333102334102335102336102337102338102339102340102341102342102343102344102345102346102347102348102349102350102351102352102353102354102355102356102357102358102359102360102361102362102363102364102365102366102367102368102369102370102371102372102373102374102375102376102377102378102379102380102381102382102383102384102385102386102387102388102389102390102391102392102393102394102395102396102397102398102399102400102401102402102403102404102405102406102407102408102409102410102411102412102413102414102415102416102417102418102419102420102421102422102423102424102425102426102427102428102429102430102431102432102433102434102435102436102437102438102439102440102441102442102443102444102445102446102447102448102449102450102451102452102453102454102455102456102457102458102459102460102461102462102463102464102465102466102467102468102469102470102471102472102473102474102475102476102477102478102479102480102481102482102483102484102485102486102487102488102489102490102491102492102493102494102495102496102497102498102499102500102501102502102503102504102505102506102507102508102509102510102511102512102513102514102515102516102517102518102519102520102521102522102523102524102525102526102527102528102529102530102531102532102533102534102535102536102537102538102539102540102541102542102543102544102545102546102547102548102549102550102551102552102553102554102555102556102557102558102559102560102561102562102563102564102565102566102567102568102569102570102571102572102573102574102575102576102577102578102579102580102581102582102583102584102585102586102587102588102589102590102591102592102593102594102595102596102597102598102599102600102601102602102603102604102605102606102607102608102609102610102611102612102613102614102615102616102617102618102619102620102621102622102623102624102625102626102627102628102629102630102631102632102633102634102635102636102637102638102639102640102641102642102643102644102645102646102647102648102649102650102651102652102653102654102655102656102657102658102659102660102661102662102663102664102665102666102667102668102669102670102671102672102673102674102675102676102677102678102679102680102681102682102683102684102685102686102687102688102689102690102691102692102693102694102695102696102697102698102699102700102701102702102703102704102705102706102707102708102709102710102711102712102713102714102715102716102717102718102719102720102721102722102723102724102725102726102727102728102729102730102731102732102733102734102735102736102737102738102739102740102741102742102743102744102745102746102747102748102749102750102751102752102753102754102755102756102757102758102759102760102761102762102763102764102765102766102767102768102769102770102771102772102773102774102775102776102777102778102779102780102781102782102783102784102785102786102787102788102789102790102791102792102793102794102795102796102797102798102799102800102801102802102803102804102805102806102807102808102809102810102811102812102813102814102815102816102817102818102819102820102821102822102823102824102825102826102827102828102829102830102831102832102833102834102835102836102837102838102839102840102841102842102843102844102845102846102847102848102849102850102851102852102853102854102855102856102857102858102859102860102861102862102863102864102865102866102867102868102869102870102871102872102873102874102875102876102877102878102879102880102881102882102883102884102885102886102887102888102889102890102891102892102893102894102895102896102897102898102899102900102901102902102903102904102905102906102907102908102909102910102911102912102913102914102915102916102917102918102919102920102921102922102923102924102925102926102927102928102929102930102931102932102933102934102935102936102937102938102939102940102941102942102943102944102945102946102947102948102949102950102951102952102953102954102955102956102957102958102959102960102961102962102963102964102965102966102967102968102969102970102971102972102973102974102975102976102977102978102979102980102981102982102983102984102985102986102987102988102989102990102991102992102993102994102995102996102997102998102999103000103001103002103003103004103005103006103007103008103009103010103011103012103013103014103015103016103017103018103019103020103021103022103023103024103025103026103027103028103029103030103031103032103033103034103035103036103037103038103039103040103041103042103043103044103045103046103047103048103049103050103051103052103053103054103055103056103057103058103059103060103061103062103063103064103065103066103067103068103069103070103071103072103073103074103075103076103077103078103079103080103081103082103083103084103085103086103087103088103089103090103091103092103093103094103095103096103097103098103099103100103101103102103103103104103105103106103107103108103109103110103111103112103113103114103115103116103117103118103119103120103121103122103123103124103125103126103127103128103129103130103131103132103133103134103135103136103137103138103139103140103141103142103143103144103145103146103147103148103149103150103151103152103153103154103155103156103157103158103159103160103161103162103163103164103165103166103167103168103169103170103171103172103173103174103175103176103177103178103179103180103181103182103183103184103185103186103187103188103189103190103191103192103193103194103195103196103197103198103199103200103201103202103203103204103205103206103207103208103209103210103211103212103213103214103215103216103217103218103219103220103221103222103223103224103225103226103227103228103229103230103231103232103233103234103235103236103237103238103239103240103241103242103243103244103245103246103247103248103249103250103251103252103253103254103255103256103257103258103259103260103261103262103263103264103265103266103267103268103269103270103271103272103273103274103275103276103277103278103279103280103281103282103283103284103285103286103287103288103289103290103291103292103293103294103295103296103297103298103299103300103301103302103303103304103305103306103307103308103309103310103311103312103313103314103315103316103317103318103319103320103321103322103323103324103325103326103327103328103329103330103331103332103333103334103335103336103337103338103339103340103341103342103343103344103345103346103347103348103349103350103351103352103353103354103355103356103357103358103359103360103361103362103363103364103365103366103367103368103369103370103371103372103373103374103375103376103377103378103379103380103381103382103383103384103385103386103387103388103389103390103391103392103393103394103395103396103397103398103399103400103401103402103403103404103405103406103407103408103409103410103411103412103413103414103415103416103417103418103419103420103421103422103423103424103425103426103427103428103429103430103431103432103433103434103435103436103437103438103439103440103441103442103443103444103445103446103447103448103449103450103451103452103453103454103455103456103457103458103459103460103461103462103463103464103465103466103467103468103469103470103471103472103473103474103475103476103477103478103479103480103481103482103483103484103485103486103487103488103489103490103491103492103493103494103495103496103497103498103499103500103501103502103503103504103505103506103507103508103509103510103511103512103513103514103515103516103517103518103519103520103521103522103523103524103525103526103527103528103529103530103531103532103533103534103535103536103537103538103539103540103541103542103543103544103545103546103547103548103549103550103551103552103553103554103555103556103557103558103559103560103561103562103563103564103565103566103567103568103569103570103571103572103573103574103575103576103577103578103579103580103581103582103583103584103585103586103587103588103589103590103591103592103593103594103595103596103597103598103599103600103601103602103603103604103605103606103607103608103609103610103611103612103613103614103615103616103617103618103619103620103621103622103623103624103625103626103627103628103629103630103631103632103633103634103635103636103637103638103639103640103641103642103643103644103645103646103647103648103649103650103651103652103653103654103655103656103657103658103659103660103661103662103663103664103665103666103667103668103669103670103671103672103673103674103675103676103677103678103679103680103681103682103683103684103685103686103687103688103689103690103691103692103693103694103695103696103697103698103699103700103701103702103703103704103705103706103707103708103709103710103711103712103713103714103715103716103717103718103719103720103721103722103723103724103725103726103727103728103729103730103731103732103733103734103735103736103737103738103739103740103741103742103743103744103745103746103747103748103749103750103751103752103753103754103755103756103757103758103759103760103761103762103763103764103765103766103767103768103769103770103771103772103773103774103775103776103777103778103779103780103781103782103783103784103785103786103787103788103789103790103791103792103793103794103795103796103797103798103799103800103801103802103803103804103805103806103807103808103809103810103811103812103813103814103815103816103817103818103819103820103821103822103823103824103825103826103827103828103829103830103831103832103833103834103835103836103837103838103839103840103841103842103843103844103845103846103847103848103849103850103851103852103853103854103855103856103857103858103859103860103861103862103863103864103865103866103867103868103869103870103871103872103873103874103875103876103877103878103879103880103881103882103883103884103885103886103887103888103889103890103891103892103893103894103895103896103897103898103899103900103901103902103903103904103905103906103907103908103909103910103911103912103913103914103915103916103917103918103919103920103921103922103923103924103925103926103927103928103929103930103931103932103933103934103935103936103937103938103939103940103941103942103943103944103945103946103947103948103949103950103951103952103953103954103955103956103957103958103959103960103961103962103963103964103965103966103967103968103969103970103971103972103973103974103975103976103977103978103979103980103981103982103983103984103985103986103987103988103989103990103991103992103993103994103995103996103997103998103999104000104001104002104003104004104005104006104007104008104009104010104011104012104013104014104015104016104017104018104019104020104021104022104023104024104025104026104027104028104029104030104031104032104033104034104035104036104037104038104039104040104041104042104043104044104045104046104047104048104049104050104051104052104053104054104055104056104057104058104059104060104061104062104063104064104065104066104067104068104069104070104071104072104073104074104075104076104077104078104079104080104081104082104083104084104085104086104087104088104089104090104091104092104093104094104095104096104097104098104099104100104101104102104103104104104105104106104107104108104109104110104111104112104113104114104115104116104117104118104119104120104121104122104123104124104125104126104127104128104129104130104131104132104133104134104135104136104137104138104139104140104141104142104143104144104145104146104147104148104149104150104151104152104153104154104155104156104157104158104159104160104161104162104163104164104165104166104167104168104169104170104171104172104173104174104175104176104177104178104179104180104181104182104183104184104185104186104187104188104189104190104191104192104193104194104195104196104197104198104199104200104201104202104203104204104205104206104207104208104209104210104211104212104213104214104215104216104217104218104219104220104221104222104223104224104225104226104227104228104229104230104231104232104233104234104235104236104237104238104239104240104241104242104243104244104245104246104247104248104249104250104251104252104253104254104255104256104257104258104259104260104261104262104263104264104265104266104267104268104269104270104271104272104273104274104275104276104277104278104279104280104281104282104283104284104285104286104287104288104289104290104291104292104293104294104295104296104297104298104299104300104301104302104303104304104305104306104307104308104309104310104311104312104313104314104315104316104317104318104319104320104321104322104323104324104325104326104327104328104329104330104331104332104333104334104335104336104337104338104339104340104341104342104343104344104345104346104347104348104349104350104351104352104353104354104355104356104357104358104359104360104361104362104363104364104365104366104367104368104369104370104371104372104373104374104375104376104377104378104379104380104381104382104383104384104385104386104387104388104389104390104391104392104393104394104395104396104397104398104399104400104401104402104403104404104405104406104407104408104409104410104411104412104413104414104415104416104417104418104419104420104421104422104423104424104425104426104427104428104429104430104431104432104433104434104435104436104437104438104439104440104441104442104443104444104445104446104447104448104449104450104451104452104453104454104455104456104457104458104459104460104461104462104463104464104465104466104467104468104469104470104471104472104473104474104475104476104477104478104479104480104481104482104483104484104485104486104487104488104489104490104491104492104493104494104495104496104497104498104499104500104501104502104503104504104505104506104507104508104509104510104511104512104513104514104515104516104517104518104519104520104521104522104523104524104525104526104527104528104529104530104531104532104533104534104535104536104537104538104539104540104541104542104543104544104545104546104547104548104549104550104551104552104553104554104555104556104557104558104559104560104561104562104563104564104565104566104567104568104569104570104571104572104573104574104575104576104577104578104579104580104581104582104583104584104585104586104587104588104589104590104591104592104593104594104595104596104597104598104599104600104601104602104603104604104605104606104607104608104609104610104611104612104613104614104615104616104617104618104619104620104621104622104623104624104625104626104627104628104629104630104631104632104633104634104635104636104637104638104639104640104641104642104643104644104645104646104647104648104649104650104651104652104653104654104655104656104657104658104659104660104661104662104663104664104665104666104667104668104669104670104671104672104673104674104675104676104677104678104679104680104681104682104683104684104685104686104687104688104689104690104691104692104693104694104695104696104697104698104699104700104701104702104703104704104705104706104707104708104709104710104711104712104713104714104715104716104717104718104719104720104721104722104723104724104725104726104727104728104729104730104731104732104733104734104735104736104737104738104739104740104741104742104743104744104745104746104747104748104749104750104751104752104753104754104755104756104757104758104759104760104761104762104763104764104765104766104767104768104769104770104771104772104773104774104775104776104777104778104779104780104781104782104783104784104785104786104787104788104789104790104791104792104793104794104795104796104797104798104799104800104801104802104803104804104805104806104807104808104809104810104811104812104813104814104815104816104817104818104819104820104821104822104823104824104825104826104827104828104829104830104831104832104833104834104835104836104837104838104839104840104841104842104843104844104845104846104847104848104849104850104851104852104853104854104855104856104857104858104859104860104861104862104863104864104865104866104867104868104869104870104871104872104873104874104875104876104877104878104879104880104881104882104883104884104885104886104887104888104889104890104891104892104893104894104895104896104897104898104899104900104901104902104903104904104905104906104907104908104909104910104911104912104913104914104915104916104917104918104919104920104921104922104923104924104925104926104927104928104929104930104931104932104933104934104935104936104937104938104939104940104941104942104943104944104945104946104947104948104949104950104951104952104953104954104955104956104957104958104959104960104961104962104963104964104965104966104967104968104969104970104971104972104973104974104975104976104977104978104979104980104981104982104983104984104985104986104987104988104989104990104991104992104993104994104995104996104997104998104999105000105001105002105003105004105005105006105007105008105009105010105011105012105013105014105015105016105017105018105019105020105021105022105023105024105025105026105027105028105029105030105031105032105033105034105035105036105037105038105039105040105041105042105043105044105045105046105047105048105049105050105051105052105053105054105055105056105057105058105059105060105061105062105063105064105065105066105067105068105069105070105071105072105073105074105075105076105077105078105079105080105081105082105083105084105085105086105087105088105089105090105091105092105093105094105095105096105097105098105099105100105101105102105103105104105105105106105107105108105109105110105111105112105113105114105115105116105117105118105119105120105121105122105123105124105125105126105127105128105129105130105131105132105133105134105135105136105137105138105139105140105141105142105143105144105145105146105147105148105149105150105151105152105153105154105155105156105157105158105159105160105161105162105163105164105165105166105167105168105169105170105171105172105173105174105175105176105177105178105179105180105181105182105183105184105185105186105187105188105189105190105191105192105193105194105195105196105197105198105199105200105201105202105203105204105205105206105207105208105209105210105211105212105213105214105215105216105217105218105219105220105221105222105223105224105225105226105227105228105229105230105231105232105233105234105235105236105237105238105239105240105241105242105243105244105245105246105247105248105249105250105251105252105253105254105255105256105257105258105259105260105261105262105263105264105265105266105267105268105269105270105271105272105273105274105275105276105277105278105279105280105281105282105283105284105285105286105287105288105289105290105291105292105293105294105295105296105297105298105299105300105301105302105303105304105305105306105307105308105309105310105311105312105313105314105315105316105317105318105319105320105321105322105323105324105325105326105327105328105329105330105331105332105333105334105335105336105337105338105339105340105341105342105343105344105345105346105347105348105349105350105351105352105353105354105355105356105357105358105359105360105361105362105363105364105365105366105367105368105369105370105371105372105373105374105375105376105377105378105379105380105381105382105383105384105385105386105387105388105389105390105391105392105393105394105395105396105397105398105399105400105401105402105403105404105405105406105407105408105409105410105411105412105413105414105415105416105417105418105419105420105421105422105423105424105425105426105427105428105429105430105431105432105433105434105435105436105437105438105439105440105441105442105443105444105445105446105447105448105449105450105451105452105453105454105455105456105457105458105459105460105461105462105463105464105465105466105467105468105469105470105471105472105473105474105475105476105477105478105479105480105481105482105483105484105485105486105487105488105489105490105491105492105493105494105495105496105497105498105499105500105501105502105503105504105505105506105507105508105509105510105511105512105513105514105515105516105517105518105519105520105521105522105523105524105525105526105527105528105529105530105531105532105533105534105535105536105537105538105539105540105541105542105543105544105545105546105547105548105549105550105551105552105553105554105555105556105557105558105559105560105561105562105563105564105565105566105567105568105569105570105571105572105573105574105575105576105577105578105579105580105581105582105583105584105585105586105587105588105589105590105591105592105593105594105595105596105597105598105599105600105601105602105603105604105605105606105607105608105609105610105611105612105613105614105615105616105617105618105619105620105621105622105623105624105625105626105627105628105629105630105631105632105633105634105635105636105637105638105639105640105641105642105643105644105645105646105647105648105649105650105651105652105653105654105655105656105657105658105659105660105661105662105663105664105665105666105667105668105669105670105671105672105673105674105675105676105677105678105679105680105681105682105683105684105685105686105687105688105689105690105691105692105693105694105695105696105697105698105699105700105701105702105703105704105705105706105707105708105709105710105711105712105713105714105715105716105717105718105719105720105721105722105723105724105725105726105727105728105729105730105731105732105733105734105735105736105737105738105739105740105741105742105743105744105745105746105747105748105749105750105751105752105753105754105755105756105757105758105759105760105761105762105763105764105765105766105767105768105769105770105771105772105773105774105775105776105777105778105779105780105781105782105783105784105785105786105787105788105789105790105791105792105793105794105795105796105797105798105799105800105801105802105803105804105805105806105807105808105809105810105811105812105813105814105815105816105817105818105819105820105821105822105823105824105825105826105827105828105829105830105831105832105833105834105835105836105837105838105839105840105841105842105843105844105845105846105847105848105849105850105851105852105853105854105855105856105857105858105859105860105861105862105863105864105865105866105867105868105869105870105871105872105873105874105875105876105877105878105879105880105881105882105883105884105885105886105887105888105889105890105891105892105893105894105895105896105897105898105899105900105901105902105903105904105905105906105907105908105909105910105911105912105913105914105915105916105917105918105919105920105921105922105923105924105925105926105927105928105929105930105931105932105933105934105935105936105937105938105939105940105941105942105943105944105945105946105947105948105949105950105951105952105953105954105955105956105957105958105959105960105961105962105963105964105965105966105967105968105969105970105971105972105973105974105975105976105977105978105979105980105981105982105983105984105985105986105987105988105989105990105991105992105993105994105995105996105997105998105999106000106001106002106003106004106005106006106007106008106009106010106011106012106013106014106015106016106017106018106019106020106021106022106023106024106025106026106027106028106029106030106031106032106033106034106035106036106037106038106039106040106041106042106043106044106045106046106047106048106049106050106051106052106053106054106055106056106057106058106059106060106061106062106063106064106065106066106067106068106069106070106071106072106073106074106075106076106077106078106079106080106081106082106083106084106085106086106087106088106089106090106091106092106093106094106095106096106097106098106099106100106101106102106103106104106105106106106107106108106109106110106111106112106113106114106115106116106117106118106119106120106121106122106123106124106125106126106127106128106129106130106131106132106133106134106135106136106137106138106139106140106141106142106143106144106145106146106147106148106149106150106151106152106153106154106155106156106157106158106159106160106161106162106163106164106165106166106167106168106169106170106171106172106173106174106175106176106177106178106179106180106181106182106183106184106185106186106187106188106189106190106191106192106193106194106195106196106197106198106199106200106201106202106203106204106205106206106207106208106209106210106211106212106213106214106215106216106217106218106219106220106221106222106223106224106225106226106227106228106229106230106231106232106233106234106235106236106237106238106239106240106241106242106243106244106245106246106247106248106249106250106251106252106253106254106255106256106257106258106259106260106261106262106263106264106265106266106267106268106269106270106271106272106273106274106275106276106277106278106279106280106281106282106283106284106285106286106287106288106289106290106291106292106293106294106295106296106297106298106299106300106301106302106303106304106305106306106307106308106309106310106311106312106313106314106315106316106317106318106319106320106321106322106323106324106325106326106327106328106329106330106331106332106333106334106335106336106337106338106339106340106341106342106343106344106345106346106347106348106349106350106351106352106353106354106355106356106357106358106359106360106361106362106363106364106365106366106367106368106369106370106371106372106373106374106375106376106377106378106379106380106381106382106383106384106385106386106387106388106389106390106391106392106393106394106395106396106397106398106399106400106401106402106403106404106405106406106407106408106409106410106411106412106413106414106415106416106417106418106419106420106421106422106423106424106425106426106427106428106429106430106431106432106433106434106435106436106437106438106439106440106441106442106443106444106445106446106447106448106449106450106451106452106453106454106455106456106457106458106459106460106461106462106463106464106465106466106467106468106469106470106471106472106473106474106475106476106477106478106479106480106481106482106483106484106485106486106487106488106489106490106491106492106493106494106495106496106497106498106499106500106501106502106503106504106505106506106507106508106509106510106511106512106513106514106515106516106517106518106519106520106521106522106523106524106525106526106527106528106529106530106531106532106533106534106535106536106537106538106539106540106541106542106543106544106545106546106547106548106549106550106551106552106553106554106555106556106557106558106559106560106561106562106563106564106565106566106567106568106569106570106571106572106573106574106575106576106577106578106579106580106581106582106583106584106585106586106587106588106589106590106591106592106593106594106595106596106597106598106599106600106601106602106603106604106605106606106607106608106609106610106611106612106613106614106615106616106617106618106619106620106621106622106623106624106625106626106627106628106629106630106631106632106633106634106635106636106637106638106639106640106641106642106643106644106645106646106647106648106649106650106651106652106653106654106655106656106657106658106659106660106661106662106663106664106665106666106667106668106669106670106671106672106673106674106675106676106677106678106679106680106681106682106683106684106685106686106687106688106689106690106691106692106693106694106695106696106697106698106699106700106701106702106703106704106705106706106707106708106709106710106711106712106713106714106715106716106717106718106719106720106721106722106723106724106725106726106727106728106729106730106731106732106733106734106735106736106737106738106739106740106741106742106743106744106745106746106747106748106749106750106751106752106753106754106755106756106757106758106759106760106761106762106763106764106765106766106767106768106769106770106771106772106773106774106775106776106777106778106779106780106781106782106783106784106785106786106787106788106789106790106791106792106793106794106795106796106797106798106799106800106801106802106803106804106805106806106807106808106809106810106811106812106813106814106815106816106817106818106819106820106821106822106823106824106825106826106827106828106829106830106831106832106833106834106835106836106837106838106839106840106841106842106843106844106845106846106847106848106849106850106851106852106853106854106855106856106857106858106859106860106861106862106863106864106865106866106867106868106869106870106871106872106873106874106875106876106877106878106879106880106881106882106883106884106885106886106887106888106889106890106891106892106893106894106895106896106897106898106899106900106901106902106903106904106905106906106907106908106909106910106911106912106913106914106915106916106917106918106919106920106921106922106923106924106925106926106927106928106929106930106931106932106933106934106935106936106937106938106939106940106941106942106943106944106945106946106947106948106949106950106951106952106953106954106955106956106957106958106959106960106961106962106963106964106965106966106967106968106969106970106971106972106973106974106975106976106977106978106979106980106981106982106983106984106985106986106987106988106989106990106991106992106993106994106995106996106997106998106999107000107001107002107003107004107005107006107007107008107009107010107011107012107013107014107015107016107017107018107019107020107021107022107023107024107025107026107027107028107029107030107031107032107033107034107035107036107037107038107039107040107041107042107043107044107045107046107047107048107049107050107051107052107053107054107055107056107057107058107059107060107061107062107063107064107065107066107067107068107069107070107071107072107073107074107075107076107077107078107079107080107081107082107083107084107085107086107087107088107089107090107091107092107093107094107095107096107097107098107099107100107101107102107103107104107105107106107107107108107109107110107111107112107113107114107115107116107117107118107119107120107121107122107123107124107125107126107127107128107129107130107131107132107133107134107135107136107137107138107139107140107141107142107143107144107145107146107147107148107149107150107151107152107153107154107155107156107157107158107159107160107161107162107163107164107165107166107167107168107169107170107171107172107173107174107175107176107177107178107179107180107181107182107183107184107185107186107187107188107189107190107191107192107193107194107195107196107197107198107199107200107201107202107203107204107205107206107207107208107209107210107211107212107213107214107215107216107217107218107219107220107221107222107223107224107225107226107227107228107229107230107231107232107233107234107235107236107237107238107239107240107241107242107243107244107245107246107247107248107249107250107251107252107253107254107255107256107257107258107259107260107261107262107263107264107265107266107267107268107269107270107271107272107273107274107275107276107277107278107279107280107281107282107283107284107285107286107287107288107289107290107291107292107293107294107295107296107297107298107299107300107301107302107303107304107305107306107307107308107309107310107311107312107313107314107315107316107317107318107319107320107321107322107323107324107325107326107327107328107329107330107331107332107333107334107335107336107337107338107339107340107341107342107343107344107345107346107347107348107349107350107351107352107353107354107355107356107357107358107359107360107361107362107363107364107365107366107367107368107369107370107371107372107373107374107375107376107377107378107379107380107381107382107383107384107385107386107387107388107389107390107391107392107393107394107395107396107397107398107399107400107401107402107403107404107405107406107407107408107409107410107411107412107413107414107415107416107417107418107419107420107421107422107423107424107425107426107427107428107429107430107431107432107433107434107435107436107437107438107439107440107441107442107443107444107445107446107447107448107449107450107451107452107453107454107455107456107457107458107459107460107461107462107463107464107465107466107467107468107469107470107471107472107473107474107475107476107477107478107479107480107481107482107483107484107485107486107487107488107489107490107491107492107493107494107495107496107497107498107499107500107501107502107503107504107505107506107507107508107509107510107511107512107513107514107515107516107517107518107519107520107521107522107523107524107525107526107527107528107529107530107531107532107533107534107535107536107537107538107539107540107541107542107543107544107545107546107547107548107549107550107551107552107553107554107555107556107557107558107559107560107561107562107563107564107565107566107567107568107569107570107571107572107573107574107575107576107577107578107579107580107581107582107583107584107585107586107587107588107589107590107591107592107593107594107595107596107597107598107599107600107601107602107603107604107605107606107607107608107609107610107611107612107613107614107615107616107617107618107619107620107621107622107623107624107625107626107627107628107629107630107631107632107633107634107635107636107637107638107639107640107641107642107643107644107645107646107647107648107649107650107651107652107653107654107655107656107657107658107659107660107661107662107663107664107665107666107667107668107669107670107671107672107673107674107675107676107677107678107679107680107681107682107683107684107685107686107687107688107689107690107691107692107693107694107695107696107697107698107699107700107701107702107703107704107705107706107707107708107709107710107711107712107713107714107715107716107717107718107719107720107721107722107723107724107725107726107727107728107729107730107731107732107733107734107735107736107737107738107739107740107741107742107743107744107745107746107747107748107749107750107751107752107753107754107755107756107757107758107759107760107761107762107763107764107765107766107767107768107769107770107771107772107773107774107775107776107777107778107779107780107781107782107783107784107785107786107787107788107789107790107791107792107793107794107795107796107797107798107799107800107801107802107803107804107805107806107807107808107809107810107811107812107813107814107815107816107817107818107819107820107821107822107823107824107825107826107827107828107829107830107831107832107833107834107835107836107837107838107839107840107841107842107843107844107845107846107847107848107849107850107851107852107853107854107855107856107857107858107859107860107861107862107863107864107865107866107867107868107869107870107871107872107873107874107875107876107877107878107879107880107881107882107883107884107885107886107887107888107889107890107891107892107893107894107895107896107897107898107899107900107901107902107903107904107905107906107907107908107909107910107911107912107913107914107915107916107917107918107919107920107921107922107923107924107925107926107927107928107929107930107931107932107933107934107935107936107937107938107939107940107941107942107943107944107945107946107947107948107949107950107951107952107953107954107955107956107957107958107959107960107961107962107963107964107965107966107967107968107969107970107971107972107973107974107975107976107977107978107979107980107981107982107983107984107985107986107987107988107989107990107991107992107993107994107995107996107997107998107999108000108001108002108003108004108005108006108007108008108009108010108011108012108013108014108015108016108017108018108019108020108021108022108023108024108025108026108027108028108029108030108031108032108033108034108035108036108037108038108039108040108041108042108043108044108045108046108047108048108049108050108051108052108053108054108055108056108057108058108059108060108061108062108063108064108065108066108067108068108069108070108071108072108073108074108075108076108077108078108079108080108081108082108083108084108085108086108087108088108089108090108091108092108093108094108095108096108097108098108099108100108101108102108103108104108105108106108107108108108109108110108111108112108113108114108115108116108117108118108119108120108121108122108123108124108125108126108127108128108129108130108131108132108133108134108135108136108137108138108139108140108141108142108143108144108145108146108147108148108149108150108151108152108153108154108155108156108157108158108159108160108161108162108163108164108165108166108167108168108169108170108171108172108173108174108175108176108177108178108179108180108181108182108183108184108185108186108187108188108189108190108191108192108193108194108195108196108197108198108199108200108201108202108203108204108205108206108207108208108209108210108211108212108213108214108215108216108217108218108219108220108221108222108223108224108225108226108227108228108229108230108231108232108233108234108235108236108237108238108239108240108241108242108243108244108245108246108247108248108249108250108251108252108253108254108255108256108257108258108259108260108261108262108263108264108265108266108267108268108269108270108271108272108273108274108275108276108277108278108279108280108281108282108283108284108285108286108287108288108289108290108291108292108293108294108295108296108297108298108299108300108301108302108303108304108305108306108307108308108309108310108311108312108313108314108315108316108317108318108319108320108321108322108323108324108325108326108327108328108329108330108331108332108333108334108335108336108337108338108339108340108341108342108343108344108345108346108347108348108349108350108351108352108353108354108355108356108357108358108359108360108361108362108363108364108365108366108367108368108369108370108371108372108373108374108375108376108377108378108379108380108381108382108383108384108385108386108387108388108389108390108391108392108393108394108395108396108397108398108399108400108401108402108403108404108405108406108407108408108409108410108411108412108413108414108415108416108417108418108419108420108421108422108423108424108425108426108427108428108429108430108431108432108433108434108435108436108437108438108439108440108441108442108443108444108445108446108447108448108449108450108451108452108453108454108455108456108457108458108459108460108461108462108463108464108465108466108467108468108469108470108471108472108473108474108475108476108477108478108479108480108481108482108483108484108485108486108487108488108489108490108491108492108493108494108495108496108497108498108499108500108501108502108503108504108505108506108507108508108509108510108511108512108513108514108515108516108517108518108519108520108521108522108523108524108525108526108527108528108529108530108531108532108533108534108535108536108537108538108539108540108541108542108543108544108545108546108547108548108549108550108551108552108553108554108555108556108557108558108559108560108561108562108563108564108565108566108567108568108569108570108571108572108573108574108575108576108577108578108579108580108581108582108583108584108585108586108587108588108589108590108591108592108593108594108595108596108597108598108599108600108601108602108603108604108605108606108607108608108609108610108611108612108613108614108615108616108617108618108619108620108621108622108623108624108625108626108627108628108629108630108631108632108633108634108635108636108637108638108639108640108641108642108643108644108645108646108647108648108649108650108651108652108653108654108655108656108657108658108659108660108661108662108663108664108665108666108667108668108669108670108671108672108673108674108675108676108677108678108679108680108681108682108683108684108685108686108687108688108689108690108691108692108693108694108695108696108697108698108699108700108701108702108703108704108705108706108707108708108709108710108711108712108713108714108715108716108717108718108719108720108721108722108723108724108725108726108727108728108729108730108731108732108733108734108735108736108737108738108739108740108741108742108743108744108745108746108747108748108749108750108751108752108753108754108755108756108757108758108759108760108761108762108763108764108765108766108767108768108769108770108771108772108773108774108775108776108777108778108779108780108781108782108783108784108785108786108787108788108789108790108791108792108793108794108795108796108797108798108799108800108801108802108803108804108805108806108807108808108809108810108811108812108813108814108815108816108817108818108819108820108821108822108823108824108825108826108827108828108829108830108831108832108833108834108835108836108837108838108839108840108841108842108843108844108845108846108847108848108849108850108851108852108853108854108855108856108857108858108859108860108861108862108863108864108865108866108867108868108869108870108871108872108873108874108875108876108877108878108879108880108881108882108883108884108885108886108887108888108889108890108891108892108893108894108895108896108897108898108899108900108901108902108903108904108905108906108907108908108909108910108911108912108913108914108915108916108917108918108919108920108921108922108923108924108925108926108927108928108929108930108931108932108933108934108935108936108937108938108939108940108941108942108943108944108945108946108947108948108949108950108951108952108953108954108955108956108957108958108959108960108961108962108963108964108965108966108967108968108969108970108971108972108973108974108975108976108977108978108979108980108981108982108983108984108985108986108987108988108989108990108991108992108993108994108995108996108997108998108999109000109001109002109003109004109005109006109007109008109009109010109011109012109013109014109015109016109017109018109019109020109021109022109023109024109025109026109027109028109029109030109031109032109033109034109035109036109037109038109039109040109041109042109043109044109045109046109047109048109049109050109051109052109053109054109055109056109057109058109059109060109061109062109063109064109065109066109067109068109069109070109071109072109073109074109075109076109077109078109079109080109081109082109083109084109085109086109087109088109089109090109091109092109093109094109095109096109097109098109099109100109101109102109103109104109105109106109107109108109109109110109111109112109113109114109115109116109117109118109119109120109121109122109123109124109125109126109127109128109129109130109131109132109133109134109135109136109137109138109139109140109141109142109143109144109145109146109147109148109149109150109151109152109153109154109155109156109157109158109159109160109161109162109163109164109165109166109167109168109169109170109171109172109173109174109175109176109177109178109179109180109181109182109183109184109185109186109187109188109189109190109191109192109193109194109195109196109197109198109199109200109201109202109203109204109205109206109207109208109209109210109211109212109213109214109215109216109217109218109219109220109221109222109223109224109225109226109227109228109229109230109231109232109233109234109235109236109237109238109239109240109241109242109243109244109245109246109247109248109249109250109251109252109253109254109255109256109257109258109259109260109261109262109263109264109265109266109267109268109269109270109271109272109273109274109275109276109277109278109279109280109281109282109283109284109285109286109287109288109289109290109291109292109293109294109295109296109297109298109299109300109301109302109303109304109305109306109307109308109309109310109311109312109313109314109315109316109317109318109319109320109321109322109323109324109325109326109327109328109329109330109331109332109333109334109335109336109337109338109339109340109341109342109343109344109345109346109347109348109349109350109351109352109353109354109355109356109357109358109359109360109361109362109363109364109365109366109367109368109369109370109371109372109373109374109375109376109377109378109379109380109381109382109383109384109385109386109387109388109389109390109391109392109393109394109395109396109397109398109399109400109401109402109403109404109405109406109407109408109409109410109411109412109413109414109415109416109417109418109419109420109421109422109423109424109425109426109427109428109429109430109431109432109433109434109435109436109437109438109439109440109441109442109443109444109445109446109447109448109449109450109451109452109453109454109455109456109457109458109459109460109461109462109463109464109465109466109467109468109469109470109471109472109473109474109475109476109477109478109479109480109481109482109483109484109485109486109487109488109489109490109491109492109493109494109495109496109497109498109499109500109501109502109503109504109505109506109507109508109509109510109511109512109513109514109515109516109517109518109519109520109521109522109523109524109525109526109527109528109529109530109531109532109533109534109535109536109537109538109539109540109541109542109543109544109545109546109547109548109549109550109551109552109553109554109555109556109557109558109559109560109561109562109563109564109565109566109567109568109569109570109571109572109573109574109575109576109577109578109579109580109581109582109583109584109585109586109587109588109589109590109591109592109593109594109595109596109597109598109599109600109601109602109603109604109605109606109607109608109609109610109611109612109613109614109615109616109617109618109619109620109621109622109623109624109625109626109627109628109629109630109631109632109633109634109635109636109637109638109639109640109641109642109643109644109645109646109647109648109649109650109651109652109653109654109655109656109657109658109659109660109661109662109663109664109665109666109667109668109669109670109671109672109673109674109675109676109677109678109679109680109681109682109683109684109685109686109687109688109689109690109691109692109693109694109695109696109697109698109699109700109701109702109703109704109705109706109707109708109709109710109711109712109713109714109715109716109717109718109719109720109721109722109723109724109725109726109727109728109729109730109731109732109733109734109735109736109737109738109739109740109741109742109743109744109745109746109747109748109749109750109751109752109753109754109755109756109757109758109759109760109761109762109763109764109765109766109767109768109769109770109771109772109773109774109775109776109777109778109779109780109781109782109783109784109785109786109787109788109789109790109791109792109793109794109795109796109797109798109799109800109801109802109803109804109805109806109807109808109809109810109811109812109813109814109815109816109817109818109819109820109821109822109823109824109825109826109827109828109829109830109831109832109833109834109835109836109837109838109839109840109841109842109843109844109845109846109847109848109849109850109851109852109853109854109855109856109857109858109859109860109861109862109863109864109865109866109867109868109869109870109871109872109873109874109875109876109877109878109879109880109881109882109883109884109885109886109887109888109889109890109891109892109893109894109895109896109897109898109899109900109901109902109903109904109905109906109907109908109909109910109911109912109913109914109915109916109917109918109919109920109921109922109923109924109925109926109927109928109929109930109931109932109933109934109935109936109937109938109939109940109941109942109943109944109945109946109947109948109949109950109951109952109953109954109955109956109957109958109959109960109961109962109963109964109965109966109967109968109969109970109971109972109973109974109975109976109977109978109979109980109981109982109983109984109985109986109987109988109989109990109991109992109993109994109995109996109997109998109999110000110001110002110003110004110005110006110007110008110009110010110011110012110013110014110015110016110017110018110019110020110021110022110023110024110025110026110027110028110029110030110031110032110033110034110035110036110037110038110039110040110041110042110043110044110045110046110047110048110049110050110051110052110053110054110055110056110057110058110059110060110061110062110063110064110065110066110067110068110069110070110071110072110073110074110075110076110077110078110079110080110081110082110083110084110085110086110087110088110089110090110091110092110093110094110095110096110097110098110099110100110101110102110103110104110105110106110107110108110109110110110111110112110113110114110115110116110117110118110119110120110121110122110123110124110125110126110127110128110129110130110131110132110133110134110135110136110137110138110139110140110141110142110143110144110145110146110147110148110149110150110151110152110153110154110155110156110157110158110159110160110161110162110163110164110165110166110167110168110169110170110171110172110173110174110175110176110177110178110179110180110181110182110183110184110185110186110187110188110189110190110191110192110193110194110195110196110197110198110199110200110201110202110203110204110205110206110207110208110209110210110211110212110213110214110215110216110217110218110219110220110221110222110223110224110225110226110227110228110229110230110231110232110233110234110235110236110237110238110239110240110241110242110243110244110245110246110247110248110249110250110251110252110253110254110255110256110257110258110259110260110261110262110263110264110265110266110267110268110269110270110271110272110273110274110275110276110277110278110279110280110281110282110283110284110285110286110287110288110289110290110291110292110293110294110295110296110297110298110299110300110301110302110303110304110305110306110307110308110309110310110311110312110313110314110315110316110317110318110319110320110321110322110323110324110325110326110327110328110329110330110331110332110333110334110335110336110337110338110339110340110341110342110343110344110345110346110347110348110349110350110351110352110353110354110355110356110357110358110359110360110361110362110363110364110365110366110367110368110369110370110371110372110373110374110375110376110377110378110379110380110381110382110383110384110385110386110387110388110389110390110391110392110393110394110395110396110397110398110399110400110401110402110403110404110405110406110407110408110409110410110411110412110413110414110415110416110417110418110419110420110421110422110423110424110425110426110427110428110429110430110431110432110433110434110435110436110437110438110439110440110441110442110443110444110445110446110447110448110449110450110451110452110453110454110455110456110457110458110459110460110461110462110463110464110465110466110467110468110469110470110471110472110473110474110475110476110477110478110479110480110481110482110483110484110485110486110487110488110489110490110491110492110493110494110495110496110497110498110499110500110501110502110503110504110505110506110507110508110509110510110511110512110513110514110515110516110517110518110519110520110521110522110523110524110525110526110527110528110529110530110531110532110533110534110535110536110537110538110539110540110541110542110543110544110545110546110547110548110549110550110551110552110553110554110555110556110557110558110559110560110561110562110563110564110565110566110567110568110569110570110571110572110573110574110575110576110577110578110579110580110581110582110583110584110585110586110587110588110589110590110591110592110593110594110595110596110597110598110599110600110601110602110603110604110605110606110607110608110609110610110611110612110613110614110615110616110617110618110619110620110621110622110623110624110625110626110627110628110629110630110631110632110633110634110635110636110637110638110639110640110641110642110643110644110645110646110647110648110649110650110651110652110653110654110655110656110657110658110659110660110661110662110663110664110665110666110667110668110669110670110671110672110673110674110675110676110677110678110679110680110681110682110683110684110685110686110687110688110689110690110691110692110693110694110695110696110697110698110699110700110701110702110703110704110705110706110707110708110709110710110711110712110713110714110715110716110717110718110719110720110721110722110723110724110725110726110727110728110729110730110731110732110733110734110735110736110737110738110739110740110741110742110743110744110745110746110747110748110749110750110751110752110753110754110755110756110757110758110759110760110761110762110763110764110765110766110767110768110769110770110771110772110773110774110775110776110777110778110779110780110781110782110783110784110785110786110787110788110789110790110791110792110793110794110795110796110797110798110799110800110801110802110803110804110805110806110807110808110809110810110811110812110813110814110815110816110817110818110819110820110821110822110823110824110825110826110827110828110829110830110831110832110833110834110835110836110837110838110839110840110841110842110843110844110845110846110847110848110849110850110851110852110853110854110855110856110857110858110859110860110861110862110863110864110865110866110867110868110869110870110871110872110873110874110875110876110877110878110879110880110881110882110883110884110885110886110887110888110889110890110891110892110893110894110895110896110897110898110899110900110901110902110903110904110905110906110907110908110909110910110911110912110913110914110915110916110917110918110919110920110921110922110923110924110925110926110927110928110929110930110931110932110933110934110935110936110937110938110939110940110941110942110943110944110945110946110947110948110949110950110951110952110953110954110955110956110957110958110959110960110961110962110963110964110965110966110967110968110969110970110971110972110973110974110975110976110977110978110979110980110981110982110983110984110985110986110987110988110989110990110991110992110993110994110995110996110997110998110999111000111001111002111003111004111005111006111007111008111009111010111011111012111013111014111015111016111017111018111019111020111021111022111023111024111025111026111027111028111029111030111031111032111033111034111035111036111037111038111039111040111041111042111043111044111045111046111047111048111049111050111051111052111053111054111055111056111057111058111059111060111061111062111063111064111065111066111067111068111069111070111071111072111073111074111075111076111077111078111079111080111081111082111083111084111085111086111087111088111089111090111091111092111093111094111095111096111097111098111099111100111101111102111103111104111105111106111107111108111109111110111111111112111113111114111115111116111117111118111119111120111121111122111123111124111125111126111127111128111129111130111131111132111133111134111135111136111137111138111139111140111141111142111143111144111145111146111147111148111149111150111151111152111153111154111155111156111157111158111159111160111161111162111163111164111165111166111167111168111169111170111171111172111173111174111175111176111177111178111179111180111181111182111183111184111185111186111187111188111189111190111191111192111193111194111195111196111197111198111199111200111201111202111203111204111205111206111207111208111209111210111211111212111213111214111215111216111217111218111219111220111221111222111223111224111225111226111227111228111229111230111231111232111233111234111235111236111237111238111239111240111241111242111243111244111245111246111247111248111249111250111251111252111253111254111255111256111257111258111259111260111261111262111263111264111265111266111267111268111269111270111271111272111273111274111275111276111277111278111279111280111281111282111283111284111285111286111287111288111289111290111291111292111293111294111295111296111297111298111299111300111301111302111303111304111305111306111307111308111309111310111311111312111313111314111315111316111317111318111319111320111321111322111323111324111325111326111327111328111329111330111331111332111333111334111335111336111337111338111339111340111341111342111343111344111345111346111347111348111349111350111351111352111353111354111355111356111357111358111359111360111361111362111363111364111365111366111367111368111369111370111371111372111373111374111375111376111377111378111379111380111381111382111383111384111385111386111387111388111389111390111391111392111393111394111395111396111397111398111399111400111401111402111403111404111405111406111407111408111409111410111411111412111413111414111415111416111417111418111419111420111421111422111423111424111425111426111427111428111429111430111431111432111433111434111435111436111437111438111439111440111441111442111443111444111445111446111447111448111449111450111451111452111453111454111455111456111457111458111459111460111461111462111463111464111465111466111467111468111469111470111471111472111473111474111475111476111477111478111479111480111481111482111483111484111485111486111487111488111489111490111491111492111493111494111495111496111497111498111499111500111501111502111503111504111505111506111507111508111509111510111511111512111513111514111515111516111517111518111519111520111521111522111523111524111525111526111527111528111529111530111531111532111533111534111535111536111537111538111539111540111541111542111543111544111545111546111547111548111549111550111551111552111553111554111555111556111557111558111559111560111561111562111563111564111565111566111567111568111569111570111571111572111573111574111575111576111577111578111579111580111581111582111583111584111585111586111587111588111589111590111591111592111593111594111595111596111597111598111599111600111601111602111603111604111605111606111607111608111609111610111611111612111613111614111615111616111617111618111619111620111621111622111623111624111625111626111627111628111629111630111631111632111633111634111635111636111637111638111639111640111641111642111643111644111645111646111647111648111649111650111651111652111653111654111655111656111657111658111659111660111661111662111663111664111665111666111667111668111669111670111671111672111673111674111675111676111677111678111679111680111681111682111683111684111685111686111687111688111689111690111691111692111693111694111695111696111697111698111699111700111701111702111703111704111705111706111707111708111709111710111711111712111713111714111715111716111717111718111719111720111721111722111723111724111725111726111727111728111729111730111731111732111733111734111735111736111737111738111739111740111741111742111743111744111745111746111747111748111749111750111751111752111753111754111755111756111757111758111759111760111761111762111763111764111765111766111767111768111769111770111771111772111773111774111775111776111777111778111779111780111781111782111783111784111785111786111787111788111789111790111791111792111793111794111795111796111797111798111799111800111801111802111803111804111805111806111807111808111809111810111811111812111813111814111815111816111817111818111819111820111821111822111823111824111825111826111827111828111829111830111831111832111833111834111835111836111837111838111839111840111841111842111843111844111845111846111847111848111849111850111851111852111853111854111855111856111857111858111859111860111861111862111863111864111865111866111867111868111869111870111871111872111873111874111875111876111877111878111879111880111881111882111883111884111885111886111887111888111889111890111891111892111893
  1. {
  2. "abi": [],
  3. "bytecode": {
  4. "object": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212208262d9641b25a27635fca869157d1097631398c4e307897842d83c14549e7cc364736f6c63430008130033",
  5. "sourceMap": "66:68934:50:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;66:68934:50;;;;;;;;;;;;;;;;;",
  6. "linkReferences": {}
  7. },
  8. "deployedBytecode": {
  9. "object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212208262d9641b25a27635fca869157d1097631398c4e307897842d83c14549e7cc364736f6c63430008130033",
  10. "sourceMap": "66:68934:50:-:0;;;;;;;;",
  11. "linkReferences": {}
  12. },
  13. "methodIdentifiers": {},
  14. "rawMetadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/hardhat/console.sol\":\"console\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/=node_modules/@openzeppelin/\",\":@prb/math/=node_modules/@prb/math/src/\",\":@sablier/v2-core/=node_modules/@sablier/v2-core/src/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/hardhat/console.sol\":{\"keccak256\":\"0x7434453e6d3b7d0e5d0eb7846ffdbc27f0ccf3b163591263739b628074dc103a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49355f780520494d1d5a0f01858385e51bb5280ce0ecfb960f16995065dca395\",\"dweb:/ipfs/QmSwJ6C5QLz6xKeQZS8wbwjU1KxRFTYfwbGmtzisd5sRW4\"]}},\"version\":1}",
  15. "metadata": {
  16. "compiler": {
  17. "version": "0.8.19+commit.7dd6d404"
  18. },
  19. "language": "Solidity",
  20. "output": {
  21. "abi": [],
  22. "devdoc": {
  23. "kind": "dev",
  24. "methods": {},
  25. "version": 1
  26. },
  27. "userdoc": {
  28. "kind": "user",
  29. "methods": {},
  30. "version": 1
  31. }
  32. },
  33. "settings": {
  34. "remappings": [
  35. "@openzeppelin/=node_modules/@openzeppelin/",
  36. "@prb/math/=node_modules/@prb/math/src/",
  37. "@sablier/v2-core/=node_modules/@sablier/v2-core/src/",
  38. "ds-test/=lib/forge-std/lib/ds-test/src/",
  39. "forge-std/=lib/forge-std/src/",
  40. "hardhat-deploy/=node_modules/hardhat-deploy/",
  41. "hardhat/=node_modules/hardhat/"
  42. ],
  43. "optimizer": {
  44. "enabled": true,
  45. "runs": 200
  46. },
  47. "metadata": {
  48. "bytecodeHash": "ipfs"
  49. },
  50. "compilationTarget": {
  51. "node_modules/hardhat/console.sol": "console"
  52. },
  53. "libraries": {}
  54. },
  55. "sources": {
  56. "node_modules/hardhat/console.sol": {
  57. "keccak256": "0x7434453e6d3b7d0e5d0eb7846ffdbc27f0ccf3b163591263739b628074dc103a",
  58. "urls": [
  59. "bzz-raw://49355f780520494d1d5a0f01858385e51bb5280ce0ecfb960f16995065dca395",
  60. "dweb:/ipfs/QmSwJ6C5QLz6xKeQZS8wbwjU1KxRFTYfwbGmtzisd5sRW4"
  61. ],
  62. "license": "MIT"
  63. }
  64. },
  65. "version": 1
  66. },
  67. "ast": {
  68. "absolutePath": "node_modules/hardhat/console.sol",
  69. "id": 15356,
  70. "exportedSymbols": {
  71. "console": [
  72. 15355
  73. ]
  74. },
  75. "nodeType": "SourceUnit",
  76. "src": "32:68969:50",
  77. "nodes": [
  78. {
  79. "id": 7272,
  80. "nodeType": "PragmaDirective",
  81. "src": "32:32:50",
  82. "nodes": [],
  83. "literals": [
  84. "solidity",
  85. ">=",
  86. "0.4",
  87. ".22",
  88. "<",
  89. "0.9",
  90. ".0"
  91. ]
  92. },
  93. {
  94. "id": 15355,
  95. "nodeType": "ContractDefinition",
  96. "src": "66:68934:50",
  97. "nodes": [
  98. {
  99. "id": 7275,
  100. "nodeType": "VariableDeclaration",
  101. "src": "88:85:50",
  102. "nodes": [],
  103. "constant": true,
  104. "mutability": "constant",
  105. "name": "CONSOLE_ADDRESS",
  106. "nameLocation": "105:15:50",
  107. "scope": 15355,
  108. "stateVariable": true,
  109. "storageLocation": "default",
  110. "typeDescriptions": {
  111. "typeIdentifier": "t_address",
  112. "typeString": "address"
  113. },
  114. "typeName": {
  115. "id": 7273,
  116. "name": "address",
  117. "nodeType": "ElementaryTypeName",
  118. "src": "88:7:50",
  119. "stateMutability": "nonpayable",
  120. "typeDescriptions": {
  121. "typeIdentifier": "t_address",
  122. "typeString": "address"
  123. }
  124. },
  125. "value": {
  126. "hexValue": "307830303030303030303030303030303030303036333646366537333646366336353265366336663637",
  127. "id": 7274,
  128. "isConstant": false,
  129. "isLValue": false,
  130. "isPure": true,
  131. "kind": "number",
  132. "lValueRequested": false,
  133. "nodeType": "Literal",
  134. "src": "131:42:50",
  135. "typeDescriptions": {
  136. "typeIdentifier": "t_address",
  137. "typeString": "address"
  138. },
  139. "value": "0x000000000000000000636F6e736F6c652e6c6f67"
  140. },
  141. "visibility": "internal"
  142. },
  143. {
  144. "id": 7286,
  145. "nodeType": "FunctionDefinition",
  146. "src": "180:463:50",
  147. "nodes": [],
  148. "body": {
  149. "id": 7285,
  150. "nodeType": "Block",
  151. "src": "255:388:50",
  152. "nodes": [],
  153. "statements": [
  154. {
  155. "assignments": [
  156. 7281
  157. ],
  158. "declarations": [
  159. {
  160. "constant": false,
  161. "id": 7281,
  162. "mutability": "mutable",
  163. "name": "consoleAddress",
  164. "nameLocation": "273:14:50",
  165. "nodeType": "VariableDeclaration",
  166. "scope": 7285,
  167. "src": "265:22:50",
  168. "stateVariable": false,
  169. "storageLocation": "default",
  170. "typeDescriptions": {
  171. "typeIdentifier": "t_address",
  172. "typeString": "address"
  173. },
  174. "typeName": {
  175. "id": 7280,
  176. "name": "address",
  177. "nodeType": "ElementaryTypeName",
  178. "src": "265:7:50",
  179. "stateMutability": "nonpayable",
  180. "typeDescriptions": {
  181. "typeIdentifier": "t_address",
  182. "typeString": "address"
  183. }
  184. },
  185. "visibility": "internal"
  186. }
  187. ],
  188. "id": 7283,
  189. "initialValue": {
  190. "id": 7282,
  191. "name": "CONSOLE_ADDRESS",
  192. "nodeType": "Identifier",
  193. "overloadedDeclarations": [],
  194. "referencedDeclaration": 7275,
  195. "src": "290:15:50",
  196. "typeDescriptions": {
  197. "typeIdentifier": "t_address",
  198. "typeString": "address"
  199. }
  200. },
  201. "nodeType": "VariableDeclarationStatement",
  202. "src": "265:40:50"
  203. },
  204. {
  205. "AST": {
  206. "nodeType": "YulBlock",
  207. "src": "367:270:50",
  208. "statements": [
  209. {
  210. "expression": {
  211. "arguments": [
  212. {
  213. "arguments": [
  214. {
  215. "arguments": [],
  216. "functionName": {
  217. "name": "gas",
  218. "nodeType": "YulIdentifier",
  219. "src": "434:3:50"
  220. },
  221. "nodeType": "YulFunctionCall",
  222. "src": "434:5:50"
  223. },
  224. {
  225. "name": "consoleAddress",
  226. "nodeType": "YulIdentifier",
  227. "src": "461:14:50"
  228. },
  229. {
  230. "arguments": [
  231. {
  232. "name": "payload",
  233. "nodeType": "YulIdentifier",
  234. "src": "501:7:50"
  235. },
  236. {
  237. "kind": "number",
  238. "nodeType": "YulLiteral",
  239. "src": "510:2:50",
  240. "type": "",
  241. "value": "32"
  242. }
  243. ],
  244. "functionName": {
  245. "name": "add",
  246. "nodeType": "YulIdentifier",
  247. "src": "497:3:50"
  248. },
  249. "nodeType": "YulFunctionCall",
  250. "src": "497:16:50"
  251. },
  252. {
  253. "arguments": [
  254. {
  255. "name": "payload",
  256. "nodeType": "YulIdentifier",
  257. "src": "541:7:50"
  258. }
  259. ],
  260. "functionName": {
  261. "name": "mload",
  262. "nodeType": "YulIdentifier",
  263. "src": "535:5:50"
  264. },
  265. "nodeType": "YulFunctionCall",
  266. "src": "535:14:50"
  267. },
  268. {
  269. "kind": "number",
  270. "nodeType": "YulLiteral",
  271. "src": "571:1:50",
  272. "type": "",
  273. "value": "0"
  274. },
  275. {
  276. "kind": "number",
  277. "nodeType": "YulLiteral",
  278. "src": "594:1:50",
  279. "type": "",
  280. "value": "0"
  281. }
  282. ],
  283. "functionName": {
  284. "name": "staticcall",
  285. "nodeType": "YulIdentifier",
  286. "src": "402:10:50"
  287. },
  288. "nodeType": "YulFunctionCall",
  289. "src": "402:211:50"
  290. }
  291. ],
  292. "functionName": {
  293. "name": "pop",
  294. "nodeType": "YulIdentifier",
  295. "src": "381:3:50"
  296. },
  297. "nodeType": "YulFunctionCall",
  298. "src": "381:246:50"
  299. },
  300. "nodeType": "YulExpressionStatement",
  301. "src": "381:246:50"
  302. }
  303. ]
  304. },
  305. "documentation": "@solidity memory-safe-assembly",
  306. "evmVersion": "paris",
  307. "externalReferences": [
  308. {
  309. "declaration": 7281,
  310. "isOffset": false,
  311. "isSlot": false,
  312. "src": "461:14:50",
  313. "valueSize": 1
  314. },
  315. {
  316. "declaration": 7277,
  317. "isOffset": false,
  318. "isSlot": false,
  319. "src": "501:7:50",
  320. "valueSize": 1
  321. },
  322. {
  323. "declaration": 7277,
  324. "isOffset": false,
  325. "isSlot": false,
  326. "src": "541:7:50",
  327. "valueSize": 1
  328. }
  329. ],
  330. "id": 7284,
  331. "nodeType": "InlineAssembly",
  332. "src": "358:279:50"
  333. }
  334. ]
  335. },
  336. "implemented": true,
  337. "kind": "function",
  338. "modifiers": [],
  339. "name": "_sendLogPayloadImplementation",
  340. "nameLocation": "189:29:50",
  341. "parameters": {
  342. "id": 7278,
  343. "nodeType": "ParameterList",
  344. "parameters": [
  345. {
  346. "constant": false,
  347. "id": 7277,
  348. "mutability": "mutable",
  349. "name": "payload",
  350. "nameLocation": "232:7:50",
  351. "nodeType": "VariableDeclaration",
  352. "scope": 7286,
  353. "src": "219:20:50",
  354. "stateVariable": false,
  355. "storageLocation": "memory",
  356. "typeDescriptions": {
  357. "typeIdentifier": "t_bytes_memory_ptr",
  358. "typeString": "bytes"
  359. },
  360. "typeName": {
  361. "id": 7276,
  362. "name": "bytes",
  363. "nodeType": "ElementaryTypeName",
  364. "src": "219:5:50",
  365. "typeDescriptions": {
  366. "typeIdentifier": "t_bytes_storage_ptr",
  367. "typeString": "bytes"
  368. }
  369. },
  370. "visibility": "internal"
  371. }
  372. ],
  373. "src": "218:22:50"
  374. },
  375. "returnParameters": {
  376. "id": 7279,
  377. "nodeType": "ParameterList",
  378. "parameters": [],
  379. "src": "255:0:50"
  380. },
  381. "scope": 15355,
  382. "stateMutability": "view",
  383. "virtual": false,
  384. "visibility": "internal"
  385. },
  386. {
  387. "id": 7303,
  388. "nodeType": "FunctionDefinition",
  389. "src": "649:196:50",
  390. "nodes": [],
  391. "body": {
  392. "id": 7302,
  393. "nodeType": "Block",
  394. "src": "783:62:50",
  395. "nodes": [],
  396. "statements": [
  397. {
  398. "AST": {
  399. "nodeType": "YulBlock",
  400. "src": "802:37:50",
  401. "statements": [
  402. {
  403. "nodeType": "YulAssignment",
  404. "src": "816:13:50",
  405. "value": {
  406. "name": "fnIn",
  407. "nodeType": "YulIdentifier",
  408. "src": "825:4:50"
  409. },
  410. "variableNames": [
  411. {
  412. "name": "fnOut",
  413. "nodeType": "YulIdentifier",
  414. "src": "816:5:50"
  415. }
  416. ]
  417. }
  418. ]
  419. },
  420. "evmVersion": "paris",
  421. "externalReferences": [
  422. {
  423. "declaration": 7292,
  424. "isOffset": false,
  425. "isSlot": false,
  426. "src": "825:4:50",
  427. "valueSize": 1
  428. },
  429. {
  430. "declaration": 7299,
  431. "isOffset": false,
  432. "isSlot": false,
  433. "src": "816:5:50",
  434. "valueSize": 1
  435. }
  436. ],
  437. "id": 7301,
  438. "nodeType": "InlineAssembly",
  439. "src": "793:46:50"
  440. }
  441. ]
  442. },
  443. "implemented": true,
  444. "kind": "function",
  445. "modifiers": [],
  446. "name": "_castToPure",
  447. "nameLocation": "658:11:50",
  448. "parameters": {
  449. "id": 7293,
  450. "nodeType": "ParameterList",
  451. "parameters": [
  452. {
  453. "constant": false,
  454. "id": 7292,
  455. "mutability": "mutable",
  456. "name": "fnIn",
  457. "nameLocation": "714:4:50",
  458. "nodeType": "VariableDeclaration",
  459. "scope": 7303,
  460. "src": "677:41:50",
  461. "stateVariable": false,
  462. "storageLocation": "default",
  463. "typeDescriptions": {
  464. "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
  465. "typeString": "function (bytes) view"
  466. },
  467. "typeName": {
  468. "id": 7291,
  469. "nodeType": "FunctionTypeName",
  470. "parameterTypes": {
  471. "id": 7289,
  472. "nodeType": "ParameterList",
  473. "parameters": [
  474. {
  475. "constant": false,
  476. "id": 7288,
  477. "mutability": "mutable",
  478. "name": "",
  479. "nameLocation": "-1:-1:-1",
  480. "nodeType": "VariableDeclaration",
  481. "scope": 7291,
  482. "src": "686:12:50",
  483. "stateVariable": false,
  484. "storageLocation": "memory",
  485. "typeDescriptions": {
  486. "typeIdentifier": "t_bytes_memory_ptr",
  487. "typeString": "bytes"
  488. },
  489. "typeName": {
  490. "id": 7287,
  491. "name": "bytes",
  492. "nodeType": "ElementaryTypeName",
  493. "src": "686:5:50",
  494. "typeDescriptions": {
  495. "typeIdentifier": "t_bytes_storage_ptr",
  496. "typeString": "bytes"
  497. }
  498. },
  499. "visibility": "internal"
  500. }
  501. ],
  502. "src": "685:14:50"
  503. },
  504. "returnParameterTypes": {
  505. "id": 7290,
  506. "nodeType": "ParameterList",
  507. "parameters": [],
  508. "src": "714:0:50"
  509. },
  510. "src": "677:41:50",
  511. "stateMutability": "view",
  512. "typeDescriptions": {
  513. "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
  514. "typeString": "function (bytes) view"
  515. },
  516. "visibility": "internal"
  517. },
  518. "visibility": "internal"
  519. }
  520. ],
  521. "src": "669:55:50"
  522. },
  523. "returnParameters": {
  524. "id": 7300,
  525. "nodeType": "ParameterList",
  526. "parameters": [
  527. {
  528. "constant": false,
  529. "id": 7299,
  530. "mutability": "mutable",
  531. "name": "fnOut",
  532. "nameLocation": "776:5:50",
  533. "nodeType": "VariableDeclaration",
  534. "scope": 7303,
  535. "src": "748:33:50",
  536. "stateVariable": false,
  537. "storageLocation": "default",
  538. "typeDescriptions": {
  539. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  540. "typeString": "function (bytes) pure"
  541. },
  542. "typeName": {
  543. "id": 7298,
  544. "nodeType": "FunctionTypeName",
  545. "parameterTypes": {
  546. "id": 7296,
  547. "nodeType": "ParameterList",
  548. "parameters": [
  549. {
  550. "constant": false,
  551. "id": 7295,
  552. "mutability": "mutable",
  553. "name": "",
  554. "nameLocation": "-1:-1:-1",
  555. "nodeType": "VariableDeclaration",
  556. "scope": 7298,
  557. "src": "757:12:50",
  558. "stateVariable": false,
  559. "storageLocation": "memory",
  560. "typeDescriptions": {
  561. "typeIdentifier": "t_bytes_memory_ptr",
  562. "typeString": "bytes"
  563. },
  564. "typeName": {
  565. "id": 7294,
  566. "name": "bytes",
  567. "nodeType": "ElementaryTypeName",
  568. "src": "757:5:50",
  569. "typeDescriptions": {
  570. "typeIdentifier": "t_bytes_storage_ptr",
  571. "typeString": "bytes"
  572. }
  573. },
  574. "visibility": "internal"
  575. }
  576. ],
  577. "src": "756:14:50"
  578. },
  579. "returnParameterTypes": {
  580. "id": 7297,
  581. "nodeType": "ParameterList",
  582. "parameters": [],
  583. "src": "776:0:50"
  584. },
  585. "src": "748:33:50",
  586. "stateMutability": "pure",
  587. "typeDescriptions": {
  588. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  589. "typeString": "function (bytes) pure"
  590. },
  591. "visibility": "internal"
  592. },
  593. "visibility": "internal"
  594. }
  595. ],
  596. "src": "747:35:50"
  597. },
  598. "scope": 15355,
  599. "stateMutability": "pure",
  600. "virtual": false,
  601. "visibility": "internal"
  602. },
  603. {
  604. "id": 7315,
  605. "nodeType": "FunctionDefinition",
  606. "src": "851:129:50",
  607. "nodes": [],
  608. "body": {
  609. "id": 7314,
  610. "nodeType": "Block",
  611. "src": "912:68:50",
  612. "nodes": [],
  613. "statements": [
  614. {
  615. "expression": {
  616. "arguments": [
  617. {
  618. "id": 7311,
  619. "name": "payload",
  620. "nodeType": "Identifier",
  621. "overloadedDeclarations": [],
  622. "referencedDeclaration": 7305,
  623. "src": "965:7:50",
  624. "typeDescriptions": {
  625. "typeIdentifier": "t_bytes_memory_ptr",
  626. "typeString": "bytes memory"
  627. }
  628. }
  629. ],
  630. "expression": {
  631. "argumentTypes": [
  632. {
  633. "typeIdentifier": "t_bytes_memory_ptr",
  634. "typeString": "bytes memory"
  635. }
  636. ],
  637. "arguments": [
  638. {
  639. "id": 7309,
  640. "name": "_sendLogPayloadImplementation",
  641. "nodeType": "Identifier",
  642. "overloadedDeclarations": [],
  643. "referencedDeclaration": 7286,
  644. "src": "934:29:50",
  645. "typeDescriptions": {
  646. "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
  647. "typeString": "function (bytes memory) view"
  648. }
  649. }
  650. ],
  651. "expression": {
  652. "argumentTypes": [
  653. {
  654. "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
  655. "typeString": "function (bytes memory) view"
  656. }
  657. ],
  658. "id": 7308,
  659. "name": "_castToPure",
  660. "nodeType": "Identifier",
  661. "overloadedDeclarations": [],
  662. "referencedDeclaration": 7303,
  663. "src": "922:11:50",
  664. "typeDescriptions": {
  665. "typeIdentifier": "t_function_internal_pure$_t_function_internal_view$_t_bytes_memory_ptr_$returns$__$_$returns$_t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$_$",
  666. "typeString": "function (function (bytes memory) view) pure returns (function (bytes memory) pure)"
  667. }
  668. },
  669. "id": 7310,
  670. "isConstant": false,
  671. "isLValue": false,
  672. "isPure": false,
  673. "kind": "functionCall",
  674. "lValueRequested": false,
  675. "nameLocations": [],
  676. "names": [],
  677. "nodeType": "FunctionCall",
  678. "src": "922:42:50",
  679. "tryCall": false,
  680. "typeDescriptions": {
  681. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  682. "typeString": "function (bytes memory) pure"
  683. }
  684. },
  685. "id": 7312,
  686. "isConstant": false,
  687. "isLValue": false,
  688. "isPure": false,
  689. "kind": "functionCall",
  690. "lValueRequested": false,
  691. "nameLocations": [],
  692. "names": [],
  693. "nodeType": "FunctionCall",
  694. "src": "922:51:50",
  695. "tryCall": false,
  696. "typeDescriptions": {
  697. "typeIdentifier": "t_tuple$__$",
  698. "typeString": "tuple()"
  699. }
  700. },
  701. "id": 7313,
  702. "nodeType": "ExpressionStatement",
  703. "src": "922:51:50"
  704. }
  705. ]
  706. },
  707. "implemented": true,
  708. "kind": "function",
  709. "modifiers": [],
  710. "name": "_sendLogPayload",
  711. "nameLocation": "860:15:50",
  712. "parameters": {
  713. "id": 7306,
  714. "nodeType": "ParameterList",
  715. "parameters": [
  716. {
  717. "constant": false,
  718. "id": 7305,
  719. "mutability": "mutable",
  720. "name": "payload",
  721. "nameLocation": "889:7:50",
  722. "nodeType": "VariableDeclaration",
  723. "scope": 7315,
  724. "src": "876:20:50",
  725. "stateVariable": false,
  726. "storageLocation": "memory",
  727. "typeDescriptions": {
  728. "typeIdentifier": "t_bytes_memory_ptr",
  729. "typeString": "bytes"
  730. },
  731. "typeName": {
  732. "id": 7304,
  733. "name": "bytes",
  734. "nodeType": "ElementaryTypeName",
  735. "src": "876:5:50",
  736. "typeDescriptions": {
  737. "typeIdentifier": "t_bytes_storage_ptr",
  738. "typeString": "bytes"
  739. }
  740. },
  741. "visibility": "internal"
  742. }
  743. ],
  744. "src": "875:22:50"
  745. },
  746. "returnParameters": {
  747. "id": 7307,
  748. "nodeType": "ParameterList",
  749. "parameters": [],
  750. "src": "912:0:50"
  751. },
  752. "scope": 15355,
  753. "stateMutability": "pure",
  754. "virtual": false,
  755. "visibility": "internal"
  756. },
  757. {
  758. "id": 7326,
  759. "nodeType": "FunctionDefinition",
  760. "src": "986:95:50",
  761. "nodes": [],
  762. "body": {
  763. "id": 7325,
  764. "nodeType": "Block",
  765. "src": "1015:66:50",
  766. "nodes": [],
  767. "statements": [
  768. {
  769. "expression": {
  770. "arguments": [
  771. {
  772. "arguments": [
  773. {
  774. "hexValue": "6c6f672829",
  775. "id": 7321,
  776. "isConstant": false,
  777. "isLValue": false,
  778. "isPure": true,
  779. "kind": "string",
  780. "lValueRequested": false,
  781. "nodeType": "Literal",
  782. "src": "1065:7:50",
  783. "typeDescriptions": {
  784. "typeIdentifier": "t_stringliteral_51973ec9d4c1929bdd5b149c064d46aee47e92a7e2bb5f7a20c7b9cfb0d13b39",
  785. "typeString": "literal_string \"log()\""
  786. },
  787. "value": "log()"
  788. }
  789. ],
  790. "expression": {
  791. "argumentTypes": [
  792. {
  793. "typeIdentifier": "t_stringliteral_51973ec9d4c1929bdd5b149c064d46aee47e92a7e2bb5f7a20c7b9cfb0d13b39",
  794. "typeString": "literal_string \"log()\""
  795. }
  796. ],
  797. "expression": {
  798. "id": 7319,
  799. "name": "abi",
  800. "nodeType": "Identifier",
  801. "overloadedDeclarations": [],
  802. "referencedDeclaration": -1,
  803. "src": "1041:3:50",
  804. "typeDescriptions": {
  805. "typeIdentifier": "t_magic_abi",
  806. "typeString": "abi"
  807. }
  808. },
  809. "id": 7320,
  810. "isConstant": false,
  811. "isLValue": false,
  812. "isPure": true,
  813. "lValueRequested": false,
  814. "memberLocation": "1045:19:50",
  815. "memberName": "encodeWithSignature",
  816. "nodeType": "MemberAccess",
  817. "src": "1041:23:50",
  818. "typeDescriptions": {
  819. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  820. "typeString": "function (string memory) pure returns (bytes memory)"
  821. }
  822. },
  823. "id": 7322,
  824. "isConstant": false,
  825. "isLValue": false,
  826. "isPure": true,
  827. "kind": "functionCall",
  828. "lValueRequested": false,
  829. "nameLocations": [],
  830. "names": [],
  831. "nodeType": "FunctionCall",
  832. "src": "1041:32:50",
  833. "tryCall": false,
  834. "typeDescriptions": {
  835. "typeIdentifier": "t_bytes_memory_ptr",
  836. "typeString": "bytes memory"
  837. }
  838. }
  839. ],
  840. "expression": {
  841. "argumentTypes": [
  842. {
  843. "typeIdentifier": "t_bytes_memory_ptr",
  844. "typeString": "bytes memory"
  845. }
  846. ],
  847. "id": 7318,
  848. "name": "_sendLogPayload",
  849. "nodeType": "Identifier",
  850. "overloadedDeclarations": [],
  851. "referencedDeclaration": 7315,
  852. "src": "1025:15:50",
  853. "typeDescriptions": {
  854. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  855. "typeString": "function (bytes memory) pure"
  856. }
  857. },
  858. "id": 7323,
  859. "isConstant": false,
  860. "isLValue": false,
  861. "isPure": false,
  862. "kind": "functionCall",
  863. "lValueRequested": false,
  864. "nameLocations": [],
  865. "names": [],
  866. "nodeType": "FunctionCall",
  867. "src": "1025:49:50",
  868. "tryCall": false,
  869. "typeDescriptions": {
  870. "typeIdentifier": "t_tuple$__$",
  871. "typeString": "tuple()"
  872. }
  873. },
  874. "id": 7324,
  875. "nodeType": "ExpressionStatement",
  876. "src": "1025:49:50"
  877. }
  878. ]
  879. },
  880. "implemented": true,
  881. "kind": "function",
  882. "modifiers": [],
  883. "name": "log",
  884. "nameLocation": "995:3:50",
  885. "parameters": {
  886. "id": 7316,
  887. "nodeType": "ParameterList",
  888. "parameters": [],
  889. "src": "998:2:50"
  890. },
  891. "returnParameters": {
  892. "id": 7317,
  893. "nodeType": "ParameterList",
  894. "parameters": [],
  895. "src": "1015:0:50"
  896. },
  897. "scope": 15355,
  898. "stateMutability": "pure",
  899. "virtual": false,
  900. "visibility": "internal"
  901. },
  902. {
  903. "id": 7340,
  904. "nodeType": "FunctionDefinition",
  905. "src": "1086:117:50",
  906. "nodes": [],
  907. "body": {
  908. "id": 7339,
  909. "nodeType": "Block",
  910. "src": "1127:76:50",
  911. "nodes": [],
  912. "statements": [
  913. {
  914. "expression": {
  915. "arguments": [
  916. {
  917. "arguments": [
  918. {
  919. "hexValue": "6c6f6728696e7432353629",
  920. "id": 7334,
  921. "isConstant": false,
  922. "isLValue": false,
  923. "isPure": true,
  924. "kind": "string",
  925. "lValueRequested": false,
  926. "nodeType": "Literal",
  927. "src": "1177:13:50",
  928. "typeDescriptions": {
  929. "typeIdentifier": "t_stringliteral_2d5b6cb95ba2d00a93cd4ffa61ec07ef4bb1694f20c02a3cccb170a38df81ef8",
  930. "typeString": "literal_string \"log(int256)\""
  931. },
  932. "value": "log(int256)"
  933. },
  934. {
  935. "id": 7335,
  936. "name": "p0",
  937. "nodeType": "Identifier",
  938. "overloadedDeclarations": [],
  939. "referencedDeclaration": 7328,
  940. "src": "1192:2:50",
  941. "typeDescriptions": {
  942. "typeIdentifier": "t_int256",
  943. "typeString": "int256"
  944. }
  945. }
  946. ],
  947. "expression": {
  948. "argumentTypes": [
  949. {
  950. "typeIdentifier": "t_stringliteral_2d5b6cb95ba2d00a93cd4ffa61ec07ef4bb1694f20c02a3cccb170a38df81ef8",
  951. "typeString": "literal_string \"log(int256)\""
  952. },
  953. {
  954. "typeIdentifier": "t_int256",
  955. "typeString": "int256"
  956. }
  957. ],
  958. "expression": {
  959. "id": 7332,
  960. "name": "abi",
  961. "nodeType": "Identifier",
  962. "overloadedDeclarations": [],
  963. "referencedDeclaration": -1,
  964. "src": "1153:3:50",
  965. "typeDescriptions": {
  966. "typeIdentifier": "t_magic_abi",
  967. "typeString": "abi"
  968. }
  969. },
  970. "id": 7333,
  971. "isConstant": false,
  972. "isLValue": false,
  973. "isPure": true,
  974. "lValueRequested": false,
  975. "memberLocation": "1157:19:50",
  976. "memberName": "encodeWithSignature",
  977. "nodeType": "MemberAccess",
  978. "src": "1153:23:50",
  979. "typeDescriptions": {
  980. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  981. "typeString": "function (string memory) pure returns (bytes memory)"
  982. }
  983. },
  984. "id": 7336,
  985. "isConstant": false,
  986. "isLValue": false,
  987. "isPure": false,
  988. "kind": "functionCall",
  989. "lValueRequested": false,
  990. "nameLocations": [],
  991. "names": [],
  992. "nodeType": "FunctionCall",
  993. "src": "1153:42:50",
  994. "tryCall": false,
  995. "typeDescriptions": {
  996. "typeIdentifier": "t_bytes_memory_ptr",
  997. "typeString": "bytes memory"
  998. }
  999. }
  1000. ],
  1001. "expression": {
  1002. "argumentTypes": [
  1003. {
  1004. "typeIdentifier": "t_bytes_memory_ptr",
  1005. "typeString": "bytes memory"
  1006. }
  1007. ],
  1008. "id": 7331,
  1009. "name": "_sendLogPayload",
  1010. "nodeType": "Identifier",
  1011. "overloadedDeclarations": [],
  1012. "referencedDeclaration": 7315,
  1013. "src": "1137:15:50",
  1014. "typeDescriptions": {
  1015. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  1016. "typeString": "function (bytes memory) pure"
  1017. }
  1018. },
  1019. "id": 7337,
  1020. "isConstant": false,
  1021. "isLValue": false,
  1022. "isPure": false,
  1023. "kind": "functionCall",
  1024. "lValueRequested": false,
  1025. "nameLocations": [],
  1026. "names": [],
  1027. "nodeType": "FunctionCall",
  1028. "src": "1137:59:50",
  1029. "tryCall": false,
  1030. "typeDescriptions": {
  1031. "typeIdentifier": "t_tuple$__$",
  1032. "typeString": "tuple()"
  1033. }
  1034. },
  1035. "id": 7338,
  1036. "nodeType": "ExpressionStatement",
  1037. "src": "1137:59:50"
  1038. }
  1039. ]
  1040. },
  1041. "implemented": true,
  1042. "kind": "function",
  1043. "modifiers": [],
  1044. "name": "logInt",
  1045. "nameLocation": "1095:6:50",
  1046. "parameters": {
  1047. "id": 7329,
  1048. "nodeType": "ParameterList",
  1049. "parameters": [
  1050. {
  1051. "constant": false,
  1052. "id": 7328,
  1053. "mutability": "mutable",
  1054. "name": "p0",
  1055. "nameLocation": "1109:2:50",
  1056. "nodeType": "VariableDeclaration",
  1057. "scope": 7340,
  1058. "src": "1102:9:50",
  1059. "stateVariable": false,
  1060. "storageLocation": "default",
  1061. "typeDescriptions": {
  1062. "typeIdentifier": "t_int256",
  1063. "typeString": "int256"
  1064. },
  1065. "typeName": {
  1066. "id": 7327,
  1067. "name": "int256",
  1068. "nodeType": "ElementaryTypeName",
  1069. "src": "1102:6:50",
  1070. "typeDescriptions": {
  1071. "typeIdentifier": "t_int256",
  1072. "typeString": "int256"
  1073. }
  1074. },
  1075. "visibility": "internal"
  1076. }
  1077. ],
  1078. "src": "1101:11:50"
  1079. },
  1080. "returnParameters": {
  1081. "id": 7330,
  1082. "nodeType": "ParameterList",
  1083. "parameters": [],
  1084. "src": "1127:0:50"
  1085. },
  1086. "scope": 15355,
  1087. "stateMutability": "pure",
  1088. "virtual": false,
  1089. "visibility": "internal"
  1090. },
  1091. {
  1092. "id": 7354,
  1093. "nodeType": "FunctionDefinition",
  1094. "src": "1209:120:50",
  1095. "nodes": [],
  1096. "body": {
  1097. "id": 7353,
  1098. "nodeType": "Block",
  1099. "src": "1252:77:50",
  1100. "nodes": [],
  1101. "statements": [
  1102. {
  1103. "expression": {
  1104. "arguments": [
  1105. {
  1106. "arguments": [
  1107. {
  1108. "hexValue": "6c6f672875696e7432353629",
  1109. "id": 7348,
  1110. "isConstant": false,
  1111. "isLValue": false,
  1112. "isPure": true,
  1113. "kind": "string",
  1114. "lValueRequested": false,
  1115. "nodeType": "Literal",
  1116. "src": "1302:14:50",
  1117. "typeDescriptions": {
  1118. "typeIdentifier": "t_stringliteral_f82c50f1848136e6c140b186ea0c768b7deda5efffe42c25e96336a90b26c744",
  1119. "typeString": "literal_string \"log(uint256)\""
  1120. },
  1121. "value": "log(uint256)"
  1122. },
  1123. {
  1124. "id": 7349,
  1125. "name": "p0",
  1126. "nodeType": "Identifier",
  1127. "overloadedDeclarations": [],
  1128. "referencedDeclaration": 7342,
  1129. "src": "1318:2:50",
  1130. "typeDescriptions": {
  1131. "typeIdentifier": "t_uint256",
  1132. "typeString": "uint256"
  1133. }
  1134. }
  1135. ],
  1136. "expression": {
  1137. "argumentTypes": [
  1138. {
  1139. "typeIdentifier": "t_stringliteral_f82c50f1848136e6c140b186ea0c768b7deda5efffe42c25e96336a90b26c744",
  1140. "typeString": "literal_string \"log(uint256)\""
  1141. },
  1142. {
  1143. "typeIdentifier": "t_uint256",
  1144. "typeString": "uint256"
  1145. }
  1146. ],
  1147. "expression": {
  1148. "id": 7346,
  1149. "name": "abi",
  1150. "nodeType": "Identifier",
  1151. "overloadedDeclarations": [],
  1152. "referencedDeclaration": -1,
  1153. "src": "1278:3:50",
  1154. "typeDescriptions": {
  1155. "typeIdentifier": "t_magic_abi",
  1156. "typeString": "abi"
  1157. }
  1158. },
  1159. "id": 7347,
  1160. "isConstant": false,
  1161. "isLValue": false,
  1162. "isPure": true,
  1163. "lValueRequested": false,
  1164. "memberLocation": "1282:19:50",
  1165. "memberName": "encodeWithSignature",
  1166. "nodeType": "MemberAccess",
  1167. "src": "1278:23:50",
  1168. "typeDescriptions": {
  1169. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  1170. "typeString": "function (string memory) pure returns (bytes memory)"
  1171. }
  1172. },
  1173. "id": 7350,
  1174. "isConstant": false,
  1175. "isLValue": false,
  1176. "isPure": false,
  1177. "kind": "functionCall",
  1178. "lValueRequested": false,
  1179. "nameLocations": [],
  1180. "names": [],
  1181. "nodeType": "FunctionCall",
  1182. "src": "1278:43:50",
  1183. "tryCall": false,
  1184. "typeDescriptions": {
  1185. "typeIdentifier": "t_bytes_memory_ptr",
  1186. "typeString": "bytes memory"
  1187. }
  1188. }
  1189. ],
  1190. "expression": {
  1191. "argumentTypes": [
  1192. {
  1193. "typeIdentifier": "t_bytes_memory_ptr",
  1194. "typeString": "bytes memory"
  1195. }
  1196. ],
  1197. "id": 7345,
  1198. "name": "_sendLogPayload",
  1199. "nodeType": "Identifier",
  1200. "overloadedDeclarations": [],
  1201. "referencedDeclaration": 7315,
  1202. "src": "1262:15:50",
  1203. "typeDescriptions": {
  1204. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  1205. "typeString": "function (bytes memory) pure"
  1206. }
  1207. },
  1208. "id": 7351,
  1209. "isConstant": false,
  1210. "isLValue": false,
  1211. "isPure": false,
  1212. "kind": "functionCall",
  1213. "lValueRequested": false,
  1214. "nameLocations": [],
  1215. "names": [],
  1216. "nodeType": "FunctionCall",
  1217. "src": "1262:60:50",
  1218. "tryCall": false,
  1219. "typeDescriptions": {
  1220. "typeIdentifier": "t_tuple$__$",
  1221. "typeString": "tuple()"
  1222. }
  1223. },
  1224. "id": 7352,
  1225. "nodeType": "ExpressionStatement",
  1226. "src": "1262:60:50"
  1227. }
  1228. ]
  1229. },
  1230. "implemented": true,
  1231. "kind": "function",
  1232. "modifiers": [],
  1233. "name": "logUint",
  1234. "nameLocation": "1218:7:50",
  1235. "parameters": {
  1236. "id": 7343,
  1237. "nodeType": "ParameterList",
  1238. "parameters": [
  1239. {
  1240. "constant": false,
  1241. "id": 7342,
  1242. "mutability": "mutable",
  1243. "name": "p0",
  1244. "nameLocation": "1234:2:50",
  1245. "nodeType": "VariableDeclaration",
  1246. "scope": 7354,
  1247. "src": "1226:10:50",
  1248. "stateVariable": false,
  1249. "storageLocation": "default",
  1250. "typeDescriptions": {
  1251. "typeIdentifier": "t_uint256",
  1252. "typeString": "uint256"
  1253. },
  1254. "typeName": {
  1255. "id": 7341,
  1256. "name": "uint256",
  1257. "nodeType": "ElementaryTypeName",
  1258. "src": "1226:7:50",
  1259. "typeDescriptions": {
  1260. "typeIdentifier": "t_uint256",
  1261. "typeString": "uint256"
  1262. }
  1263. },
  1264. "visibility": "internal"
  1265. }
  1266. ],
  1267. "src": "1225:12:50"
  1268. },
  1269. "returnParameters": {
  1270. "id": 7344,
  1271. "nodeType": "ParameterList",
  1272. "parameters": [],
  1273. "src": "1252:0:50"
  1274. },
  1275. "scope": 15355,
  1276. "stateMutability": "pure",
  1277. "virtual": false,
  1278. "visibility": "internal"
  1279. },
  1280. {
  1281. "id": 7368,
  1282. "nodeType": "FunctionDefinition",
  1283. "src": "1335:127:50",
  1284. "nodes": [],
  1285. "body": {
  1286. "id": 7367,
  1287. "nodeType": "Block",
  1288. "src": "1386:76:50",
  1289. "nodes": [],
  1290. "statements": [
  1291. {
  1292. "expression": {
  1293. "arguments": [
  1294. {
  1295. "arguments": [
  1296. {
  1297. "hexValue": "6c6f6728737472696e6729",
  1298. "id": 7362,
  1299. "isConstant": false,
  1300. "isLValue": false,
  1301. "isPure": true,
  1302. "kind": "string",
  1303. "lValueRequested": false,
  1304. "nodeType": "Literal",
  1305. "src": "1436:13:50",
  1306. "typeDescriptions": {
  1307. "typeIdentifier": "t_stringliteral_41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50",
  1308. "typeString": "literal_string \"log(string)\""
  1309. },
  1310. "value": "log(string)"
  1311. },
  1312. {
  1313. "id": 7363,
  1314. "name": "p0",
  1315. "nodeType": "Identifier",
  1316. "overloadedDeclarations": [],
  1317. "referencedDeclaration": 7356,
  1318. "src": "1451:2:50",
  1319. "typeDescriptions": {
  1320. "typeIdentifier": "t_string_memory_ptr",
  1321. "typeString": "string memory"
  1322. }
  1323. }
  1324. ],
  1325. "expression": {
  1326. "argumentTypes": [
  1327. {
  1328. "typeIdentifier": "t_stringliteral_41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50",
  1329. "typeString": "literal_string \"log(string)\""
  1330. },
  1331. {
  1332. "typeIdentifier": "t_string_memory_ptr",
  1333. "typeString": "string memory"
  1334. }
  1335. ],
  1336. "expression": {
  1337. "id": 7360,
  1338. "name": "abi",
  1339. "nodeType": "Identifier",
  1340. "overloadedDeclarations": [],
  1341. "referencedDeclaration": -1,
  1342. "src": "1412:3:50",
  1343. "typeDescriptions": {
  1344. "typeIdentifier": "t_magic_abi",
  1345. "typeString": "abi"
  1346. }
  1347. },
  1348. "id": 7361,
  1349. "isConstant": false,
  1350. "isLValue": false,
  1351. "isPure": true,
  1352. "lValueRequested": false,
  1353. "memberLocation": "1416:19:50",
  1354. "memberName": "encodeWithSignature",
  1355. "nodeType": "MemberAccess",
  1356. "src": "1412:23:50",
  1357. "typeDescriptions": {
  1358. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  1359. "typeString": "function (string memory) pure returns (bytes memory)"
  1360. }
  1361. },
  1362. "id": 7364,
  1363. "isConstant": false,
  1364. "isLValue": false,
  1365. "isPure": false,
  1366. "kind": "functionCall",
  1367. "lValueRequested": false,
  1368. "nameLocations": [],
  1369. "names": [],
  1370. "nodeType": "FunctionCall",
  1371. "src": "1412:42:50",
  1372. "tryCall": false,
  1373. "typeDescriptions": {
  1374. "typeIdentifier": "t_bytes_memory_ptr",
  1375. "typeString": "bytes memory"
  1376. }
  1377. }
  1378. ],
  1379. "expression": {
  1380. "argumentTypes": [
  1381. {
  1382. "typeIdentifier": "t_bytes_memory_ptr",
  1383. "typeString": "bytes memory"
  1384. }
  1385. ],
  1386. "id": 7359,
  1387. "name": "_sendLogPayload",
  1388. "nodeType": "Identifier",
  1389. "overloadedDeclarations": [],
  1390. "referencedDeclaration": 7315,
  1391. "src": "1396:15:50",
  1392. "typeDescriptions": {
  1393. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  1394. "typeString": "function (bytes memory) pure"
  1395. }
  1396. },
  1397. "id": 7365,
  1398. "isConstant": false,
  1399. "isLValue": false,
  1400. "isPure": false,
  1401. "kind": "functionCall",
  1402. "lValueRequested": false,
  1403. "nameLocations": [],
  1404. "names": [],
  1405. "nodeType": "FunctionCall",
  1406. "src": "1396:59:50",
  1407. "tryCall": false,
  1408. "typeDescriptions": {
  1409. "typeIdentifier": "t_tuple$__$",
  1410. "typeString": "tuple()"
  1411. }
  1412. },
  1413. "id": 7366,
  1414. "nodeType": "ExpressionStatement",
  1415. "src": "1396:59:50"
  1416. }
  1417. ]
  1418. },
  1419. "implemented": true,
  1420. "kind": "function",
  1421. "modifiers": [],
  1422. "name": "logString",
  1423. "nameLocation": "1344:9:50",
  1424. "parameters": {
  1425. "id": 7357,
  1426. "nodeType": "ParameterList",
  1427. "parameters": [
  1428. {
  1429. "constant": false,
  1430. "id": 7356,
  1431. "mutability": "mutable",
  1432. "name": "p0",
  1433. "nameLocation": "1368:2:50",
  1434. "nodeType": "VariableDeclaration",
  1435. "scope": 7368,
  1436. "src": "1354:16:50",
  1437. "stateVariable": false,
  1438. "storageLocation": "memory",
  1439. "typeDescriptions": {
  1440. "typeIdentifier": "t_string_memory_ptr",
  1441. "typeString": "string"
  1442. },
  1443. "typeName": {
  1444. "id": 7355,
  1445. "name": "string",
  1446. "nodeType": "ElementaryTypeName",
  1447. "src": "1354:6:50",
  1448. "typeDescriptions": {
  1449. "typeIdentifier": "t_string_storage_ptr",
  1450. "typeString": "string"
  1451. }
  1452. },
  1453. "visibility": "internal"
  1454. }
  1455. ],
  1456. "src": "1353:18:50"
  1457. },
  1458. "returnParameters": {
  1459. "id": 7358,
  1460. "nodeType": "ParameterList",
  1461. "parameters": [],
  1462. "src": "1386:0:50"
  1463. },
  1464. "scope": 15355,
  1465. "stateMutability": "pure",
  1466. "virtual": false,
  1467. "visibility": "internal"
  1468. },
  1469. {
  1470. "id": 7382,
  1471. "nodeType": "FunctionDefinition",
  1472. "src": "1468:114:50",
  1473. "nodes": [],
  1474. "body": {
  1475. "id": 7381,
  1476. "nodeType": "Block",
  1477. "src": "1508:74:50",
  1478. "nodes": [],
  1479. "statements": [
  1480. {
  1481. "expression": {
  1482. "arguments": [
  1483. {
  1484. "arguments": [
  1485. {
  1486. "hexValue": "6c6f6728626f6f6c29",
  1487. "id": 7376,
  1488. "isConstant": false,
  1489. "isLValue": false,
  1490. "isPure": true,
  1491. "kind": "string",
  1492. "lValueRequested": false,
  1493. "nodeType": "Literal",
  1494. "src": "1558:11:50",
  1495. "typeDescriptions": {
  1496. "typeIdentifier": "t_stringliteral_32458eed3feca62a69292a55ca8a755ae4e6cdc57a38d15c298330064467fdd7",
  1497. "typeString": "literal_string \"log(bool)\""
  1498. },
  1499. "value": "log(bool)"
  1500. },
  1501. {
  1502. "id": 7377,
  1503. "name": "p0",
  1504. "nodeType": "Identifier",
  1505. "overloadedDeclarations": [],
  1506. "referencedDeclaration": 7370,
  1507. "src": "1571:2:50",
  1508. "typeDescriptions": {
  1509. "typeIdentifier": "t_bool",
  1510. "typeString": "bool"
  1511. }
  1512. }
  1513. ],
  1514. "expression": {
  1515. "argumentTypes": [
  1516. {
  1517. "typeIdentifier": "t_stringliteral_32458eed3feca62a69292a55ca8a755ae4e6cdc57a38d15c298330064467fdd7",
  1518. "typeString": "literal_string \"log(bool)\""
  1519. },
  1520. {
  1521. "typeIdentifier": "t_bool",
  1522. "typeString": "bool"
  1523. }
  1524. ],
  1525. "expression": {
  1526. "id": 7374,
  1527. "name": "abi",
  1528. "nodeType": "Identifier",
  1529. "overloadedDeclarations": [],
  1530. "referencedDeclaration": -1,
  1531. "src": "1534:3:50",
  1532. "typeDescriptions": {
  1533. "typeIdentifier": "t_magic_abi",
  1534. "typeString": "abi"
  1535. }
  1536. },
  1537. "id": 7375,
  1538. "isConstant": false,
  1539. "isLValue": false,
  1540. "isPure": true,
  1541. "lValueRequested": false,
  1542. "memberLocation": "1538:19:50",
  1543. "memberName": "encodeWithSignature",
  1544. "nodeType": "MemberAccess",
  1545. "src": "1534:23:50",
  1546. "typeDescriptions": {
  1547. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  1548. "typeString": "function (string memory) pure returns (bytes memory)"
  1549. }
  1550. },
  1551. "id": 7378,
  1552. "isConstant": false,
  1553. "isLValue": false,
  1554. "isPure": false,
  1555. "kind": "functionCall",
  1556. "lValueRequested": false,
  1557. "nameLocations": [],
  1558. "names": [],
  1559. "nodeType": "FunctionCall",
  1560. "src": "1534:40:50",
  1561. "tryCall": false,
  1562. "typeDescriptions": {
  1563. "typeIdentifier": "t_bytes_memory_ptr",
  1564. "typeString": "bytes memory"
  1565. }
  1566. }
  1567. ],
  1568. "expression": {
  1569. "argumentTypes": [
  1570. {
  1571. "typeIdentifier": "t_bytes_memory_ptr",
  1572. "typeString": "bytes memory"
  1573. }
  1574. ],
  1575. "id": 7373,
  1576. "name": "_sendLogPayload",
  1577. "nodeType": "Identifier",
  1578. "overloadedDeclarations": [],
  1579. "referencedDeclaration": 7315,
  1580. "src": "1518:15:50",
  1581. "typeDescriptions": {
  1582. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  1583. "typeString": "function (bytes memory) pure"
  1584. }
  1585. },
  1586. "id": 7379,
  1587. "isConstant": false,
  1588. "isLValue": false,
  1589. "isPure": false,
  1590. "kind": "functionCall",
  1591. "lValueRequested": false,
  1592. "nameLocations": [],
  1593. "names": [],
  1594. "nodeType": "FunctionCall",
  1595. "src": "1518:57:50",
  1596. "tryCall": false,
  1597. "typeDescriptions": {
  1598. "typeIdentifier": "t_tuple$__$",
  1599. "typeString": "tuple()"
  1600. }
  1601. },
  1602. "id": 7380,
  1603. "nodeType": "ExpressionStatement",
  1604. "src": "1518:57:50"
  1605. }
  1606. ]
  1607. },
  1608. "implemented": true,
  1609. "kind": "function",
  1610. "modifiers": [],
  1611. "name": "logBool",
  1612. "nameLocation": "1477:7:50",
  1613. "parameters": {
  1614. "id": 7371,
  1615. "nodeType": "ParameterList",
  1616. "parameters": [
  1617. {
  1618. "constant": false,
  1619. "id": 7370,
  1620. "mutability": "mutable",
  1621. "name": "p0",
  1622. "nameLocation": "1490:2:50",
  1623. "nodeType": "VariableDeclaration",
  1624. "scope": 7382,
  1625. "src": "1485:7:50",
  1626. "stateVariable": false,
  1627. "storageLocation": "default",
  1628. "typeDescriptions": {
  1629. "typeIdentifier": "t_bool",
  1630. "typeString": "bool"
  1631. },
  1632. "typeName": {
  1633. "id": 7369,
  1634. "name": "bool",
  1635. "nodeType": "ElementaryTypeName",
  1636. "src": "1485:4:50",
  1637. "typeDescriptions": {
  1638. "typeIdentifier": "t_bool",
  1639. "typeString": "bool"
  1640. }
  1641. },
  1642. "visibility": "internal"
  1643. }
  1644. ],
  1645. "src": "1484:9:50"
  1646. },
  1647. "returnParameters": {
  1648. "id": 7372,
  1649. "nodeType": "ParameterList",
  1650. "parameters": [],
  1651. "src": "1508:0:50"
  1652. },
  1653. "scope": 15355,
  1654. "stateMutability": "pure",
  1655. "virtual": false,
  1656. "visibility": "internal"
  1657. },
  1658. {
  1659. "id": 7396,
  1660. "nodeType": "FunctionDefinition",
  1661. "src": "1588:123:50",
  1662. "nodes": [],
  1663. "body": {
  1664. "id": 7395,
  1665. "nodeType": "Block",
  1666. "src": "1634:77:50",
  1667. "nodes": [],
  1668. "statements": [
  1669. {
  1670. "expression": {
  1671. "arguments": [
  1672. {
  1673. "arguments": [
  1674. {
  1675. "hexValue": "6c6f67286164647265737329",
  1676. "id": 7390,
  1677. "isConstant": false,
  1678. "isLValue": false,
  1679. "isPure": true,
  1680. "kind": "string",
  1681. "lValueRequested": false,
  1682. "nodeType": "Literal",
  1683. "src": "1684:14:50",
  1684. "typeDescriptions": {
  1685. "typeIdentifier": "t_stringliteral_2c2ecbc2212ac38c2f9ec89aa5fcef7f532a5db24dbf7cad1f48bc82843b7428",
  1686. "typeString": "literal_string \"log(address)\""
  1687. },
  1688. "value": "log(address)"
  1689. },
  1690. {
  1691. "id": 7391,
  1692. "name": "p0",
  1693. "nodeType": "Identifier",
  1694. "overloadedDeclarations": [],
  1695. "referencedDeclaration": 7384,
  1696. "src": "1700:2:50",
  1697. "typeDescriptions": {
  1698. "typeIdentifier": "t_address",
  1699. "typeString": "address"
  1700. }
  1701. }
  1702. ],
  1703. "expression": {
  1704. "argumentTypes": [
  1705. {
  1706. "typeIdentifier": "t_stringliteral_2c2ecbc2212ac38c2f9ec89aa5fcef7f532a5db24dbf7cad1f48bc82843b7428",
  1707. "typeString": "literal_string \"log(address)\""
  1708. },
  1709. {
  1710. "typeIdentifier": "t_address",
  1711. "typeString": "address"
  1712. }
  1713. ],
  1714. "expression": {
  1715. "id": 7388,
  1716. "name": "abi",
  1717. "nodeType": "Identifier",
  1718. "overloadedDeclarations": [],
  1719. "referencedDeclaration": -1,
  1720. "src": "1660:3:50",
  1721. "typeDescriptions": {
  1722. "typeIdentifier": "t_magic_abi",
  1723. "typeString": "abi"
  1724. }
  1725. },
  1726. "id": 7389,
  1727. "isConstant": false,
  1728. "isLValue": false,
  1729. "isPure": true,
  1730. "lValueRequested": false,
  1731. "memberLocation": "1664:19:50",
  1732. "memberName": "encodeWithSignature",
  1733. "nodeType": "MemberAccess",
  1734. "src": "1660:23:50",
  1735. "typeDescriptions": {
  1736. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  1737. "typeString": "function (string memory) pure returns (bytes memory)"
  1738. }
  1739. },
  1740. "id": 7392,
  1741. "isConstant": false,
  1742. "isLValue": false,
  1743. "isPure": false,
  1744. "kind": "functionCall",
  1745. "lValueRequested": false,
  1746. "nameLocations": [],
  1747. "names": [],
  1748. "nodeType": "FunctionCall",
  1749. "src": "1660:43:50",
  1750. "tryCall": false,
  1751. "typeDescriptions": {
  1752. "typeIdentifier": "t_bytes_memory_ptr",
  1753. "typeString": "bytes memory"
  1754. }
  1755. }
  1756. ],
  1757. "expression": {
  1758. "argumentTypes": [
  1759. {
  1760. "typeIdentifier": "t_bytes_memory_ptr",
  1761. "typeString": "bytes memory"
  1762. }
  1763. ],
  1764. "id": 7387,
  1765. "name": "_sendLogPayload",
  1766. "nodeType": "Identifier",
  1767. "overloadedDeclarations": [],
  1768. "referencedDeclaration": 7315,
  1769. "src": "1644:15:50",
  1770. "typeDescriptions": {
  1771. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  1772. "typeString": "function (bytes memory) pure"
  1773. }
  1774. },
  1775. "id": 7393,
  1776. "isConstant": false,
  1777. "isLValue": false,
  1778. "isPure": false,
  1779. "kind": "functionCall",
  1780. "lValueRequested": false,
  1781. "nameLocations": [],
  1782. "names": [],
  1783. "nodeType": "FunctionCall",
  1784. "src": "1644:60:50",
  1785. "tryCall": false,
  1786. "typeDescriptions": {
  1787. "typeIdentifier": "t_tuple$__$",
  1788. "typeString": "tuple()"
  1789. }
  1790. },
  1791. "id": 7394,
  1792. "nodeType": "ExpressionStatement",
  1793. "src": "1644:60:50"
  1794. }
  1795. ]
  1796. },
  1797. "implemented": true,
  1798. "kind": "function",
  1799. "modifiers": [],
  1800. "name": "logAddress",
  1801. "nameLocation": "1597:10:50",
  1802. "parameters": {
  1803. "id": 7385,
  1804. "nodeType": "ParameterList",
  1805. "parameters": [
  1806. {
  1807. "constant": false,
  1808. "id": 7384,
  1809. "mutability": "mutable",
  1810. "name": "p0",
  1811. "nameLocation": "1616:2:50",
  1812. "nodeType": "VariableDeclaration",
  1813. "scope": 7396,
  1814. "src": "1608:10:50",
  1815. "stateVariable": false,
  1816. "storageLocation": "default",
  1817. "typeDescriptions": {
  1818. "typeIdentifier": "t_address",
  1819. "typeString": "address"
  1820. },
  1821. "typeName": {
  1822. "id": 7383,
  1823. "name": "address",
  1824. "nodeType": "ElementaryTypeName",
  1825. "src": "1608:7:50",
  1826. "stateMutability": "nonpayable",
  1827. "typeDescriptions": {
  1828. "typeIdentifier": "t_address",
  1829. "typeString": "address"
  1830. }
  1831. },
  1832. "visibility": "internal"
  1833. }
  1834. ],
  1835. "src": "1607:12:50"
  1836. },
  1837. "returnParameters": {
  1838. "id": 7386,
  1839. "nodeType": "ParameterList",
  1840. "parameters": [],
  1841. "src": "1634:0:50"
  1842. },
  1843. "scope": 15355,
  1844. "stateMutability": "pure",
  1845. "virtual": false,
  1846. "visibility": "internal"
  1847. },
  1848. {
  1849. "id": 7410,
  1850. "nodeType": "FunctionDefinition",
  1851. "src": "1717:124:50",
  1852. "nodes": [],
  1853. "body": {
  1854. "id": 7409,
  1855. "nodeType": "Block",
  1856. "src": "1766:75:50",
  1857. "nodes": [],
  1858. "statements": [
  1859. {
  1860. "expression": {
  1861. "arguments": [
  1862. {
  1863. "arguments": [
  1864. {
  1865. "hexValue": "6c6f6728627974657329",
  1866. "id": 7404,
  1867. "isConstant": false,
  1868. "isLValue": false,
  1869. "isPure": true,
  1870. "kind": "string",
  1871. "lValueRequested": false,
  1872. "nodeType": "Literal",
  1873. "src": "1816:12:50",
  1874. "typeDescriptions": {
  1875. "typeIdentifier": "t_stringliteral_0be77f5642494da7d212b92a3472c4f471abb24e17467f41788e7de7915d6238",
  1876. "typeString": "literal_string \"log(bytes)\""
  1877. },
  1878. "value": "log(bytes)"
  1879. },
  1880. {
  1881. "id": 7405,
  1882. "name": "p0",
  1883. "nodeType": "Identifier",
  1884. "overloadedDeclarations": [],
  1885. "referencedDeclaration": 7398,
  1886. "src": "1830:2:50",
  1887. "typeDescriptions": {
  1888. "typeIdentifier": "t_bytes_memory_ptr",
  1889. "typeString": "bytes memory"
  1890. }
  1891. }
  1892. ],
  1893. "expression": {
  1894. "argumentTypes": [
  1895. {
  1896. "typeIdentifier": "t_stringliteral_0be77f5642494da7d212b92a3472c4f471abb24e17467f41788e7de7915d6238",
  1897. "typeString": "literal_string \"log(bytes)\""
  1898. },
  1899. {
  1900. "typeIdentifier": "t_bytes_memory_ptr",
  1901. "typeString": "bytes memory"
  1902. }
  1903. ],
  1904. "expression": {
  1905. "id": 7402,
  1906. "name": "abi",
  1907. "nodeType": "Identifier",
  1908. "overloadedDeclarations": [],
  1909. "referencedDeclaration": -1,
  1910. "src": "1792:3:50",
  1911. "typeDescriptions": {
  1912. "typeIdentifier": "t_magic_abi",
  1913. "typeString": "abi"
  1914. }
  1915. },
  1916. "id": 7403,
  1917. "isConstant": false,
  1918. "isLValue": false,
  1919. "isPure": true,
  1920. "lValueRequested": false,
  1921. "memberLocation": "1796:19:50",
  1922. "memberName": "encodeWithSignature",
  1923. "nodeType": "MemberAccess",
  1924. "src": "1792:23:50",
  1925. "typeDescriptions": {
  1926. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  1927. "typeString": "function (string memory) pure returns (bytes memory)"
  1928. }
  1929. },
  1930. "id": 7406,
  1931. "isConstant": false,
  1932. "isLValue": false,
  1933. "isPure": false,
  1934. "kind": "functionCall",
  1935. "lValueRequested": false,
  1936. "nameLocations": [],
  1937. "names": [],
  1938. "nodeType": "FunctionCall",
  1939. "src": "1792:41:50",
  1940. "tryCall": false,
  1941. "typeDescriptions": {
  1942. "typeIdentifier": "t_bytes_memory_ptr",
  1943. "typeString": "bytes memory"
  1944. }
  1945. }
  1946. ],
  1947. "expression": {
  1948. "argumentTypes": [
  1949. {
  1950. "typeIdentifier": "t_bytes_memory_ptr",
  1951. "typeString": "bytes memory"
  1952. }
  1953. ],
  1954. "id": 7401,
  1955. "name": "_sendLogPayload",
  1956. "nodeType": "Identifier",
  1957. "overloadedDeclarations": [],
  1958. "referencedDeclaration": 7315,
  1959. "src": "1776:15:50",
  1960. "typeDescriptions": {
  1961. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  1962. "typeString": "function (bytes memory) pure"
  1963. }
  1964. },
  1965. "id": 7407,
  1966. "isConstant": false,
  1967. "isLValue": false,
  1968. "isPure": false,
  1969. "kind": "functionCall",
  1970. "lValueRequested": false,
  1971. "nameLocations": [],
  1972. "names": [],
  1973. "nodeType": "FunctionCall",
  1974. "src": "1776:58:50",
  1975. "tryCall": false,
  1976. "typeDescriptions": {
  1977. "typeIdentifier": "t_tuple$__$",
  1978. "typeString": "tuple()"
  1979. }
  1980. },
  1981. "id": 7408,
  1982. "nodeType": "ExpressionStatement",
  1983. "src": "1776:58:50"
  1984. }
  1985. ]
  1986. },
  1987. "implemented": true,
  1988. "kind": "function",
  1989. "modifiers": [],
  1990. "name": "logBytes",
  1991. "nameLocation": "1726:8:50",
  1992. "parameters": {
  1993. "id": 7399,
  1994. "nodeType": "ParameterList",
  1995. "parameters": [
  1996. {
  1997. "constant": false,
  1998. "id": 7398,
  1999. "mutability": "mutable",
  2000. "name": "p0",
  2001. "nameLocation": "1748:2:50",
  2002. "nodeType": "VariableDeclaration",
  2003. "scope": 7410,
  2004. "src": "1735:15:50",
  2005. "stateVariable": false,
  2006. "storageLocation": "memory",
  2007. "typeDescriptions": {
  2008. "typeIdentifier": "t_bytes_memory_ptr",
  2009. "typeString": "bytes"
  2010. },
  2011. "typeName": {
  2012. "id": 7397,
  2013. "name": "bytes",
  2014. "nodeType": "ElementaryTypeName",
  2015. "src": "1735:5:50",
  2016. "typeDescriptions": {
  2017. "typeIdentifier": "t_bytes_storage_ptr",
  2018. "typeString": "bytes"
  2019. }
  2020. },
  2021. "visibility": "internal"
  2022. }
  2023. ],
  2024. "src": "1734:17:50"
  2025. },
  2026. "returnParameters": {
  2027. "id": 7400,
  2028. "nodeType": "ParameterList",
  2029. "parameters": [],
  2030. "src": "1766:0:50"
  2031. },
  2032. "scope": 15355,
  2033. "stateMutability": "pure",
  2034. "virtual": false,
  2035. "visibility": "internal"
  2036. },
  2037. {
  2038. "id": 7424,
  2039. "nodeType": "FunctionDefinition",
  2040. "src": "1847:120:50",
  2041. "nodes": [],
  2042. "body": {
  2043. "id": 7423,
  2044. "nodeType": "Block",
  2045. "src": "1891:76:50",
  2046. "nodes": [],
  2047. "statements": [
  2048. {
  2049. "expression": {
  2050. "arguments": [
  2051. {
  2052. "arguments": [
  2053. {
  2054. "hexValue": "6c6f672862797465733129",
  2055. "id": 7418,
  2056. "isConstant": false,
  2057. "isLValue": false,
  2058. "isPure": true,
  2059. "kind": "string",
  2060. "lValueRequested": false,
  2061. "nodeType": "Literal",
  2062. "src": "1941:13:50",
  2063. "typeDescriptions": {
  2064. "typeIdentifier": "t_stringliteral_6e18a1285e3dfba09579e846ff83d5e4ffae1b869c8fc4323752bab794e41041",
  2065. "typeString": "literal_string \"log(bytes1)\""
  2066. },
  2067. "value": "log(bytes1)"
  2068. },
  2069. {
  2070. "id": 7419,
  2071. "name": "p0",
  2072. "nodeType": "Identifier",
  2073. "overloadedDeclarations": [],
  2074. "referencedDeclaration": 7412,
  2075. "src": "1956:2:50",
  2076. "typeDescriptions": {
  2077. "typeIdentifier": "t_bytes1",
  2078. "typeString": "bytes1"
  2079. }
  2080. }
  2081. ],
  2082. "expression": {
  2083. "argumentTypes": [
  2084. {
  2085. "typeIdentifier": "t_stringliteral_6e18a1285e3dfba09579e846ff83d5e4ffae1b869c8fc4323752bab794e41041",
  2086. "typeString": "literal_string \"log(bytes1)\""
  2087. },
  2088. {
  2089. "typeIdentifier": "t_bytes1",
  2090. "typeString": "bytes1"
  2091. }
  2092. ],
  2093. "expression": {
  2094. "id": 7416,
  2095. "name": "abi",
  2096. "nodeType": "Identifier",
  2097. "overloadedDeclarations": [],
  2098. "referencedDeclaration": -1,
  2099. "src": "1917:3:50",
  2100. "typeDescriptions": {
  2101. "typeIdentifier": "t_magic_abi",
  2102. "typeString": "abi"
  2103. }
  2104. },
  2105. "id": 7417,
  2106. "isConstant": false,
  2107. "isLValue": false,
  2108. "isPure": true,
  2109. "lValueRequested": false,
  2110. "memberLocation": "1921:19:50",
  2111. "memberName": "encodeWithSignature",
  2112. "nodeType": "MemberAccess",
  2113. "src": "1917:23:50",
  2114. "typeDescriptions": {
  2115. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  2116. "typeString": "function (string memory) pure returns (bytes memory)"
  2117. }
  2118. },
  2119. "id": 7420,
  2120. "isConstant": false,
  2121. "isLValue": false,
  2122. "isPure": false,
  2123. "kind": "functionCall",
  2124. "lValueRequested": false,
  2125. "nameLocations": [],
  2126. "names": [],
  2127. "nodeType": "FunctionCall",
  2128. "src": "1917:42:50",
  2129. "tryCall": false,
  2130. "typeDescriptions": {
  2131. "typeIdentifier": "t_bytes_memory_ptr",
  2132. "typeString": "bytes memory"
  2133. }
  2134. }
  2135. ],
  2136. "expression": {
  2137. "argumentTypes": [
  2138. {
  2139. "typeIdentifier": "t_bytes_memory_ptr",
  2140. "typeString": "bytes memory"
  2141. }
  2142. ],
  2143. "id": 7415,
  2144. "name": "_sendLogPayload",
  2145. "nodeType": "Identifier",
  2146. "overloadedDeclarations": [],
  2147. "referencedDeclaration": 7315,
  2148. "src": "1901:15:50",
  2149. "typeDescriptions": {
  2150. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  2151. "typeString": "function (bytes memory) pure"
  2152. }
  2153. },
  2154. "id": 7421,
  2155. "isConstant": false,
  2156. "isLValue": false,
  2157. "isPure": false,
  2158. "kind": "functionCall",
  2159. "lValueRequested": false,
  2160. "nameLocations": [],
  2161. "names": [],
  2162. "nodeType": "FunctionCall",
  2163. "src": "1901:59:50",
  2164. "tryCall": false,
  2165. "typeDescriptions": {
  2166. "typeIdentifier": "t_tuple$__$",
  2167. "typeString": "tuple()"
  2168. }
  2169. },
  2170. "id": 7422,
  2171. "nodeType": "ExpressionStatement",
  2172. "src": "1901:59:50"
  2173. }
  2174. ]
  2175. },
  2176. "implemented": true,
  2177. "kind": "function",
  2178. "modifiers": [],
  2179. "name": "logBytes1",
  2180. "nameLocation": "1856:9:50",
  2181. "parameters": {
  2182. "id": 7413,
  2183. "nodeType": "ParameterList",
  2184. "parameters": [
  2185. {
  2186. "constant": false,
  2187. "id": 7412,
  2188. "mutability": "mutable",
  2189. "name": "p0",
  2190. "nameLocation": "1873:2:50",
  2191. "nodeType": "VariableDeclaration",
  2192. "scope": 7424,
  2193. "src": "1866:9:50",
  2194. "stateVariable": false,
  2195. "storageLocation": "default",
  2196. "typeDescriptions": {
  2197. "typeIdentifier": "t_bytes1",
  2198. "typeString": "bytes1"
  2199. },
  2200. "typeName": {
  2201. "id": 7411,
  2202. "name": "bytes1",
  2203. "nodeType": "ElementaryTypeName",
  2204. "src": "1866:6:50",
  2205. "typeDescriptions": {
  2206. "typeIdentifier": "t_bytes1",
  2207. "typeString": "bytes1"
  2208. }
  2209. },
  2210. "visibility": "internal"
  2211. }
  2212. ],
  2213. "src": "1865:11:50"
  2214. },
  2215. "returnParameters": {
  2216. "id": 7414,
  2217. "nodeType": "ParameterList",
  2218. "parameters": [],
  2219. "src": "1891:0:50"
  2220. },
  2221. "scope": 15355,
  2222. "stateMutability": "pure",
  2223. "virtual": false,
  2224. "visibility": "internal"
  2225. },
  2226. {
  2227. "id": 7438,
  2228. "nodeType": "FunctionDefinition",
  2229. "src": "1973:120:50",
  2230. "nodes": [],
  2231. "body": {
  2232. "id": 7437,
  2233. "nodeType": "Block",
  2234. "src": "2017:76:50",
  2235. "nodes": [],
  2236. "statements": [
  2237. {
  2238. "expression": {
  2239. "arguments": [
  2240. {
  2241. "arguments": [
  2242. {
  2243. "hexValue": "6c6f672862797465733229",
  2244. "id": 7432,
  2245. "isConstant": false,
  2246. "isLValue": false,
  2247. "isPure": true,
  2248. "kind": "string",
  2249. "lValueRequested": false,
  2250. "nodeType": "Literal",
  2251. "src": "2067:13:50",
  2252. "typeDescriptions": {
  2253. "typeIdentifier": "t_stringliteral_e9b622960ff3a0e86d35e876bfeba445fab6c5686604aa116c47c1e106921224",
  2254. "typeString": "literal_string \"log(bytes2)\""
  2255. },
  2256. "value": "log(bytes2)"
  2257. },
  2258. {
  2259. "id": 7433,
  2260. "name": "p0",
  2261. "nodeType": "Identifier",
  2262. "overloadedDeclarations": [],
  2263. "referencedDeclaration": 7426,
  2264. "src": "2082:2:50",
  2265. "typeDescriptions": {
  2266. "typeIdentifier": "t_bytes2",
  2267. "typeString": "bytes2"
  2268. }
  2269. }
  2270. ],
  2271. "expression": {
  2272. "argumentTypes": [
  2273. {
  2274. "typeIdentifier": "t_stringliteral_e9b622960ff3a0e86d35e876bfeba445fab6c5686604aa116c47c1e106921224",
  2275. "typeString": "literal_string \"log(bytes2)\""
  2276. },
  2277. {
  2278. "typeIdentifier": "t_bytes2",
  2279. "typeString": "bytes2"
  2280. }
  2281. ],
  2282. "expression": {
  2283. "id": 7430,
  2284. "name": "abi",
  2285. "nodeType": "Identifier",
  2286. "overloadedDeclarations": [],
  2287. "referencedDeclaration": -1,
  2288. "src": "2043:3:50",
  2289. "typeDescriptions": {
  2290. "typeIdentifier": "t_magic_abi",
  2291. "typeString": "abi"
  2292. }
  2293. },
  2294. "id": 7431,
  2295. "isConstant": false,
  2296. "isLValue": false,
  2297. "isPure": true,
  2298. "lValueRequested": false,
  2299. "memberLocation": "2047:19:50",
  2300. "memberName": "encodeWithSignature",
  2301. "nodeType": "MemberAccess",
  2302. "src": "2043:23:50",
  2303. "typeDescriptions": {
  2304. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  2305. "typeString": "function (string memory) pure returns (bytes memory)"
  2306. }
  2307. },
  2308. "id": 7434,
  2309. "isConstant": false,
  2310. "isLValue": false,
  2311. "isPure": false,
  2312. "kind": "functionCall",
  2313. "lValueRequested": false,
  2314. "nameLocations": [],
  2315. "names": [],
  2316. "nodeType": "FunctionCall",
  2317. "src": "2043:42:50",
  2318. "tryCall": false,
  2319. "typeDescriptions": {
  2320. "typeIdentifier": "t_bytes_memory_ptr",
  2321. "typeString": "bytes memory"
  2322. }
  2323. }
  2324. ],
  2325. "expression": {
  2326. "argumentTypes": [
  2327. {
  2328. "typeIdentifier": "t_bytes_memory_ptr",
  2329. "typeString": "bytes memory"
  2330. }
  2331. ],
  2332. "id": 7429,
  2333. "name": "_sendLogPayload",
  2334. "nodeType": "Identifier",
  2335. "overloadedDeclarations": [],
  2336. "referencedDeclaration": 7315,
  2337. "src": "2027:15:50",
  2338. "typeDescriptions": {
  2339. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  2340. "typeString": "function (bytes memory) pure"
  2341. }
  2342. },
  2343. "id": 7435,
  2344. "isConstant": false,
  2345. "isLValue": false,
  2346. "isPure": false,
  2347. "kind": "functionCall",
  2348. "lValueRequested": false,
  2349. "nameLocations": [],
  2350. "names": [],
  2351. "nodeType": "FunctionCall",
  2352. "src": "2027:59:50",
  2353. "tryCall": false,
  2354. "typeDescriptions": {
  2355. "typeIdentifier": "t_tuple$__$",
  2356. "typeString": "tuple()"
  2357. }
  2358. },
  2359. "id": 7436,
  2360. "nodeType": "ExpressionStatement",
  2361. "src": "2027:59:50"
  2362. }
  2363. ]
  2364. },
  2365. "implemented": true,
  2366. "kind": "function",
  2367. "modifiers": [],
  2368. "name": "logBytes2",
  2369. "nameLocation": "1982:9:50",
  2370. "parameters": {
  2371. "id": 7427,
  2372. "nodeType": "ParameterList",
  2373. "parameters": [
  2374. {
  2375. "constant": false,
  2376. "id": 7426,
  2377. "mutability": "mutable",
  2378. "name": "p0",
  2379. "nameLocation": "1999:2:50",
  2380. "nodeType": "VariableDeclaration",
  2381. "scope": 7438,
  2382. "src": "1992:9:50",
  2383. "stateVariable": false,
  2384. "storageLocation": "default",
  2385. "typeDescriptions": {
  2386. "typeIdentifier": "t_bytes2",
  2387. "typeString": "bytes2"
  2388. },
  2389. "typeName": {
  2390. "id": 7425,
  2391. "name": "bytes2",
  2392. "nodeType": "ElementaryTypeName",
  2393. "src": "1992:6:50",
  2394. "typeDescriptions": {
  2395. "typeIdentifier": "t_bytes2",
  2396. "typeString": "bytes2"
  2397. }
  2398. },
  2399. "visibility": "internal"
  2400. }
  2401. ],
  2402. "src": "1991:11:50"
  2403. },
  2404. "returnParameters": {
  2405. "id": 7428,
  2406. "nodeType": "ParameterList",
  2407. "parameters": [],
  2408. "src": "2017:0:50"
  2409. },
  2410. "scope": 15355,
  2411. "stateMutability": "pure",
  2412. "virtual": false,
  2413. "visibility": "internal"
  2414. },
  2415. {
  2416. "id": 7452,
  2417. "nodeType": "FunctionDefinition",
  2418. "src": "2099:120:50",
  2419. "nodes": [],
  2420. "body": {
  2421. "id": 7451,
  2422. "nodeType": "Block",
  2423. "src": "2143:76:50",
  2424. "nodes": [],
  2425. "statements": [
  2426. {
  2427. "expression": {
  2428. "arguments": [
  2429. {
  2430. "arguments": [
  2431. {
  2432. "hexValue": "6c6f672862797465733329",
  2433. "id": 7446,
  2434. "isConstant": false,
  2435. "isLValue": false,
  2436. "isPure": true,
  2437. "kind": "string",
  2438. "lValueRequested": false,
  2439. "nodeType": "Literal",
  2440. "src": "2193:13:50",
  2441. "typeDescriptions": {
  2442. "typeIdentifier": "t_stringliteral_2d8349266851a1d92746f90a9696920643311d6bf462d9fa11e69718a636cbee",
  2443. "typeString": "literal_string \"log(bytes3)\""
  2444. },
  2445. "value": "log(bytes3)"
  2446. },
  2447. {
  2448. "id": 7447,
  2449. "name": "p0",
  2450. "nodeType": "Identifier",
  2451. "overloadedDeclarations": [],
  2452. "referencedDeclaration": 7440,
  2453. "src": "2208:2:50",
  2454. "typeDescriptions": {
  2455. "typeIdentifier": "t_bytes3",
  2456. "typeString": "bytes3"
  2457. }
  2458. }
  2459. ],
  2460. "expression": {
  2461. "argumentTypes": [
  2462. {
  2463. "typeIdentifier": "t_stringliteral_2d8349266851a1d92746f90a9696920643311d6bf462d9fa11e69718a636cbee",
  2464. "typeString": "literal_string \"log(bytes3)\""
  2465. },
  2466. {
  2467. "typeIdentifier": "t_bytes3",
  2468. "typeString": "bytes3"
  2469. }
  2470. ],
  2471. "expression": {
  2472. "id": 7444,
  2473. "name": "abi",
  2474. "nodeType": "Identifier",
  2475. "overloadedDeclarations": [],
  2476. "referencedDeclaration": -1,
  2477. "src": "2169:3:50",
  2478. "typeDescriptions": {
  2479. "typeIdentifier": "t_magic_abi",
  2480. "typeString": "abi"
  2481. }
  2482. },
  2483. "id": 7445,
  2484. "isConstant": false,
  2485. "isLValue": false,
  2486. "isPure": true,
  2487. "lValueRequested": false,
  2488. "memberLocation": "2173:19:50",
  2489. "memberName": "encodeWithSignature",
  2490. "nodeType": "MemberAccess",
  2491. "src": "2169:23:50",
  2492. "typeDescriptions": {
  2493. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  2494. "typeString": "function (string memory) pure returns (bytes memory)"
  2495. }
  2496. },
  2497. "id": 7448,
  2498. "isConstant": false,
  2499. "isLValue": false,
  2500. "isPure": false,
  2501. "kind": "functionCall",
  2502. "lValueRequested": false,
  2503. "nameLocations": [],
  2504. "names": [],
  2505. "nodeType": "FunctionCall",
  2506. "src": "2169:42:50",
  2507. "tryCall": false,
  2508. "typeDescriptions": {
  2509. "typeIdentifier": "t_bytes_memory_ptr",
  2510. "typeString": "bytes memory"
  2511. }
  2512. }
  2513. ],
  2514. "expression": {
  2515. "argumentTypes": [
  2516. {
  2517. "typeIdentifier": "t_bytes_memory_ptr",
  2518. "typeString": "bytes memory"
  2519. }
  2520. ],
  2521. "id": 7443,
  2522. "name": "_sendLogPayload",
  2523. "nodeType": "Identifier",
  2524. "overloadedDeclarations": [],
  2525. "referencedDeclaration": 7315,
  2526. "src": "2153:15:50",
  2527. "typeDescriptions": {
  2528. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  2529. "typeString": "function (bytes memory) pure"
  2530. }
  2531. },
  2532. "id": 7449,
  2533. "isConstant": false,
  2534. "isLValue": false,
  2535. "isPure": false,
  2536. "kind": "functionCall",
  2537. "lValueRequested": false,
  2538. "nameLocations": [],
  2539. "names": [],
  2540. "nodeType": "FunctionCall",
  2541. "src": "2153:59:50",
  2542. "tryCall": false,
  2543. "typeDescriptions": {
  2544. "typeIdentifier": "t_tuple$__$",
  2545. "typeString": "tuple()"
  2546. }
  2547. },
  2548. "id": 7450,
  2549. "nodeType": "ExpressionStatement",
  2550. "src": "2153:59:50"
  2551. }
  2552. ]
  2553. },
  2554. "implemented": true,
  2555. "kind": "function",
  2556. "modifiers": [],
  2557. "name": "logBytes3",
  2558. "nameLocation": "2108:9:50",
  2559. "parameters": {
  2560. "id": 7441,
  2561. "nodeType": "ParameterList",
  2562. "parameters": [
  2563. {
  2564. "constant": false,
  2565. "id": 7440,
  2566. "mutability": "mutable",
  2567. "name": "p0",
  2568. "nameLocation": "2125:2:50",
  2569. "nodeType": "VariableDeclaration",
  2570. "scope": 7452,
  2571. "src": "2118:9:50",
  2572. "stateVariable": false,
  2573. "storageLocation": "default",
  2574. "typeDescriptions": {
  2575. "typeIdentifier": "t_bytes3",
  2576. "typeString": "bytes3"
  2577. },
  2578. "typeName": {
  2579. "id": 7439,
  2580. "name": "bytes3",
  2581. "nodeType": "ElementaryTypeName",
  2582. "src": "2118:6:50",
  2583. "typeDescriptions": {
  2584. "typeIdentifier": "t_bytes3",
  2585. "typeString": "bytes3"
  2586. }
  2587. },
  2588. "visibility": "internal"
  2589. }
  2590. ],
  2591. "src": "2117:11:50"
  2592. },
  2593. "returnParameters": {
  2594. "id": 7442,
  2595. "nodeType": "ParameterList",
  2596. "parameters": [],
  2597. "src": "2143:0:50"
  2598. },
  2599. "scope": 15355,
  2600. "stateMutability": "pure",
  2601. "virtual": false,
  2602. "visibility": "internal"
  2603. },
  2604. {
  2605. "id": 7466,
  2606. "nodeType": "FunctionDefinition",
  2607. "src": "2225:120:50",
  2608. "nodes": [],
  2609. "body": {
  2610. "id": 7465,
  2611. "nodeType": "Block",
  2612. "src": "2269:76:50",
  2613. "nodes": [],
  2614. "statements": [
  2615. {
  2616. "expression": {
  2617. "arguments": [
  2618. {
  2619. "arguments": [
  2620. {
  2621. "hexValue": "6c6f672862797465733429",
  2622. "id": 7460,
  2623. "isConstant": false,
  2624. "isLValue": false,
  2625. "isPure": true,
  2626. "kind": "string",
  2627. "lValueRequested": false,
  2628. "nodeType": "Literal",
  2629. "src": "2319:13:50",
  2630. "typeDescriptions": {
  2631. "typeIdentifier": "t_stringliteral_e05f48d17f80c0f06e82dc14f4be9f0f654dde2e722a8d8796ad7e07f5308d55",
  2632. "typeString": "literal_string \"log(bytes4)\""
  2633. },
  2634. "value": "log(bytes4)"
  2635. },
  2636. {
  2637. "id": 7461,
  2638. "name": "p0",
  2639. "nodeType": "Identifier",
  2640. "overloadedDeclarations": [],
  2641. "referencedDeclaration": 7454,
  2642. "src": "2334:2:50",
  2643. "typeDescriptions": {
  2644. "typeIdentifier": "t_bytes4",
  2645. "typeString": "bytes4"
  2646. }
  2647. }
  2648. ],
  2649. "expression": {
  2650. "argumentTypes": [
  2651. {
  2652. "typeIdentifier": "t_stringliteral_e05f48d17f80c0f06e82dc14f4be9f0f654dde2e722a8d8796ad7e07f5308d55",
  2653. "typeString": "literal_string \"log(bytes4)\""
  2654. },
  2655. {
  2656. "typeIdentifier": "t_bytes4",
  2657. "typeString": "bytes4"
  2658. }
  2659. ],
  2660. "expression": {
  2661. "id": 7458,
  2662. "name": "abi",
  2663. "nodeType": "Identifier",
  2664. "overloadedDeclarations": [],
  2665. "referencedDeclaration": -1,
  2666. "src": "2295:3:50",
  2667. "typeDescriptions": {
  2668. "typeIdentifier": "t_magic_abi",
  2669. "typeString": "abi"
  2670. }
  2671. },
  2672. "id": 7459,
  2673. "isConstant": false,
  2674. "isLValue": false,
  2675. "isPure": true,
  2676. "lValueRequested": false,
  2677. "memberLocation": "2299:19:50",
  2678. "memberName": "encodeWithSignature",
  2679. "nodeType": "MemberAccess",
  2680. "src": "2295:23:50",
  2681. "typeDescriptions": {
  2682. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  2683. "typeString": "function (string memory) pure returns (bytes memory)"
  2684. }
  2685. },
  2686. "id": 7462,
  2687. "isConstant": false,
  2688. "isLValue": false,
  2689. "isPure": false,
  2690. "kind": "functionCall",
  2691. "lValueRequested": false,
  2692. "nameLocations": [],
  2693. "names": [],
  2694. "nodeType": "FunctionCall",
  2695. "src": "2295:42:50",
  2696. "tryCall": false,
  2697. "typeDescriptions": {
  2698. "typeIdentifier": "t_bytes_memory_ptr",
  2699. "typeString": "bytes memory"
  2700. }
  2701. }
  2702. ],
  2703. "expression": {
  2704. "argumentTypes": [
  2705. {
  2706. "typeIdentifier": "t_bytes_memory_ptr",
  2707. "typeString": "bytes memory"
  2708. }
  2709. ],
  2710. "id": 7457,
  2711. "name": "_sendLogPayload",
  2712. "nodeType": "Identifier",
  2713. "overloadedDeclarations": [],
  2714. "referencedDeclaration": 7315,
  2715. "src": "2279:15:50",
  2716. "typeDescriptions": {
  2717. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  2718. "typeString": "function (bytes memory) pure"
  2719. }
  2720. },
  2721. "id": 7463,
  2722. "isConstant": false,
  2723. "isLValue": false,
  2724. "isPure": false,
  2725. "kind": "functionCall",
  2726. "lValueRequested": false,
  2727. "nameLocations": [],
  2728. "names": [],
  2729. "nodeType": "FunctionCall",
  2730. "src": "2279:59:50",
  2731. "tryCall": false,
  2732. "typeDescriptions": {
  2733. "typeIdentifier": "t_tuple$__$",
  2734. "typeString": "tuple()"
  2735. }
  2736. },
  2737. "id": 7464,
  2738. "nodeType": "ExpressionStatement",
  2739. "src": "2279:59:50"
  2740. }
  2741. ]
  2742. },
  2743. "implemented": true,
  2744. "kind": "function",
  2745. "modifiers": [],
  2746. "name": "logBytes4",
  2747. "nameLocation": "2234:9:50",
  2748. "parameters": {
  2749. "id": 7455,
  2750. "nodeType": "ParameterList",
  2751. "parameters": [
  2752. {
  2753. "constant": false,
  2754. "id": 7454,
  2755. "mutability": "mutable",
  2756. "name": "p0",
  2757. "nameLocation": "2251:2:50",
  2758. "nodeType": "VariableDeclaration",
  2759. "scope": 7466,
  2760. "src": "2244:9:50",
  2761. "stateVariable": false,
  2762. "storageLocation": "default",
  2763. "typeDescriptions": {
  2764. "typeIdentifier": "t_bytes4",
  2765. "typeString": "bytes4"
  2766. },
  2767. "typeName": {
  2768. "id": 7453,
  2769. "name": "bytes4",
  2770. "nodeType": "ElementaryTypeName",
  2771. "src": "2244:6:50",
  2772. "typeDescriptions": {
  2773. "typeIdentifier": "t_bytes4",
  2774. "typeString": "bytes4"
  2775. }
  2776. },
  2777. "visibility": "internal"
  2778. }
  2779. ],
  2780. "src": "2243:11:50"
  2781. },
  2782. "returnParameters": {
  2783. "id": 7456,
  2784. "nodeType": "ParameterList",
  2785. "parameters": [],
  2786. "src": "2269:0:50"
  2787. },
  2788. "scope": 15355,
  2789. "stateMutability": "pure",
  2790. "virtual": false,
  2791. "visibility": "internal"
  2792. },
  2793. {
  2794. "id": 7480,
  2795. "nodeType": "FunctionDefinition",
  2796. "src": "2351:120:50",
  2797. "nodes": [],
  2798. "body": {
  2799. "id": 7479,
  2800. "nodeType": "Block",
  2801. "src": "2395:76:50",
  2802. "nodes": [],
  2803. "statements": [
  2804. {
  2805. "expression": {
  2806. "arguments": [
  2807. {
  2808. "arguments": [
  2809. {
  2810. "hexValue": "6c6f672862797465733529",
  2811. "id": 7474,
  2812. "isConstant": false,
  2813. "isLValue": false,
  2814. "isPure": true,
  2815. "kind": "string",
  2816. "lValueRequested": false,
  2817. "nodeType": "Literal",
  2818. "src": "2445:13:50",
  2819. "typeDescriptions": {
  2820. "typeIdentifier": "t_stringliteral_a684808d222f8a67c08dd13085391d5e9d1825d9fb6e2da44a91b1a07d07401a",
  2821. "typeString": "literal_string \"log(bytes5)\""
  2822. },
  2823. "value": "log(bytes5)"
  2824. },
  2825. {
  2826. "id": 7475,
  2827. "name": "p0",
  2828. "nodeType": "Identifier",
  2829. "overloadedDeclarations": [],
  2830. "referencedDeclaration": 7468,
  2831. "src": "2460:2:50",
  2832. "typeDescriptions": {
  2833. "typeIdentifier": "t_bytes5",
  2834. "typeString": "bytes5"
  2835. }
  2836. }
  2837. ],
  2838. "expression": {
  2839. "argumentTypes": [
  2840. {
  2841. "typeIdentifier": "t_stringliteral_a684808d222f8a67c08dd13085391d5e9d1825d9fb6e2da44a91b1a07d07401a",
  2842. "typeString": "literal_string \"log(bytes5)\""
  2843. },
  2844. {
  2845. "typeIdentifier": "t_bytes5",
  2846. "typeString": "bytes5"
  2847. }
  2848. ],
  2849. "expression": {
  2850. "id": 7472,
  2851. "name": "abi",
  2852. "nodeType": "Identifier",
  2853. "overloadedDeclarations": [],
  2854. "referencedDeclaration": -1,
  2855. "src": "2421:3:50",
  2856. "typeDescriptions": {
  2857. "typeIdentifier": "t_magic_abi",
  2858. "typeString": "abi"
  2859. }
  2860. },
  2861. "id": 7473,
  2862. "isConstant": false,
  2863. "isLValue": false,
  2864. "isPure": true,
  2865. "lValueRequested": false,
  2866. "memberLocation": "2425:19:50",
  2867. "memberName": "encodeWithSignature",
  2868. "nodeType": "MemberAccess",
  2869. "src": "2421:23:50",
  2870. "typeDescriptions": {
  2871. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  2872. "typeString": "function (string memory) pure returns (bytes memory)"
  2873. }
  2874. },
  2875. "id": 7476,
  2876. "isConstant": false,
  2877. "isLValue": false,
  2878. "isPure": false,
  2879. "kind": "functionCall",
  2880. "lValueRequested": false,
  2881. "nameLocations": [],
  2882. "names": [],
  2883. "nodeType": "FunctionCall",
  2884. "src": "2421:42:50",
  2885. "tryCall": false,
  2886. "typeDescriptions": {
  2887. "typeIdentifier": "t_bytes_memory_ptr",
  2888. "typeString": "bytes memory"
  2889. }
  2890. }
  2891. ],
  2892. "expression": {
  2893. "argumentTypes": [
  2894. {
  2895. "typeIdentifier": "t_bytes_memory_ptr",
  2896. "typeString": "bytes memory"
  2897. }
  2898. ],
  2899. "id": 7471,
  2900. "name": "_sendLogPayload",
  2901. "nodeType": "Identifier",
  2902. "overloadedDeclarations": [],
  2903. "referencedDeclaration": 7315,
  2904. "src": "2405:15:50",
  2905. "typeDescriptions": {
  2906. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  2907. "typeString": "function (bytes memory) pure"
  2908. }
  2909. },
  2910. "id": 7477,
  2911. "isConstant": false,
  2912. "isLValue": false,
  2913. "isPure": false,
  2914. "kind": "functionCall",
  2915. "lValueRequested": false,
  2916. "nameLocations": [],
  2917. "names": [],
  2918. "nodeType": "FunctionCall",
  2919. "src": "2405:59:50",
  2920. "tryCall": false,
  2921. "typeDescriptions": {
  2922. "typeIdentifier": "t_tuple$__$",
  2923. "typeString": "tuple()"
  2924. }
  2925. },
  2926. "id": 7478,
  2927. "nodeType": "ExpressionStatement",
  2928. "src": "2405:59:50"
  2929. }
  2930. ]
  2931. },
  2932. "implemented": true,
  2933. "kind": "function",
  2934. "modifiers": [],
  2935. "name": "logBytes5",
  2936. "nameLocation": "2360:9:50",
  2937. "parameters": {
  2938. "id": 7469,
  2939. "nodeType": "ParameterList",
  2940. "parameters": [
  2941. {
  2942. "constant": false,
  2943. "id": 7468,
  2944. "mutability": "mutable",
  2945. "name": "p0",
  2946. "nameLocation": "2377:2:50",
  2947. "nodeType": "VariableDeclaration",
  2948. "scope": 7480,
  2949. "src": "2370:9:50",
  2950. "stateVariable": false,
  2951. "storageLocation": "default",
  2952. "typeDescriptions": {
  2953. "typeIdentifier": "t_bytes5",
  2954. "typeString": "bytes5"
  2955. },
  2956. "typeName": {
  2957. "id": 7467,
  2958. "name": "bytes5",
  2959. "nodeType": "ElementaryTypeName",
  2960. "src": "2370:6:50",
  2961. "typeDescriptions": {
  2962. "typeIdentifier": "t_bytes5",
  2963. "typeString": "bytes5"
  2964. }
  2965. },
  2966. "visibility": "internal"
  2967. }
  2968. ],
  2969. "src": "2369:11:50"
  2970. },
  2971. "returnParameters": {
  2972. "id": 7470,
  2973. "nodeType": "ParameterList",
  2974. "parameters": [],
  2975. "src": "2395:0:50"
  2976. },
  2977. "scope": 15355,
  2978. "stateMutability": "pure",
  2979. "virtual": false,
  2980. "visibility": "internal"
  2981. },
  2982. {
  2983. "id": 7494,
  2984. "nodeType": "FunctionDefinition",
  2985. "src": "2477:120:50",
  2986. "nodes": [],
  2987. "body": {
  2988. "id": 7493,
  2989. "nodeType": "Block",
  2990. "src": "2521:76:50",
  2991. "nodes": [],
  2992. "statements": [
  2993. {
  2994. "expression": {
  2995. "arguments": [
  2996. {
  2997. "arguments": [
  2998. {
  2999. "hexValue": "6c6f672862797465733629",
  3000. "id": 7488,
  3001. "isConstant": false,
  3002. "isLValue": false,
  3003. "isPure": true,
  3004. "kind": "string",
  3005. "lValueRequested": false,
  3006. "nodeType": "Literal",
  3007. "src": "2571:13:50",
  3008. "typeDescriptions": {
  3009. "typeIdentifier": "t_stringliteral_ae84a5910824668818be6031303edf0f6f3694b35d5e6f9683950d57ef12d330",
  3010. "typeString": "literal_string \"log(bytes6)\""
  3011. },
  3012. "value": "log(bytes6)"
  3013. },
  3014. {
  3015. "id": 7489,
  3016. "name": "p0",
  3017. "nodeType": "Identifier",
  3018. "overloadedDeclarations": [],
  3019. "referencedDeclaration": 7482,
  3020. "src": "2586:2:50",
  3021. "typeDescriptions": {
  3022. "typeIdentifier": "t_bytes6",
  3023. "typeString": "bytes6"
  3024. }
  3025. }
  3026. ],
  3027. "expression": {
  3028. "argumentTypes": [
  3029. {
  3030. "typeIdentifier": "t_stringliteral_ae84a5910824668818be6031303edf0f6f3694b35d5e6f9683950d57ef12d330",
  3031. "typeString": "literal_string \"log(bytes6)\""
  3032. },
  3033. {
  3034. "typeIdentifier": "t_bytes6",
  3035. "typeString": "bytes6"
  3036. }
  3037. ],
  3038. "expression": {
  3039. "id": 7486,
  3040. "name": "abi",
  3041. "nodeType": "Identifier",
  3042. "overloadedDeclarations": [],
  3043. "referencedDeclaration": -1,
  3044. "src": "2547:3:50",
  3045. "typeDescriptions": {
  3046. "typeIdentifier": "t_magic_abi",
  3047. "typeString": "abi"
  3048. }
  3049. },
  3050. "id": 7487,
  3051. "isConstant": false,
  3052. "isLValue": false,
  3053. "isPure": true,
  3054. "lValueRequested": false,
  3055. "memberLocation": "2551:19:50",
  3056. "memberName": "encodeWithSignature",
  3057. "nodeType": "MemberAccess",
  3058. "src": "2547:23:50",
  3059. "typeDescriptions": {
  3060. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  3061. "typeString": "function (string memory) pure returns (bytes memory)"
  3062. }
  3063. },
  3064. "id": 7490,
  3065. "isConstant": false,
  3066. "isLValue": false,
  3067. "isPure": false,
  3068. "kind": "functionCall",
  3069. "lValueRequested": false,
  3070. "nameLocations": [],
  3071. "names": [],
  3072. "nodeType": "FunctionCall",
  3073. "src": "2547:42:50",
  3074. "tryCall": false,
  3075. "typeDescriptions": {
  3076. "typeIdentifier": "t_bytes_memory_ptr",
  3077. "typeString": "bytes memory"
  3078. }
  3079. }
  3080. ],
  3081. "expression": {
  3082. "argumentTypes": [
  3083. {
  3084. "typeIdentifier": "t_bytes_memory_ptr",
  3085. "typeString": "bytes memory"
  3086. }
  3087. ],
  3088. "id": 7485,
  3089. "name": "_sendLogPayload",
  3090. "nodeType": "Identifier",
  3091. "overloadedDeclarations": [],
  3092. "referencedDeclaration": 7315,
  3093. "src": "2531:15:50",
  3094. "typeDescriptions": {
  3095. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  3096. "typeString": "function (bytes memory) pure"
  3097. }
  3098. },
  3099. "id": 7491,
  3100. "isConstant": false,
  3101. "isLValue": false,
  3102. "isPure": false,
  3103. "kind": "functionCall",
  3104. "lValueRequested": false,
  3105. "nameLocations": [],
  3106. "names": [],
  3107. "nodeType": "FunctionCall",
  3108. "src": "2531:59:50",
  3109. "tryCall": false,
  3110. "typeDescriptions": {
  3111. "typeIdentifier": "t_tuple$__$",
  3112. "typeString": "tuple()"
  3113. }
  3114. },
  3115. "id": 7492,
  3116. "nodeType": "ExpressionStatement",
  3117. "src": "2531:59:50"
  3118. }
  3119. ]
  3120. },
  3121. "implemented": true,
  3122. "kind": "function",
  3123. "modifiers": [],
  3124. "name": "logBytes6",
  3125. "nameLocation": "2486:9:50",
  3126. "parameters": {
  3127. "id": 7483,
  3128. "nodeType": "ParameterList",
  3129. "parameters": [
  3130. {
  3131. "constant": false,
  3132. "id": 7482,
  3133. "mutability": "mutable",
  3134. "name": "p0",
  3135. "nameLocation": "2503:2:50",
  3136. "nodeType": "VariableDeclaration",
  3137. "scope": 7494,
  3138. "src": "2496:9:50",
  3139. "stateVariable": false,
  3140. "storageLocation": "default",
  3141. "typeDescriptions": {
  3142. "typeIdentifier": "t_bytes6",
  3143. "typeString": "bytes6"
  3144. },
  3145. "typeName": {
  3146. "id": 7481,
  3147. "name": "bytes6",
  3148. "nodeType": "ElementaryTypeName",
  3149. "src": "2496:6:50",
  3150. "typeDescriptions": {
  3151. "typeIdentifier": "t_bytes6",
  3152. "typeString": "bytes6"
  3153. }
  3154. },
  3155. "visibility": "internal"
  3156. }
  3157. ],
  3158. "src": "2495:11:50"
  3159. },
  3160. "returnParameters": {
  3161. "id": 7484,
  3162. "nodeType": "ParameterList",
  3163. "parameters": [],
  3164. "src": "2521:0:50"
  3165. },
  3166. "scope": 15355,
  3167. "stateMutability": "pure",
  3168. "virtual": false,
  3169. "visibility": "internal"
  3170. },
  3171. {
  3172. "id": 7508,
  3173. "nodeType": "FunctionDefinition",
  3174. "src": "2603:120:50",
  3175. "nodes": [],
  3176. "body": {
  3177. "id": 7507,
  3178. "nodeType": "Block",
  3179. "src": "2647:76:50",
  3180. "nodes": [],
  3181. "statements": [
  3182. {
  3183. "expression": {
  3184. "arguments": [
  3185. {
  3186. "arguments": [
  3187. {
  3188. "hexValue": "6c6f672862797465733729",
  3189. "id": 7502,
  3190. "isConstant": false,
  3191. "isLValue": false,
  3192. "isPure": true,
  3193. "kind": "string",
  3194. "lValueRequested": false,
  3195. "nodeType": "Literal",
  3196. "src": "2697:13:50",
  3197. "typeDescriptions": {
  3198. "typeIdentifier": "t_stringliteral_4ed57e28813457436949e4ec0a834b3c8262cd6cebd21953ee0da3400ce2de29",
  3199. "typeString": "literal_string \"log(bytes7)\""
  3200. },
  3201. "value": "log(bytes7)"
  3202. },
  3203. {
  3204. "id": 7503,
  3205. "name": "p0",
  3206. "nodeType": "Identifier",
  3207. "overloadedDeclarations": [],
  3208. "referencedDeclaration": 7496,
  3209. "src": "2712:2:50",
  3210. "typeDescriptions": {
  3211. "typeIdentifier": "t_bytes7",
  3212. "typeString": "bytes7"
  3213. }
  3214. }
  3215. ],
  3216. "expression": {
  3217. "argumentTypes": [
  3218. {
  3219. "typeIdentifier": "t_stringliteral_4ed57e28813457436949e4ec0a834b3c8262cd6cebd21953ee0da3400ce2de29",
  3220. "typeString": "literal_string \"log(bytes7)\""
  3221. },
  3222. {
  3223. "typeIdentifier": "t_bytes7",
  3224. "typeString": "bytes7"
  3225. }
  3226. ],
  3227. "expression": {
  3228. "id": 7500,
  3229. "name": "abi",
  3230. "nodeType": "Identifier",
  3231. "overloadedDeclarations": [],
  3232. "referencedDeclaration": -1,
  3233. "src": "2673:3:50",
  3234. "typeDescriptions": {
  3235. "typeIdentifier": "t_magic_abi",
  3236. "typeString": "abi"
  3237. }
  3238. },
  3239. "id": 7501,
  3240. "isConstant": false,
  3241. "isLValue": false,
  3242. "isPure": true,
  3243. "lValueRequested": false,
  3244. "memberLocation": "2677:19:50",
  3245. "memberName": "encodeWithSignature",
  3246. "nodeType": "MemberAccess",
  3247. "src": "2673:23:50",
  3248. "typeDescriptions": {
  3249. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  3250. "typeString": "function (string memory) pure returns (bytes memory)"
  3251. }
  3252. },
  3253. "id": 7504,
  3254. "isConstant": false,
  3255. "isLValue": false,
  3256. "isPure": false,
  3257. "kind": "functionCall",
  3258. "lValueRequested": false,
  3259. "nameLocations": [],
  3260. "names": [],
  3261. "nodeType": "FunctionCall",
  3262. "src": "2673:42:50",
  3263. "tryCall": false,
  3264. "typeDescriptions": {
  3265. "typeIdentifier": "t_bytes_memory_ptr",
  3266. "typeString": "bytes memory"
  3267. }
  3268. }
  3269. ],
  3270. "expression": {
  3271. "argumentTypes": [
  3272. {
  3273. "typeIdentifier": "t_bytes_memory_ptr",
  3274. "typeString": "bytes memory"
  3275. }
  3276. ],
  3277. "id": 7499,
  3278. "name": "_sendLogPayload",
  3279. "nodeType": "Identifier",
  3280. "overloadedDeclarations": [],
  3281. "referencedDeclaration": 7315,
  3282. "src": "2657:15:50",
  3283. "typeDescriptions": {
  3284. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  3285. "typeString": "function (bytes memory) pure"
  3286. }
  3287. },
  3288. "id": 7505,
  3289. "isConstant": false,
  3290. "isLValue": false,
  3291. "isPure": false,
  3292. "kind": "functionCall",
  3293. "lValueRequested": false,
  3294. "nameLocations": [],
  3295. "names": [],
  3296. "nodeType": "FunctionCall",
  3297. "src": "2657:59:50",
  3298. "tryCall": false,
  3299. "typeDescriptions": {
  3300. "typeIdentifier": "t_tuple$__$",
  3301. "typeString": "tuple()"
  3302. }
  3303. },
  3304. "id": 7506,
  3305. "nodeType": "ExpressionStatement",
  3306. "src": "2657:59:50"
  3307. }
  3308. ]
  3309. },
  3310. "implemented": true,
  3311. "kind": "function",
  3312. "modifiers": [],
  3313. "name": "logBytes7",
  3314. "nameLocation": "2612:9:50",
  3315. "parameters": {
  3316. "id": 7497,
  3317. "nodeType": "ParameterList",
  3318. "parameters": [
  3319. {
  3320. "constant": false,
  3321. "id": 7496,
  3322. "mutability": "mutable",
  3323. "name": "p0",
  3324. "nameLocation": "2629:2:50",
  3325. "nodeType": "VariableDeclaration",
  3326. "scope": 7508,
  3327. "src": "2622:9:50",
  3328. "stateVariable": false,
  3329. "storageLocation": "default",
  3330. "typeDescriptions": {
  3331. "typeIdentifier": "t_bytes7",
  3332. "typeString": "bytes7"
  3333. },
  3334. "typeName": {
  3335. "id": 7495,
  3336. "name": "bytes7",
  3337. "nodeType": "ElementaryTypeName",
  3338. "src": "2622:6:50",
  3339. "typeDescriptions": {
  3340. "typeIdentifier": "t_bytes7",
  3341. "typeString": "bytes7"
  3342. }
  3343. },
  3344. "visibility": "internal"
  3345. }
  3346. ],
  3347. "src": "2621:11:50"
  3348. },
  3349. "returnParameters": {
  3350. "id": 7498,
  3351. "nodeType": "ParameterList",
  3352. "parameters": [],
  3353. "src": "2647:0:50"
  3354. },
  3355. "scope": 15355,
  3356. "stateMutability": "pure",
  3357. "virtual": false,
  3358. "visibility": "internal"
  3359. },
  3360. {
  3361. "id": 7522,
  3362. "nodeType": "FunctionDefinition",
  3363. "src": "2729:120:50",
  3364. "nodes": [],
  3365. "body": {
  3366. "id": 7521,
  3367. "nodeType": "Block",
  3368. "src": "2773:76:50",
  3369. "nodes": [],
  3370. "statements": [
  3371. {
  3372. "expression": {
  3373. "arguments": [
  3374. {
  3375. "arguments": [
  3376. {
  3377. "hexValue": "6c6f672862797465733829",
  3378. "id": 7516,
  3379. "isConstant": false,
  3380. "isLValue": false,
  3381. "isPure": true,
  3382. "kind": "string",
  3383. "lValueRequested": false,
  3384. "nodeType": "Literal",
  3385. "src": "2823:13:50",
  3386. "typeDescriptions": {
  3387. "typeIdentifier": "t_stringliteral_4f84252e5b28e1a0064346c7cd13650e2dd6020728ca468281bb2a28b42654b3",
  3388. "typeString": "literal_string \"log(bytes8)\""
  3389. },
  3390. "value": "log(bytes8)"
  3391. },
  3392. {
  3393. "id": 7517,
  3394. "name": "p0",
  3395. "nodeType": "Identifier",
  3396. "overloadedDeclarations": [],
  3397. "referencedDeclaration": 7510,
  3398. "src": "2838:2:50",
  3399. "typeDescriptions": {
  3400. "typeIdentifier": "t_bytes8",
  3401. "typeString": "bytes8"
  3402. }
  3403. }
  3404. ],
  3405. "expression": {
  3406. "argumentTypes": [
  3407. {
  3408. "typeIdentifier": "t_stringliteral_4f84252e5b28e1a0064346c7cd13650e2dd6020728ca468281bb2a28b42654b3",
  3409. "typeString": "literal_string \"log(bytes8)\""
  3410. },
  3411. {
  3412. "typeIdentifier": "t_bytes8",
  3413. "typeString": "bytes8"
  3414. }
  3415. ],
  3416. "expression": {
  3417. "id": 7514,
  3418. "name": "abi",
  3419. "nodeType": "Identifier",
  3420. "overloadedDeclarations": [],
  3421. "referencedDeclaration": -1,
  3422. "src": "2799:3:50",
  3423. "typeDescriptions": {
  3424. "typeIdentifier": "t_magic_abi",
  3425. "typeString": "abi"
  3426. }
  3427. },
  3428. "id": 7515,
  3429. "isConstant": false,
  3430. "isLValue": false,
  3431. "isPure": true,
  3432. "lValueRequested": false,
  3433. "memberLocation": "2803:19:50",
  3434. "memberName": "encodeWithSignature",
  3435. "nodeType": "MemberAccess",
  3436. "src": "2799:23:50",
  3437. "typeDescriptions": {
  3438. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  3439. "typeString": "function (string memory) pure returns (bytes memory)"
  3440. }
  3441. },
  3442. "id": 7518,
  3443. "isConstant": false,
  3444. "isLValue": false,
  3445. "isPure": false,
  3446. "kind": "functionCall",
  3447. "lValueRequested": false,
  3448. "nameLocations": [],
  3449. "names": [],
  3450. "nodeType": "FunctionCall",
  3451. "src": "2799:42:50",
  3452. "tryCall": false,
  3453. "typeDescriptions": {
  3454. "typeIdentifier": "t_bytes_memory_ptr",
  3455. "typeString": "bytes memory"
  3456. }
  3457. }
  3458. ],
  3459. "expression": {
  3460. "argumentTypes": [
  3461. {
  3462. "typeIdentifier": "t_bytes_memory_ptr",
  3463. "typeString": "bytes memory"
  3464. }
  3465. ],
  3466. "id": 7513,
  3467. "name": "_sendLogPayload",
  3468. "nodeType": "Identifier",
  3469. "overloadedDeclarations": [],
  3470. "referencedDeclaration": 7315,
  3471. "src": "2783:15:50",
  3472. "typeDescriptions": {
  3473. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  3474. "typeString": "function (bytes memory) pure"
  3475. }
  3476. },
  3477. "id": 7519,
  3478. "isConstant": false,
  3479. "isLValue": false,
  3480. "isPure": false,
  3481. "kind": "functionCall",
  3482. "lValueRequested": false,
  3483. "nameLocations": [],
  3484. "names": [],
  3485. "nodeType": "FunctionCall",
  3486. "src": "2783:59:50",
  3487. "tryCall": false,
  3488. "typeDescriptions": {
  3489. "typeIdentifier": "t_tuple$__$",
  3490. "typeString": "tuple()"
  3491. }
  3492. },
  3493. "id": 7520,
  3494. "nodeType": "ExpressionStatement",
  3495. "src": "2783:59:50"
  3496. }
  3497. ]
  3498. },
  3499. "implemented": true,
  3500. "kind": "function",
  3501. "modifiers": [],
  3502. "name": "logBytes8",
  3503. "nameLocation": "2738:9:50",
  3504. "parameters": {
  3505. "id": 7511,
  3506. "nodeType": "ParameterList",
  3507. "parameters": [
  3508. {
  3509. "constant": false,
  3510. "id": 7510,
  3511. "mutability": "mutable",
  3512. "name": "p0",
  3513. "nameLocation": "2755:2:50",
  3514. "nodeType": "VariableDeclaration",
  3515. "scope": 7522,
  3516. "src": "2748:9:50",
  3517. "stateVariable": false,
  3518. "storageLocation": "default",
  3519. "typeDescriptions": {
  3520. "typeIdentifier": "t_bytes8",
  3521. "typeString": "bytes8"
  3522. },
  3523. "typeName": {
  3524. "id": 7509,
  3525. "name": "bytes8",
  3526. "nodeType": "ElementaryTypeName",
  3527. "src": "2748:6:50",
  3528. "typeDescriptions": {
  3529. "typeIdentifier": "t_bytes8",
  3530. "typeString": "bytes8"
  3531. }
  3532. },
  3533. "visibility": "internal"
  3534. }
  3535. ],
  3536. "src": "2747:11:50"
  3537. },
  3538. "returnParameters": {
  3539. "id": 7512,
  3540. "nodeType": "ParameterList",
  3541. "parameters": [],
  3542. "src": "2773:0:50"
  3543. },
  3544. "scope": 15355,
  3545. "stateMutability": "pure",
  3546. "virtual": false,
  3547. "visibility": "internal"
  3548. },
  3549. {
  3550. "id": 7536,
  3551. "nodeType": "FunctionDefinition",
  3552. "src": "2855:120:50",
  3553. "nodes": [],
  3554. "body": {
  3555. "id": 7535,
  3556. "nodeType": "Block",
  3557. "src": "2899:76:50",
  3558. "nodes": [],
  3559. "statements": [
  3560. {
  3561. "expression": {
  3562. "arguments": [
  3563. {
  3564. "arguments": [
  3565. {
  3566. "hexValue": "6c6f672862797465733929",
  3567. "id": 7530,
  3568. "isConstant": false,
  3569. "isLValue": false,
  3570. "isPure": true,
  3571. "kind": "string",
  3572. "lValueRequested": false,
  3573. "nodeType": "Literal",
  3574. "src": "2949:13:50",
  3575. "typeDescriptions": {
  3576. "typeIdentifier": "t_stringliteral_90bd8cd0463fe91d31e59db57ee4cf8d778374c422b4b50e841266d9c2cc6667",
  3577. "typeString": "literal_string \"log(bytes9)\""
  3578. },
  3579. "value": "log(bytes9)"
  3580. },
  3581. {
  3582. "id": 7531,
  3583. "name": "p0",
  3584. "nodeType": "Identifier",
  3585. "overloadedDeclarations": [],
  3586. "referencedDeclaration": 7524,
  3587. "src": "2964:2:50",
  3588. "typeDescriptions": {
  3589. "typeIdentifier": "t_bytes9",
  3590. "typeString": "bytes9"
  3591. }
  3592. }
  3593. ],
  3594. "expression": {
  3595. "argumentTypes": [
  3596. {
  3597. "typeIdentifier": "t_stringliteral_90bd8cd0463fe91d31e59db57ee4cf8d778374c422b4b50e841266d9c2cc6667",
  3598. "typeString": "literal_string \"log(bytes9)\""
  3599. },
  3600. {
  3601. "typeIdentifier": "t_bytes9",
  3602. "typeString": "bytes9"
  3603. }
  3604. ],
  3605. "expression": {
  3606. "id": 7528,
  3607. "name": "abi",
  3608. "nodeType": "Identifier",
  3609. "overloadedDeclarations": [],
  3610. "referencedDeclaration": -1,
  3611. "src": "2925:3:50",
  3612. "typeDescriptions": {
  3613. "typeIdentifier": "t_magic_abi",
  3614. "typeString": "abi"
  3615. }
  3616. },
  3617. "id": 7529,
  3618. "isConstant": false,
  3619. "isLValue": false,
  3620. "isPure": true,
  3621. "lValueRequested": false,
  3622. "memberLocation": "2929:19:50",
  3623. "memberName": "encodeWithSignature",
  3624. "nodeType": "MemberAccess",
  3625. "src": "2925:23:50",
  3626. "typeDescriptions": {
  3627. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  3628. "typeString": "function (string memory) pure returns (bytes memory)"
  3629. }
  3630. },
  3631. "id": 7532,
  3632. "isConstant": false,
  3633. "isLValue": false,
  3634. "isPure": false,
  3635. "kind": "functionCall",
  3636. "lValueRequested": false,
  3637. "nameLocations": [],
  3638. "names": [],
  3639. "nodeType": "FunctionCall",
  3640. "src": "2925:42:50",
  3641. "tryCall": false,
  3642. "typeDescriptions": {
  3643. "typeIdentifier": "t_bytes_memory_ptr",
  3644. "typeString": "bytes memory"
  3645. }
  3646. }
  3647. ],
  3648. "expression": {
  3649. "argumentTypes": [
  3650. {
  3651. "typeIdentifier": "t_bytes_memory_ptr",
  3652. "typeString": "bytes memory"
  3653. }
  3654. ],
  3655. "id": 7527,
  3656. "name": "_sendLogPayload",
  3657. "nodeType": "Identifier",
  3658. "overloadedDeclarations": [],
  3659. "referencedDeclaration": 7315,
  3660. "src": "2909:15:50",
  3661. "typeDescriptions": {
  3662. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  3663. "typeString": "function (bytes memory) pure"
  3664. }
  3665. },
  3666. "id": 7533,
  3667. "isConstant": false,
  3668. "isLValue": false,
  3669. "isPure": false,
  3670. "kind": "functionCall",
  3671. "lValueRequested": false,
  3672. "nameLocations": [],
  3673. "names": [],
  3674. "nodeType": "FunctionCall",
  3675. "src": "2909:59:50",
  3676. "tryCall": false,
  3677. "typeDescriptions": {
  3678. "typeIdentifier": "t_tuple$__$",
  3679. "typeString": "tuple()"
  3680. }
  3681. },
  3682. "id": 7534,
  3683. "nodeType": "ExpressionStatement",
  3684. "src": "2909:59:50"
  3685. }
  3686. ]
  3687. },
  3688. "implemented": true,
  3689. "kind": "function",
  3690. "modifiers": [],
  3691. "name": "logBytes9",
  3692. "nameLocation": "2864:9:50",
  3693. "parameters": {
  3694. "id": 7525,
  3695. "nodeType": "ParameterList",
  3696. "parameters": [
  3697. {
  3698. "constant": false,
  3699. "id": 7524,
  3700. "mutability": "mutable",
  3701. "name": "p0",
  3702. "nameLocation": "2881:2:50",
  3703. "nodeType": "VariableDeclaration",
  3704. "scope": 7536,
  3705. "src": "2874:9:50",
  3706. "stateVariable": false,
  3707. "storageLocation": "default",
  3708. "typeDescriptions": {
  3709. "typeIdentifier": "t_bytes9",
  3710. "typeString": "bytes9"
  3711. },
  3712. "typeName": {
  3713. "id": 7523,
  3714. "name": "bytes9",
  3715. "nodeType": "ElementaryTypeName",
  3716. "src": "2874:6:50",
  3717. "typeDescriptions": {
  3718. "typeIdentifier": "t_bytes9",
  3719. "typeString": "bytes9"
  3720. }
  3721. },
  3722. "visibility": "internal"
  3723. }
  3724. ],
  3725. "src": "2873:11:50"
  3726. },
  3727. "returnParameters": {
  3728. "id": 7526,
  3729. "nodeType": "ParameterList",
  3730. "parameters": [],
  3731. "src": "2899:0:50"
  3732. },
  3733. "scope": 15355,
  3734. "stateMutability": "pure",
  3735. "virtual": false,
  3736. "visibility": "internal"
  3737. },
  3738. {
  3739. "id": 7550,
  3740. "nodeType": "FunctionDefinition",
  3741. "src": "2981:123:50",
  3742. "nodes": [],
  3743. "body": {
  3744. "id": 7549,
  3745. "nodeType": "Block",
  3746. "src": "3027:77:50",
  3747. "nodes": [],
  3748. "statements": [
  3749. {
  3750. "expression": {
  3751. "arguments": [
  3752. {
  3753. "arguments": [
  3754. {
  3755. "hexValue": "6c6f67286279746573313029",
  3756. "id": 7544,
  3757. "isConstant": false,
  3758. "isLValue": false,
  3759. "isPure": true,
  3760. "kind": "string",
  3761. "lValueRequested": false,
  3762. "nodeType": "Literal",
  3763. "src": "3077:14:50",
  3764. "typeDescriptions": {
  3765. "typeIdentifier": "t_stringliteral_013d178bb749cf32d0f7243763667360eb91576261efe5ed9be72b4a2800fd66",
  3766. "typeString": "literal_string \"log(bytes10)\""
  3767. },
  3768. "value": "log(bytes10)"
  3769. },
  3770. {
  3771. "id": 7545,
  3772. "name": "p0",
  3773. "nodeType": "Identifier",
  3774. "overloadedDeclarations": [],
  3775. "referencedDeclaration": 7538,
  3776. "src": "3093:2:50",
  3777. "typeDescriptions": {
  3778. "typeIdentifier": "t_bytes10",
  3779. "typeString": "bytes10"
  3780. }
  3781. }
  3782. ],
  3783. "expression": {
  3784. "argumentTypes": [
  3785. {
  3786. "typeIdentifier": "t_stringliteral_013d178bb749cf32d0f7243763667360eb91576261efe5ed9be72b4a2800fd66",
  3787. "typeString": "literal_string \"log(bytes10)\""
  3788. },
  3789. {
  3790. "typeIdentifier": "t_bytes10",
  3791. "typeString": "bytes10"
  3792. }
  3793. ],
  3794. "expression": {
  3795. "id": 7542,
  3796. "name": "abi",
  3797. "nodeType": "Identifier",
  3798. "overloadedDeclarations": [],
  3799. "referencedDeclaration": -1,
  3800. "src": "3053:3:50",
  3801. "typeDescriptions": {
  3802. "typeIdentifier": "t_magic_abi",
  3803. "typeString": "abi"
  3804. }
  3805. },
  3806. "id": 7543,
  3807. "isConstant": false,
  3808. "isLValue": false,
  3809. "isPure": true,
  3810. "lValueRequested": false,
  3811. "memberLocation": "3057:19:50",
  3812. "memberName": "encodeWithSignature",
  3813. "nodeType": "MemberAccess",
  3814. "src": "3053:23:50",
  3815. "typeDescriptions": {
  3816. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  3817. "typeString": "function (string memory) pure returns (bytes memory)"
  3818. }
  3819. },
  3820. "id": 7546,
  3821. "isConstant": false,
  3822. "isLValue": false,
  3823. "isPure": false,
  3824. "kind": "functionCall",
  3825. "lValueRequested": false,
  3826. "nameLocations": [],
  3827. "names": [],
  3828. "nodeType": "FunctionCall",
  3829. "src": "3053:43:50",
  3830. "tryCall": false,
  3831. "typeDescriptions": {
  3832. "typeIdentifier": "t_bytes_memory_ptr",
  3833. "typeString": "bytes memory"
  3834. }
  3835. }
  3836. ],
  3837. "expression": {
  3838. "argumentTypes": [
  3839. {
  3840. "typeIdentifier": "t_bytes_memory_ptr",
  3841. "typeString": "bytes memory"
  3842. }
  3843. ],
  3844. "id": 7541,
  3845. "name": "_sendLogPayload",
  3846. "nodeType": "Identifier",
  3847. "overloadedDeclarations": [],
  3848. "referencedDeclaration": 7315,
  3849. "src": "3037:15:50",
  3850. "typeDescriptions": {
  3851. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  3852. "typeString": "function (bytes memory) pure"
  3853. }
  3854. },
  3855. "id": 7547,
  3856. "isConstant": false,
  3857. "isLValue": false,
  3858. "isPure": false,
  3859. "kind": "functionCall",
  3860. "lValueRequested": false,
  3861. "nameLocations": [],
  3862. "names": [],
  3863. "nodeType": "FunctionCall",
  3864. "src": "3037:60:50",
  3865. "tryCall": false,
  3866. "typeDescriptions": {
  3867. "typeIdentifier": "t_tuple$__$",
  3868. "typeString": "tuple()"
  3869. }
  3870. },
  3871. "id": 7548,
  3872. "nodeType": "ExpressionStatement",
  3873. "src": "3037:60:50"
  3874. }
  3875. ]
  3876. },
  3877. "implemented": true,
  3878. "kind": "function",
  3879. "modifiers": [],
  3880. "name": "logBytes10",
  3881. "nameLocation": "2990:10:50",
  3882. "parameters": {
  3883. "id": 7539,
  3884. "nodeType": "ParameterList",
  3885. "parameters": [
  3886. {
  3887. "constant": false,
  3888. "id": 7538,
  3889. "mutability": "mutable",
  3890. "name": "p0",
  3891. "nameLocation": "3009:2:50",
  3892. "nodeType": "VariableDeclaration",
  3893. "scope": 7550,
  3894. "src": "3001:10:50",
  3895. "stateVariable": false,
  3896. "storageLocation": "default",
  3897. "typeDescriptions": {
  3898. "typeIdentifier": "t_bytes10",
  3899. "typeString": "bytes10"
  3900. },
  3901. "typeName": {
  3902. "id": 7537,
  3903. "name": "bytes10",
  3904. "nodeType": "ElementaryTypeName",
  3905. "src": "3001:7:50",
  3906. "typeDescriptions": {
  3907. "typeIdentifier": "t_bytes10",
  3908. "typeString": "bytes10"
  3909. }
  3910. },
  3911. "visibility": "internal"
  3912. }
  3913. ],
  3914. "src": "3000:12:50"
  3915. },
  3916. "returnParameters": {
  3917. "id": 7540,
  3918. "nodeType": "ParameterList",
  3919. "parameters": [],
  3920. "src": "3027:0:50"
  3921. },
  3922. "scope": 15355,
  3923. "stateMutability": "pure",
  3924. "virtual": false,
  3925. "visibility": "internal"
  3926. },
  3927. {
  3928. "id": 7564,
  3929. "nodeType": "FunctionDefinition",
  3930. "src": "3110:123:50",
  3931. "nodes": [],
  3932. "body": {
  3933. "id": 7563,
  3934. "nodeType": "Block",
  3935. "src": "3156:77:50",
  3936. "nodes": [],
  3937. "statements": [
  3938. {
  3939. "expression": {
  3940. "arguments": [
  3941. {
  3942. "arguments": [
  3943. {
  3944. "hexValue": "6c6f67286279746573313129",
  3945. "id": 7558,
  3946. "isConstant": false,
  3947. "isLValue": false,
  3948. "isPure": true,
  3949. "kind": "string",
  3950. "lValueRequested": false,
  3951. "nodeType": "Literal",
  3952. "src": "3206:14:50",
  3953. "typeDescriptions": {
  3954. "typeIdentifier": "t_stringliteral_04004a2e5bef8ca2e7ffd661b519aec3d9c1b8d0aa1e11656aab73b2726922d9",
  3955. "typeString": "literal_string \"log(bytes11)\""
  3956. },
  3957. "value": "log(bytes11)"
  3958. },
  3959. {
  3960. "id": 7559,
  3961. "name": "p0",
  3962. "nodeType": "Identifier",
  3963. "overloadedDeclarations": [],
  3964. "referencedDeclaration": 7552,
  3965. "src": "3222:2:50",
  3966. "typeDescriptions": {
  3967. "typeIdentifier": "t_bytes11",
  3968. "typeString": "bytes11"
  3969. }
  3970. }
  3971. ],
  3972. "expression": {
  3973. "argumentTypes": [
  3974. {
  3975. "typeIdentifier": "t_stringliteral_04004a2e5bef8ca2e7ffd661b519aec3d9c1b8d0aa1e11656aab73b2726922d9",
  3976. "typeString": "literal_string \"log(bytes11)\""
  3977. },
  3978. {
  3979. "typeIdentifier": "t_bytes11",
  3980. "typeString": "bytes11"
  3981. }
  3982. ],
  3983. "expression": {
  3984. "id": 7556,
  3985. "name": "abi",
  3986. "nodeType": "Identifier",
  3987. "overloadedDeclarations": [],
  3988. "referencedDeclaration": -1,
  3989. "src": "3182:3:50",
  3990. "typeDescriptions": {
  3991. "typeIdentifier": "t_magic_abi",
  3992. "typeString": "abi"
  3993. }
  3994. },
  3995. "id": 7557,
  3996. "isConstant": false,
  3997. "isLValue": false,
  3998. "isPure": true,
  3999. "lValueRequested": false,
  4000. "memberLocation": "3186:19:50",
  4001. "memberName": "encodeWithSignature",
  4002. "nodeType": "MemberAccess",
  4003. "src": "3182:23:50",
  4004. "typeDescriptions": {
  4005. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  4006. "typeString": "function (string memory) pure returns (bytes memory)"
  4007. }
  4008. },
  4009. "id": 7560,
  4010. "isConstant": false,
  4011. "isLValue": false,
  4012. "isPure": false,
  4013. "kind": "functionCall",
  4014. "lValueRequested": false,
  4015. "nameLocations": [],
  4016. "names": [],
  4017. "nodeType": "FunctionCall",
  4018. "src": "3182:43:50",
  4019. "tryCall": false,
  4020. "typeDescriptions": {
  4021. "typeIdentifier": "t_bytes_memory_ptr",
  4022. "typeString": "bytes memory"
  4023. }
  4024. }
  4025. ],
  4026. "expression": {
  4027. "argumentTypes": [
  4028. {
  4029. "typeIdentifier": "t_bytes_memory_ptr",
  4030. "typeString": "bytes memory"
  4031. }
  4032. ],
  4033. "id": 7555,
  4034. "name": "_sendLogPayload",
  4035. "nodeType": "Identifier",
  4036. "overloadedDeclarations": [],
  4037. "referencedDeclaration": 7315,
  4038. "src": "3166:15:50",
  4039. "typeDescriptions": {
  4040. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  4041. "typeString": "function (bytes memory) pure"
  4042. }
  4043. },
  4044. "id": 7561,
  4045. "isConstant": false,
  4046. "isLValue": false,
  4047. "isPure": false,
  4048. "kind": "functionCall",
  4049. "lValueRequested": false,
  4050. "nameLocations": [],
  4051. "names": [],
  4052. "nodeType": "FunctionCall",
  4053. "src": "3166:60:50",
  4054. "tryCall": false,
  4055. "typeDescriptions": {
  4056. "typeIdentifier": "t_tuple$__$",
  4057. "typeString": "tuple()"
  4058. }
  4059. },
  4060. "id": 7562,
  4061. "nodeType": "ExpressionStatement",
  4062. "src": "3166:60:50"
  4063. }
  4064. ]
  4065. },
  4066. "implemented": true,
  4067. "kind": "function",
  4068. "modifiers": [],
  4069. "name": "logBytes11",
  4070. "nameLocation": "3119:10:50",
  4071. "parameters": {
  4072. "id": 7553,
  4073. "nodeType": "ParameterList",
  4074. "parameters": [
  4075. {
  4076. "constant": false,
  4077. "id": 7552,
  4078. "mutability": "mutable",
  4079. "name": "p0",
  4080. "nameLocation": "3138:2:50",
  4081. "nodeType": "VariableDeclaration",
  4082. "scope": 7564,
  4083. "src": "3130:10:50",
  4084. "stateVariable": false,
  4085. "storageLocation": "default",
  4086. "typeDescriptions": {
  4087. "typeIdentifier": "t_bytes11",
  4088. "typeString": "bytes11"
  4089. },
  4090. "typeName": {
  4091. "id": 7551,
  4092. "name": "bytes11",
  4093. "nodeType": "ElementaryTypeName",
  4094. "src": "3130:7:50",
  4095. "typeDescriptions": {
  4096. "typeIdentifier": "t_bytes11",
  4097. "typeString": "bytes11"
  4098. }
  4099. },
  4100. "visibility": "internal"
  4101. }
  4102. ],
  4103. "src": "3129:12:50"
  4104. },
  4105. "returnParameters": {
  4106. "id": 7554,
  4107. "nodeType": "ParameterList",
  4108. "parameters": [],
  4109. "src": "3156:0:50"
  4110. },
  4111. "scope": 15355,
  4112. "stateMutability": "pure",
  4113. "virtual": false,
  4114. "visibility": "internal"
  4115. },
  4116. {
  4117. "id": 7578,
  4118. "nodeType": "FunctionDefinition",
  4119. "src": "3239:123:50",
  4120. "nodes": [],
  4121. "body": {
  4122. "id": 7577,
  4123. "nodeType": "Block",
  4124. "src": "3285:77:50",
  4125. "nodes": [],
  4126. "statements": [
  4127. {
  4128. "expression": {
  4129. "arguments": [
  4130. {
  4131. "arguments": [
  4132. {
  4133. "hexValue": "6c6f67286279746573313229",
  4134. "id": 7572,
  4135. "isConstant": false,
  4136. "isLValue": false,
  4137. "isPure": true,
  4138. "kind": "string",
  4139. "lValueRequested": false,
  4140. "nodeType": "Literal",
  4141. "src": "3335:14:50",
  4142. "typeDescriptions": {
  4143. "typeIdentifier": "t_stringliteral_86a06abd704b9e5bab2216d456863046355f2def5304d8276c140d0d454fddf2",
  4144. "typeString": "literal_string \"log(bytes12)\""
  4145. },
  4146. "value": "log(bytes12)"
  4147. },
  4148. {
  4149. "id": 7573,
  4150. "name": "p0",
  4151. "nodeType": "Identifier",
  4152. "overloadedDeclarations": [],
  4153. "referencedDeclaration": 7566,
  4154. "src": "3351:2:50",
  4155. "typeDescriptions": {
  4156. "typeIdentifier": "t_bytes12",
  4157. "typeString": "bytes12"
  4158. }
  4159. }
  4160. ],
  4161. "expression": {
  4162. "argumentTypes": [
  4163. {
  4164. "typeIdentifier": "t_stringliteral_86a06abd704b9e5bab2216d456863046355f2def5304d8276c140d0d454fddf2",
  4165. "typeString": "literal_string \"log(bytes12)\""
  4166. },
  4167. {
  4168. "typeIdentifier": "t_bytes12",
  4169. "typeString": "bytes12"
  4170. }
  4171. ],
  4172. "expression": {
  4173. "id": 7570,
  4174. "name": "abi",
  4175. "nodeType": "Identifier",
  4176. "overloadedDeclarations": [],
  4177. "referencedDeclaration": -1,
  4178. "src": "3311:3:50",
  4179. "typeDescriptions": {
  4180. "typeIdentifier": "t_magic_abi",
  4181. "typeString": "abi"
  4182. }
  4183. },
  4184. "id": 7571,
  4185. "isConstant": false,
  4186. "isLValue": false,
  4187. "isPure": true,
  4188. "lValueRequested": false,
  4189. "memberLocation": "3315:19:50",
  4190. "memberName": "encodeWithSignature",
  4191. "nodeType": "MemberAccess",
  4192. "src": "3311:23:50",
  4193. "typeDescriptions": {
  4194. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  4195. "typeString": "function (string memory) pure returns (bytes memory)"
  4196. }
  4197. },
  4198. "id": 7574,
  4199. "isConstant": false,
  4200. "isLValue": false,
  4201. "isPure": false,
  4202. "kind": "functionCall",
  4203. "lValueRequested": false,
  4204. "nameLocations": [],
  4205. "names": [],
  4206. "nodeType": "FunctionCall",
  4207. "src": "3311:43:50",
  4208. "tryCall": false,
  4209. "typeDescriptions": {
  4210. "typeIdentifier": "t_bytes_memory_ptr",
  4211. "typeString": "bytes memory"
  4212. }
  4213. }
  4214. ],
  4215. "expression": {
  4216. "argumentTypes": [
  4217. {
  4218. "typeIdentifier": "t_bytes_memory_ptr",
  4219. "typeString": "bytes memory"
  4220. }
  4221. ],
  4222. "id": 7569,
  4223. "name": "_sendLogPayload",
  4224. "nodeType": "Identifier",
  4225. "overloadedDeclarations": [],
  4226. "referencedDeclaration": 7315,
  4227. "src": "3295:15:50",
  4228. "typeDescriptions": {
  4229. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  4230. "typeString": "function (bytes memory) pure"
  4231. }
  4232. },
  4233. "id": 7575,
  4234. "isConstant": false,
  4235. "isLValue": false,
  4236. "isPure": false,
  4237. "kind": "functionCall",
  4238. "lValueRequested": false,
  4239. "nameLocations": [],
  4240. "names": [],
  4241. "nodeType": "FunctionCall",
  4242. "src": "3295:60:50",
  4243. "tryCall": false,
  4244. "typeDescriptions": {
  4245. "typeIdentifier": "t_tuple$__$",
  4246. "typeString": "tuple()"
  4247. }
  4248. },
  4249. "id": 7576,
  4250. "nodeType": "ExpressionStatement",
  4251. "src": "3295:60:50"
  4252. }
  4253. ]
  4254. },
  4255. "implemented": true,
  4256. "kind": "function",
  4257. "modifiers": [],
  4258. "name": "logBytes12",
  4259. "nameLocation": "3248:10:50",
  4260. "parameters": {
  4261. "id": 7567,
  4262. "nodeType": "ParameterList",
  4263. "parameters": [
  4264. {
  4265. "constant": false,
  4266. "id": 7566,
  4267. "mutability": "mutable",
  4268. "name": "p0",
  4269. "nameLocation": "3267:2:50",
  4270. "nodeType": "VariableDeclaration",
  4271. "scope": 7578,
  4272. "src": "3259:10:50",
  4273. "stateVariable": false,
  4274. "storageLocation": "default",
  4275. "typeDescriptions": {
  4276. "typeIdentifier": "t_bytes12",
  4277. "typeString": "bytes12"
  4278. },
  4279. "typeName": {
  4280. "id": 7565,
  4281. "name": "bytes12",
  4282. "nodeType": "ElementaryTypeName",
  4283. "src": "3259:7:50",
  4284. "typeDescriptions": {
  4285. "typeIdentifier": "t_bytes12",
  4286. "typeString": "bytes12"
  4287. }
  4288. },
  4289. "visibility": "internal"
  4290. }
  4291. ],
  4292. "src": "3258:12:50"
  4293. },
  4294. "returnParameters": {
  4295. "id": 7568,
  4296. "nodeType": "ParameterList",
  4297. "parameters": [],
  4298. "src": "3285:0:50"
  4299. },
  4300. "scope": 15355,
  4301. "stateMutability": "pure",
  4302. "virtual": false,
  4303. "visibility": "internal"
  4304. },
  4305. {
  4306. "id": 7592,
  4307. "nodeType": "FunctionDefinition",
  4308. "src": "3368:123:50",
  4309. "nodes": [],
  4310. "body": {
  4311. "id": 7591,
  4312. "nodeType": "Block",
  4313. "src": "3414:77:50",
  4314. "nodes": [],
  4315. "statements": [
  4316. {
  4317. "expression": {
  4318. "arguments": [
  4319. {
  4320. "arguments": [
  4321. {
  4322. "hexValue": "6c6f67286279746573313329",
  4323. "id": 7586,
  4324. "isConstant": false,
  4325. "isLValue": false,
  4326. "isPure": true,
  4327. "kind": "string",
  4328. "lValueRequested": false,
  4329. "nodeType": "Literal",
  4330. "src": "3464:14:50",
  4331. "typeDescriptions": {
  4332. "typeIdentifier": "t_stringliteral_94529e34a43ac6de2c3a0df402eee6114eb0f2ad065baefde0230cd3cf90e2ec",
  4333. "typeString": "literal_string \"log(bytes13)\""
  4334. },
  4335. "value": "log(bytes13)"
  4336. },
  4337. {
  4338. "id": 7587,
  4339. "name": "p0",
  4340. "nodeType": "Identifier",
  4341. "overloadedDeclarations": [],
  4342. "referencedDeclaration": 7580,
  4343. "src": "3480:2:50",
  4344. "typeDescriptions": {
  4345. "typeIdentifier": "t_bytes13",
  4346. "typeString": "bytes13"
  4347. }
  4348. }
  4349. ],
  4350. "expression": {
  4351. "argumentTypes": [
  4352. {
  4353. "typeIdentifier": "t_stringliteral_94529e34a43ac6de2c3a0df402eee6114eb0f2ad065baefde0230cd3cf90e2ec",
  4354. "typeString": "literal_string \"log(bytes13)\""
  4355. },
  4356. {
  4357. "typeIdentifier": "t_bytes13",
  4358. "typeString": "bytes13"
  4359. }
  4360. ],
  4361. "expression": {
  4362. "id": 7584,
  4363. "name": "abi",
  4364. "nodeType": "Identifier",
  4365. "overloadedDeclarations": [],
  4366. "referencedDeclaration": -1,
  4367. "src": "3440:3:50",
  4368. "typeDescriptions": {
  4369. "typeIdentifier": "t_magic_abi",
  4370. "typeString": "abi"
  4371. }
  4372. },
  4373. "id": 7585,
  4374. "isConstant": false,
  4375. "isLValue": false,
  4376. "isPure": true,
  4377. "lValueRequested": false,
  4378. "memberLocation": "3444:19:50",
  4379. "memberName": "encodeWithSignature",
  4380. "nodeType": "MemberAccess",
  4381. "src": "3440:23:50",
  4382. "typeDescriptions": {
  4383. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  4384. "typeString": "function (string memory) pure returns (bytes memory)"
  4385. }
  4386. },
  4387. "id": 7588,
  4388. "isConstant": false,
  4389. "isLValue": false,
  4390. "isPure": false,
  4391. "kind": "functionCall",
  4392. "lValueRequested": false,
  4393. "nameLocations": [],
  4394. "names": [],
  4395. "nodeType": "FunctionCall",
  4396. "src": "3440:43:50",
  4397. "tryCall": false,
  4398. "typeDescriptions": {
  4399. "typeIdentifier": "t_bytes_memory_ptr",
  4400. "typeString": "bytes memory"
  4401. }
  4402. }
  4403. ],
  4404. "expression": {
  4405. "argumentTypes": [
  4406. {
  4407. "typeIdentifier": "t_bytes_memory_ptr",
  4408. "typeString": "bytes memory"
  4409. }
  4410. ],
  4411. "id": 7583,
  4412. "name": "_sendLogPayload",
  4413. "nodeType": "Identifier",
  4414. "overloadedDeclarations": [],
  4415. "referencedDeclaration": 7315,
  4416. "src": "3424:15:50",
  4417. "typeDescriptions": {
  4418. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  4419. "typeString": "function (bytes memory) pure"
  4420. }
  4421. },
  4422. "id": 7589,
  4423. "isConstant": false,
  4424. "isLValue": false,
  4425. "isPure": false,
  4426. "kind": "functionCall",
  4427. "lValueRequested": false,
  4428. "nameLocations": [],
  4429. "names": [],
  4430. "nodeType": "FunctionCall",
  4431. "src": "3424:60:50",
  4432. "tryCall": false,
  4433. "typeDescriptions": {
  4434. "typeIdentifier": "t_tuple$__$",
  4435. "typeString": "tuple()"
  4436. }
  4437. },
  4438. "id": 7590,
  4439. "nodeType": "ExpressionStatement",
  4440. "src": "3424:60:50"
  4441. }
  4442. ]
  4443. },
  4444. "implemented": true,
  4445. "kind": "function",
  4446. "modifiers": [],
  4447. "name": "logBytes13",
  4448. "nameLocation": "3377:10:50",
  4449. "parameters": {
  4450. "id": 7581,
  4451. "nodeType": "ParameterList",
  4452. "parameters": [
  4453. {
  4454. "constant": false,
  4455. "id": 7580,
  4456. "mutability": "mutable",
  4457. "name": "p0",
  4458. "nameLocation": "3396:2:50",
  4459. "nodeType": "VariableDeclaration",
  4460. "scope": 7592,
  4461. "src": "3388:10:50",
  4462. "stateVariable": false,
  4463. "storageLocation": "default",
  4464. "typeDescriptions": {
  4465. "typeIdentifier": "t_bytes13",
  4466. "typeString": "bytes13"
  4467. },
  4468. "typeName": {
  4469. "id": 7579,
  4470. "name": "bytes13",
  4471. "nodeType": "ElementaryTypeName",
  4472. "src": "3388:7:50",
  4473. "typeDescriptions": {
  4474. "typeIdentifier": "t_bytes13",
  4475. "typeString": "bytes13"
  4476. }
  4477. },
  4478. "visibility": "internal"
  4479. }
  4480. ],
  4481. "src": "3387:12:50"
  4482. },
  4483. "returnParameters": {
  4484. "id": 7582,
  4485. "nodeType": "ParameterList",
  4486. "parameters": [],
  4487. "src": "3414:0:50"
  4488. },
  4489. "scope": 15355,
  4490. "stateMutability": "pure",
  4491. "virtual": false,
  4492. "visibility": "internal"
  4493. },
  4494. {
  4495. "id": 7606,
  4496. "nodeType": "FunctionDefinition",
  4497. "src": "3497:123:50",
  4498. "nodes": [],
  4499. "body": {
  4500. "id": 7605,
  4501. "nodeType": "Block",
  4502. "src": "3543:77:50",
  4503. "nodes": [],
  4504. "statements": [
  4505. {
  4506. "expression": {
  4507. "arguments": [
  4508. {
  4509. "arguments": [
  4510. {
  4511. "hexValue": "6c6f67286279746573313429",
  4512. "id": 7600,
  4513. "isConstant": false,
  4514. "isLValue": false,
  4515. "isPure": true,
  4516. "kind": "string",
  4517. "lValueRequested": false,
  4518. "nodeType": "Literal",
  4519. "src": "3593:14:50",
  4520. "typeDescriptions": {
  4521. "typeIdentifier": "t_stringliteral_9266f07faf32c88bbdb01ce418243acbc1c63e15d6e3afa16078186ba711f278",
  4522. "typeString": "literal_string \"log(bytes14)\""
  4523. },
  4524. "value": "log(bytes14)"
  4525. },
  4526. {
  4527. "id": 7601,
  4528. "name": "p0",
  4529. "nodeType": "Identifier",
  4530. "overloadedDeclarations": [],
  4531. "referencedDeclaration": 7594,
  4532. "src": "3609:2:50",
  4533. "typeDescriptions": {
  4534. "typeIdentifier": "t_bytes14",
  4535. "typeString": "bytes14"
  4536. }
  4537. }
  4538. ],
  4539. "expression": {
  4540. "argumentTypes": [
  4541. {
  4542. "typeIdentifier": "t_stringliteral_9266f07faf32c88bbdb01ce418243acbc1c63e15d6e3afa16078186ba711f278",
  4543. "typeString": "literal_string \"log(bytes14)\""
  4544. },
  4545. {
  4546. "typeIdentifier": "t_bytes14",
  4547. "typeString": "bytes14"
  4548. }
  4549. ],
  4550. "expression": {
  4551. "id": 7598,
  4552. "name": "abi",
  4553. "nodeType": "Identifier",
  4554. "overloadedDeclarations": [],
  4555. "referencedDeclaration": -1,
  4556. "src": "3569:3:50",
  4557. "typeDescriptions": {
  4558. "typeIdentifier": "t_magic_abi",
  4559. "typeString": "abi"
  4560. }
  4561. },
  4562. "id": 7599,
  4563. "isConstant": false,
  4564. "isLValue": false,
  4565. "isPure": true,
  4566. "lValueRequested": false,
  4567. "memberLocation": "3573:19:50",
  4568. "memberName": "encodeWithSignature",
  4569. "nodeType": "MemberAccess",
  4570. "src": "3569:23:50",
  4571. "typeDescriptions": {
  4572. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  4573. "typeString": "function (string memory) pure returns (bytes memory)"
  4574. }
  4575. },
  4576. "id": 7602,
  4577. "isConstant": false,
  4578. "isLValue": false,
  4579. "isPure": false,
  4580. "kind": "functionCall",
  4581. "lValueRequested": false,
  4582. "nameLocations": [],
  4583. "names": [],
  4584. "nodeType": "FunctionCall",
  4585. "src": "3569:43:50",
  4586. "tryCall": false,
  4587. "typeDescriptions": {
  4588. "typeIdentifier": "t_bytes_memory_ptr",
  4589. "typeString": "bytes memory"
  4590. }
  4591. }
  4592. ],
  4593. "expression": {
  4594. "argumentTypes": [
  4595. {
  4596. "typeIdentifier": "t_bytes_memory_ptr",
  4597. "typeString": "bytes memory"
  4598. }
  4599. ],
  4600. "id": 7597,
  4601. "name": "_sendLogPayload",
  4602. "nodeType": "Identifier",
  4603. "overloadedDeclarations": [],
  4604. "referencedDeclaration": 7315,
  4605. "src": "3553:15:50",
  4606. "typeDescriptions": {
  4607. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  4608. "typeString": "function (bytes memory) pure"
  4609. }
  4610. },
  4611. "id": 7603,
  4612. "isConstant": false,
  4613. "isLValue": false,
  4614. "isPure": false,
  4615. "kind": "functionCall",
  4616. "lValueRequested": false,
  4617. "nameLocations": [],
  4618. "names": [],
  4619. "nodeType": "FunctionCall",
  4620. "src": "3553:60:50",
  4621. "tryCall": false,
  4622. "typeDescriptions": {
  4623. "typeIdentifier": "t_tuple$__$",
  4624. "typeString": "tuple()"
  4625. }
  4626. },
  4627. "id": 7604,
  4628. "nodeType": "ExpressionStatement",
  4629. "src": "3553:60:50"
  4630. }
  4631. ]
  4632. },
  4633. "implemented": true,
  4634. "kind": "function",
  4635. "modifiers": [],
  4636. "name": "logBytes14",
  4637. "nameLocation": "3506:10:50",
  4638. "parameters": {
  4639. "id": 7595,
  4640. "nodeType": "ParameterList",
  4641. "parameters": [
  4642. {
  4643. "constant": false,
  4644. "id": 7594,
  4645. "mutability": "mutable",
  4646. "name": "p0",
  4647. "nameLocation": "3525:2:50",
  4648. "nodeType": "VariableDeclaration",
  4649. "scope": 7606,
  4650. "src": "3517:10:50",
  4651. "stateVariable": false,
  4652. "storageLocation": "default",
  4653. "typeDescriptions": {
  4654. "typeIdentifier": "t_bytes14",
  4655. "typeString": "bytes14"
  4656. },
  4657. "typeName": {
  4658. "id": 7593,
  4659. "name": "bytes14",
  4660. "nodeType": "ElementaryTypeName",
  4661. "src": "3517:7:50",
  4662. "typeDescriptions": {
  4663. "typeIdentifier": "t_bytes14",
  4664. "typeString": "bytes14"
  4665. }
  4666. },
  4667. "visibility": "internal"
  4668. }
  4669. ],
  4670. "src": "3516:12:50"
  4671. },
  4672. "returnParameters": {
  4673. "id": 7596,
  4674. "nodeType": "ParameterList",
  4675. "parameters": [],
  4676. "src": "3543:0:50"
  4677. },
  4678. "scope": 15355,
  4679. "stateMutability": "pure",
  4680. "virtual": false,
  4681. "visibility": "internal"
  4682. },
  4683. {
  4684. "id": 7620,
  4685. "nodeType": "FunctionDefinition",
  4686. "src": "3626:123:50",
  4687. "nodes": [],
  4688. "body": {
  4689. "id": 7619,
  4690. "nodeType": "Block",
  4691. "src": "3672:77:50",
  4692. "nodes": [],
  4693. "statements": [
  4694. {
  4695. "expression": {
  4696. "arguments": [
  4697. {
  4698. "arguments": [
  4699. {
  4700. "hexValue": "6c6f67286279746573313529",
  4701. "id": 7614,
  4702. "isConstant": false,
  4703. "isLValue": false,
  4704. "isPure": true,
  4705. "kind": "string",
  4706. "lValueRequested": false,
  4707. "nodeType": "Literal",
  4708. "src": "3722:14:50",
  4709. "typeDescriptions": {
  4710. "typeIdentifier": "t_stringliteral_da9574e0bf3f23e09c3d85c9f5226065bb36281f2a5d78c7e38f6ffd58919606",
  4711. "typeString": "literal_string \"log(bytes15)\""
  4712. },
  4713. "value": "log(bytes15)"
  4714. },
  4715. {
  4716. "id": 7615,
  4717. "name": "p0",
  4718. "nodeType": "Identifier",
  4719. "overloadedDeclarations": [],
  4720. "referencedDeclaration": 7608,
  4721. "src": "3738:2:50",
  4722. "typeDescriptions": {
  4723. "typeIdentifier": "t_bytes15",
  4724. "typeString": "bytes15"
  4725. }
  4726. }
  4727. ],
  4728. "expression": {
  4729. "argumentTypes": [
  4730. {
  4731. "typeIdentifier": "t_stringliteral_da9574e0bf3f23e09c3d85c9f5226065bb36281f2a5d78c7e38f6ffd58919606",
  4732. "typeString": "literal_string \"log(bytes15)\""
  4733. },
  4734. {
  4735. "typeIdentifier": "t_bytes15",
  4736. "typeString": "bytes15"
  4737. }
  4738. ],
  4739. "expression": {
  4740. "id": 7612,
  4741. "name": "abi",
  4742. "nodeType": "Identifier",
  4743. "overloadedDeclarations": [],
  4744. "referencedDeclaration": -1,
  4745. "src": "3698:3:50",
  4746. "typeDescriptions": {
  4747. "typeIdentifier": "t_magic_abi",
  4748. "typeString": "abi"
  4749. }
  4750. },
  4751. "id": 7613,
  4752. "isConstant": false,
  4753. "isLValue": false,
  4754. "isPure": true,
  4755. "lValueRequested": false,
  4756. "memberLocation": "3702:19:50",
  4757. "memberName": "encodeWithSignature",
  4758. "nodeType": "MemberAccess",
  4759. "src": "3698:23:50",
  4760. "typeDescriptions": {
  4761. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  4762. "typeString": "function (string memory) pure returns (bytes memory)"
  4763. }
  4764. },
  4765. "id": 7616,
  4766. "isConstant": false,
  4767. "isLValue": false,
  4768. "isPure": false,
  4769. "kind": "functionCall",
  4770. "lValueRequested": false,
  4771. "nameLocations": [],
  4772. "names": [],
  4773. "nodeType": "FunctionCall",
  4774. "src": "3698:43:50",
  4775. "tryCall": false,
  4776. "typeDescriptions": {
  4777. "typeIdentifier": "t_bytes_memory_ptr",
  4778. "typeString": "bytes memory"
  4779. }
  4780. }
  4781. ],
  4782. "expression": {
  4783. "argumentTypes": [
  4784. {
  4785. "typeIdentifier": "t_bytes_memory_ptr",
  4786. "typeString": "bytes memory"
  4787. }
  4788. ],
  4789. "id": 7611,
  4790. "name": "_sendLogPayload",
  4791. "nodeType": "Identifier",
  4792. "overloadedDeclarations": [],
  4793. "referencedDeclaration": 7315,
  4794. "src": "3682:15:50",
  4795. "typeDescriptions": {
  4796. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  4797. "typeString": "function (bytes memory) pure"
  4798. }
  4799. },
  4800. "id": 7617,
  4801. "isConstant": false,
  4802. "isLValue": false,
  4803. "isPure": false,
  4804. "kind": "functionCall",
  4805. "lValueRequested": false,
  4806. "nameLocations": [],
  4807. "names": [],
  4808. "nodeType": "FunctionCall",
  4809. "src": "3682:60:50",
  4810. "tryCall": false,
  4811. "typeDescriptions": {
  4812. "typeIdentifier": "t_tuple$__$",
  4813. "typeString": "tuple()"
  4814. }
  4815. },
  4816. "id": 7618,
  4817. "nodeType": "ExpressionStatement",
  4818. "src": "3682:60:50"
  4819. }
  4820. ]
  4821. },
  4822. "implemented": true,
  4823. "kind": "function",
  4824. "modifiers": [],
  4825. "name": "logBytes15",
  4826. "nameLocation": "3635:10:50",
  4827. "parameters": {
  4828. "id": 7609,
  4829. "nodeType": "ParameterList",
  4830. "parameters": [
  4831. {
  4832. "constant": false,
  4833. "id": 7608,
  4834. "mutability": "mutable",
  4835. "name": "p0",
  4836. "nameLocation": "3654:2:50",
  4837. "nodeType": "VariableDeclaration",
  4838. "scope": 7620,
  4839. "src": "3646:10:50",
  4840. "stateVariable": false,
  4841. "storageLocation": "default",
  4842. "typeDescriptions": {
  4843. "typeIdentifier": "t_bytes15",
  4844. "typeString": "bytes15"
  4845. },
  4846. "typeName": {
  4847. "id": 7607,
  4848. "name": "bytes15",
  4849. "nodeType": "ElementaryTypeName",
  4850. "src": "3646:7:50",
  4851. "typeDescriptions": {
  4852. "typeIdentifier": "t_bytes15",
  4853. "typeString": "bytes15"
  4854. }
  4855. },
  4856. "visibility": "internal"
  4857. }
  4858. ],
  4859. "src": "3645:12:50"
  4860. },
  4861. "returnParameters": {
  4862. "id": 7610,
  4863. "nodeType": "ParameterList",
  4864. "parameters": [],
  4865. "src": "3672:0:50"
  4866. },
  4867. "scope": 15355,
  4868. "stateMutability": "pure",
  4869. "virtual": false,
  4870. "visibility": "internal"
  4871. },
  4872. {
  4873. "id": 7634,
  4874. "nodeType": "FunctionDefinition",
  4875. "src": "3755:123:50",
  4876. "nodes": [],
  4877. "body": {
  4878. "id": 7633,
  4879. "nodeType": "Block",
  4880. "src": "3801:77:50",
  4881. "nodes": [],
  4882. "statements": [
  4883. {
  4884. "expression": {
  4885. "arguments": [
  4886. {
  4887. "arguments": [
  4888. {
  4889. "hexValue": "6c6f67286279746573313629",
  4890. "id": 7628,
  4891. "isConstant": false,
  4892. "isLValue": false,
  4893. "isPure": true,
  4894. "kind": "string",
  4895. "lValueRequested": false,
  4896. "nodeType": "Literal",
  4897. "src": "3851:14:50",
  4898. "typeDescriptions": {
  4899. "typeIdentifier": "t_stringliteral_665c61046af0adc4969f9d2f111b654775bd58f112b63e5ce7dfff29c000e9f3",
  4900. "typeString": "literal_string \"log(bytes16)\""
  4901. },
  4902. "value": "log(bytes16)"
  4903. },
  4904. {
  4905. "id": 7629,
  4906. "name": "p0",
  4907. "nodeType": "Identifier",
  4908. "overloadedDeclarations": [],
  4909. "referencedDeclaration": 7622,
  4910. "src": "3867:2:50",
  4911. "typeDescriptions": {
  4912. "typeIdentifier": "t_bytes16",
  4913. "typeString": "bytes16"
  4914. }
  4915. }
  4916. ],
  4917. "expression": {
  4918. "argumentTypes": [
  4919. {
  4920. "typeIdentifier": "t_stringliteral_665c61046af0adc4969f9d2f111b654775bd58f112b63e5ce7dfff29c000e9f3",
  4921. "typeString": "literal_string \"log(bytes16)\""
  4922. },
  4923. {
  4924. "typeIdentifier": "t_bytes16",
  4925. "typeString": "bytes16"
  4926. }
  4927. ],
  4928. "expression": {
  4929. "id": 7626,
  4930. "name": "abi",
  4931. "nodeType": "Identifier",
  4932. "overloadedDeclarations": [],
  4933. "referencedDeclaration": -1,
  4934. "src": "3827:3:50",
  4935. "typeDescriptions": {
  4936. "typeIdentifier": "t_magic_abi",
  4937. "typeString": "abi"
  4938. }
  4939. },
  4940. "id": 7627,
  4941. "isConstant": false,
  4942. "isLValue": false,
  4943. "isPure": true,
  4944. "lValueRequested": false,
  4945. "memberLocation": "3831:19:50",
  4946. "memberName": "encodeWithSignature",
  4947. "nodeType": "MemberAccess",
  4948. "src": "3827:23:50",
  4949. "typeDescriptions": {
  4950. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  4951. "typeString": "function (string memory) pure returns (bytes memory)"
  4952. }
  4953. },
  4954. "id": 7630,
  4955. "isConstant": false,
  4956. "isLValue": false,
  4957. "isPure": false,
  4958. "kind": "functionCall",
  4959. "lValueRequested": false,
  4960. "nameLocations": [],
  4961. "names": [],
  4962. "nodeType": "FunctionCall",
  4963. "src": "3827:43:50",
  4964. "tryCall": false,
  4965. "typeDescriptions": {
  4966. "typeIdentifier": "t_bytes_memory_ptr",
  4967. "typeString": "bytes memory"
  4968. }
  4969. }
  4970. ],
  4971. "expression": {
  4972. "argumentTypes": [
  4973. {
  4974. "typeIdentifier": "t_bytes_memory_ptr",
  4975. "typeString": "bytes memory"
  4976. }
  4977. ],
  4978. "id": 7625,
  4979. "name": "_sendLogPayload",
  4980. "nodeType": "Identifier",
  4981. "overloadedDeclarations": [],
  4982. "referencedDeclaration": 7315,
  4983. "src": "3811:15:50",
  4984. "typeDescriptions": {
  4985. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  4986. "typeString": "function (bytes memory) pure"
  4987. }
  4988. },
  4989. "id": 7631,
  4990. "isConstant": false,
  4991. "isLValue": false,
  4992. "isPure": false,
  4993. "kind": "functionCall",
  4994. "lValueRequested": false,
  4995. "nameLocations": [],
  4996. "names": [],
  4997. "nodeType": "FunctionCall",
  4998. "src": "3811:60:50",
  4999. "tryCall": false,
  5000. "typeDescriptions": {
  5001. "typeIdentifier": "t_tuple$__$",
  5002. "typeString": "tuple()"
  5003. }
  5004. },
  5005. "id": 7632,
  5006. "nodeType": "ExpressionStatement",
  5007. "src": "3811:60:50"
  5008. }
  5009. ]
  5010. },
  5011. "implemented": true,
  5012. "kind": "function",
  5013. "modifiers": [],
  5014. "name": "logBytes16",
  5015. "nameLocation": "3764:10:50",
  5016. "parameters": {
  5017. "id": 7623,
  5018. "nodeType": "ParameterList",
  5019. "parameters": [
  5020. {
  5021. "constant": false,
  5022. "id": 7622,
  5023. "mutability": "mutable",
  5024. "name": "p0",
  5025. "nameLocation": "3783:2:50",
  5026. "nodeType": "VariableDeclaration",
  5027. "scope": 7634,
  5028. "src": "3775:10:50",
  5029. "stateVariable": false,
  5030. "storageLocation": "default",
  5031. "typeDescriptions": {
  5032. "typeIdentifier": "t_bytes16",
  5033. "typeString": "bytes16"
  5034. },
  5035. "typeName": {
  5036. "id": 7621,
  5037. "name": "bytes16",
  5038. "nodeType": "ElementaryTypeName",
  5039. "src": "3775:7:50",
  5040. "typeDescriptions": {
  5041. "typeIdentifier": "t_bytes16",
  5042. "typeString": "bytes16"
  5043. }
  5044. },
  5045. "visibility": "internal"
  5046. }
  5047. ],
  5048. "src": "3774:12:50"
  5049. },
  5050. "returnParameters": {
  5051. "id": 7624,
  5052. "nodeType": "ParameterList",
  5053. "parameters": [],
  5054. "src": "3801:0:50"
  5055. },
  5056. "scope": 15355,
  5057. "stateMutability": "pure",
  5058. "virtual": false,
  5059. "visibility": "internal"
  5060. },
  5061. {
  5062. "id": 7648,
  5063. "nodeType": "FunctionDefinition",
  5064. "src": "3884:123:50",
  5065. "nodes": [],
  5066. "body": {
  5067. "id": 7647,
  5068. "nodeType": "Block",
  5069. "src": "3930:77:50",
  5070. "nodes": [],
  5071. "statements": [
  5072. {
  5073. "expression": {
  5074. "arguments": [
  5075. {
  5076. "arguments": [
  5077. {
  5078. "hexValue": "6c6f67286279746573313729",
  5079. "id": 7642,
  5080. "isConstant": false,
  5081. "isLValue": false,
  5082. "isPure": true,
  5083. "kind": "string",
  5084. "lValueRequested": false,
  5085. "nodeType": "Literal",
  5086. "src": "3980:14:50",
  5087. "typeDescriptions": {
  5088. "typeIdentifier": "t_stringliteral_339f673a0c008974259a0022c9b150cc5d1af8c58584412fe373d84bd08d4ea3",
  5089. "typeString": "literal_string \"log(bytes17)\""
  5090. },
  5091. "value": "log(bytes17)"
  5092. },
  5093. {
  5094. "id": 7643,
  5095. "name": "p0",
  5096. "nodeType": "Identifier",
  5097. "overloadedDeclarations": [],
  5098. "referencedDeclaration": 7636,
  5099. "src": "3996:2:50",
  5100. "typeDescriptions": {
  5101. "typeIdentifier": "t_bytes17",
  5102. "typeString": "bytes17"
  5103. }
  5104. }
  5105. ],
  5106. "expression": {
  5107. "argumentTypes": [
  5108. {
  5109. "typeIdentifier": "t_stringliteral_339f673a0c008974259a0022c9b150cc5d1af8c58584412fe373d84bd08d4ea3",
  5110. "typeString": "literal_string \"log(bytes17)\""
  5111. },
  5112. {
  5113. "typeIdentifier": "t_bytes17",
  5114. "typeString": "bytes17"
  5115. }
  5116. ],
  5117. "expression": {
  5118. "id": 7640,
  5119. "name": "abi",
  5120. "nodeType": "Identifier",
  5121. "overloadedDeclarations": [],
  5122. "referencedDeclaration": -1,
  5123. "src": "3956:3:50",
  5124. "typeDescriptions": {
  5125. "typeIdentifier": "t_magic_abi",
  5126. "typeString": "abi"
  5127. }
  5128. },
  5129. "id": 7641,
  5130. "isConstant": false,
  5131. "isLValue": false,
  5132. "isPure": true,
  5133. "lValueRequested": false,
  5134. "memberLocation": "3960:19:50",
  5135. "memberName": "encodeWithSignature",
  5136. "nodeType": "MemberAccess",
  5137. "src": "3956:23:50",
  5138. "typeDescriptions": {
  5139. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  5140. "typeString": "function (string memory) pure returns (bytes memory)"
  5141. }
  5142. },
  5143. "id": 7644,
  5144. "isConstant": false,
  5145. "isLValue": false,
  5146. "isPure": false,
  5147. "kind": "functionCall",
  5148. "lValueRequested": false,
  5149. "nameLocations": [],
  5150. "names": [],
  5151. "nodeType": "FunctionCall",
  5152. "src": "3956:43:50",
  5153. "tryCall": false,
  5154. "typeDescriptions": {
  5155. "typeIdentifier": "t_bytes_memory_ptr",
  5156. "typeString": "bytes memory"
  5157. }
  5158. }
  5159. ],
  5160. "expression": {
  5161. "argumentTypes": [
  5162. {
  5163. "typeIdentifier": "t_bytes_memory_ptr",
  5164. "typeString": "bytes memory"
  5165. }
  5166. ],
  5167. "id": 7639,
  5168. "name": "_sendLogPayload",
  5169. "nodeType": "Identifier",
  5170. "overloadedDeclarations": [],
  5171. "referencedDeclaration": 7315,
  5172. "src": "3940:15:50",
  5173. "typeDescriptions": {
  5174. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  5175. "typeString": "function (bytes memory) pure"
  5176. }
  5177. },
  5178. "id": 7645,
  5179. "isConstant": false,
  5180. "isLValue": false,
  5181. "isPure": false,
  5182. "kind": "functionCall",
  5183. "lValueRequested": false,
  5184. "nameLocations": [],
  5185. "names": [],
  5186. "nodeType": "FunctionCall",
  5187. "src": "3940:60:50",
  5188. "tryCall": false,
  5189. "typeDescriptions": {
  5190. "typeIdentifier": "t_tuple$__$",
  5191. "typeString": "tuple()"
  5192. }
  5193. },
  5194. "id": 7646,
  5195. "nodeType": "ExpressionStatement",
  5196. "src": "3940:60:50"
  5197. }
  5198. ]
  5199. },
  5200. "implemented": true,
  5201. "kind": "function",
  5202. "modifiers": [],
  5203. "name": "logBytes17",
  5204. "nameLocation": "3893:10:50",
  5205. "parameters": {
  5206. "id": 7637,
  5207. "nodeType": "ParameterList",
  5208. "parameters": [
  5209. {
  5210. "constant": false,
  5211. "id": 7636,
  5212. "mutability": "mutable",
  5213. "name": "p0",
  5214. "nameLocation": "3912:2:50",
  5215. "nodeType": "VariableDeclaration",
  5216. "scope": 7648,
  5217. "src": "3904:10:50",
  5218. "stateVariable": false,
  5219. "storageLocation": "default",
  5220. "typeDescriptions": {
  5221. "typeIdentifier": "t_bytes17",
  5222. "typeString": "bytes17"
  5223. },
  5224. "typeName": {
  5225. "id": 7635,
  5226. "name": "bytes17",
  5227. "nodeType": "ElementaryTypeName",
  5228. "src": "3904:7:50",
  5229. "typeDescriptions": {
  5230. "typeIdentifier": "t_bytes17",
  5231. "typeString": "bytes17"
  5232. }
  5233. },
  5234. "visibility": "internal"
  5235. }
  5236. ],
  5237. "src": "3903:12:50"
  5238. },
  5239. "returnParameters": {
  5240. "id": 7638,
  5241. "nodeType": "ParameterList",
  5242. "parameters": [],
  5243. "src": "3930:0:50"
  5244. },
  5245. "scope": 15355,
  5246. "stateMutability": "pure",
  5247. "virtual": false,
  5248. "visibility": "internal"
  5249. },
  5250. {
  5251. "id": 7662,
  5252. "nodeType": "FunctionDefinition",
  5253. "src": "4013:123:50",
  5254. "nodes": [],
  5255. "body": {
  5256. "id": 7661,
  5257. "nodeType": "Block",
  5258. "src": "4059:77:50",
  5259. "nodes": [],
  5260. "statements": [
  5261. {
  5262. "expression": {
  5263. "arguments": [
  5264. {
  5265. "arguments": [
  5266. {
  5267. "hexValue": "6c6f67286279746573313829",
  5268. "id": 7656,
  5269. "isConstant": false,
  5270. "isLValue": false,
  5271. "isPure": true,
  5272. "kind": "string",
  5273. "lValueRequested": false,
  5274. "nodeType": "Literal",
  5275. "src": "4109:14:50",
  5276. "typeDescriptions": {
  5277. "typeIdentifier": "t_stringliteral_c4d23d9af6458d5ddc7cb8128a2f36bf147c9db4fe277dfe0fe7be41def62116",
  5278. "typeString": "literal_string \"log(bytes18)\""
  5279. },
  5280. "value": "log(bytes18)"
  5281. },
  5282. {
  5283. "id": 7657,
  5284. "name": "p0",
  5285. "nodeType": "Identifier",
  5286. "overloadedDeclarations": [],
  5287. "referencedDeclaration": 7650,
  5288. "src": "4125:2:50",
  5289. "typeDescriptions": {
  5290. "typeIdentifier": "t_bytes18",
  5291. "typeString": "bytes18"
  5292. }
  5293. }
  5294. ],
  5295. "expression": {
  5296. "argumentTypes": [
  5297. {
  5298. "typeIdentifier": "t_stringliteral_c4d23d9af6458d5ddc7cb8128a2f36bf147c9db4fe277dfe0fe7be41def62116",
  5299. "typeString": "literal_string \"log(bytes18)\""
  5300. },
  5301. {
  5302. "typeIdentifier": "t_bytes18",
  5303. "typeString": "bytes18"
  5304. }
  5305. ],
  5306. "expression": {
  5307. "id": 7654,
  5308. "name": "abi",
  5309. "nodeType": "Identifier",
  5310. "overloadedDeclarations": [],
  5311. "referencedDeclaration": -1,
  5312. "src": "4085:3:50",
  5313. "typeDescriptions": {
  5314. "typeIdentifier": "t_magic_abi",
  5315. "typeString": "abi"
  5316. }
  5317. },
  5318. "id": 7655,
  5319. "isConstant": false,
  5320. "isLValue": false,
  5321. "isPure": true,
  5322. "lValueRequested": false,
  5323. "memberLocation": "4089:19:50",
  5324. "memberName": "encodeWithSignature",
  5325. "nodeType": "MemberAccess",
  5326. "src": "4085:23:50",
  5327. "typeDescriptions": {
  5328. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  5329. "typeString": "function (string memory) pure returns (bytes memory)"
  5330. }
  5331. },
  5332. "id": 7658,
  5333. "isConstant": false,
  5334. "isLValue": false,
  5335. "isPure": false,
  5336. "kind": "functionCall",
  5337. "lValueRequested": false,
  5338. "nameLocations": [],
  5339. "names": [],
  5340. "nodeType": "FunctionCall",
  5341. "src": "4085:43:50",
  5342. "tryCall": false,
  5343. "typeDescriptions": {
  5344. "typeIdentifier": "t_bytes_memory_ptr",
  5345. "typeString": "bytes memory"
  5346. }
  5347. }
  5348. ],
  5349. "expression": {
  5350. "argumentTypes": [
  5351. {
  5352. "typeIdentifier": "t_bytes_memory_ptr",
  5353. "typeString": "bytes memory"
  5354. }
  5355. ],
  5356. "id": 7653,
  5357. "name": "_sendLogPayload",
  5358. "nodeType": "Identifier",
  5359. "overloadedDeclarations": [],
  5360. "referencedDeclaration": 7315,
  5361. "src": "4069:15:50",
  5362. "typeDescriptions": {
  5363. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  5364. "typeString": "function (bytes memory) pure"
  5365. }
  5366. },
  5367. "id": 7659,
  5368. "isConstant": false,
  5369. "isLValue": false,
  5370. "isPure": false,
  5371. "kind": "functionCall",
  5372. "lValueRequested": false,
  5373. "nameLocations": [],
  5374. "names": [],
  5375. "nodeType": "FunctionCall",
  5376. "src": "4069:60:50",
  5377. "tryCall": false,
  5378. "typeDescriptions": {
  5379. "typeIdentifier": "t_tuple$__$",
  5380. "typeString": "tuple()"
  5381. }
  5382. },
  5383. "id": 7660,
  5384. "nodeType": "ExpressionStatement",
  5385. "src": "4069:60:50"
  5386. }
  5387. ]
  5388. },
  5389. "implemented": true,
  5390. "kind": "function",
  5391. "modifiers": [],
  5392. "name": "logBytes18",
  5393. "nameLocation": "4022:10:50",
  5394. "parameters": {
  5395. "id": 7651,
  5396. "nodeType": "ParameterList",
  5397. "parameters": [
  5398. {
  5399. "constant": false,
  5400. "id": 7650,
  5401. "mutability": "mutable",
  5402. "name": "p0",
  5403. "nameLocation": "4041:2:50",
  5404. "nodeType": "VariableDeclaration",
  5405. "scope": 7662,
  5406. "src": "4033:10:50",
  5407. "stateVariable": false,
  5408. "storageLocation": "default",
  5409. "typeDescriptions": {
  5410. "typeIdentifier": "t_bytes18",
  5411. "typeString": "bytes18"
  5412. },
  5413. "typeName": {
  5414. "id": 7649,
  5415. "name": "bytes18",
  5416. "nodeType": "ElementaryTypeName",
  5417. "src": "4033:7:50",
  5418. "typeDescriptions": {
  5419. "typeIdentifier": "t_bytes18",
  5420. "typeString": "bytes18"
  5421. }
  5422. },
  5423. "visibility": "internal"
  5424. }
  5425. ],
  5426. "src": "4032:12:50"
  5427. },
  5428. "returnParameters": {
  5429. "id": 7652,
  5430. "nodeType": "ParameterList",
  5431. "parameters": [],
  5432. "src": "4059:0:50"
  5433. },
  5434. "scope": 15355,
  5435. "stateMutability": "pure",
  5436. "virtual": false,
  5437. "visibility": "internal"
  5438. },
  5439. {
  5440. "id": 7676,
  5441. "nodeType": "FunctionDefinition",
  5442. "src": "4142:123:50",
  5443. "nodes": [],
  5444. "body": {
  5445. "id": 7675,
  5446. "nodeType": "Block",
  5447. "src": "4188:77:50",
  5448. "nodes": [],
  5449. "statements": [
  5450. {
  5451. "expression": {
  5452. "arguments": [
  5453. {
  5454. "arguments": [
  5455. {
  5456. "hexValue": "6c6f67286279746573313929",
  5457. "id": 7670,
  5458. "isConstant": false,
  5459. "isLValue": false,
  5460. "isPure": true,
  5461. "kind": "string",
  5462. "lValueRequested": false,
  5463. "nodeType": "Literal",
  5464. "src": "4238:14:50",
  5465. "typeDescriptions": {
  5466. "typeIdentifier": "t_stringliteral_5e6b5a33524ca650028e2fad735b4ab50285bba37658119d2da303bee98aeada",
  5467. "typeString": "literal_string \"log(bytes19)\""
  5468. },
  5469. "value": "log(bytes19)"
  5470. },
  5471. {
  5472. "id": 7671,
  5473. "name": "p0",
  5474. "nodeType": "Identifier",
  5475. "overloadedDeclarations": [],
  5476. "referencedDeclaration": 7664,
  5477. "src": "4254:2:50",
  5478. "typeDescriptions": {
  5479. "typeIdentifier": "t_bytes19",
  5480. "typeString": "bytes19"
  5481. }
  5482. }
  5483. ],
  5484. "expression": {
  5485. "argumentTypes": [
  5486. {
  5487. "typeIdentifier": "t_stringliteral_5e6b5a33524ca650028e2fad735b4ab50285bba37658119d2da303bee98aeada",
  5488. "typeString": "literal_string \"log(bytes19)\""
  5489. },
  5490. {
  5491. "typeIdentifier": "t_bytes19",
  5492. "typeString": "bytes19"
  5493. }
  5494. ],
  5495. "expression": {
  5496. "id": 7668,
  5497. "name": "abi",
  5498. "nodeType": "Identifier",
  5499. "overloadedDeclarations": [],
  5500. "referencedDeclaration": -1,
  5501. "src": "4214:3:50",
  5502. "typeDescriptions": {
  5503. "typeIdentifier": "t_magic_abi",
  5504. "typeString": "abi"
  5505. }
  5506. },
  5507. "id": 7669,
  5508. "isConstant": false,
  5509. "isLValue": false,
  5510. "isPure": true,
  5511. "lValueRequested": false,
  5512. "memberLocation": "4218:19:50",
  5513. "memberName": "encodeWithSignature",
  5514. "nodeType": "MemberAccess",
  5515. "src": "4214:23:50",
  5516. "typeDescriptions": {
  5517. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  5518. "typeString": "function (string memory) pure returns (bytes memory)"
  5519. }
  5520. },
  5521. "id": 7672,
  5522. "isConstant": false,
  5523. "isLValue": false,
  5524. "isPure": false,
  5525. "kind": "functionCall",
  5526. "lValueRequested": false,
  5527. "nameLocations": [],
  5528. "names": [],
  5529. "nodeType": "FunctionCall",
  5530. "src": "4214:43:50",
  5531. "tryCall": false,
  5532. "typeDescriptions": {
  5533. "typeIdentifier": "t_bytes_memory_ptr",
  5534. "typeString": "bytes memory"
  5535. }
  5536. }
  5537. ],
  5538. "expression": {
  5539. "argumentTypes": [
  5540. {
  5541. "typeIdentifier": "t_bytes_memory_ptr",
  5542. "typeString": "bytes memory"
  5543. }
  5544. ],
  5545. "id": 7667,
  5546. "name": "_sendLogPayload",
  5547. "nodeType": "Identifier",
  5548. "overloadedDeclarations": [],
  5549. "referencedDeclaration": 7315,
  5550. "src": "4198:15:50",
  5551. "typeDescriptions": {
  5552. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  5553. "typeString": "function (bytes memory) pure"
  5554. }
  5555. },
  5556. "id": 7673,
  5557. "isConstant": false,
  5558. "isLValue": false,
  5559. "isPure": false,
  5560. "kind": "functionCall",
  5561. "lValueRequested": false,
  5562. "nameLocations": [],
  5563. "names": [],
  5564. "nodeType": "FunctionCall",
  5565. "src": "4198:60:50",
  5566. "tryCall": false,
  5567. "typeDescriptions": {
  5568. "typeIdentifier": "t_tuple$__$",
  5569. "typeString": "tuple()"
  5570. }
  5571. },
  5572. "id": 7674,
  5573. "nodeType": "ExpressionStatement",
  5574. "src": "4198:60:50"
  5575. }
  5576. ]
  5577. },
  5578. "implemented": true,
  5579. "kind": "function",
  5580. "modifiers": [],
  5581. "name": "logBytes19",
  5582. "nameLocation": "4151:10:50",
  5583. "parameters": {
  5584. "id": 7665,
  5585. "nodeType": "ParameterList",
  5586. "parameters": [
  5587. {
  5588. "constant": false,
  5589. "id": 7664,
  5590. "mutability": "mutable",
  5591. "name": "p0",
  5592. "nameLocation": "4170:2:50",
  5593. "nodeType": "VariableDeclaration",
  5594. "scope": 7676,
  5595. "src": "4162:10:50",
  5596. "stateVariable": false,
  5597. "storageLocation": "default",
  5598. "typeDescriptions": {
  5599. "typeIdentifier": "t_bytes19",
  5600. "typeString": "bytes19"
  5601. },
  5602. "typeName": {
  5603. "id": 7663,
  5604. "name": "bytes19",
  5605. "nodeType": "ElementaryTypeName",
  5606. "src": "4162:7:50",
  5607. "typeDescriptions": {
  5608. "typeIdentifier": "t_bytes19",
  5609. "typeString": "bytes19"
  5610. }
  5611. },
  5612. "visibility": "internal"
  5613. }
  5614. ],
  5615. "src": "4161:12:50"
  5616. },
  5617. "returnParameters": {
  5618. "id": 7666,
  5619. "nodeType": "ParameterList",
  5620. "parameters": [],
  5621. "src": "4188:0:50"
  5622. },
  5623. "scope": 15355,
  5624. "stateMutability": "pure",
  5625. "virtual": false,
  5626. "visibility": "internal"
  5627. },
  5628. {
  5629. "id": 7690,
  5630. "nodeType": "FunctionDefinition",
  5631. "src": "4271:123:50",
  5632. "nodes": [],
  5633. "body": {
  5634. "id": 7689,
  5635. "nodeType": "Block",
  5636. "src": "4317:77:50",
  5637. "nodes": [],
  5638. "statements": [
  5639. {
  5640. "expression": {
  5641. "arguments": [
  5642. {
  5643. "arguments": [
  5644. {
  5645. "hexValue": "6c6f67286279746573323029",
  5646. "id": 7684,
  5647. "isConstant": false,
  5648. "isLValue": false,
  5649. "isPure": true,
  5650. "kind": "string",
  5651. "lValueRequested": false,
  5652. "nodeType": "Literal",
  5653. "src": "4367:14:50",
  5654. "typeDescriptions": {
  5655. "typeIdentifier": "t_stringliteral_5188e3e9b3f117a223e2e428d0e13d089f3a53913e479000b94b85266ecf8231",
  5656. "typeString": "literal_string \"log(bytes20)\""
  5657. },
  5658. "value": "log(bytes20)"
  5659. },
  5660. {
  5661. "id": 7685,
  5662. "name": "p0",
  5663. "nodeType": "Identifier",
  5664. "overloadedDeclarations": [],
  5665. "referencedDeclaration": 7678,
  5666. "src": "4383:2:50",
  5667. "typeDescriptions": {
  5668. "typeIdentifier": "t_bytes20",
  5669. "typeString": "bytes20"
  5670. }
  5671. }
  5672. ],
  5673. "expression": {
  5674. "argumentTypes": [
  5675. {
  5676. "typeIdentifier": "t_stringliteral_5188e3e9b3f117a223e2e428d0e13d089f3a53913e479000b94b85266ecf8231",
  5677. "typeString": "literal_string \"log(bytes20)\""
  5678. },
  5679. {
  5680. "typeIdentifier": "t_bytes20",
  5681. "typeString": "bytes20"
  5682. }
  5683. ],
  5684. "expression": {
  5685. "id": 7682,
  5686. "name": "abi",
  5687. "nodeType": "Identifier",
  5688. "overloadedDeclarations": [],
  5689. "referencedDeclaration": -1,
  5690. "src": "4343:3:50",
  5691. "typeDescriptions": {
  5692. "typeIdentifier": "t_magic_abi",
  5693. "typeString": "abi"
  5694. }
  5695. },
  5696. "id": 7683,
  5697. "isConstant": false,
  5698. "isLValue": false,
  5699. "isPure": true,
  5700. "lValueRequested": false,
  5701. "memberLocation": "4347:19:50",
  5702. "memberName": "encodeWithSignature",
  5703. "nodeType": "MemberAccess",
  5704. "src": "4343:23:50",
  5705. "typeDescriptions": {
  5706. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  5707. "typeString": "function (string memory) pure returns (bytes memory)"
  5708. }
  5709. },
  5710. "id": 7686,
  5711. "isConstant": false,
  5712. "isLValue": false,
  5713. "isPure": false,
  5714. "kind": "functionCall",
  5715. "lValueRequested": false,
  5716. "nameLocations": [],
  5717. "names": [],
  5718. "nodeType": "FunctionCall",
  5719. "src": "4343:43:50",
  5720. "tryCall": false,
  5721. "typeDescriptions": {
  5722. "typeIdentifier": "t_bytes_memory_ptr",
  5723. "typeString": "bytes memory"
  5724. }
  5725. }
  5726. ],
  5727. "expression": {
  5728. "argumentTypes": [
  5729. {
  5730. "typeIdentifier": "t_bytes_memory_ptr",
  5731. "typeString": "bytes memory"
  5732. }
  5733. ],
  5734. "id": 7681,
  5735. "name": "_sendLogPayload",
  5736. "nodeType": "Identifier",
  5737. "overloadedDeclarations": [],
  5738. "referencedDeclaration": 7315,
  5739. "src": "4327:15:50",
  5740. "typeDescriptions": {
  5741. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  5742. "typeString": "function (bytes memory) pure"
  5743. }
  5744. },
  5745. "id": 7687,
  5746. "isConstant": false,
  5747. "isLValue": false,
  5748. "isPure": false,
  5749. "kind": "functionCall",
  5750. "lValueRequested": false,
  5751. "nameLocations": [],
  5752. "names": [],
  5753. "nodeType": "FunctionCall",
  5754. "src": "4327:60:50",
  5755. "tryCall": false,
  5756. "typeDescriptions": {
  5757. "typeIdentifier": "t_tuple$__$",
  5758. "typeString": "tuple()"
  5759. }
  5760. },
  5761. "id": 7688,
  5762. "nodeType": "ExpressionStatement",
  5763. "src": "4327:60:50"
  5764. }
  5765. ]
  5766. },
  5767. "implemented": true,
  5768. "kind": "function",
  5769. "modifiers": [],
  5770. "name": "logBytes20",
  5771. "nameLocation": "4280:10:50",
  5772. "parameters": {
  5773. "id": 7679,
  5774. "nodeType": "ParameterList",
  5775. "parameters": [
  5776. {
  5777. "constant": false,
  5778. "id": 7678,
  5779. "mutability": "mutable",
  5780. "name": "p0",
  5781. "nameLocation": "4299:2:50",
  5782. "nodeType": "VariableDeclaration",
  5783. "scope": 7690,
  5784. "src": "4291:10:50",
  5785. "stateVariable": false,
  5786. "storageLocation": "default",
  5787. "typeDescriptions": {
  5788. "typeIdentifier": "t_bytes20",
  5789. "typeString": "bytes20"
  5790. },
  5791. "typeName": {
  5792. "id": 7677,
  5793. "name": "bytes20",
  5794. "nodeType": "ElementaryTypeName",
  5795. "src": "4291:7:50",
  5796. "typeDescriptions": {
  5797. "typeIdentifier": "t_bytes20",
  5798. "typeString": "bytes20"
  5799. }
  5800. },
  5801. "visibility": "internal"
  5802. }
  5803. ],
  5804. "src": "4290:12:50"
  5805. },
  5806. "returnParameters": {
  5807. "id": 7680,
  5808. "nodeType": "ParameterList",
  5809. "parameters": [],
  5810. "src": "4317:0:50"
  5811. },
  5812. "scope": 15355,
  5813. "stateMutability": "pure",
  5814. "virtual": false,
  5815. "visibility": "internal"
  5816. },
  5817. {
  5818. "id": 7704,
  5819. "nodeType": "FunctionDefinition",
  5820. "src": "4400:123:50",
  5821. "nodes": [],
  5822. "body": {
  5823. "id": 7703,
  5824. "nodeType": "Block",
  5825. "src": "4446:77:50",
  5826. "nodes": [],
  5827. "statements": [
  5828. {
  5829. "expression": {
  5830. "arguments": [
  5831. {
  5832. "arguments": [
  5833. {
  5834. "hexValue": "6c6f67286279746573323129",
  5835. "id": 7698,
  5836. "isConstant": false,
  5837. "isLValue": false,
  5838. "isPure": true,
  5839. "kind": "string",
  5840. "lValueRequested": false,
  5841. "nodeType": "Literal",
  5842. "src": "4496:14:50",
  5843. "typeDescriptions": {
  5844. "typeIdentifier": "t_stringliteral_e9da35608192a6b38ad5ef62cf738886973b011b8cdb7e81cdd51b4c3dfe8ad7",
  5845. "typeString": "literal_string \"log(bytes21)\""
  5846. },
  5847. "value": "log(bytes21)"
  5848. },
  5849. {
  5850. "id": 7699,
  5851. "name": "p0",
  5852. "nodeType": "Identifier",
  5853. "overloadedDeclarations": [],
  5854. "referencedDeclaration": 7692,
  5855. "src": "4512:2:50",
  5856. "typeDescriptions": {
  5857. "typeIdentifier": "t_bytes21",
  5858. "typeString": "bytes21"
  5859. }
  5860. }
  5861. ],
  5862. "expression": {
  5863. "argumentTypes": [
  5864. {
  5865. "typeIdentifier": "t_stringliteral_e9da35608192a6b38ad5ef62cf738886973b011b8cdb7e81cdd51b4c3dfe8ad7",
  5866. "typeString": "literal_string \"log(bytes21)\""
  5867. },
  5868. {
  5869. "typeIdentifier": "t_bytes21",
  5870. "typeString": "bytes21"
  5871. }
  5872. ],
  5873. "expression": {
  5874. "id": 7696,
  5875. "name": "abi",
  5876. "nodeType": "Identifier",
  5877. "overloadedDeclarations": [],
  5878. "referencedDeclaration": -1,
  5879. "src": "4472:3:50",
  5880. "typeDescriptions": {
  5881. "typeIdentifier": "t_magic_abi",
  5882. "typeString": "abi"
  5883. }
  5884. },
  5885. "id": 7697,
  5886. "isConstant": false,
  5887. "isLValue": false,
  5888. "isPure": true,
  5889. "lValueRequested": false,
  5890. "memberLocation": "4476:19:50",
  5891. "memberName": "encodeWithSignature",
  5892. "nodeType": "MemberAccess",
  5893. "src": "4472:23:50",
  5894. "typeDescriptions": {
  5895. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  5896. "typeString": "function (string memory) pure returns (bytes memory)"
  5897. }
  5898. },
  5899. "id": 7700,
  5900. "isConstant": false,
  5901. "isLValue": false,
  5902. "isPure": false,
  5903. "kind": "functionCall",
  5904. "lValueRequested": false,
  5905. "nameLocations": [],
  5906. "names": [],
  5907. "nodeType": "FunctionCall",
  5908. "src": "4472:43:50",
  5909. "tryCall": false,
  5910. "typeDescriptions": {
  5911. "typeIdentifier": "t_bytes_memory_ptr",
  5912. "typeString": "bytes memory"
  5913. }
  5914. }
  5915. ],
  5916. "expression": {
  5917. "argumentTypes": [
  5918. {
  5919. "typeIdentifier": "t_bytes_memory_ptr",
  5920. "typeString": "bytes memory"
  5921. }
  5922. ],
  5923. "id": 7695,
  5924. "name": "_sendLogPayload",
  5925. "nodeType": "Identifier",
  5926. "overloadedDeclarations": [],
  5927. "referencedDeclaration": 7315,
  5928. "src": "4456:15:50",
  5929. "typeDescriptions": {
  5930. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  5931. "typeString": "function (bytes memory) pure"
  5932. }
  5933. },
  5934. "id": 7701,
  5935. "isConstant": false,
  5936. "isLValue": false,
  5937. "isPure": false,
  5938. "kind": "functionCall",
  5939. "lValueRequested": false,
  5940. "nameLocations": [],
  5941. "names": [],
  5942. "nodeType": "FunctionCall",
  5943. "src": "4456:60:50",
  5944. "tryCall": false,
  5945. "typeDescriptions": {
  5946. "typeIdentifier": "t_tuple$__$",
  5947. "typeString": "tuple()"
  5948. }
  5949. },
  5950. "id": 7702,
  5951. "nodeType": "ExpressionStatement",
  5952. "src": "4456:60:50"
  5953. }
  5954. ]
  5955. },
  5956. "implemented": true,
  5957. "kind": "function",
  5958. "modifiers": [],
  5959. "name": "logBytes21",
  5960. "nameLocation": "4409:10:50",
  5961. "parameters": {
  5962. "id": 7693,
  5963. "nodeType": "ParameterList",
  5964. "parameters": [
  5965. {
  5966. "constant": false,
  5967. "id": 7692,
  5968. "mutability": "mutable",
  5969. "name": "p0",
  5970. "nameLocation": "4428:2:50",
  5971. "nodeType": "VariableDeclaration",
  5972. "scope": 7704,
  5973. "src": "4420:10:50",
  5974. "stateVariable": false,
  5975. "storageLocation": "default",
  5976. "typeDescriptions": {
  5977. "typeIdentifier": "t_bytes21",
  5978. "typeString": "bytes21"
  5979. },
  5980. "typeName": {
  5981. "id": 7691,
  5982. "name": "bytes21",
  5983. "nodeType": "ElementaryTypeName",
  5984. "src": "4420:7:50",
  5985. "typeDescriptions": {
  5986. "typeIdentifier": "t_bytes21",
  5987. "typeString": "bytes21"
  5988. }
  5989. },
  5990. "visibility": "internal"
  5991. }
  5992. ],
  5993. "src": "4419:12:50"
  5994. },
  5995. "returnParameters": {
  5996. "id": 7694,
  5997. "nodeType": "ParameterList",
  5998. "parameters": [],
  5999. "src": "4446:0:50"
  6000. },
  6001. "scope": 15355,
  6002. "stateMutability": "pure",
  6003. "virtual": false,
  6004. "visibility": "internal"
  6005. },
  6006. {
  6007. "id": 7718,
  6008. "nodeType": "FunctionDefinition",
  6009. "src": "4529:123:50",
  6010. "nodes": [],
  6011. "body": {
  6012. "id": 7717,
  6013. "nodeType": "Block",
  6014. "src": "4575:77:50",
  6015. "nodes": [],
  6016. "statements": [
  6017. {
  6018. "expression": {
  6019. "arguments": [
  6020. {
  6021. "arguments": [
  6022. {
  6023. "hexValue": "6c6f67286279746573323229",
  6024. "id": 7712,
  6025. "isConstant": false,
  6026. "isLValue": false,
  6027. "isPure": true,
  6028. "kind": "string",
  6029. "lValueRequested": false,
  6030. "nodeType": "Literal",
  6031. "src": "4625:14:50",
  6032. "typeDescriptions": {
  6033. "typeIdentifier": "t_stringliteral_d5fae89c25bed6f12b105f52db0a0ff6f5c8313613e12eccd3059bb7f7ea6575",
  6034. "typeString": "literal_string \"log(bytes22)\""
  6035. },
  6036. "value": "log(bytes22)"
  6037. },
  6038. {
  6039. "id": 7713,
  6040. "name": "p0",
  6041. "nodeType": "Identifier",
  6042. "overloadedDeclarations": [],
  6043. "referencedDeclaration": 7706,
  6044. "src": "4641:2:50",
  6045. "typeDescriptions": {
  6046. "typeIdentifier": "t_bytes22",
  6047. "typeString": "bytes22"
  6048. }
  6049. }
  6050. ],
  6051. "expression": {
  6052. "argumentTypes": [
  6053. {
  6054. "typeIdentifier": "t_stringliteral_d5fae89c25bed6f12b105f52db0a0ff6f5c8313613e12eccd3059bb7f7ea6575",
  6055. "typeString": "literal_string \"log(bytes22)\""
  6056. },
  6057. {
  6058. "typeIdentifier": "t_bytes22",
  6059. "typeString": "bytes22"
  6060. }
  6061. ],
  6062. "expression": {
  6063. "id": 7710,
  6064. "name": "abi",
  6065. "nodeType": "Identifier",
  6066. "overloadedDeclarations": [],
  6067. "referencedDeclaration": -1,
  6068. "src": "4601:3:50",
  6069. "typeDescriptions": {
  6070. "typeIdentifier": "t_magic_abi",
  6071. "typeString": "abi"
  6072. }
  6073. },
  6074. "id": 7711,
  6075. "isConstant": false,
  6076. "isLValue": false,
  6077. "isPure": true,
  6078. "lValueRequested": false,
  6079. "memberLocation": "4605:19:50",
  6080. "memberName": "encodeWithSignature",
  6081. "nodeType": "MemberAccess",
  6082. "src": "4601:23:50",
  6083. "typeDescriptions": {
  6084. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  6085. "typeString": "function (string memory) pure returns (bytes memory)"
  6086. }
  6087. },
  6088. "id": 7714,
  6089. "isConstant": false,
  6090. "isLValue": false,
  6091. "isPure": false,
  6092. "kind": "functionCall",
  6093. "lValueRequested": false,
  6094. "nameLocations": [],
  6095. "names": [],
  6096. "nodeType": "FunctionCall",
  6097. "src": "4601:43:50",
  6098. "tryCall": false,
  6099. "typeDescriptions": {
  6100. "typeIdentifier": "t_bytes_memory_ptr",
  6101. "typeString": "bytes memory"
  6102. }
  6103. }
  6104. ],
  6105. "expression": {
  6106. "argumentTypes": [
  6107. {
  6108. "typeIdentifier": "t_bytes_memory_ptr",
  6109. "typeString": "bytes memory"
  6110. }
  6111. ],
  6112. "id": 7709,
  6113. "name": "_sendLogPayload",
  6114. "nodeType": "Identifier",
  6115. "overloadedDeclarations": [],
  6116. "referencedDeclaration": 7315,
  6117. "src": "4585:15:50",
  6118. "typeDescriptions": {
  6119. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  6120. "typeString": "function (bytes memory) pure"
  6121. }
  6122. },
  6123. "id": 7715,
  6124. "isConstant": false,
  6125. "isLValue": false,
  6126. "isPure": false,
  6127. "kind": "functionCall",
  6128. "lValueRequested": false,
  6129. "nameLocations": [],
  6130. "names": [],
  6131. "nodeType": "FunctionCall",
  6132. "src": "4585:60:50",
  6133. "tryCall": false,
  6134. "typeDescriptions": {
  6135. "typeIdentifier": "t_tuple$__$",
  6136. "typeString": "tuple()"
  6137. }
  6138. },
  6139. "id": 7716,
  6140. "nodeType": "ExpressionStatement",
  6141. "src": "4585:60:50"
  6142. }
  6143. ]
  6144. },
  6145. "implemented": true,
  6146. "kind": "function",
  6147. "modifiers": [],
  6148. "name": "logBytes22",
  6149. "nameLocation": "4538:10:50",
  6150. "parameters": {
  6151. "id": 7707,
  6152. "nodeType": "ParameterList",
  6153. "parameters": [
  6154. {
  6155. "constant": false,
  6156. "id": 7706,
  6157. "mutability": "mutable",
  6158. "name": "p0",
  6159. "nameLocation": "4557:2:50",
  6160. "nodeType": "VariableDeclaration",
  6161. "scope": 7718,
  6162. "src": "4549:10:50",
  6163. "stateVariable": false,
  6164. "storageLocation": "default",
  6165. "typeDescriptions": {
  6166. "typeIdentifier": "t_bytes22",
  6167. "typeString": "bytes22"
  6168. },
  6169. "typeName": {
  6170. "id": 7705,
  6171. "name": "bytes22",
  6172. "nodeType": "ElementaryTypeName",
  6173. "src": "4549:7:50",
  6174. "typeDescriptions": {
  6175. "typeIdentifier": "t_bytes22",
  6176. "typeString": "bytes22"
  6177. }
  6178. },
  6179. "visibility": "internal"
  6180. }
  6181. ],
  6182. "src": "4548:12:50"
  6183. },
  6184. "returnParameters": {
  6185. "id": 7708,
  6186. "nodeType": "ParameterList",
  6187. "parameters": [],
  6188. "src": "4575:0:50"
  6189. },
  6190. "scope": 15355,
  6191. "stateMutability": "pure",
  6192. "virtual": false,
  6193. "visibility": "internal"
  6194. },
  6195. {
  6196. "id": 7732,
  6197. "nodeType": "FunctionDefinition",
  6198. "src": "4658:123:50",
  6199. "nodes": [],
  6200. "body": {
  6201. "id": 7731,
  6202. "nodeType": "Block",
  6203. "src": "4704:77:50",
  6204. "nodes": [],
  6205. "statements": [
  6206. {
  6207. "expression": {
  6208. "arguments": [
  6209. {
  6210. "arguments": [
  6211. {
  6212. "hexValue": "6c6f67286279746573323329",
  6213. "id": 7726,
  6214. "isConstant": false,
  6215. "isLValue": false,
  6216. "isPure": true,
  6217. "kind": "string",
  6218. "lValueRequested": false,
  6219. "nodeType": "Literal",
  6220. "src": "4754:14:50",
  6221. "typeDescriptions": {
  6222. "typeIdentifier": "t_stringliteral_aba1cf0dcd316c862bc06d4cf532375fed11c1e0897ba81a04ee0b22d3f14061",
  6223. "typeString": "literal_string \"log(bytes23)\""
  6224. },
  6225. "value": "log(bytes23)"
  6226. },
  6227. {
  6228. "id": 7727,
  6229. "name": "p0",
  6230. "nodeType": "Identifier",
  6231. "overloadedDeclarations": [],
  6232. "referencedDeclaration": 7720,
  6233. "src": "4770:2:50",
  6234. "typeDescriptions": {
  6235. "typeIdentifier": "t_bytes23",
  6236. "typeString": "bytes23"
  6237. }
  6238. }
  6239. ],
  6240. "expression": {
  6241. "argumentTypes": [
  6242. {
  6243. "typeIdentifier": "t_stringliteral_aba1cf0dcd316c862bc06d4cf532375fed11c1e0897ba81a04ee0b22d3f14061",
  6244. "typeString": "literal_string \"log(bytes23)\""
  6245. },
  6246. {
  6247. "typeIdentifier": "t_bytes23",
  6248. "typeString": "bytes23"
  6249. }
  6250. ],
  6251. "expression": {
  6252. "id": 7724,
  6253. "name": "abi",
  6254. "nodeType": "Identifier",
  6255. "overloadedDeclarations": [],
  6256. "referencedDeclaration": -1,
  6257. "src": "4730:3:50",
  6258. "typeDescriptions": {
  6259. "typeIdentifier": "t_magic_abi",
  6260. "typeString": "abi"
  6261. }
  6262. },
  6263. "id": 7725,
  6264. "isConstant": false,
  6265. "isLValue": false,
  6266. "isPure": true,
  6267. "lValueRequested": false,
  6268. "memberLocation": "4734:19:50",
  6269. "memberName": "encodeWithSignature",
  6270. "nodeType": "MemberAccess",
  6271. "src": "4730:23:50",
  6272. "typeDescriptions": {
  6273. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  6274. "typeString": "function (string memory) pure returns (bytes memory)"
  6275. }
  6276. },
  6277. "id": 7728,
  6278. "isConstant": false,
  6279. "isLValue": false,
  6280. "isPure": false,
  6281. "kind": "functionCall",
  6282. "lValueRequested": false,
  6283. "nameLocations": [],
  6284. "names": [],
  6285. "nodeType": "FunctionCall",
  6286. "src": "4730:43:50",
  6287. "tryCall": false,
  6288. "typeDescriptions": {
  6289. "typeIdentifier": "t_bytes_memory_ptr",
  6290. "typeString": "bytes memory"
  6291. }
  6292. }
  6293. ],
  6294. "expression": {
  6295. "argumentTypes": [
  6296. {
  6297. "typeIdentifier": "t_bytes_memory_ptr",
  6298. "typeString": "bytes memory"
  6299. }
  6300. ],
  6301. "id": 7723,
  6302. "name": "_sendLogPayload",
  6303. "nodeType": "Identifier",
  6304. "overloadedDeclarations": [],
  6305. "referencedDeclaration": 7315,
  6306. "src": "4714:15:50",
  6307. "typeDescriptions": {
  6308. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  6309. "typeString": "function (bytes memory) pure"
  6310. }
  6311. },
  6312. "id": 7729,
  6313. "isConstant": false,
  6314. "isLValue": false,
  6315. "isPure": false,
  6316. "kind": "functionCall",
  6317. "lValueRequested": false,
  6318. "nameLocations": [],
  6319. "names": [],
  6320. "nodeType": "FunctionCall",
  6321. "src": "4714:60:50",
  6322. "tryCall": false,
  6323. "typeDescriptions": {
  6324. "typeIdentifier": "t_tuple$__$",
  6325. "typeString": "tuple()"
  6326. }
  6327. },
  6328. "id": 7730,
  6329. "nodeType": "ExpressionStatement",
  6330. "src": "4714:60:50"
  6331. }
  6332. ]
  6333. },
  6334. "implemented": true,
  6335. "kind": "function",
  6336. "modifiers": [],
  6337. "name": "logBytes23",
  6338. "nameLocation": "4667:10:50",
  6339. "parameters": {
  6340. "id": 7721,
  6341. "nodeType": "ParameterList",
  6342. "parameters": [
  6343. {
  6344. "constant": false,
  6345. "id": 7720,
  6346. "mutability": "mutable",
  6347. "name": "p0",
  6348. "nameLocation": "4686:2:50",
  6349. "nodeType": "VariableDeclaration",
  6350. "scope": 7732,
  6351. "src": "4678:10:50",
  6352. "stateVariable": false,
  6353. "storageLocation": "default",
  6354. "typeDescriptions": {
  6355. "typeIdentifier": "t_bytes23",
  6356. "typeString": "bytes23"
  6357. },
  6358. "typeName": {
  6359. "id": 7719,
  6360. "name": "bytes23",
  6361. "nodeType": "ElementaryTypeName",
  6362. "src": "4678:7:50",
  6363. "typeDescriptions": {
  6364. "typeIdentifier": "t_bytes23",
  6365. "typeString": "bytes23"
  6366. }
  6367. },
  6368. "visibility": "internal"
  6369. }
  6370. ],
  6371. "src": "4677:12:50"
  6372. },
  6373. "returnParameters": {
  6374. "id": 7722,
  6375. "nodeType": "ParameterList",
  6376. "parameters": [],
  6377. "src": "4704:0:50"
  6378. },
  6379. "scope": 15355,
  6380. "stateMutability": "pure",
  6381. "virtual": false,
  6382. "visibility": "internal"
  6383. },
  6384. {
  6385. "id": 7746,
  6386. "nodeType": "FunctionDefinition",
  6387. "src": "4787:123:50",
  6388. "nodes": [],
  6389. "body": {
  6390. "id": 7745,
  6391. "nodeType": "Block",
  6392. "src": "4833:77:50",
  6393. "nodes": [],
  6394. "statements": [
  6395. {
  6396. "expression": {
  6397. "arguments": [
  6398. {
  6399. "arguments": [
  6400. {
  6401. "hexValue": "6c6f67286279746573323429",
  6402. "id": 7740,
  6403. "isConstant": false,
  6404. "isLValue": false,
  6405. "isPure": true,
  6406. "kind": "string",
  6407. "lValueRequested": false,
  6408. "nodeType": "Literal",
  6409. "src": "4883:14:50",
  6410. "typeDescriptions": {
  6411. "typeIdentifier": "t_stringliteral_f1b35b3488a5452bceb48624d6ba2a791e58f0e9c0f4b86b8f51186ec7a7edf4",
  6412. "typeString": "literal_string \"log(bytes24)\""
  6413. },
  6414. "value": "log(bytes24)"
  6415. },
  6416. {
  6417. "id": 7741,
  6418. "name": "p0",
  6419. "nodeType": "Identifier",
  6420. "overloadedDeclarations": [],
  6421. "referencedDeclaration": 7734,
  6422. "src": "4899:2:50",
  6423. "typeDescriptions": {
  6424. "typeIdentifier": "t_bytes24",
  6425. "typeString": "bytes24"
  6426. }
  6427. }
  6428. ],
  6429. "expression": {
  6430. "argumentTypes": [
  6431. {
  6432. "typeIdentifier": "t_stringliteral_f1b35b3488a5452bceb48624d6ba2a791e58f0e9c0f4b86b8f51186ec7a7edf4",
  6433. "typeString": "literal_string \"log(bytes24)\""
  6434. },
  6435. {
  6436. "typeIdentifier": "t_bytes24",
  6437. "typeString": "bytes24"
  6438. }
  6439. ],
  6440. "expression": {
  6441. "id": 7738,
  6442. "name": "abi",
  6443. "nodeType": "Identifier",
  6444. "overloadedDeclarations": [],
  6445. "referencedDeclaration": -1,
  6446. "src": "4859:3:50",
  6447. "typeDescriptions": {
  6448. "typeIdentifier": "t_magic_abi",
  6449. "typeString": "abi"
  6450. }
  6451. },
  6452. "id": 7739,
  6453. "isConstant": false,
  6454. "isLValue": false,
  6455. "isPure": true,
  6456. "lValueRequested": false,
  6457. "memberLocation": "4863:19:50",
  6458. "memberName": "encodeWithSignature",
  6459. "nodeType": "MemberAccess",
  6460. "src": "4859:23:50",
  6461. "typeDescriptions": {
  6462. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  6463. "typeString": "function (string memory) pure returns (bytes memory)"
  6464. }
  6465. },
  6466. "id": 7742,
  6467. "isConstant": false,
  6468. "isLValue": false,
  6469. "isPure": false,
  6470. "kind": "functionCall",
  6471. "lValueRequested": false,
  6472. "nameLocations": [],
  6473. "names": [],
  6474. "nodeType": "FunctionCall",
  6475. "src": "4859:43:50",
  6476. "tryCall": false,
  6477. "typeDescriptions": {
  6478. "typeIdentifier": "t_bytes_memory_ptr",
  6479. "typeString": "bytes memory"
  6480. }
  6481. }
  6482. ],
  6483. "expression": {
  6484. "argumentTypes": [
  6485. {
  6486. "typeIdentifier": "t_bytes_memory_ptr",
  6487. "typeString": "bytes memory"
  6488. }
  6489. ],
  6490. "id": 7737,
  6491. "name": "_sendLogPayload",
  6492. "nodeType": "Identifier",
  6493. "overloadedDeclarations": [],
  6494. "referencedDeclaration": 7315,
  6495. "src": "4843:15:50",
  6496. "typeDescriptions": {
  6497. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  6498. "typeString": "function (bytes memory) pure"
  6499. }
  6500. },
  6501. "id": 7743,
  6502. "isConstant": false,
  6503. "isLValue": false,
  6504. "isPure": false,
  6505. "kind": "functionCall",
  6506. "lValueRequested": false,
  6507. "nameLocations": [],
  6508. "names": [],
  6509. "nodeType": "FunctionCall",
  6510. "src": "4843:60:50",
  6511. "tryCall": false,
  6512. "typeDescriptions": {
  6513. "typeIdentifier": "t_tuple$__$",
  6514. "typeString": "tuple()"
  6515. }
  6516. },
  6517. "id": 7744,
  6518. "nodeType": "ExpressionStatement",
  6519. "src": "4843:60:50"
  6520. }
  6521. ]
  6522. },
  6523. "implemented": true,
  6524. "kind": "function",
  6525. "modifiers": [],
  6526. "name": "logBytes24",
  6527. "nameLocation": "4796:10:50",
  6528. "parameters": {
  6529. "id": 7735,
  6530. "nodeType": "ParameterList",
  6531. "parameters": [
  6532. {
  6533. "constant": false,
  6534. "id": 7734,
  6535. "mutability": "mutable",
  6536. "name": "p0",
  6537. "nameLocation": "4815:2:50",
  6538. "nodeType": "VariableDeclaration",
  6539. "scope": 7746,
  6540. "src": "4807:10:50",
  6541. "stateVariable": false,
  6542. "storageLocation": "default",
  6543. "typeDescriptions": {
  6544. "typeIdentifier": "t_bytes24",
  6545. "typeString": "bytes24"
  6546. },
  6547. "typeName": {
  6548. "id": 7733,
  6549. "name": "bytes24",
  6550. "nodeType": "ElementaryTypeName",
  6551. "src": "4807:7:50",
  6552. "typeDescriptions": {
  6553. "typeIdentifier": "t_bytes24",
  6554. "typeString": "bytes24"
  6555. }
  6556. },
  6557. "visibility": "internal"
  6558. }
  6559. ],
  6560. "src": "4806:12:50"
  6561. },
  6562. "returnParameters": {
  6563. "id": 7736,
  6564. "nodeType": "ParameterList",
  6565. "parameters": [],
  6566. "src": "4833:0:50"
  6567. },
  6568. "scope": 15355,
  6569. "stateMutability": "pure",
  6570. "virtual": false,
  6571. "visibility": "internal"
  6572. },
  6573. {
  6574. "id": 7760,
  6575. "nodeType": "FunctionDefinition",
  6576. "src": "4916:123:50",
  6577. "nodes": [],
  6578. "body": {
  6579. "id": 7759,
  6580. "nodeType": "Block",
  6581. "src": "4962:77:50",
  6582. "nodes": [],
  6583. "statements": [
  6584. {
  6585. "expression": {
  6586. "arguments": [
  6587. {
  6588. "arguments": [
  6589. {
  6590. "hexValue": "6c6f67286279746573323529",
  6591. "id": 7754,
  6592. "isConstant": false,
  6593. "isLValue": false,
  6594. "isPure": true,
  6595. "kind": "string",
  6596. "lValueRequested": false,
  6597. "nodeType": "Literal",
  6598. "src": "5012:14:50",
  6599. "typeDescriptions": {
  6600. "typeIdentifier": "t_stringliteral_0b84bc580db9be1295ee23dff6122da1f70381c83abf9a74953cca11238eda25",
  6601. "typeString": "literal_string \"log(bytes25)\""
  6602. },
  6603. "value": "log(bytes25)"
  6604. },
  6605. {
  6606. "id": 7755,
  6607. "name": "p0",
  6608. "nodeType": "Identifier",
  6609. "overloadedDeclarations": [],
  6610. "referencedDeclaration": 7748,
  6611. "src": "5028:2:50",
  6612. "typeDescriptions": {
  6613. "typeIdentifier": "t_bytes25",
  6614. "typeString": "bytes25"
  6615. }
  6616. }
  6617. ],
  6618. "expression": {
  6619. "argumentTypes": [
  6620. {
  6621. "typeIdentifier": "t_stringliteral_0b84bc580db9be1295ee23dff6122da1f70381c83abf9a74953cca11238eda25",
  6622. "typeString": "literal_string \"log(bytes25)\""
  6623. },
  6624. {
  6625. "typeIdentifier": "t_bytes25",
  6626. "typeString": "bytes25"
  6627. }
  6628. ],
  6629. "expression": {
  6630. "id": 7752,
  6631. "name": "abi",
  6632. "nodeType": "Identifier",
  6633. "overloadedDeclarations": [],
  6634. "referencedDeclaration": -1,
  6635. "src": "4988:3:50",
  6636. "typeDescriptions": {
  6637. "typeIdentifier": "t_magic_abi",
  6638. "typeString": "abi"
  6639. }
  6640. },
  6641. "id": 7753,
  6642. "isConstant": false,
  6643. "isLValue": false,
  6644. "isPure": true,
  6645. "lValueRequested": false,
  6646. "memberLocation": "4992:19:50",
  6647. "memberName": "encodeWithSignature",
  6648. "nodeType": "MemberAccess",
  6649. "src": "4988:23:50",
  6650. "typeDescriptions": {
  6651. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  6652. "typeString": "function (string memory) pure returns (bytes memory)"
  6653. }
  6654. },
  6655. "id": 7756,
  6656. "isConstant": false,
  6657. "isLValue": false,
  6658. "isPure": false,
  6659. "kind": "functionCall",
  6660. "lValueRequested": false,
  6661. "nameLocations": [],
  6662. "names": [],
  6663. "nodeType": "FunctionCall",
  6664. "src": "4988:43:50",
  6665. "tryCall": false,
  6666. "typeDescriptions": {
  6667. "typeIdentifier": "t_bytes_memory_ptr",
  6668. "typeString": "bytes memory"
  6669. }
  6670. }
  6671. ],
  6672. "expression": {
  6673. "argumentTypes": [
  6674. {
  6675. "typeIdentifier": "t_bytes_memory_ptr",
  6676. "typeString": "bytes memory"
  6677. }
  6678. ],
  6679. "id": 7751,
  6680. "name": "_sendLogPayload",
  6681. "nodeType": "Identifier",
  6682. "overloadedDeclarations": [],
  6683. "referencedDeclaration": 7315,
  6684. "src": "4972:15:50",
  6685. "typeDescriptions": {
  6686. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  6687. "typeString": "function (bytes memory) pure"
  6688. }
  6689. },
  6690. "id": 7757,
  6691. "isConstant": false,
  6692. "isLValue": false,
  6693. "isPure": false,
  6694. "kind": "functionCall",
  6695. "lValueRequested": false,
  6696. "nameLocations": [],
  6697. "names": [],
  6698. "nodeType": "FunctionCall",
  6699. "src": "4972:60:50",
  6700. "tryCall": false,
  6701. "typeDescriptions": {
  6702. "typeIdentifier": "t_tuple$__$",
  6703. "typeString": "tuple()"
  6704. }
  6705. },
  6706. "id": 7758,
  6707. "nodeType": "ExpressionStatement",
  6708. "src": "4972:60:50"
  6709. }
  6710. ]
  6711. },
  6712. "implemented": true,
  6713. "kind": "function",
  6714. "modifiers": [],
  6715. "name": "logBytes25",
  6716. "nameLocation": "4925:10:50",
  6717. "parameters": {
  6718. "id": 7749,
  6719. "nodeType": "ParameterList",
  6720. "parameters": [
  6721. {
  6722. "constant": false,
  6723. "id": 7748,
  6724. "mutability": "mutable",
  6725. "name": "p0",
  6726. "nameLocation": "4944:2:50",
  6727. "nodeType": "VariableDeclaration",
  6728. "scope": 7760,
  6729. "src": "4936:10:50",
  6730. "stateVariable": false,
  6731. "storageLocation": "default",
  6732. "typeDescriptions": {
  6733. "typeIdentifier": "t_bytes25",
  6734. "typeString": "bytes25"
  6735. },
  6736. "typeName": {
  6737. "id": 7747,
  6738. "name": "bytes25",
  6739. "nodeType": "ElementaryTypeName",
  6740. "src": "4936:7:50",
  6741. "typeDescriptions": {
  6742. "typeIdentifier": "t_bytes25",
  6743. "typeString": "bytes25"
  6744. }
  6745. },
  6746. "visibility": "internal"
  6747. }
  6748. ],
  6749. "src": "4935:12:50"
  6750. },
  6751. "returnParameters": {
  6752. "id": 7750,
  6753. "nodeType": "ParameterList",
  6754. "parameters": [],
  6755. "src": "4962:0:50"
  6756. },
  6757. "scope": 15355,
  6758. "stateMutability": "pure",
  6759. "virtual": false,
  6760. "visibility": "internal"
  6761. },
  6762. {
  6763. "id": 7774,
  6764. "nodeType": "FunctionDefinition",
  6765. "src": "5045:123:50",
  6766. "nodes": [],
  6767. "body": {
  6768. "id": 7773,
  6769. "nodeType": "Block",
  6770. "src": "5091:77:50",
  6771. "nodes": [],
  6772. "statements": [
  6773. {
  6774. "expression": {
  6775. "arguments": [
  6776. {
  6777. "arguments": [
  6778. {
  6779. "hexValue": "6c6f67286279746573323629",
  6780. "id": 7768,
  6781. "isConstant": false,
  6782. "isLValue": false,
  6783. "isPure": true,
  6784. "kind": "string",
  6785. "lValueRequested": false,
  6786. "nodeType": "Literal",
  6787. "src": "5141:14:50",
  6788. "typeDescriptions": {
  6789. "typeIdentifier": "t_stringliteral_f8b149f18dc341f1a56e26c6c24a5233eec3bbb2ab017e9e86e663aae743965b",
  6790. "typeString": "literal_string \"log(bytes26)\""
  6791. },
  6792. "value": "log(bytes26)"
  6793. },
  6794. {
  6795. "id": 7769,
  6796. "name": "p0",
  6797. "nodeType": "Identifier",
  6798. "overloadedDeclarations": [],
  6799. "referencedDeclaration": 7762,
  6800. "src": "5157:2:50",
  6801. "typeDescriptions": {
  6802. "typeIdentifier": "t_bytes26",
  6803. "typeString": "bytes26"
  6804. }
  6805. }
  6806. ],
  6807. "expression": {
  6808. "argumentTypes": [
  6809. {
  6810. "typeIdentifier": "t_stringliteral_f8b149f18dc341f1a56e26c6c24a5233eec3bbb2ab017e9e86e663aae743965b",
  6811. "typeString": "literal_string \"log(bytes26)\""
  6812. },
  6813. {
  6814. "typeIdentifier": "t_bytes26",
  6815. "typeString": "bytes26"
  6816. }
  6817. ],
  6818. "expression": {
  6819. "id": 7766,
  6820. "name": "abi",
  6821. "nodeType": "Identifier",
  6822. "overloadedDeclarations": [],
  6823. "referencedDeclaration": -1,
  6824. "src": "5117:3:50",
  6825. "typeDescriptions": {
  6826. "typeIdentifier": "t_magic_abi",
  6827. "typeString": "abi"
  6828. }
  6829. },
  6830. "id": 7767,
  6831. "isConstant": false,
  6832. "isLValue": false,
  6833. "isPure": true,
  6834. "lValueRequested": false,
  6835. "memberLocation": "5121:19:50",
  6836. "memberName": "encodeWithSignature",
  6837. "nodeType": "MemberAccess",
  6838. "src": "5117:23:50",
  6839. "typeDescriptions": {
  6840. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  6841. "typeString": "function (string memory) pure returns (bytes memory)"
  6842. }
  6843. },
  6844. "id": 7770,
  6845. "isConstant": false,
  6846. "isLValue": false,
  6847. "isPure": false,
  6848. "kind": "functionCall",
  6849. "lValueRequested": false,
  6850. "nameLocations": [],
  6851. "names": [],
  6852. "nodeType": "FunctionCall",
  6853. "src": "5117:43:50",
  6854. "tryCall": false,
  6855. "typeDescriptions": {
  6856. "typeIdentifier": "t_bytes_memory_ptr",
  6857. "typeString": "bytes memory"
  6858. }
  6859. }
  6860. ],
  6861. "expression": {
  6862. "argumentTypes": [
  6863. {
  6864. "typeIdentifier": "t_bytes_memory_ptr",
  6865. "typeString": "bytes memory"
  6866. }
  6867. ],
  6868. "id": 7765,
  6869. "name": "_sendLogPayload",
  6870. "nodeType": "Identifier",
  6871. "overloadedDeclarations": [],
  6872. "referencedDeclaration": 7315,
  6873. "src": "5101:15:50",
  6874. "typeDescriptions": {
  6875. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  6876. "typeString": "function (bytes memory) pure"
  6877. }
  6878. },
  6879. "id": 7771,
  6880. "isConstant": false,
  6881. "isLValue": false,
  6882. "isPure": false,
  6883. "kind": "functionCall",
  6884. "lValueRequested": false,
  6885. "nameLocations": [],
  6886. "names": [],
  6887. "nodeType": "FunctionCall",
  6888. "src": "5101:60:50",
  6889. "tryCall": false,
  6890. "typeDescriptions": {
  6891. "typeIdentifier": "t_tuple$__$",
  6892. "typeString": "tuple()"
  6893. }
  6894. },
  6895. "id": 7772,
  6896. "nodeType": "ExpressionStatement",
  6897. "src": "5101:60:50"
  6898. }
  6899. ]
  6900. },
  6901. "implemented": true,
  6902. "kind": "function",
  6903. "modifiers": [],
  6904. "name": "logBytes26",
  6905. "nameLocation": "5054:10:50",
  6906. "parameters": {
  6907. "id": 7763,
  6908. "nodeType": "ParameterList",
  6909. "parameters": [
  6910. {
  6911. "constant": false,
  6912. "id": 7762,
  6913. "mutability": "mutable",
  6914. "name": "p0",
  6915. "nameLocation": "5073:2:50",
  6916. "nodeType": "VariableDeclaration",
  6917. "scope": 7774,
  6918. "src": "5065:10:50",
  6919. "stateVariable": false,
  6920. "storageLocation": "default",
  6921. "typeDescriptions": {
  6922. "typeIdentifier": "t_bytes26",
  6923. "typeString": "bytes26"
  6924. },
  6925. "typeName": {
  6926. "id": 7761,
  6927. "name": "bytes26",
  6928. "nodeType": "ElementaryTypeName",
  6929. "src": "5065:7:50",
  6930. "typeDescriptions": {
  6931. "typeIdentifier": "t_bytes26",
  6932. "typeString": "bytes26"
  6933. }
  6934. },
  6935. "visibility": "internal"
  6936. }
  6937. ],
  6938. "src": "5064:12:50"
  6939. },
  6940. "returnParameters": {
  6941. "id": 7764,
  6942. "nodeType": "ParameterList",
  6943. "parameters": [],
  6944. "src": "5091:0:50"
  6945. },
  6946. "scope": 15355,
  6947. "stateMutability": "pure",
  6948. "virtual": false,
  6949. "visibility": "internal"
  6950. },
  6951. {
  6952. "id": 7788,
  6953. "nodeType": "FunctionDefinition",
  6954. "src": "5174:123:50",
  6955. "nodes": [],
  6956. "body": {
  6957. "id": 7787,
  6958. "nodeType": "Block",
  6959. "src": "5220:77:50",
  6960. "nodes": [],
  6961. "statements": [
  6962. {
  6963. "expression": {
  6964. "arguments": [
  6965. {
  6966. "arguments": [
  6967. {
  6968. "hexValue": "6c6f67286279746573323729",
  6969. "id": 7782,
  6970. "isConstant": false,
  6971. "isLValue": false,
  6972. "isPure": true,
  6973. "kind": "string",
  6974. "lValueRequested": false,
  6975. "nodeType": "Literal",
  6976. "src": "5270:14:50",
  6977. "typeDescriptions": {
  6978. "typeIdentifier": "t_stringliteral_3a3757dda92e8e238aa23ff7f6f62e31074f6acccca8986ec1286b5a835236b6",
  6979. "typeString": "literal_string \"log(bytes27)\""
  6980. },
  6981. "value": "log(bytes27)"
  6982. },
  6983. {
  6984. "id": 7783,
  6985. "name": "p0",
  6986. "nodeType": "Identifier",
  6987. "overloadedDeclarations": [],
  6988. "referencedDeclaration": 7776,
  6989. "src": "5286:2:50",
  6990. "typeDescriptions": {
  6991. "typeIdentifier": "t_bytes27",
  6992. "typeString": "bytes27"
  6993. }
  6994. }
  6995. ],
  6996. "expression": {
  6997. "argumentTypes": [
  6998. {
  6999. "typeIdentifier": "t_stringliteral_3a3757dda92e8e238aa23ff7f6f62e31074f6acccca8986ec1286b5a835236b6",
  7000. "typeString": "literal_string \"log(bytes27)\""
  7001. },
  7002. {
  7003. "typeIdentifier": "t_bytes27",
  7004. "typeString": "bytes27"
  7005. }
  7006. ],
  7007. "expression": {
  7008. "id": 7780,
  7009. "name": "abi",
  7010. "nodeType": "Identifier",
  7011. "overloadedDeclarations": [],
  7012. "referencedDeclaration": -1,
  7013. "src": "5246:3:50",
  7014. "typeDescriptions": {
  7015. "typeIdentifier": "t_magic_abi",
  7016. "typeString": "abi"
  7017. }
  7018. },
  7019. "id": 7781,
  7020. "isConstant": false,
  7021. "isLValue": false,
  7022. "isPure": true,
  7023. "lValueRequested": false,
  7024. "memberLocation": "5250:19:50",
  7025. "memberName": "encodeWithSignature",
  7026. "nodeType": "MemberAccess",
  7027. "src": "5246:23:50",
  7028. "typeDescriptions": {
  7029. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  7030. "typeString": "function (string memory) pure returns (bytes memory)"
  7031. }
  7032. },
  7033. "id": 7784,
  7034. "isConstant": false,
  7035. "isLValue": false,
  7036. "isPure": false,
  7037. "kind": "functionCall",
  7038. "lValueRequested": false,
  7039. "nameLocations": [],
  7040. "names": [],
  7041. "nodeType": "FunctionCall",
  7042. "src": "5246:43:50",
  7043. "tryCall": false,
  7044. "typeDescriptions": {
  7045. "typeIdentifier": "t_bytes_memory_ptr",
  7046. "typeString": "bytes memory"
  7047. }
  7048. }
  7049. ],
  7050. "expression": {
  7051. "argumentTypes": [
  7052. {
  7053. "typeIdentifier": "t_bytes_memory_ptr",
  7054. "typeString": "bytes memory"
  7055. }
  7056. ],
  7057. "id": 7779,
  7058. "name": "_sendLogPayload",
  7059. "nodeType": "Identifier",
  7060. "overloadedDeclarations": [],
  7061. "referencedDeclaration": 7315,
  7062. "src": "5230:15:50",
  7063. "typeDescriptions": {
  7064. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  7065. "typeString": "function (bytes memory) pure"
  7066. }
  7067. },
  7068. "id": 7785,
  7069. "isConstant": false,
  7070. "isLValue": false,
  7071. "isPure": false,
  7072. "kind": "functionCall",
  7073. "lValueRequested": false,
  7074. "nameLocations": [],
  7075. "names": [],
  7076. "nodeType": "FunctionCall",
  7077. "src": "5230:60:50",
  7078. "tryCall": false,
  7079. "typeDescriptions": {
  7080. "typeIdentifier": "t_tuple$__$",
  7081. "typeString": "tuple()"
  7082. }
  7083. },
  7084. "id": 7786,
  7085. "nodeType": "ExpressionStatement",
  7086. "src": "5230:60:50"
  7087. }
  7088. ]
  7089. },
  7090. "implemented": true,
  7091. "kind": "function",
  7092. "modifiers": [],
  7093. "name": "logBytes27",
  7094. "nameLocation": "5183:10:50",
  7095. "parameters": {
  7096. "id": 7777,
  7097. "nodeType": "ParameterList",
  7098. "parameters": [
  7099. {
  7100. "constant": false,
  7101. "id": 7776,
  7102. "mutability": "mutable",
  7103. "name": "p0",
  7104. "nameLocation": "5202:2:50",
  7105. "nodeType": "VariableDeclaration",
  7106. "scope": 7788,
  7107. "src": "5194:10:50",
  7108. "stateVariable": false,
  7109. "storageLocation": "default",
  7110. "typeDescriptions": {
  7111. "typeIdentifier": "t_bytes27",
  7112. "typeString": "bytes27"
  7113. },
  7114. "typeName": {
  7115. "id": 7775,
  7116. "name": "bytes27",
  7117. "nodeType": "ElementaryTypeName",
  7118. "src": "5194:7:50",
  7119. "typeDescriptions": {
  7120. "typeIdentifier": "t_bytes27",
  7121. "typeString": "bytes27"
  7122. }
  7123. },
  7124. "visibility": "internal"
  7125. }
  7126. ],
  7127. "src": "5193:12:50"
  7128. },
  7129. "returnParameters": {
  7130. "id": 7778,
  7131. "nodeType": "ParameterList",
  7132. "parameters": [],
  7133. "src": "5220:0:50"
  7134. },
  7135. "scope": 15355,
  7136. "stateMutability": "pure",
  7137. "virtual": false,
  7138. "visibility": "internal"
  7139. },
  7140. {
  7141. "id": 7802,
  7142. "nodeType": "FunctionDefinition",
  7143. "src": "5303:123:50",
  7144. "nodes": [],
  7145. "body": {
  7146. "id": 7801,
  7147. "nodeType": "Block",
  7148. "src": "5349:77:50",
  7149. "nodes": [],
  7150. "statements": [
  7151. {
  7152. "expression": {
  7153. "arguments": [
  7154. {
  7155. "arguments": [
  7156. {
  7157. "hexValue": "6c6f67286279746573323829",
  7158. "id": 7796,
  7159. "isConstant": false,
  7160. "isLValue": false,
  7161. "isPure": true,
  7162. "kind": "string",
  7163. "lValueRequested": false,
  7164. "nodeType": "Literal",
  7165. "src": "5399:14:50",
  7166. "typeDescriptions": {
  7167. "typeIdentifier": "t_stringliteral_c82aeaee74a6ddec4ccd5cfe60e816752c02c70838f0908bd4a6e82866b3a042",
  7168. "typeString": "literal_string \"log(bytes28)\""
  7169. },
  7170. "value": "log(bytes28)"
  7171. },
  7172. {
  7173. "id": 7797,
  7174. "name": "p0",
  7175. "nodeType": "Identifier",
  7176. "overloadedDeclarations": [],
  7177. "referencedDeclaration": 7790,
  7178. "src": "5415:2:50",
  7179. "typeDescriptions": {
  7180. "typeIdentifier": "t_bytes28",
  7181. "typeString": "bytes28"
  7182. }
  7183. }
  7184. ],
  7185. "expression": {
  7186. "argumentTypes": [
  7187. {
  7188. "typeIdentifier": "t_stringliteral_c82aeaee74a6ddec4ccd5cfe60e816752c02c70838f0908bd4a6e82866b3a042",
  7189. "typeString": "literal_string \"log(bytes28)\""
  7190. },
  7191. {
  7192. "typeIdentifier": "t_bytes28",
  7193. "typeString": "bytes28"
  7194. }
  7195. ],
  7196. "expression": {
  7197. "id": 7794,
  7198. "name": "abi",
  7199. "nodeType": "Identifier",
  7200. "overloadedDeclarations": [],
  7201. "referencedDeclaration": -1,
  7202. "src": "5375:3:50",
  7203. "typeDescriptions": {
  7204. "typeIdentifier": "t_magic_abi",
  7205. "typeString": "abi"
  7206. }
  7207. },
  7208. "id": 7795,
  7209. "isConstant": false,
  7210. "isLValue": false,
  7211. "isPure": true,
  7212. "lValueRequested": false,
  7213. "memberLocation": "5379:19:50",
  7214. "memberName": "encodeWithSignature",
  7215. "nodeType": "MemberAccess",
  7216. "src": "5375:23:50",
  7217. "typeDescriptions": {
  7218. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  7219. "typeString": "function (string memory) pure returns (bytes memory)"
  7220. }
  7221. },
  7222. "id": 7798,
  7223. "isConstant": false,
  7224. "isLValue": false,
  7225. "isPure": false,
  7226. "kind": "functionCall",
  7227. "lValueRequested": false,
  7228. "nameLocations": [],
  7229. "names": [],
  7230. "nodeType": "FunctionCall",
  7231. "src": "5375:43:50",
  7232. "tryCall": false,
  7233. "typeDescriptions": {
  7234. "typeIdentifier": "t_bytes_memory_ptr",
  7235. "typeString": "bytes memory"
  7236. }
  7237. }
  7238. ],
  7239. "expression": {
  7240. "argumentTypes": [
  7241. {
  7242. "typeIdentifier": "t_bytes_memory_ptr",
  7243. "typeString": "bytes memory"
  7244. }
  7245. ],
  7246. "id": 7793,
  7247. "name": "_sendLogPayload",
  7248. "nodeType": "Identifier",
  7249. "overloadedDeclarations": [],
  7250. "referencedDeclaration": 7315,
  7251. "src": "5359:15:50",
  7252. "typeDescriptions": {
  7253. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  7254. "typeString": "function (bytes memory) pure"
  7255. }
  7256. },
  7257. "id": 7799,
  7258. "isConstant": false,
  7259. "isLValue": false,
  7260. "isPure": false,
  7261. "kind": "functionCall",
  7262. "lValueRequested": false,
  7263. "nameLocations": [],
  7264. "names": [],
  7265. "nodeType": "FunctionCall",
  7266. "src": "5359:60:50",
  7267. "tryCall": false,
  7268. "typeDescriptions": {
  7269. "typeIdentifier": "t_tuple$__$",
  7270. "typeString": "tuple()"
  7271. }
  7272. },
  7273. "id": 7800,
  7274. "nodeType": "ExpressionStatement",
  7275. "src": "5359:60:50"
  7276. }
  7277. ]
  7278. },
  7279. "implemented": true,
  7280. "kind": "function",
  7281. "modifiers": [],
  7282. "name": "logBytes28",
  7283. "nameLocation": "5312:10:50",
  7284. "parameters": {
  7285. "id": 7791,
  7286. "nodeType": "ParameterList",
  7287. "parameters": [
  7288. {
  7289. "constant": false,
  7290. "id": 7790,
  7291. "mutability": "mutable",
  7292. "name": "p0",
  7293. "nameLocation": "5331:2:50",
  7294. "nodeType": "VariableDeclaration",
  7295. "scope": 7802,
  7296. "src": "5323:10:50",
  7297. "stateVariable": false,
  7298. "storageLocation": "default",
  7299. "typeDescriptions": {
  7300. "typeIdentifier": "t_bytes28",
  7301. "typeString": "bytes28"
  7302. },
  7303. "typeName": {
  7304. "id": 7789,
  7305. "name": "bytes28",
  7306. "nodeType": "ElementaryTypeName",
  7307. "src": "5323:7:50",
  7308. "typeDescriptions": {
  7309. "typeIdentifier": "t_bytes28",
  7310. "typeString": "bytes28"
  7311. }
  7312. },
  7313. "visibility": "internal"
  7314. }
  7315. ],
  7316. "src": "5322:12:50"
  7317. },
  7318. "returnParameters": {
  7319. "id": 7792,
  7320. "nodeType": "ParameterList",
  7321. "parameters": [],
  7322. "src": "5349:0:50"
  7323. },
  7324. "scope": 15355,
  7325. "stateMutability": "pure",
  7326. "virtual": false,
  7327. "visibility": "internal"
  7328. },
  7329. {
  7330. "id": 7816,
  7331. "nodeType": "FunctionDefinition",
  7332. "src": "5432:123:50",
  7333. "nodes": [],
  7334. "body": {
  7335. "id": 7815,
  7336. "nodeType": "Block",
  7337. "src": "5478:77:50",
  7338. "nodes": [],
  7339. "statements": [
  7340. {
  7341. "expression": {
  7342. "arguments": [
  7343. {
  7344. "arguments": [
  7345. {
  7346. "hexValue": "6c6f67286279746573323929",
  7347. "id": 7810,
  7348. "isConstant": false,
  7349. "isLValue": false,
  7350. "isPure": true,
  7351. "kind": "string",
  7352. "lValueRequested": false,
  7353. "nodeType": "Literal",
  7354. "src": "5528:14:50",
  7355. "typeDescriptions": {
  7356. "typeIdentifier": "t_stringliteral_4b69c3d5f782ef1bdb62d5bb42d4987f16799030ba447bb153d465bd3a3a5667",
  7357. "typeString": "literal_string \"log(bytes29)\""
  7358. },
  7359. "value": "log(bytes29)"
  7360. },
  7361. {
  7362. "id": 7811,
  7363. "name": "p0",
  7364. "nodeType": "Identifier",
  7365. "overloadedDeclarations": [],
  7366. "referencedDeclaration": 7804,
  7367. "src": "5544:2:50",
  7368. "typeDescriptions": {
  7369. "typeIdentifier": "t_bytes29",
  7370. "typeString": "bytes29"
  7371. }
  7372. }
  7373. ],
  7374. "expression": {
  7375. "argumentTypes": [
  7376. {
  7377. "typeIdentifier": "t_stringliteral_4b69c3d5f782ef1bdb62d5bb42d4987f16799030ba447bb153d465bd3a3a5667",
  7378. "typeString": "literal_string \"log(bytes29)\""
  7379. },
  7380. {
  7381. "typeIdentifier": "t_bytes29",
  7382. "typeString": "bytes29"
  7383. }
  7384. ],
  7385. "expression": {
  7386. "id": 7808,
  7387. "name": "abi",
  7388. "nodeType": "Identifier",
  7389. "overloadedDeclarations": [],
  7390. "referencedDeclaration": -1,
  7391. "src": "5504:3:50",
  7392. "typeDescriptions": {
  7393. "typeIdentifier": "t_magic_abi",
  7394. "typeString": "abi"
  7395. }
  7396. },
  7397. "id": 7809,
  7398. "isConstant": false,
  7399. "isLValue": false,
  7400. "isPure": true,
  7401. "lValueRequested": false,
  7402. "memberLocation": "5508:19:50",
  7403. "memberName": "encodeWithSignature",
  7404. "nodeType": "MemberAccess",
  7405. "src": "5504:23:50",
  7406. "typeDescriptions": {
  7407. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  7408. "typeString": "function (string memory) pure returns (bytes memory)"
  7409. }
  7410. },
  7411. "id": 7812,
  7412. "isConstant": false,
  7413. "isLValue": false,
  7414. "isPure": false,
  7415. "kind": "functionCall",
  7416. "lValueRequested": false,
  7417. "nameLocations": [],
  7418. "names": [],
  7419. "nodeType": "FunctionCall",
  7420. "src": "5504:43:50",
  7421. "tryCall": false,
  7422. "typeDescriptions": {
  7423. "typeIdentifier": "t_bytes_memory_ptr",
  7424. "typeString": "bytes memory"
  7425. }
  7426. }
  7427. ],
  7428. "expression": {
  7429. "argumentTypes": [
  7430. {
  7431. "typeIdentifier": "t_bytes_memory_ptr",
  7432. "typeString": "bytes memory"
  7433. }
  7434. ],
  7435. "id": 7807,
  7436. "name": "_sendLogPayload",
  7437. "nodeType": "Identifier",
  7438. "overloadedDeclarations": [],
  7439. "referencedDeclaration": 7315,
  7440. "src": "5488:15:50",
  7441. "typeDescriptions": {
  7442. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  7443. "typeString": "function (bytes memory) pure"
  7444. }
  7445. },
  7446. "id": 7813,
  7447. "isConstant": false,
  7448. "isLValue": false,
  7449. "isPure": false,
  7450. "kind": "functionCall",
  7451. "lValueRequested": false,
  7452. "nameLocations": [],
  7453. "names": [],
  7454. "nodeType": "FunctionCall",
  7455. "src": "5488:60:50",
  7456. "tryCall": false,
  7457. "typeDescriptions": {
  7458. "typeIdentifier": "t_tuple$__$",
  7459. "typeString": "tuple()"
  7460. }
  7461. },
  7462. "id": 7814,
  7463. "nodeType": "ExpressionStatement",
  7464. "src": "5488:60:50"
  7465. }
  7466. ]
  7467. },
  7468. "implemented": true,
  7469. "kind": "function",
  7470. "modifiers": [],
  7471. "name": "logBytes29",
  7472. "nameLocation": "5441:10:50",
  7473. "parameters": {
  7474. "id": 7805,
  7475. "nodeType": "ParameterList",
  7476. "parameters": [
  7477. {
  7478. "constant": false,
  7479. "id": 7804,
  7480. "mutability": "mutable",
  7481. "name": "p0",
  7482. "nameLocation": "5460:2:50",
  7483. "nodeType": "VariableDeclaration",
  7484. "scope": 7816,
  7485. "src": "5452:10:50",
  7486. "stateVariable": false,
  7487. "storageLocation": "default",
  7488. "typeDescriptions": {
  7489. "typeIdentifier": "t_bytes29",
  7490. "typeString": "bytes29"
  7491. },
  7492. "typeName": {
  7493. "id": 7803,
  7494. "name": "bytes29",
  7495. "nodeType": "ElementaryTypeName",
  7496. "src": "5452:7:50",
  7497. "typeDescriptions": {
  7498. "typeIdentifier": "t_bytes29",
  7499. "typeString": "bytes29"
  7500. }
  7501. },
  7502. "visibility": "internal"
  7503. }
  7504. ],
  7505. "src": "5451:12:50"
  7506. },
  7507. "returnParameters": {
  7508. "id": 7806,
  7509. "nodeType": "ParameterList",
  7510. "parameters": [],
  7511. "src": "5478:0:50"
  7512. },
  7513. "scope": 15355,
  7514. "stateMutability": "pure",
  7515. "virtual": false,
  7516. "visibility": "internal"
  7517. },
  7518. {
  7519. "id": 7830,
  7520. "nodeType": "FunctionDefinition",
  7521. "src": "5561:123:50",
  7522. "nodes": [],
  7523. "body": {
  7524. "id": 7829,
  7525. "nodeType": "Block",
  7526. "src": "5607:77:50",
  7527. "nodes": [],
  7528. "statements": [
  7529. {
  7530. "expression": {
  7531. "arguments": [
  7532. {
  7533. "arguments": [
  7534. {
  7535. "hexValue": "6c6f67286279746573333029",
  7536. "id": 7824,
  7537. "isConstant": false,
  7538. "isLValue": false,
  7539. "isPure": true,
  7540. "kind": "string",
  7541. "lValueRequested": false,
  7542. "nodeType": "Literal",
  7543. "src": "5657:14:50",
  7544. "typeDescriptions": {
  7545. "typeIdentifier": "t_stringliteral_ee12c4edbd73d98174a6bf3454562c4874f59cb381176b662ca65f625f97d6ad",
  7546. "typeString": "literal_string \"log(bytes30)\""
  7547. },
  7548. "value": "log(bytes30)"
  7549. },
  7550. {
  7551. "id": 7825,
  7552. "name": "p0",
  7553. "nodeType": "Identifier",
  7554. "overloadedDeclarations": [],
  7555. "referencedDeclaration": 7818,
  7556. "src": "5673:2:50",
  7557. "typeDescriptions": {
  7558. "typeIdentifier": "t_bytes30",
  7559. "typeString": "bytes30"
  7560. }
  7561. }
  7562. ],
  7563. "expression": {
  7564. "argumentTypes": [
  7565. {
  7566. "typeIdentifier": "t_stringliteral_ee12c4edbd73d98174a6bf3454562c4874f59cb381176b662ca65f625f97d6ad",
  7567. "typeString": "literal_string \"log(bytes30)\""
  7568. },
  7569. {
  7570. "typeIdentifier": "t_bytes30",
  7571. "typeString": "bytes30"
  7572. }
  7573. ],
  7574. "expression": {
  7575. "id": 7822,
  7576. "name": "abi",
  7577. "nodeType": "Identifier",
  7578. "overloadedDeclarations": [],
  7579. "referencedDeclaration": -1,
  7580. "src": "5633:3:50",
  7581. "typeDescriptions": {
  7582. "typeIdentifier": "t_magic_abi",
  7583. "typeString": "abi"
  7584. }
  7585. },
  7586. "id": 7823,
  7587. "isConstant": false,
  7588. "isLValue": false,
  7589. "isPure": true,
  7590. "lValueRequested": false,
  7591. "memberLocation": "5637:19:50",
  7592. "memberName": "encodeWithSignature",
  7593. "nodeType": "MemberAccess",
  7594. "src": "5633:23:50",
  7595. "typeDescriptions": {
  7596. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  7597. "typeString": "function (string memory) pure returns (bytes memory)"
  7598. }
  7599. },
  7600. "id": 7826,
  7601. "isConstant": false,
  7602. "isLValue": false,
  7603. "isPure": false,
  7604. "kind": "functionCall",
  7605. "lValueRequested": false,
  7606. "nameLocations": [],
  7607. "names": [],
  7608. "nodeType": "FunctionCall",
  7609. "src": "5633:43:50",
  7610. "tryCall": false,
  7611. "typeDescriptions": {
  7612. "typeIdentifier": "t_bytes_memory_ptr",
  7613. "typeString": "bytes memory"
  7614. }
  7615. }
  7616. ],
  7617. "expression": {
  7618. "argumentTypes": [
  7619. {
  7620. "typeIdentifier": "t_bytes_memory_ptr",
  7621. "typeString": "bytes memory"
  7622. }
  7623. ],
  7624. "id": 7821,
  7625. "name": "_sendLogPayload",
  7626. "nodeType": "Identifier",
  7627. "overloadedDeclarations": [],
  7628. "referencedDeclaration": 7315,
  7629. "src": "5617:15:50",
  7630. "typeDescriptions": {
  7631. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  7632. "typeString": "function (bytes memory) pure"
  7633. }
  7634. },
  7635. "id": 7827,
  7636. "isConstant": false,
  7637. "isLValue": false,
  7638. "isPure": false,
  7639. "kind": "functionCall",
  7640. "lValueRequested": false,
  7641. "nameLocations": [],
  7642. "names": [],
  7643. "nodeType": "FunctionCall",
  7644. "src": "5617:60:50",
  7645. "tryCall": false,
  7646. "typeDescriptions": {
  7647. "typeIdentifier": "t_tuple$__$",
  7648. "typeString": "tuple()"
  7649. }
  7650. },
  7651. "id": 7828,
  7652. "nodeType": "ExpressionStatement",
  7653. "src": "5617:60:50"
  7654. }
  7655. ]
  7656. },
  7657. "implemented": true,
  7658. "kind": "function",
  7659. "modifiers": [],
  7660. "name": "logBytes30",
  7661. "nameLocation": "5570:10:50",
  7662. "parameters": {
  7663. "id": 7819,
  7664. "nodeType": "ParameterList",
  7665. "parameters": [
  7666. {
  7667. "constant": false,
  7668. "id": 7818,
  7669. "mutability": "mutable",
  7670. "name": "p0",
  7671. "nameLocation": "5589:2:50",
  7672. "nodeType": "VariableDeclaration",
  7673. "scope": 7830,
  7674. "src": "5581:10:50",
  7675. "stateVariable": false,
  7676. "storageLocation": "default",
  7677. "typeDescriptions": {
  7678. "typeIdentifier": "t_bytes30",
  7679. "typeString": "bytes30"
  7680. },
  7681. "typeName": {
  7682. "id": 7817,
  7683. "name": "bytes30",
  7684. "nodeType": "ElementaryTypeName",
  7685. "src": "5581:7:50",
  7686. "typeDescriptions": {
  7687. "typeIdentifier": "t_bytes30",
  7688. "typeString": "bytes30"
  7689. }
  7690. },
  7691. "visibility": "internal"
  7692. }
  7693. ],
  7694. "src": "5580:12:50"
  7695. },
  7696. "returnParameters": {
  7697. "id": 7820,
  7698. "nodeType": "ParameterList",
  7699. "parameters": [],
  7700. "src": "5607:0:50"
  7701. },
  7702. "scope": 15355,
  7703. "stateMutability": "pure",
  7704. "virtual": false,
  7705. "visibility": "internal"
  7706. },
  7707. {
  7708. "id": 7844,
  7709. "nodeType": "FunctionDefinition",
  7710. "src": "5690:123:50",
  7711. "nodes": [],
  7712. "body": {
  7713. "id": 7843,
  7714. "nodeType": "Block",
  7715. "src": "5736:77:50",
  7716. "nodes": [],
  7717. "statements": [
  7718. {
  7719. "expression": {
  7720. "arguments": [
  7721. {
  7722. "arguments": [
  7723. {
  7724. "hexValue": "6c6f67286279746573333129",
  7725. "id": 7838,
  7726. "isConstant": false,
  7727. "isLValue": false,
  7728. "isPure": true,
  7729. "kind": "string",
  7730. "lValueRequested": false,
  7731. "nodeType": "Literal",
  7732. "src": "5786:14:50",
  7733. "typeDescriptions": {
  7734. "typeIdentifier": "t_stringliteral_c2854d92a0707e582e2710f9c9d3f148fdcf7e7da3b4270c2cfa3e223a2c50ce",
  7735. "typeString": "literal_string \"log(bytes31)\""
  7736. },
  7737. "value": "log(bytes31)"
  7738. },
  7739. {
  7740. "id": 7839,
  7741. "name": "p0",
  7742. "nodeType": "Identifier",
  7743. "overloadedDeclarations": [],
  7744. "referencedDeclaration": 7832,
  7745. "src": "5802:2:50",
  7746. "typeDescriptions": {
  7747. "typeIdentifier": "t_bytes31",
  7748. "typeString": "bytes31"
  7749. }
  7750. }
  7751. ],
  7752. "expression": {
  7753. "argumentTypes": [
  7754. {
  7755. "typeIdentifier": "t_stringliteral_c2854d92a0707e582e2710f9c9d3f148fdcf7e7da3b4270c2cfa3e223a2c50ce",
  7756. "typeString": "literal_string \"log(bytes31)\""
  7757. },
  7758. {
  7759. "typeIdentifier": "t_bytes31",
  7760. "typeString": "bytes31"
  7761. }
  7762. ],
  7763. "expression": {
  7764. "id": 7836,
  7765. "name": "abi",
  7766. "nodeType": "Identifier",
  7767. "overloadedDeclarations": [],
  7768. "referencedDeclaration": -1,
  7769. "src": "5762:3:50",
  7770. "typeDescriptions": {
  7771. "typeIdentifier": "t_magic_abi",
  7772. "typeString": "abi"
  7773. }
  7774. },
  7775. "id": 7837,
  7776. "isConstant": false,
  7777. "isLValue": false,
  7778. "isPure": true,
  7779. "lValueRequested": false,
  7780. "memberLocation": "5766:19:50",
  7781. "memberName": "encodeWithSignature",
  7782. "nodeType": "MemberAccess",
  7783. "src": "5762:23:50",
  7784. "typeDescriptions": {
  7785. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  7786. "typeString": "function (string memory) pure returns (bytes memory)"
  7787. }
  7788. },
  7789. "id": 7840,
  7790. "isConstant": false,
  7791. "isLValue": false,
  7792. "isPure": false,
  7793. "kind": "functionCall",
  7794. "lValueRequested": false,
  7795. "nameLocations": [],
  7796. "names": [],
  7797. "nodeType": "FunctionCall",
  7798. "src": "5762:43:50",
  7799. "tryCall": false,
  7800. "typeDescriptions": {
  7801. "typeIdentifier": "t_bytes_memory_ptr",
  7802. "typeString": "bytes memory"
  7803. }
  7804. }
  7805. ],
  7806. "expression": {
  7807. "argumentTypes": [
  7808. {
  7809. "typeIdentifier": "t_bytes_memory_ptr",
  7810. "typeString": "bytes memory"
  7811. }
  7812. ],
  7813. "id": 7835,
  7814. "name": "_sendLogPayload",
  7815. "nodeType": "Identifier",
  7816. "overloadedDeclarations": [],
  7817. "referencedDeclaration": 7315,
  7818. "src": "5746:15:50",
  7819. "typeDescriptions": {
  7820. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  7821. "typeString": "function (bytes memory) pure"
  7822. }
  7823. },
  7824. "id": 7841,
  7825. "isConstant": false,
  7826. "isLValue": false,
  7827. "isPure": false,
  7828. "kind": "functionCall",
  7829. "lValueRequested": false,
  7830. "nameLocations": [],
  7831. "names": [],
  7832. "nodeType": "FunctionCall",
  7833. "src": "5746:60:50",
  7834. "tryCall": false,
  7835. "typeDescriptions": {
  7836. "typeIdentifier": "t_tuple$__$",
  7837. "typeString": "tuple()"
  7838. }
  7839. },
  7840. "id": 7842,
  7841. "nodeType": "ExpressionStatement",
  7842. "src": "5746:60:50"
  7843. }
  7844. ]
  7845. },
  7846. "implemented": true,
  7847. "kind": "function",
  7848. "modifiers": [],
  7849. "name": "logBytes31",
  7850. "nameLocation": "5699:10:50",
  7851. "parameters": {
  7852. "id": 7833,
  7853. "nodeType": "ParameterList",
  7854. "parameters": [
  7855. {
  7856. "constant": false,
  7857. "id": 7832,
  7858. "mutability": "mutable",
  7859. "name": "p0",
  7860. "nameLocation": "5718:2:50",
  7861. "nodeType": "VariableDeclaration",
  7862. "scope": 7844,
  7863. "src": "5710:10:50",
  7864. "stateVariable": false,
  7865. "storageLocation": "default",
  7866. "typeDescriptions": {
  7867. "typeIdentifier": "t_bytes31",
  7868. "typeString": "bytes31"
  7869. },
  7870. "typeName": {
  7871. "id": 7831,
  7872. "name": "bytes31",
  7873. "nodeType": "ElementaryTypeName",
  7874. "src": "5710:7:50",
  7875. "typeDescriptions": {
  7876. "typeIdentifier": "t_bytes31",
  7877. "typeString": "bytes31"
  7878. }
  7879. },
  7880. "visibility": "internal"
  7881. }
  7882. ],
  7883. "src": "5709:12:50"
  7884. },
  7885. "returnParameters": {
  7886. "id": 7834,
  7887. "nodeType": "ParameterList",
  7888. "parameters": [],
  7889. "src": "5736:0:50"
  7890. },
  7891. "scope": 15355,
  7892. "stateMutability": "pure",
  7893. "virtual": false,
  7894. "visibility": "internal"
  7895. },
  7896. {
  7897. "id": 7858,
  7898. "nodeType": "FunctionDefinition",
  7899. "src": "5819:123:50",
  7900. "nodes": [],
  7901. "body": {
  7902. "id": 7857,
  7903. "nodeType": "Block",
  7904. "src": "5865:77:50",
  7905. "nodes": [],
  7906. "statements": [
  7907. {
  7908. "expression": {
  7909. "arguments": [
  7910. {
  7911. "arguments": [
  7912. {
  7913. "hexValue": "6c6f67286279746573333229",
  7914. "id": 7852,
  7915. "isConstant": false,
  7916. "isLValue": false,
  7917. "isPure": true,
  7918. "kind": "string",
  7919. "lValueRequested": false,
  7920. "nodeType": "Literal",
  7921. "src": "5915:14:50",
  7922. "typeDescriptions": {
  7923. "typeIdentifier": "t_stringliteral_27b7cf8513ac6b65cae720183e1e60e67f8a9d92c01286c19d51d4e30aa269da",
  7924. "typeString": "literal_string \"log(bytes32)\""
  7925. },
  7926. "value": "log(bytes32)"
  7927. },
  7928. {
  7929. "id": 7853,
  7930. "name": "p0",
  7931. "nodeType": "Identifier",
  7932. "overloadedDeclarations": [],
  7933. "referencedDeclaration": 7846,
  7934. "src": "5931:2:50",
  7935. "typeDescriptions": {
  7936. "typeIdentifier": "t_bytes32",
  7937. "typeString": "bytes32"
  7938. }
  7939. }
  7940. ],
  7941. "expression": {
  7942. "argumentTypes": [
  7943. {
  7944. "typeIdentifier": "t_stringliteral_27b7cf8513ac6b65cae720183e1e60e67f8a9d92c01286c19d51d4e30aa269da",
  7945. "typeString": "literal_string \"log(bytes32)\""
  7946. },
  7947. {
  7948. "typeIdentifier": "t_bytes32",
  7949. "typeString": "bytes32"
  7950. }
  7951. ],
  7952. "expression": {
  7953. "id": 7850,
  7954. "name": "abi",
  7955. "nodeType": "Identifier",
  7956. "overloadedDeclarations": [],
  7957. "referencedDeclaration": -1,
  7958. "src": "5891:3:50",
  7959. "typeDescriptions": {
  7960. "typeIdentifier": "t_magic_abi",
  7961. "typeString": "abi"
  7962. }
  7963. },
  7964. "id": 7851,
  7965. "isConstant": false,
  7966. "isLValue": false,
  7967. "isPure": true,
  7968. "lValueRequested": false,
  7969. "memberLocation": "5895:19:50",
  7970. "memberName": "encodeWithSignature",
  7971. "nodeType": "MemberAccess",
  7972. "src": "5891:23:50",
  7973. "typeDescriptions": {
  7974. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  7975. "typeString": "function (string memory) pure returns (bytes memory)"
  7976. }
  7977. },
  7978. "id": 7854,
  7979. "isConstant": false,
  7980. "isLValue": false,
  7981. "isPure": false,
  7982. "kind": "functionCall",
  7983. "lValueRequested": false,
  7984. "nameLocations": [],
  7985. "names": [],
  7986. "nodeType": "FunctionCall",
  7987. "src": "5891:43:50",
  7988. "tryCall": false,
  7989. "typeDescriptions": {
  7990. "typeIdentifier": "t_bytes_memory_ptr",
  7991. "typeString": "bytes memory"
  7992. }
  7993. }
  7994. ],
  7995. "expression": {
  7996. "argumentTypes": [
  7997. {
  7998. "typeIdentifier": "t_bytes_memory_ptr",
  7999. "typeString": "bytes memory"
  8000. }
  8001. ],
  8002. "id": 7849,
  8003. "name": "_sendLogPayload",
  8004. "nodeType": "Identifier",
  8005. "overloadedDeclarations": [],
  8006. "referencedDeclaration": 7315,
  8007. "src": "5875:15:50",
  8008. "typeDescriptions": {
  8009. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  8010. "typeString": "function (bytes memory) pure"
  8011. }
  8012. },
  8013. "id": 7855,
  8014. "isConstant": false,
  8015. "isLValue": false,
  8016. "isPure": false,
  8017. "kind": "functionCall",
  8018. "lValueRequested": false,
  8019. "nameLocations": [],
  8020. "names": [],
  8021. "nodeType": "FunctionCall",
  8022. "src": "5875:60:50",
  8023. "tryCall": false,
  8024. "typeDescriptions": {
  8025. "typeIdentifier": "t_tuple$__$",
  8026. "typeString": "tuple()"
  8027. }
  8028. },
  8029. "id": 7856,
  8030. "nodeType": "ExpressionStatement",
  8031. "src": "5875:60:50"
  8032. }
  8033. ]
  8034. },
  8035. "implemented": true,
  8036. "kind": "function",
  8037. "modifiers": [],
  8038. "name": "logBytes32",
  8039. "nameLocation": "5828:10:50",
  8040. "parameters": {
  8041. "id": 7847,
  8042. "nodeType": "ParameterList",
  8043. "parameters": [
  8044. {
  8045. "constant": false,
  8046. "id": 7846,
  8047. "mutability": "mutable",
  8048. "name": "p0",
  8049. "nameLocation": "5847:2:50",
  8050. "nodeType": "VariableDeclaration",
  8051. "scope": 7858,
  8052. "src": "5839:10:50",
  8053. "stateVariable": false,
  8054. "storageLocation": "default",
  8055. "typeDescriptions": {
  8056. "typeIdentifier": "t_bytes32",
  8057. "typeString": "bytes32"
  8058. },
  8059. "typeName": {
  8060. "id": 7845,
  8061. "name": "bytes32",
  8062. "nodeType": "ElementaryTypeName",
  8063. "src": "5839:7:50",
  8064. "typeDescriptions": {
  8065. "typeIdentifier": "t_bytes32",
  8066. "typeString": "bytes32"
  8067. }
  8068. },
  8069. "visibility": "internal"
  8070. }
  8071. ],
  8072. "src": "5838:12:50"
  8073. },
  8074. "returnParameters": {
  8075. "id": 7848,
  8076. "nodeType": "ParameterList",
  8077. "parameters": [],
  8078. "src": "5865:0:50"
  8079. },
  8080. "scope": 15355,
  8081. "stateMutability": "pure",
  8082. "virtual": false,
  8083. "visibility": "internal"
  8084. },
  8085. {
  8086. "id": 7872,
  8087. "nodeType": "FunctionDefinition",
  8088. "src": "5948:116:50",
  8089. "nodes": [],
  8090. "body": {
  8091. "id": 7871,
  8092. "nodeType": "Block",
  8093. "src": "5987:77:50",
  8094. "nodes": [],
  8095. "statements": [
  8096. {
  8097. "expression": {
  8098. "arguments": [
  8099. {
  8100. "arguments": [
  8101. {
  8102. "hexValue": "6c6f672875696e7432353629",
  8103. "id": 7866,
  8104. "isConstant": false,
  8105. "isLValue": false,
  8106. "isPure": true,
  8107. "kind": "string",
  8108. "lValueRequested": false,
  8109. "nodeType": "Literal",
  8110. "src": "6037:14:50",
  8111. "typeDescriptions": {
  8112. "typeIdentifier": "t_stringliteral_f82c50f1848136e6c140b186ea0c768b7deda5efffe42c25e96336a90b26c744",
  8113. "typeString": "literal_string \"log(uint256)\""
  8114. },
  8115. "value": "log(uint256)"
  8116. },
  8117. {
  8118. "id": 7867,
  8119. "name": "p0",
  8120. "nodeType": "Identifier",
  8121. "overloadedDeclarations": [],
  8122. "referencedDeclaration": 7860,
  8123. "src": "6053:2:50",
  8124. "typeDescriptions": {
  8125. "typeIdentifier": "t_uint256",
  8126. "typeString": "uint256"
  8127. }
  8128. }
  8129. ],
  8130. "expression": {
  8131. "argumentTypes": [
  8132. {
  8133. "typeIdentifier": "t_stringliteral_f82c50f1848136e6c140b186ea0c768b7deda5efffe42c25e96336a90b26c744",
  8134. "typeString": "literal_string \"log(uint256)\""
  8135. },
  8136. {
  8137. "typeIdentifier": "t_uint256",
  8138. "typeString": "uint256"
  8139. }
  8140. ],
  8141. "expression": {
  8142. "id": 7864,
  8143. "name": "abi",
  8144. "nodeType": "Identifier",
  8145. "overloadedDeclarations": [],
  8146. "referencedDeclaration": -1,
  8147. "src": "6013:3:50",
  8148. "typeDescriptions": {
  8149. "typeIdentifier": "t_magic_abi",
  8150. "typeString": "abi"
  8151. }
  8152. },
  8153. "id": 7865,
  8154. "isConstant": false,
  8155. "isLValue": false,
  8156. "isPure": true,
  8157. "lValueRequested": false,
  8158. "memberLocation": "6017:19:50",
  8159. "memberName": "encodeWithSignature",
  8160. "nodeType": "MemberAccess",
  8161. "src": "6013:23:50",
  8162. "typeDescriptions": {
  8163. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  8164. "typeString": "function (string memory) pure returns (bytes memory)"
  8165. }
  8166. },
  8167. "id": 7868,
  8168. "isConstant": false,
  8169. "isLValue": false,
  8170. "isPure": false,
  8171. "kind": "functionCall",
  8172. "lValueRequested": false,
  8173. "nameLocations": [],
  8174. "names": [],
  8175. "nodeType": "FunctionCall",
  8176. "src": "6013:43:50",
  8177. "tryCall": false,
  8178. "typeDescriptions": {
  8179. "typeIdentifier": "t_bytes_memory_ptr",
  8180. "typeString": "bytes memory"
  8181. }
  8182. }
  8183. ],
  8184. "expression": {
  8185. "argumentTypes": [
  8186. {
  8187. "typeIdentifier": "t_bytes_memory_ptr",
  8188. "typeString": "bytes memory"
  8189. }
  8190. ],
  8191. "id": 7863,
  8192. "name": "_sendLogPayload",
  8193. "nodeType": "Identifier",
  8194. "overloadedDeclarations": [],
  8195. "referencedDeclaration": 7315,
  8196. "src": "5997:15:50",
  8197. "typeDescriptions": {
  8198. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  8199. "typeString": "function (bytes memory) pure"
  8200. }
  8201. },
  8202. "id": 7869,
  8203. "isConstant": false,
  8204. "isLValue": false,
  8205. "isPure": false,
  8206. "kind": "functionCall",
  8207. "lValueRequested": false,
  8208. "nameLocations": [],
  8209. "names": [],
  8210. "nodeType": "FunctionCall",
  8211. "src": "5997:60:50",
  8212. "tryCall": false,
  8213. "typeDescriptions": {
  8214. "typeIdentifier": "t_tuple$__$",
  8215. "typeString": "tuple()"
  8216. }
  8217. },
  8218. "id": 7870,
  8219. "nodeType": "ExpressionStatement",
  8220. "src": "5997:60:50"
  8221. }
  8222. ]
  8223. },
  8224. "implemented": true,
  8225. "kind": "function",
  8226. "modifiers": [],
  8227. "name": "log",
  8228. "nameLocation": "5957:3:50",
  8229. "parameters": {
  8230. "id": 7861,
  8231. "nodeType": "ParameterList",
  8232. "parameters": [
  8233. {
  8234. "constant": false,
  8235. "id": 7860,
  8236. "mutability": "mutable",
  8237. "name": "p0",
  8238. "nameLocation": "5969:2:50",
  8239. "nodeType": "VariableDeclaration",
  8240. "scope": 7872,
  8241. "src": "5961:10:50",
  8242. "stateVariable": false,
  8243. "storageLocation": "default",
  8244. "typeDescriptions": {
  8245. "typeIdentifier": "t_uint256",
  8246. "typeString": "uint256"
  8247. },
  8248. "typeName": {
  8249. "id": 7859,
  8250. "name": "uint256",
  8251. "nodeType": "ElementaryTypeName",
  8252. "src": "5961:7:50",
  8253. "typeDescriptions": {
  8254. "typeIdentifier": "t_uint256",
  8255. "typeString": "uint256"
  8256. }
  8257. },
  8258. "visibility": "internal"
  8259. }
  8260. ],
  8261. "src": "5960:12:50"
  8262. },
  8263. "returnParameters": {
  8264. "id": 7862,
  8265. "nodeType": "ParameterList",
  8266. "parameters": [],
  8267. "src": "5987:0:50"
  8268. },
  8269. "scope": 15355,
  8270. "stateMutability": "pure",
  8271. "virtual": false,
  8272. "visibility": "internal"
  8273. },
  8274. {
  8275. "id": 7886,
  8276. "nodeType": "FunctionDefinition",
  8277. "src": "6070:121:50",
  8278. "nodes": [],
  8279. "body": {
  8280. "id": 7885,
  8281. "nodeType": "Block",
  8282. "src": "6115:76:50",
  8283. "nodes": [],
  8284. "statements": [
  8285. {
  8286. "expression": {
  8287. "arguments": [
  8288. {
  8289. "arguments": [
  8290. {
  8291. "hexValue": "6c6f6728737472696e6729",
  8292. "id": 7880,
  8293. "isConstant": false,
  8294. "isLValue": false,
  8295. "isPure": true,
  8296. "kind": "string",
  8297. "lValueRequested": false,
  8298. "nodeType": "Literal",
  8299. "src": "6165:13:50",
  8300. "typeDescriptions": {
  8301. "typeIdentifier": "t_stringliteral_41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50",
  8302. "typeString": "literal_string \"log(string)\""
  8303. },
  8304. "value": "log(string)"
  8305. },
  8306. {
  8307. "id": 7881,
  8308. "name": "p0",
  8309. "nodeType": "Identifier",
  8310. "overloadedDeclarations": [],
  8311. "referencedDeclaration": 7874,
  8312. "src": "6180:2:50",
  8313. "typeDescriptions": {
  8314. "typeIdentifier": "t_string_memory_ptr",
  8315. "typeString": "string memory"
  8316. }
  8317. }
  8318. ],
  8319. "expression": {
  8320. "argumentTypes": [
  8321. {
  8322. "typeIdentifier": "t_stringliteral_41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50",
  8323. "typeString": "literal_string \"log(string)\""
  8324. },
  8325. {
  8326. "typeIdentifier": "t_string_memory_ptr",
  8327. "typeString": "string memory"
  8328. }
  8329. ],
  8330. "expression": {
  8331. "id": 7878,
  8332. "name": "abi",
  8333. "nodeType": "Identifier",
  8334. "overloadedDeclarations": [],
  8335. "referencedDeclaration": -1,
  8336. "src": "6141:3:50",
  8337. "typeDescriptions": {
  8338. "typeIdentifier": "t_magic_abi",
  8339. "typeString": "abi"
  8340. }
  8341. },
  8342. "id": 7879,
  8343. "isConstant": false,
  8344. "isLValue": false,
  8345. "isPure": true,
  8346. "lValueRequested": false,
  8347. "memberLocation": "6145:19:50",
  8348. "memberName": "encodeWithSignature",
  8349. "nodeType": "MemberAccess",
  8350. "src": "6141:23:50",
  8351. "typeDescriptions": {
  8352. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  8353. "typeString": "function (string memory) pure returns (bytes memory)"
  8354. }
  8355. },
  8356. "id": 7882,
  8357. "isConstant": false,
  8358. "isLValue": false,
  8359. "isPure": false,
  8360. "kind": "functionCall",
  8361. "lValueRequested": false,
  8362. "nameLocations": [],
  8363. "names": [],
  8364. "nodeType": "FunctionCall",
  8365. "src": "6141:42:50",
  8366. "tryCall": false,
  8367. "typeDescriptions": {
  8368. "typeIdentifier": "t_bytes_memory_ptr",
  8369. "typeString": "bytes memory"
  8370. }
  8371. }
  8372. ],
  8373. "expression": {
  8374. "argumentTypes": [
  8375. {
  8376. "typeIdentifier": "t_bytes_memory_ptr",
  8377. "typeString": "bytes memory"
  8378. }
  8379. ],
  8380. "id": 7877,
  8381. "name": "_sendLogPayload",
  8382. "nodeType": "Identifier",
  8383. "overloadedDeclarations": [],
  8384. "referencedDeclaration": 7315,
  8385. "src": "6125:15:50",
  8386. "typeDescriptions": {
  8387. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  8388. "typeString": "function (bytes memory) pure"
  8389. }
  8390. },
  8391. "id": 7883,
  8392. "isConstant": false,
  8393. "isLValue": false,
  8394. "isPure": false,
  8395. "kind": "functionCall",
  8396. "lValueRequested": false,
  8397. "nameLocations": [],
  8398. "names": [],
  8399. "nodeType": "FunctionCall",
  8400. "src": "6125:59:50",
  8401. "tryCall": false,
  8402. "typeDescriptions": {
  8403. "typeIdentifier": "t_tuple$__$",
  8404. "typeString": "tuple()"
  8405. }
  8406. },
  8407. "id": 7884,
  8408. "nodeType": "ExpressionStatement",
  8409. "src": "6125:59:50"
  8410. }
  8411. ]
  8412. },
  8413. "implemented": true,
  8414. "kind": "function",
  8415. "modifiers": [],
  8416. "name": "log",
  8417. "nameLocation": "6079:3:50",
  8418. "parameters": {
  8419. "id": 7875,
  8420. "nodeType": "ParameterList",
  8421. "parameters": [
  8422. {
  8423. "constant": false,
  8424. "id": 7874,
  8425. "mutability": "mutable",
  8426. "name": "p0",
  8427. "nameLocation": "6097:2:50",
  8428. "nodeType": "VariableDeclaration",
  8429. "scope": 7886,
  8430. "src": "6083:16:50",
  8431. "stateVariable": false,
  8432. "storageLocation": "memory",
  8433. "typeDescriptions": {
  8434. "typeIdentifier": "t_string_memory_ptr",
  8435. "typeString": "string"
  8436. },
  8437. "typeName": {
  8438. "id": 7873,
  8439. "name": "string",
  8440. "nodeType": "ElementaryTypeName",
  8441. "src": "6083:6:50",
  8442. "typeDescriptions": {
  8443. "typeIdentifier": "t_string_storage_ptr",
  8444. "typeString": "string"
  8445. }
  8446. },
  8447. "visibility": "internal"
  8448. }
  8449. ],
  8450. "src": "6082:18:50"
  8451. },
  8452. "returnParameters": {
  8453. "id": 7876,
  8454. "nodeType": "ParameterList",
  8455. "parameters": [],
  8456. "src": "6115:0:50"
  8457. },
  8458. "scope": 15355,
  8459. "stateMutability": "pure",
  8460. "virtual": false,
  8461. "visibility": "internal"
  8462. },
  8463. {
  8464. "id": 7900,
  8465. "nodeType": "FunctionDefinition",
  8466. "src": "6197:110:50",
  8467. "nodes": [],
  8468. "body": {
  8469. "id": 7899,
  8470. "nodeType": "Block",
  8471. "src": "6233:74:50",
  8472. "nodes": [],
  8473. "statements": [
  8474. {
  8475. "expression": {
  8476. "arguments": [
  8477. {
  8478. "arguments": [
  8479. {
  8480. "hexValue": "6c6f6728626f6f6c29",
  8481. "id": 7894,
  8482. "isConstant": false,
  8483. "isLValue": false,
  8484. "isPure": true,
  8485. "kind": "string",
  8486. "lValueRequested": false,
  8487. "nodeType": "Literal",
  8488. "src": "6283:11:50",
  8489. "typeDescriptions": {
  8490. "typeIdentifier": "t_stringliteral_32458eed3feca62a69292a55ca8a755ae4e6cdc57a38d15c298330064467fdd7",
  8491. "typeString": "literal_string \"log(bool)\""
  8492. },
  8493. "value": "log(bool)"
  8494. },
  8495. {
  8496. "id": 7895,
  8497. "name": "p0",
  8498. "nodeType": "Identifier",
  8499. "overloadedDeclarations": [],
  8500. "referencedDeclaration": 7888,
  8501. "src": "6296:2:50",
  8502. "typeDescriptions": {
  8503. "typeIdentifier": "t_bool",
  8504. "typeString": "bool"
  8505. }
  8506. }
  8507. ],
  8508. "expression": {
  8509. "argumentTypes": [
  8510. {
  8511. "typeIdentifier": "t_stringliteral_32458eed3feca62a69292a55ca8a755ae4e6cdc57a38d15c298330064467fdd7",
  8512. "typeString": "literal_string \"log(bool)\""
  8513. },
  8514. {
  8515. "typeIdentifier": "t_bool",
  8516. "typeString": "bool"
  8517. }
  8518. ],
  8519. "expression": {
  8520. "id": 7892,
  8521. "name": "abi",
  8522. "nodeType": "Identifier",
  8523. "overloadedDeclarations": [],
  8524. "referencedDeclaration": -1,
  8525. "src": "6259:3:50",
  8526. "typeDescriptions": {
  8527. "typeIdentifier": "t_magic_abi",
  8528. "typeString": "abi"
  8529. }
  8530. },
  8531. "id": 7893,
  8532. "isConstant": false,
  8533. "isLValue": false,
  8534. "isPure": true,
  8535. "lValueRequested": false,
  8536. "memberLocation": "6263:19:50",
  8537. "memberName": "encodeWithSignature",
  8538. "nodeType": "MemberAccess",
  8539. "src": "6259:23:50",
  8540. "typeDescriptions": {
  8541. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  8542. "typeString": "function (string memory) pure returns (bytes memory)"
  8543. }
  8544. },
  8545. "id": 7896,
  8546. "isConstant": false,
  8547. "isLValue": false,
  8548. "isPure": false,
  8549. "kind": "functionCall",
  8550. "lValueRequested": false,
  8551. "nameLocations": [],
  8552. "names": [],
  8553. "nodeType": "FunctionCall",
  8554. "src": "6259:40:50",
  8555. "tryCall": false,
  8556. "typeDescriptions": {
  8557. "typeIdentifier": "t_bytes_memory_ptr",
  8558. "typeString": "bytes memory"
  8559. }
  8560. }
  8561. ],
  8562. "expression": {
  8563. "argumentTypes": [
  8564. {
  8565. "typeIdentifier": "t_bytes_memory_ptr",
  8566. "typeString": "bytes memory"
  8567. }
  8568. ],
  8569. "id": 7891,
  8570. "name": "_sendLogPayload",
  8571. "nodeType": "Identifier",
  8572. "overloadedDeclarations": [],
  8573. "referencedDeclaration": 7315,
  8574. "src": "6243:15:50",
  8575. "typeDescriptions": {
  8576. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  8577. "typeString": "function (bytes memory) pure"
  8578. }
  8579. },
  8580. "id": 7897,
  8581. "isConstant": false,
  8582. "isLValue": false,
  8583. "isPure": false,
  8584. "kind": "functionCall",
  8585. "lValueRequested": false,
  8586. "nameLocations": [],
  8587. "names": [],
  8588. "nodeType": "FunctionCall",
  8589. "src": "6243:57:50",
  8590. "tryCall": false,
  8591. "typeDescriptions": {
  8592. "typeIdentifier": "t_tuple$__$",
  8593. "typeString": "tuple()"
  8594. }
  8595. },
  8596. "id": 7898,
  8597. "nodeType": "ExpressionStatement",
  8598. "src": "6243:57:50"
  8599. }
  8600. ]
  8601. },
  8602. "implemented": true,
  8603. "kind": "function",
  8604. "modifiers": [],
  8605. "name": "log",
  8606. "nameLocation": "6206:3:50",
  8607. "parameters": {
  8608. "id": 7889,
  8609. "nodeType": "ParameterList",
  8610. "parameters": [
  8611. {
  8612. "constant": false,
  8613. "id": 7888,
  8614. "mutability": "mutable",
  8615. "name": "p0",
  8616. "nameLocation": "6215:2:50",
  8617. "nodeType": "VariableDeclaration",
  8618. "scope": 7900,
  8619. "src": "6210:7:50",
  8620. "stateVariable": false,
  8621. "storageLocation": "default",
  8622. "typeDescriptions": {
  8623. "typeIdentifier": "t_bool",
  8624. "typeString": "bool"
  8625. },
  8626. "typeName": {
  8627. "id": 7887,
  8628. "name": "bool",
  8629. "nodeType": "ElementaryTypeName",
  8630. "src": "6210:4:50",
  8631. "typeDescriptions": {
  8632. "typeIdentifier": "t_bool",
  8633. "typeString": "bool"
  8634. }
  8635. },
  8636. "visibility": "internal"
  8637. }
  8638. ],
  8639. "src": "6209:9:50"
  8640. },
  8641. "returnParameters": {
  8642. "id": 7890,
  8643. "nodeType": "ParameterList",
  8644. "parameters": [],
  8645. "src": "6233:0:50"
  8646. },
  8647. "scope": 15355,
  8648. "stateMutability": "pure",
  8649. "virtual": false,
  8650. "visibility": "internal"
  8651. },
  8652. {
  8653. "id": 7914,
  8654. "nodeType": "FunctionDefinition",
  8655. "src": "6313:116:50",
  8656. "nodes": [],
  8657. "body": {
  8658. "id": 7913,
  8659. "nodeType": "Block",
  8660. "src": "6352:77:50",
  8661. "nodes": [],
  8662. "statements": [
  8663. {
  8664. "expression": {
  8665. "arguments": [
  8666. {
  8667. "arguments": [
  8668. {
  8669. "hexValue": "6c6f67286164647265737329",
  8670. "id": 7908,
  8671. "isConstant": false,
  8672. "isLValue": false,
  8673. "isPure": true,
  8674. "kind": "string",
  8675. "lValueRequested": false,
  8676. "nodeType": "Literal",
  8677. "src": "6402:14:50",
  8678. "typeDescriptions": {
  8679. "typeIdentifier": "t_stringliteral_2c2ecbc2212ac38c2f9ec89aa5fcef7f532a5db24dbf7cad1f48bc82843b7428",
  8680. "typeString": "literal_string \"log(address)\""
  8681. },
  8682. "value": "log(address)"
  8683. },
  8684. {
  8685. "id": 7909,
  8686. "name": "p0",
  8687. "nodeType": "Identifier",
  8688. "overloadedDeclarations": [],
  8689. "referencedDeclaration": 7902,
  8690. "src": "6418:2:50",
  8691. "typeDescriptions": {
  8692. "typeIdentifier": "t_address",
  8693. "typeString": "address"
  8694. }
  8695. }
  8696. ],
  8697. "expression": {
  8698. "argumentTypes": [
  8699. {
  8700. "typeIdentifier": "t_stringliteral_2c2ecbc2212ac38c2f9ec89aa5fcef7f532a5db24dbf7cad1f48bc82843b7428",
  8701. "typeString": "literal_string \"log(address)\""
  8702. },
  8703. {
  8704. "typeIdentifier": "t_address",
  8705. "typeString": "address"
  8706. }
  8707. ],
  8708. "expression": {
  8709. "id": 7906,
  8710. "name": "abi",
  8711. "nodeType": "Identifier",
  8712. "overloadedDeclarations": [],
  8713. "referencedDeclaration": -1,
  8714. "src": "6378:3:50",
  8715. "typeDescriptions": {
  8716. "typeIdentifier": "t_magic_abi",
  8717. "typeString": "abi"
  8718. }
  8719. },
  8720. "id": 7907,
  8721. "isConstant": false,
  8722. "isLValue": false,
  8723. "isPure": true,
  8724. "lValueRequested": false,
  8725. "memberLocation": "6382:19:50",
  8726. "memberName": "encodeWithSignature",
  8727. "nodeType": "MemberAccess",
  8728. "src": "6378:23:50",
  8729. "typeDescriptions": {
  8730. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  8731. "typeString": "function (string memory) pure returns (bytes memory)"
  8732. }
  8733. },
  8734. "id": 7910,
  8735. "isConstant": false,
  8736. "isLValue": false,
  8737. "isPure": false,
  8738. "kind": "functionCall",
  8739. "lValueRequested": false,
  8740. "nameLocations": [],
  8741. "names": [],
  8742. "nodeType": "FunctionCall",
  8743. "src": "6378:43:50",
  8744. "tryCall": false,
  8745. "typeDescriptions": {
  8746. "typeIdentifier": "t_bytes_memory_ptr",
  8747. "typeString": "bytes memory"
  8748. }
  8749. }
  8750. ],
  8751. "expression": {
  8752. "argumentTypes": [
  8753. {
  8754. "typeIdentifier": "t_bytes_memory_ptr",
  8755. "typeString": "bytes memory"
  8756. }
  8757. ],
  8758. "id": 7905,
  8759. "name": "_sendLogPayload",
  8760. "nodeType": "Identifier",
  8761. "overloadedDeclarations": [],
  8762. "referencedDeclaration": 7315,
  8763. "src": "6362:15:50",
  8764. "typeDescriptions": {
  8765. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  8766. "typeString": "function (bytes memory) pure"
  8767. }
  8768. },
  8769. "id": 7911,
  8770. "isConstant": false,
  8771. "isLValue": false,
  8772. "isPure": false,
  8773. "kind": "functionCall",
  8774. "lValueRequested": false,
  8775. "nameLocations": [],
  8776. "names": [],
  8777. "nodeType": "FunctionCall",
  8778. "src": "6362:60:50",
  8779. "tryCall": false,
  8780. "typeDescriptions": {
  8781. "typeIdentifier": "t_tuple$__$",
  8782. "typeString": "tuple()"
  8783. }
  8784. },
  8785. "id": 7912,
  8786. "nodeType": "ExpressionStatement",
  8787. "src": "6362:60:50"
  8788. }
  8789. ]
  8790. },
  8791. "implemented": true,
  8792. "kind": "function",
  8793. "modifiers": [],
  8794. "name": "log",
  8795. "nameLocation": "6322:3:50",
  8796. "parameters": {
  8797. "id": 7903,
  8798. "nodeType": "ParameterList",
  8799. "parameters": [
  8800. {
  8801. "constant": false,
  8802. "id": 7902,
  8803. "mutability": "mutable",
  8804. "name": "p0",
  8805. "nameLocation": "6334:2:50",
  8806. "nodeType": "VariableDeclaration",
  8807. "scope": 7914,
  8808. "src": "6326:10:50",
  8809. "stateVariable": false,
  8810. "storageLocation": "default",
  8811. "typeDescriptions": {
  8812. "typeIdentifier": "t_address",
  8813. "typeString": "address"
  8814. },
  8815. "typeName": {
  8816. "id": 7901,
  8817. "name": "address",
  8818. "nodeType": "ElementaryTypeName",
  8819. "src": "6326:7:50",
  8820. "stateMutability": "nonpayable",
  8821. "typeDescriptions": {
  8822. "typeIdentifier": "t_address",
  8823. "typeString": "address"
  8824. }
  8825. },
  8826. "visibility": "internal"
  8827. }
  8828. ],
  8829. "src": "6325:12:50"
  8830. },
  8831. "returnParameters": {
  8832. "id": 7904,
  8833. "nodeType": "ParameterList",
  8834. "parameters": [],
  8835. "src": "6352:0:50"
  8836. },
  8837. "scope": 15355,
  8838. "stateMutability": "pure",
  8839. "virtual": false,
  8840. "visibility": "internal"
  8841. },
  8842. {
  8843. "id": 7931,
  8844. "nodeType": "FunctionDefinition",
  8845. "src": "6435:140:50",
  8846. "nodes": [],
  8847. "body": {
  8848. "id": 7930,
  8849. "nodeType": "Block",
  8850. "src": "6486:89:50",
  8851. "nodes": [],
  8852. "statements": [
  8853. {
  8854. "expression": {
  8855. "arguments": [
  8856. {
  8857. "arguments": [
  8858. {
  8859. "hexValue": "6c6f672875696e743235362c75696e7432353629",
  8860. "id": 7924,
  8861. "isConstant": false,
  8862. "isLValue": false,
  8863. "isPure": true,
  8864. "kind": "string",
  8865. "lValueRequested": false,
  8866. "nodeType": "Literal",
  8867. "src": "6536:22:50",
  8868. "typeDescriptions": {
  8869. "typeIdentifier": "t_stringliteral_f666715aa6b8e8ce32bd39173f51eea0643fdd246a826c4756c2f168022b6eb5",
  8870. "typeString": "literal_string \"log(uint256,uint256)\""
  8871. },
  8872. "value": "log(uint256,uint256)"
  8873. },
  8874. {
  8875. "id": 7925,
  8876. "name": "p0",
  8877. "nodeType": "Identifier",
  8878. "overloadedDeclarations": [],
  8879. "referencedDeclaration": 7916,
  8880. "src": "6560:2:50",
  8881. "typeDescriptions": {
  8882. "typeIdentifier": "t_uint256",
  8883. "typeString": "uint256"
  8884. }
  8885. },
  8886. {
  8887. "id": 7926,
  8888. "name": "p1",
  8889. "nodeType": "Identifier",
  8890. "overloadedDeclarations": [],
  8891. "referencedDeclaration": 7918,
  8892. "src": "6564:2:50",
  8893. "typeDescriptions": {
  8894. "typeIdentifier": "t_uint256",
  8895. "typeString": "uint256"
  8896. }
  8897. }
  8898. ],
  8899. "expression": {
  8900. "argumentTypes": [
  8901. {
  8902. "typeIdentifier": "t_stringliteral_f666715aa6b8e8ce32bd39173f51eea0643fdd246a826c4756c2f168022b6eb5",
  8903. "typeString": "literal_string \"log(uint256,uint256)\""
  8904. },
  8905. {
  8906. "typeIdentifier": "t_uint256",
  8907. "typeString": "uint256"
  8908. },
  8909. {
  8910. "typeIdentifier": "t_uint256",
  8911. "typeString": "uint256"
  8912. }
  8913. ],
  8914. "expression": {
  8915. "id": 7922,
  8916. "name": "abi",
  8917. "nodeType": "Identifier",
  8918. "overloadedDeclarations": [],
  8919. "referencedDeclaration": -1,
  8920. "src": "6512:3:50",
  8921. "typeDescriptions": {
  8922. "typeIdentifier": "t_magic_abi",
  8923. "typeString": "abi"
  8924. }
  8925. },
  8926. "id": 7923,
  8927. "isConstant": false,
  8928. "isLValue": false,
  8929. "isPure": true,
  8930. "lValueRequested": false,
  8931. "memberLocation": "6516:19:50",
  8932. "memberName": "encodeWithSignature",
  8933. "nodeType": "MemberAccess",
  8934. "src": "6512:23:50",
  8935. "typeDescriptions": {
  8936. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  8937. "typeString": "function (string memory) pure returns (bytes memory)"
  8938. }
  8939. },
  8940. "id": 7927,
  8941. "isConstant": false,
  8942. "isLValue": false,
  8943. "isPure": false,
  8944. "kind": "functionCall",
  8945. "lValueRequested": false,
  8946. "nameLocations": [],
  8947. "names": [],
  8948. "nodeType": "FunctionCall",
  8949. "src": "6512:55:50",
  8950. "tryCall": false,
  8951. "typeDescriptions": {
  8952. "typeIdentifier": "t_bytes_memory_ptr",
  8953. "typeString": "bytes memory"
  8954. }
  8955. }
  8956. ],
  8957. "expression": {
  8958. "argumentTypes": [
  8959. {
  8960. "typeIdentifier": "t_bytes_memory_ptr",
  8961. "typeString": "bytes memory"
  8962. }
  8963. ],
  8964. "id": 7921,
  8965. "name": "_sendLogPayload",
  8966. "nodeType": "Identifier",
  8967. "overloadedDeclarations": [],
  8968. "referencedDeclaration": 7315,
  8969. "src": "6496:15:50",
  8970. "typeDescriptions": {
  8971. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  8972. "typeString": "function (bytes memory) pure"
  8973. }
  8974. },
  8975. "id": 7928,
  8976. "isConstant": false,
  8977. "isLValue": false,
  8978. "isPure": false,
  8979. "kind": "functionCall",
  8980. "lValueRequested": false,
  8981. "nameLocations": [],
  8982. "names": [],
  8983. "nodeType": "FunctionCall",
  8984. "src": "6496:72:50",
  8985. "tryCall": false,
  8986. "typeDescriptions": {
  8987. "typeIdentifier": "t_tuple$__$",
  8988. "typeString": "tuple()"
  8989. }
  8990. },
  8991. "id": 7929,
  8992. "nodeType": "ExpressionStatement",
  8993. "src": "6496:72:50"
  8994. }
  8995. ]
  8996. },
  8997. "implemented": true,
  8998. "kind": "function",
  8999. "modifiers": [],
  9000. "name": "log",
  9001. "nameLocation": "6444:3:50",
  9002. "parameters": {
  9003. "id": 7919,
  9004. "nodeType": "ParameterList",
  9005. "parameters": [
  9006. {
  9007. "constant": false,
  9008. "id": 7916,
  9009. "mutability": "mutable",
  9010. "name": "p0",
  9011. "nameLocation": "6456:2:50",
  9012. "nodeType": "VariableDeclaration",
  9013. "scope": 7931,
  9014. "src": "6448:10:50",
  9015. "stateVariable": false,
  9016. "storageLocation": "default",
  9017. "typeDescriptions": {
  9018. "typeIdentifier": "t_uint256",
  9019. "typeString": "uint256"
  9020. },
  9021. "typeName": {
  9022. "id": 7915,
  9023. "name": "uint256",
  9024. "nodeType": "ElementaryTypeName",
  9025. "src": "6448:7:50",
  9026. "typeDescriptions": {
  9027. "typeIdentifier": "t_uint256",
  9028. "typeString": "uint256"
  9029. }
  9030. },
  9031. "visibility": "internal"
  9032. },
  9033. {
  9034. "constant": false,
  9035. "id": 7918,
  9036. "mutability": "mutable",
  9037. "name": "p1",
  9038. "nameLocation": "6468:2:50",
  9039. "nodeType": "VariableDeclaration",
  9040. "scope": 7931,
  9041. "src": "6460:10:50",
  9042. "stateVariable": false,
  9043. "storageLocation": "default",
  9044. "typeDescriptions": {
  9045. "typeIdentifier": "t_uint256",
  9046. "typeString": "uint256"
  9047. },
  9048. "typeName": {
  9049. "id": 7917,
  9050. "name": "uint256",
  9051. "nodeType": "ElementaryTypeName",
  9052. "src": "6460:7:50",
  9053. "typeDescriptions": {
  9054. "typeIdentifier": "t_uint256",
  9055. "typeString": "uint256"
  9056. }
  9057. },
  9058. "visibility": "internal"
  9059. }
  9060. ],
  9061. "src": "6447:24:50"
  9062. },
  9063. "returnParameters": {
  9064. "id": 7920,
  9065. "nodeType": "ParameterList",
  9066. "parameters": [],
  9067. "src": "6486:0:50"
  9068. },
  9069. "scope": 15355,
  9070. "stateMutability": "pure",
  9071. "virtual": false,
  9072. "visibility": "internal"
  9073. },
  9074. {
  9075. "id": 7948,
  9076. "nodeType": "FunctionDefinition",
  9077. "src": "6581:145:50",
  9078. "nodes": [],
  9079. "body": {
  9080. "id": 7947,
  9081. "nodeType": "Block",
  9082. "src": "6638:88:50",
  9083. "nodes": [],
  9084. "statements": [
  9085. {
  9086. "expression": {
  9087. "arguments": [
  9088. {
  9089. "arguments": [
  9090. {
  9091. "hexValue": "6c6f672875696e743235362c737472696e6729",
  9092. "id": 7941,
  9093. "isConstant": false,
  9094. "isLValue": false,
  9095. "isPure": true,
  9096. "kind": "string",
  9097. "lValueRequested": false,
  9098. "nodeType": "Literal",
  9099. "src": "6688:21:50",
  9100. "typeDescriptions": {
  9101. "typeIdentifier": "t_stringliteral_643fd0df4c7dfb004c6169012c8aec390bd7246941d7fe467022f10f2da987c3",
  9102. "typeString": "literal_string \"log(uint256,string)\""
  9103. },
  9104. "value": "log(uint256,string)"
  9105. },
  9106. {
  9107. "id": 7942,
  9108. "name": "p0",
  9109. "nodeType": "Identifier",
  9110. "overloadedDeclarations": [],
  9111. "referencedDeclaration": 7933,
  9112. "src": "6711:2:50",
  9113. "typeDescriptions": {
  9114. "typeIdentifier": "t_uint256",
  9115. "typeString": "uint256"
  9116. }
  9117. },
  9118. {
  9119. "id": 7943,
  9120. "name": "p1",
  9121. "nodeType": "Identifier",
  9122. "overloadedDeclarations": [],
  9123. "referencedDeclaration": 7935,
  9124. "src": "6715:2:50",
  9125. "typeDescriptions": {
  9126. "typeIdentifier": "t_string_memory_ptr",
  9127. "typeString": "string memory"
  9128. }
  9129. }
  9130. ],
  9131. "expression": {
  9132. "argumentTypes": [
  9133. {
  9134. "typeIdentifier": "t_stringliteral_643fd0df4c7dfb004c6169012c8aec390bd7246941d7fe467022f10f2da987c3",
  9135. "typeString": "literal_string \"log(uint256,string)\""
  9136. },
  9137. {
  9138. "typeIdentifier": "t_uint256",
  9139. "typeString": "uint256"
  9140. },
  9141. {
  9142. "typeIdentifier": "t_string_memory_ptr",
  9143. "typeString": "string memory"
  9144. }
  9145. ],
  9146. "expression": {
  9147. "id": 7939,
  9148. "name": "abi",
  9149. "nodeType": "Identifier",
  9150. "overloadedDeclarations": [],
  9151. "referencedDeclaration": -1,
  9152. "src": "6664:3:50",
  9153. "typeDescriptions": {
  9154. "typeIdentifier": "t_magic_abi",
  9155. "typeString": "abi"
  9156. }
  9157. },
  9158. "id": 7940,
  9159. "isConstant": false,
  9160. "isLValue": false,
  9161. "isPure": true,
  9162. "lValueRequested": false,
  9163. "memberLocation": "6668:19:50",
  9164. "memberName": "encodeWithSignature",
  9165. "nodeType": "MemberAccess",
  9166. "src": "6664:23:50",
  9167. "typeDescriptions": {
  9168. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  9169. "typeString": "function (string memory) pure returns (bytes memory)"
  9170. }
  9171. },
  9172. "id": 7944,
  9173. "isConstant": false,
  9174. "isLValue": false,
  9175. "isPure": false,
  9176. "kind": "functionCall",
  9177. "lValueRequested": false,
  9178. "nameLocations": [],
  9179. "names": [],
  9180. "nodeType": "FunctionCall",
  9181. "src": "6664:54:50",
  9182. "tryCall": false,
  9183. "typeDescriptions": {
  9184. "typeIdentifier": "t_bytes_memory_ptr",
  9185. "typeString": "bytes memory"
  9186. }
  9187. }
  9188. ],
  9189. "expression": {
  9190. "argumentTypes": [
  9191. {
  9192. "typeIdentifier": "t_bytes_memory_ptr",
  9193. "typeString": "bytes memory"
  9194. }
  9195. ],
  9196. "id": 7938,
  9197. "name": "_sendLogPayload",
  9198. "nodeType": "Identifier",
  9199. "overloadedDeclarations": [],
  9200. "referencedDeclaration": 7315,
  9201. "src": "6648:15:50",
  9202. "typeDescriptions": {
  9203. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  9204. "typeString": "function (bytes memory) pure"
  9205. }
  9206. },
  9207. "id": 7945,
  9208. "isConstant": false,
  9209. "isLValue": false,
  9210. "isPure": false,
  9211. "kind": "functionCall",
  9212. "lValueRequested": false,
  9213. "nameLocations": [],
  9214. "names": [],
  9215. "nodeType": "FunctionCall",
  9216. "src": "6648:71:50",
  9217. "tryCall": false,
  9218. "typeDescriptions": {
  9219. "typeIdentifier": "t_tuple$__$",
  9220. "typeString": "tuple()"
  9221. }
  9222. },
  9223. "id": 7946,
  9224. "nodeType": "ExpressionStatement",
  9225. "src": "6648:71:50"
  9226. }
  9227. ]
  9228. },
  9229. "implemented": true,
  9230. "kind": "function",
  9231. "modifiers": [],
  9232. "name": "log",
  9233. "nameLocation": "6590:3:50",
  9234. "parameters": {
  9235. "id": 7936,
  9236. "nodeType": "ParameterList",
  9237. "parameters": [
  9238. {
  9239. "constant": false,
  9240. "id": 7933,
  9241. "mutability": "mutable",
  9242. "name": "p0",
  9243. "nameLocation": "6602:2:50",
  9244. "nodeType": "VariableDeclaration",
  9245. "scope": 7948,
  9246. "src": "6594:10:50",
  9247. "stateVariable": false,
  9248. "storageLocation": "default",
  9249. "typeDescriptions": {
  9250. "typeIdentifier": "t_uint256",
  9251. "typeString": "uint256"
  9252. },
  9253. "typeName": {
  9254. "id": 7932,
  9255. "name": "uint256",
  9256. "nodeType": "ElementaryTypeName",
  9257. "src": "6594:7:50",
  9258. "typeDescriptions": {
  9259. "typeIdentifier": "t_uint256",
  9260. "typeString": "uint256"
  9261. }
  9262. },
  9263. "visibility": "internal"
  9264. },
  9265. {
  9266. "constant": false,
  9267. "id": 7935,
  9268. "mutability": "mutable",
  9269. "name": "p1",
  9270. "nameLocation": "6620:2:50",
  9271. "nodeType": "VariableDeclaration",
  9272. "scope": 7948,
  9273. "src": "6606:16:50",
  9274. "stateVariable": false,
  9275. "storageLocation": "memory",
  9276. "typeDescriptions": {
  9277. "typeIdentifier": "t_string_memory_ptr",
  9278. "typeString": "string"
  9279. },
  9280. "typeName": {
  9281. "id": 7934,
  9282. "name": "string",
  9283. "nodeType": "ElementaryTypeName",
  9284. "src": "6606:6:50",
  9285. "typeDescriptions": {
  9286. "typeIdentifier": "t_string_storage_ptr",
  9287. "typeString": "string"
  9288. }
  9289. },
  9290. "visibility": "internal"
  9291. }
  9292. ],
  9293. "src": "6593:30:50"
  9294. },
  9295. "returnParameters": {
  9296. "id": 7937,
  9297. "nodeType": "ParameterList",
  9298. "parameters": [],
  9299. "src": "6638:0:50"
  9300. },
  9301. "scope": 15355,
  9302. "stateMutability": "pure",
  9303. "virtual": false,
  9304. "visibility": "internal"
  9305. },
  9306. {
  9307. "id": 7965,
  9308. "nodeType": "FunctionDefinition",
  9309. "src": "6732:134:50",
  9310. "nodes": [],
  9311. "body": {
  9312. "id": 7964,
  9313. "nodeType": "Block",
  9314. "src": "6780:86:50",
  9315. "nodes": [],
  9316. "statements": [
  9317. {
  9318. "expression": {
  9319. "arguments": [
  9320. {
  9321. "arguments": [
  9322. {
  9323. "hexValue": "6c6f672875696e743235362c626f6f6c29",
  9324. "id": 7958,
  9325. "isConstant": false,
  9326. "isLValue": false,
  9327. "isPure": true,
  9328. "kind": "string",
  9329. "lValueRequested": false,
  9330. "nodeType": "Literal",
  9331. "src": "6830:19:50",
  9332. "typeDescriptions": {
  9333. "typeIdentifier": "t_stringliteral_1c9d7eb3a75db315653a5c0996fcea52a2b2692643ce8ace4d8b12bb9da6c1f2",
  9334. "typeString": "literal_string \"log(uint256,bool)\""
  9335. },
  9336. "value": "log(uint256,bool)"
  9337. },
  9338. {
  9339. "id": 7959,
  9340. "name": "p0",
  9341. "nodeType": "Identifier",
  9342. "overloadedDeclarations": [],
  9343. "referencedDeclaration": 7950,
  9344. "src": "6851:2:50",
  9345. "typeDescriptions": {
  9346. "typeIdentifier": "t_uint256",
  9347. "typeString": "uint256"
  9348. }
  9349. },
  9350. {
  9351. "id": 7960,
  9352. "name": "p1",
  9353. "nodeType": "Identifier",
  9354. "overloadedDeclarations": [],
  9355. "referencedDeclaration": 7952,
  9356. "src": "6855:2:50",
  9357. "typeDescriptions": {
  9358. "typeIdentifier": "t_bool",
  9359. "typeString": "bool"
  9360. }
  9361. }
  9362. ],
  9363. "expression": {
  9364. "argumentTypes": [
  9365. {
  9366. "typeIdentifier": "t_stringliteral_1c9d7eb3a75db315653a5c0996fcea52a2b2692643ce8ace4d8b12bb9da6c1f2",
  9367. "typeString": "literal_string \"log(uint256,bool)\""
  9368. },
  9369. {
  9370. "typeIdentifier": "t_uint256",
  9371. "typeString": "uint256"
  9372. },
  9373. {
  9374. "typeIdentifier": "t_bool",
  9375. "typeString": "bool"
  9376. }
  9377. ],
  9378. "expression": {
  9379. "id": 7956,
  9380. "name": "abi",
  9381. "nodeType": "Identifier",
  9382. "overloadedDeclarations": [],
  9383. "referencedDeclaration": -1,
  9384. "src": "6806:3:50",
  9385. "typeDescriptions": {
  9386. "typeIdentifier": "t_magic_abi",
  9387. "typeString": "abi"
  9388. }
  9389. },
  9390. "id": 7957,
  9391. "isConstant": false,
  9392. "isLValue": false,
  9393. "isPure": true,
  9394. "lValueRequested": false,
  9395. "memberLocation": "6810:19:50",
  9396. "memberName": "encodeWithSignature",
  9397. "nodeType": "MemberAccess",
  9398. "src": "6806:23:50",
  9399. "typeDescriptions": {
  9400. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  9401. "typeString": "function (string memory) pure returns (bytes memory)"
  9402. }
  9403. },
  9404. "id": 7961,
  9405. "isConstant": false,
  9406. "isLValue": false,
  9407. "isPure": false,
  9408. "kind": "functionCall",
  9409. "lValueRequested": false,
  9410. "nameLocations": [],
  9411. "names": [],
  9412. "nodeType": "FunctionCall",
  9413. "src": "6806:52:50",
  9414. "tryCall": false,
  9415. "typeDescriptions": {
  9416. "typeIdentifier": "t_bytes_memory_ptr",
  9417. "typeString": "bytes memory"
  9418. }
  9419. }
  9420. ],
  9421. "expression": {
  9422. "argumentTypes": [
  9423. {
  9424. "typeIdentifier": "t_bytes_memory_ptr",
  9425. "typeString": "bytes memory"
  9426. }
  9427. ],
  9428. "id": 7955,
  9429. "name": "_sendLogPayload",
  9430. "nodeType": "Identifier",
  9431. "overloadedDeclarations": [],
  9432. "referencedDeclaration": 7315,
  9433. "src": "6790:15:50",
  9434. "typeDescriptions": {
  9435. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  9436. "typeString": "function (bytes memory) pure"
  9437. }
  9438. },
  9439. "id": 7962,
  9440. "isConstant": false,
  9441. "isLValue": false,
  9442. "isPure": false,
  9443. "kind": "functionCall",
  9444. "lValueRequested": false,
  9445. "nameLocations": [],
  9446. "names": [],
  9447. "nodeType": "FunctionCall",
  9448. "src": "6790:69:50",
  9449. "tryCall": false,
  9450. "typeDescriptions": {
  9451. "typeIdentifier": "t_tuple$__$",
  9452. "typeString": "tuple()"
  9453. }
  9454. },
  9455. "id": 7963,
  9456. "nodeType": "ExpressionStatement",
  9457. "src": "6790:69:50"
  9458. }
  9459. ]
  9460. },
  9461. "implemented": true,
  9462. "kind": "function",
  9463. "modifiers": [],
  9464. "name": "log",
  9465. "nameLocation": "6741:3:50",
  9466. "parameters": {
  9467. "id": 7953,
  9468. "nodeType": "ParameterList",
  9469. "parameters": [
  9470. {
  9471. "constant": false,
  9472. "id": 7950,
  9473. "mutability": "mutable",
  9474. "name": "p0",
  9475. "nameLocation": "6753:2:50",
  9476. "nodeType": "VariableDeclaration",
  9477. "scope": 7965,
  9478. "src": "6745:10:50",
  9479. "stateVariable": false,
  9480. "storageLocation": "default",
  9481. "typeDescriptions": {
  9482. "typeIdentifier": "t_uint256",
  9483. "typeString": "uint256"
  9484. },
  9485. "typeName": {
  9486. "id": 7949,
  9487. "name": "uint256",
  9488. "nodeType": "ElementaryTypeName",
  9489. "src": "6745:7:50",
  9490. "typeDescriptions": {
  9491. "typeIdentifier": "t_uint256",
  9492. "typeString": "uint256"
  9493. }
  9494. },
  9495. "visibility": "internal"
  9496. },
  9497. {
  9498. "constant": false,
  9499. "id": 7952,
  9500. "mutability": "mutable",
  9501. "name": "p1",
  9502. "nameLocation": "6762:2:50",
  9503. "nodeType": "VariableDeclaration",
  9504. "scope": 7965,
  9505. "src": "6757:7:50",
  9506. "stateVariable": false,
  9507. "storageLocation": "default",
  9508. "typeDescriptions": {
  9509. "typeIdentifier": "t_bool",
  9510. "typeString": "bool"
  9511. },
  9512. "typeName": {
  9513. "id": 7951,
  9514. "name": "bool",
  9515. "nodeType": "ElementaryTypeName",
  9516. "src": "6757:4:50",
  9517. "typeDescriptions": {
  9518. "typeIdentifier": "t_bool",
  9519. "typeString": "bool"
  9520. }
  9521. },
  9522. "visibility": "internal"
  9523. }
  9524. ],
  9525. "src": "6744:21:50"
  9526. },
  9527. "returnParameters": {
  9528. "id": 7954,
  9529. "nodeType": "ParameterList",
  9530. "parameters": [],
  9531. "src": "6780:0:50"
  9532. },
  9533. "scope": 15355,
  9534. "stateMutability": "pure",
  9535. "virtual": false,
  9536. "visibility": "internal"
  9537. },
  9538. {
  9539. "id": 7982,
  9540. "nodeType": "FunctionDefinition",
  9541. "src": "6872:140:50",
  9542. "nodes": [],
  9543. "body": {
  9544. "id": 7981,
  9545. "nodeType": "Block",
  9546. "src": "6923:89:50",
  9547. "nodes": [],
  9548. "statements": [
  9549. {
  9550. "expression": {
  9551. "arguments": [
  9552. {
  9553. "arguments": [
  9554. {
  9555. "hexValue": "6c6f672875696e743235362c6164647265737329",
  9556. "id": 7975,
  9557. "isConstant": false,
  9558. "isLValue": false,
  9559. "isPure": true,
  9560. "kind": "string",
  9561. "lValueRequested": false,
  9562. "nodeType": "Literal",
  9563. "src": "6973:22:50",
  9564. "typeDescriptions": {
  9565. "typeIdentifier": "t_stringliteral_69276c86d20522c49707664308d424b84905ef92219f3146bcaacedc72eaed27",
  9566. "typeString": "literal_string \"log(uint256,address)\""
  9567. },
  9568. "value": "log(uint256,address)"
  9569. },
  9570. {
  9571. "id": 7976,
  9572. "name": "p0",
  9573. "nodeType": "Identifier",
  9574. "overloadedDeclarations": [],
  9575. "referencedDeclaration": 7967,
  9576. "src": "6997:2:50",
  9577. "typeDescriptions": {
  9578. "typeIdentifier": "t_uint256",
  9579. "typeString": "uint256"
  9580. }
  9581. },
  9582. {
  9583. "id": 7977,
  9584. "name": "p1",
  9585. "nodeType": "Identifier",
  9586. "overloadedDeclarations": [],
  9587. "referencedDeclaration": 7969,
  9588. "src": "7001:2:50",
  9589. "typeDescriptions": {
  9590. "typeIdentifier": "t_address",
  9591. "typeString": "address"
  9592. }
  9593. }
  9594. ],
  9595. "expression": {
  9596. "argumentTypes": [
  9597. {
  9598. "typeIdentifier": "t_stringliteral_69276c86d20522c49707664308d424b84905ef92219f3146bcaacedc72eaed27",
  9599. "typeString": "literal_string \"log(uint256,address)\""
  9600. },
  9601. {
  9602. "typeIdentifier": "t_uint256",
  9603. "typeString": "uint256"
  9604. },
  9605. {
  9606. "typeIdentifier": "t_address",
  9607. "typeString": "address"
  9608. }
  9609. ],
  9610. "expression": {
  9611. "id": 7973,
  9612. "name": "abi",
  9613. "nodeType": "Identifier",
  9614. "overloadedDeclarations": [],
  9615. "referencedDeclaration": -1,
  9616. "src": "6949:3:50",
  9617. "typeDescriptions": {
  9618. "typeIdentifier": "t_magic_abi",
  9619. "typeString": "abi"
  9620. }
  9621. },
  9622. "id": 7974,
  9623. "isConstant": false,
  9624. "isLValue": false,
  9625. "isPure": true,
  9626. "lValueRequested": false,
  9627. "memberLocation": "6953:19:50",
  9628. "memberName": "encodeWithSignature",
  9629. "nodeType": "MemberAccess",
  9630. "src": "6949:23:50",
  9631. "typeDescriptions": {
  9632. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  9633. "typeString": "function (string memory) pure returns (bytes memory)"
  9634. }
  9635. },
  9636. "id": 7978,
  9637. "isConstant": false,
  9638. "isLValue": false,
  9639. "isPure": false,
  9640. "kind": "functionCall",
  9641. "lValueRequested": false,
  9642. "nameLocations": [],
  9643. "names": [],
  9644. "nodeType": "FunctionCall",
  9645. "src": "6949:55:50",
  9646. "tryCall": false,
  9647. "typeDescriptions": {
  9648. "typeIdentifier": "t_bytes_memory_ptr",
  9649. "typeString": "bytes memory"
  9650. }
  9651. }
  9652. ],
  9653. "expression": {
  9654. "argumentTypes": [
  9655. {
  9656. "typeIdentifier": "t_bytes_memory_ptr",
  9657. "typeString": "bytes memory"
  9658. }
  9659. ],
  9660. "id": 7972,
  9661. "name": "_sendLogPayload",
  9662. "nodeType": "Identifier",
  9663. "overloadedDeclarations": [],
  9664. "referencedDeclaration": 7315,
  9665. "src": "6933:15:50",
  9666. "typeDescriptions": {
  9667. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  9668. "typeString": "function (bytes memory) pure"
  9669. }
  9670. },
  9671. "id": 7979,
  9672. "isConstant": false,
  9673. "isLValue": false,
  9674. "isPure": false,
  9675. "kind": "functionCall",
  9676. "lValueRequested": false,
  9677. "nameLocations": [],
  9678. "names": [],
  9679. "nodeType": "FunctionCall",
  9680. "src": "6933:72:50",
  9681. "tryCall": false,
  9682. "typeDescriptions": {
  9683. "typeIdentifier": "t_tuple$__$",
  9684. "typeString": "tuple()"
  9685. }
  9686. },
  9687. "id": 7980,
  9688. "nodeType": "ExpressionStatement",
  9689. "src": "6933:72:50"
  9690. }
  9691. ]
  9692. },
  9693. "implemented": true,
  9694. "kind": "function",
  9695. "modifiers": [],
  9696. "name": "log",
  9697. "nameLocation": "6881:3:50",
  9698. "parameters": {
  9699. "id": 7970,
  9700. "nodeType": "ParameterList",
  9701. "parameters": [
  9702. {
  9703. "constant": false,
  9704. "id": 7967,
  9705. "mutability": "mutable",
  9706. "name": "p0",
  9707. "nameLocation": "6893:2:50",
  9708. "nodeType": "VariableDeclaration",
  9709. "scope": 7982,
  9710. "src": "6885:10:50",
  9711. "stateVariable": false,
  9712. "storageLocation": "default",
  9713. "typeDescriptions": {
  9714. "typeIdentifier": "t_uint256",
  9715. "typeString": "uint256"
  9716. },
  9717. "typeName": {
  9718. "id": 7966,
  9719. "name": "uint256",
  9720. "nodeType": "ElementaryTypeName",
  9721. "src": "6885:7:50",
  9722. "typeDescriptions": {
  9723. "typeIdentifier": "t_uint256",
  9724. "typeString": "uint256"
  9725. }
  9726. },
  9727. "visibility": "internal"
  9728. },
  9729. {
  9730. "constant": false,
  9731. "id": 7969,
  9732. "mutability": "mutable",
  9733. "name": "p1",
  9734. "nameLocation": "6905:2:50",
  9735. "nodeType": "VariableDeclaration",
  9736. "scope": 7982,
  9737. "src": "6897:10:50",
  9738. "stateVariable": false,
  9739. "storageLocation": "default",
  9740. "typeDescriptions": {
  9741. "typeIdentifier": "t_address",
  9742. "typeString": "address"
  9743. },
  9744. "typeName": {
  9745. "id": 7968,
  9746. "name": "address",
  9747. "nodeType": "ElementaryTypeName",
  9748. "src": "6897:7:50",
  9749. "stateMutability": "nonpayable",
  9750. "typeDescriptions": {
  9751. "typeIdentifier": "t_address",
  9752. "typeString": "address"
  9753. }
  9754. },
  9755. "visibility": "internal"
  9756. }
  9757. ],
  9758. "src": "6884:24:50"
  9759. },
  9760. "returnParameters": {
  9761. "id": 7971,
  9762. "nodeType": "ParameterList",
  9763. "parameters": [],
  9764. "src": "6923:0:50"
  9765. },
  9766. "scope": 15355,
  9767. "stateMutability": "pure",
  9768. "virtual": false,
  9769. "visibility": "internal"
  9770. },
  9771. {
  9772. "id": 7999,
  9773. "nodeType": "FunctionDefinition",
  9774. "src": "7018:145:50",
  9775. "nodes": [],
  9776. "body": {
  9777. "id": 7998,
  9778. "nodeType": "Block",
  9779. "src": "7075:88:50",
  9780. "nodes": [],
  9781. "statements": [
  9782. {
  9783. "expression": {
  9784. "arguments": [
  9785. {
  9786. "arguments": [
  9787. {
  9788. "hexValue": "6c6f6728737472696e672c75696e7432353629",
  9789. "id": 7992,
  9790. "isConstant": false,
  9791. "isLValue": false,
  9792. "isPure": true,
  9793. "kind": "string",
  9794. "lValueRequested": false,
  9795. "nodeType": "Literal",
  9796. "src": "7125:21:50",
  9797. "typeDescriptions": {
  9798. "typeIdentifier": "t_stringliteral_b60e72ccf6d57ab53eb84d7e94a9545806ed7f93c4d5673f11a64f03471e584e",
  9799. "typeString": "literal_string \"log(string,uint256)\""
  9800. },
  9801. "value": "log(string,uint256)"
  9802. },
  9803. {
  9804. "id": 7993,
  9805. "name": "p0",
  9806. "nodeType": "Identifier",
  9807. "overloadedDeclarations": [],
  9808. "referencedDeclaration": 7984,
  9809. "src": "7148:2:50",
  9810. "typeDescriptions": {
  9811. "typeIdentifier": "t_string_memory_ptr",
  9812. "typeString": "string memory"
  9813. }
  9814. },
  9815. {
  9816. "id": 7994,
  9817. "name": "p1",
  9818. "nodeType": "Identifier",
  9819. "overloadedDeclarations": [],
  9820. "referencedDeclaration": 7986,
  9821. "src": "7152:2:50",
  9822. "typeDescriptions": {
  9823. "typeIdentifier": "t_uint256",
  9824. "typeString": "uint256"
  9825. }
  9826. }
  9827. ],
  9828. "expression": {
  9829. "argumentTypes": [
  9830. {
  9831. "typeIdentifier": "t_stringliteral_b60e72ccf6d57ab53eb84d7e94a9545806ed7f93c4d5673f11a64f03471e584e",
  9832. "typeString": "literal_string \"log(string,uint256)\""
  9833. },
  9834. {
  9835. "typeIdentifier": "t_string_memory_ptr",
  9836. "typeString": "string memory"
  9837. },
  9838. {
  9839. "typeIdentifier": "t_uint256",
  9840. "typeString": "uint256"
  9841. }
  9842. ],
  9843. "expression": {
  9844. "id": 7990,
  9845. "name": "abi",
  9846. "nodeType": "Identifier",
  9847. "overloadedDeclarations": [],
  9848. "referencedDeclaration": -1,
  9849. "src": "7101:3:50",
  9850. "typeDescriptions": {
  9851. "typeIdentifier": "t_magic_abi",
  9852. "typeString": "abi"
  9853. }
  9854. },
  9855. "id": 7991,
  9856. "isConstant": false,
  9857. "isLValue": false,
  9858. "isPure": true,
  9859. "lValueRequested": false,
  9860. "memberLocation": "7105:19:50",
  9861. "memberName": "encodeWithSignature",
  9862. "nodeType": "MemberAccess",
  9863. "src": "7101:23:50",
  9864. "typeDescriptions": {
  9865. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  9866. "typeString": "function (string memory) pure returns (bytes memory)"
  9867. }
  9868. },
  9869. "id": 7995,
  9870. "isConstant": false,
  9871. "isLValue": false,
  9872. "isPure": false,
  9873. "kind": "functionCall",
  9874. "lValueRequested": false,
  9875. "nameLocations": [],
  9876. "names": [],
  9877. "nodeType": "FunctionCall",
  9878. "src": "7101:54:50",
  9879. "tryCall": false,
  9880. "typeDescriptions": {
  9881. "typeIdentifier": "t_bytes_memory_ptr",
  9882. "typeString": "bytes memory"
  9883. }
  9884. }
  9885. ],
  9886. "expression": {
  9887. "argumentTypes": [
  9888. {
  9889. "typeIdentifier": "t_bytes_memory_ptr",
  9890. "typeString": "bytes memory"
  9891. }
  9892. ],
  9893. "id": 7989,
  9894. "name": "_sendLogPayload",
  9895. "nodeType": "Identifier",
  9896. "overloadedDeclarations": [],
  9897. "referencedDeclaration": 7315,
  9898. "src": "7085:15:50",
  9899. "typeDescriptions": {
  9900. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  9901. "typeString": "function (bytes memory) pure"
  9902. }
  9903. },
  9904. "id": 7996,
  9905. "isConstant": false,
  9906. "isLValue": false,
  9907. "isPure": false,
  9908. "kind": "functionCall",
  9909. "lValueRequested": false,
  9910. "nameLocations": [],
  9911. "names": [],
  9912. "nodeType": "FunctionCall",
  9913. "src": "7085:71:50",
  9914. "tryCall": false,
  9915. "typeDescriptions": {
  9916. "typeIdentifier": "t_tuple$__$",
  9917. "typeString": "tuple()"
  9918. }
  9919. },
  9920. "id": 7997,
  9921. "nodeType": "ExpressionStatement",
  9922. "src": "7085:71:50"
  9923. }
  9924. ]
  9925. },
  9926. "implemented": true,
  9927. "kind": "function",
  9928. "modifiers": [],
  9929. "name": "log",
  9930. "nameLocation": "7027:3:50",
  9931. "parameters": {
  9932. "id": 7987,
  9933. "nodeType": "ParameterList",
  9934. "parameters": [
  9935. {
  9936. "constant": false,
  9937. "id": 7984,
  9938. "mutability": "mutable",
  9939. "name": "p0",
  9940. "nameLocation": "7045:2:50",
  9941. "nodeType": "VariableDeclaration",
  9942. "scope": 7999,
  9943. "src": "7031:16:50",
  9944. "stateVariable": false,
  9945. "storageLocation": "memory",
  9946. "typeDescriptions": {
  9947. "typeIdentifier": "t_string_memory_ptr",
  9948. "typeString": "string"
  9949. },
  9950. "typeName": {
  9951. "id": 7983,
  9952. "name": "string",
  9953. "nodeType": "ElementaryTypeName",
  9954. "src": "7031:6:50",
  9955. "typeDescriptions": {
  9956. "typeIdentifier": "t_string_storage_ptr",
  9957. "typeString": "string"
  9958. }
  9959. },
  9960. "visibility": "internal"
  9961. },
  9962. {
  9963. "constant": false,
  9964. "id": 7986,
  9965. "mutability": "mutable",
  9966. "name": "p1",
  9967. "nameLocation": "7057:2:50",
  9968. "nodeType": "VariableDeclaration",
  9969. "scope": 7999,
  9970. "src": "7049:10:50",
  9971. "stateVariable": false,
  9972. "storageLocation": "default",
  9973. "typeDescriptions": {
  9974. "typeIdentifier": "t_uint256",
  9975. "typeString": "uint256"
  9976. },
  9977. "typeName": {
  9978. "id": 7985,
  9979. "name": "uint256",
  9980. "nodeType": "ElementaryTypeName",
  9981. "src": "7049:7:50",
  9982. "typeDescriptions": {
  9983. "typeIdentifier": "t_uint256",
  9984. "typeString": "uint256"
  9985. }
  9986. },
  9987. "visibility": "internal"
  9988. }
  9989. ],
  9990. "src": "7030:30:50"
  9991. },
  9992. "returnParameters": {
  9993. "id": 7988,
  9994. "nodeType": "ParameterList",
  9995. "parameters": [],
  9996. "src": "7075:0:50"
  9997. },
  9998. "scope": 15355,
  9999. "stateMutability": "pure",
  10000. "virtual": false,
  10001. "visibility": "internal"
  10002. },
  10003. {
  10004. "id": 8016,
  10005. "nodeType": "FunctionDefinition",
  10006. "src": "7169:150:50",
  10007. "nodes": [],
  10008. "body": {
  10009. "id": 8015,
  10010. "nodeType": "Block",
  10011. "src": "7232:87:50",
  10012. "nodes": [],
  10013. "statements": [
  10014. {
  10015. "expression": {
  10016. "arguments": [
  10017. {
  10018. "arguments": [
  10019. {
  10020. "hexValue": "6c6f6728737472696e672c737472696e6729",
  10021. "id": 8009,
  10022. "isConstant": false,
  10023. "isLValue": false,
  10024. "isPure": true,
  10025. "kind": "string",
  10026. "lValueRequested": false,
  10027. "nodeType": "Literal",
  10028. "src": "7282:20:50",
  10029. "typeDescriptions": {
  10030. "typeIdentifier": "t_stringliteral_4b5c4277d556d03fbf5ee534fba41dc13982b44f2fa82f1d48fdd8b5b5b692ac",
  10031. "typeString": "literal_string \"log(string,string)\""
  10032. },
  10033. "value": "log(string,string)"
  10034. },
  10035. {
  10036. "id": 8010,
  10037. "name": "p0",
  10038. "nodeType": "Identifier",
  10039. "overloadedDeclarations": [],
  10040. "referencedDeclaration": 8001,
  10041. "src": "7304:2:50",
  10042. "typeDescriptions": {
  10043. "typeIdentifier": "t_string_memory_ptr",
  10044. "typeString": "string memory"
  10045. }
  10046. },
  10047. {
  10048. "id": 8011,
  10049. "name": "p1",
  10050. "nodeType": "Identifier",
  10051. "overloadedDeclarations": [],
  10052. "referencedDeclaration": 8003,
  10053. "src": "7308:2:50",
  10054. "typeDescriptions": {
  10055. "typeIdentifier": "t_string_memory_ptr",
  10056. "typeString": "string memory"
  10057. }
  10058. }
  10059. ],
  10060. "expression": {
  10061. "argumentTypes": [
  10062. {
  10063. "typeIdentifier": "t_stringliteral_4b5c4277d556d03fbf5ee534fba41dc13982b44f2fa82f1d48fdd8b5b5b692ac",
  10064. "typeString": "literal_string \"log(string,string)\""
  10065. },
  10066. {
  10067. "typeIdentifier": "t_string_memory_ptr",
  10068. "typeString": "string memory"
  10069. },
  10070. {
  10071. "typeIdentifier": "t_string_memory_ptr",
  10072. "typeString": "string memory"
  10073. }
  10074. ],
  10075. "expression": {
  10076. "id": 8007,
  10077. "name": "abi",
  10078. "nodeType": "Identifier",
  10079. "overloadedDeclarations": [],
  10080. "referencedDeclaration": -1,
  10081. "src": "7258:3:50",
  10082. "typeDescriptions": {
  10083. "typeIdentifier": "t_magic_abi",
  10084. "typeString": "abi"
  10085. }
  10086. },
  10087. "id": 8008,
  10088. "isConstant": false,
  10089. "isLValue": false,
  10090. "isPure": true,
  10091. "lValueRequested": false,
  10092. "memberLocation": "7262:19:50",
  10093. "memberName": "encodeWithSignature",
  10094. "nodeType": "MemberAccess",
  10095. "src": "7258:23:50",
  10096. "typeDescriptions": {
  10097. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  10098. "typeString": "function (string memory) pure returns (bytes memory)"
  10099. }
  10100. },
  10101. "id": 8012,
  10102. "isConstant": false,
  10103. "isLValue": false,
  10104. "isPure": false,
  10105. "kind": "functionCall",
  10106. "lValueRequested": false,
  10107. "nameLocations": [],
  10108. "names": [],
  10109. "nodeType": "FunctionCall",
  10110. "src": "7258:53:50",
  10111. "tryCall": false,
  10112. "typeDescriptions": {
  10113. "typeIdentifier": "t_bytes_memory_ptr",
  10114. "typeString": "bytes memory"
  10115. }
  10116. }
  10117. ],
  10118. "expression": {
  10119. "argumentTypes": [
  10120. {
  10121. "typeIdentifier": "t_bytes_memory_ptr",
  10122. "typeString": "bytes memory"
  10123. }
  10124. ],
  10125. "id": 8006,
  10126. "name": "_sendLogPayload",
  10127. "nodeType": "Identifier",
  10128. "overloadedDeclarations": [],
  10129. "referencedDeclaration": 7315,
  10130. "src": "7242:15:50",
  10131. "typeDescriptions": {
  10132. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  10133. "typeString": "function (bytes memory) pure"
  10134. }
  10135. },
  10136. "id": 8013,
  10137. "isConstant": false,
  10138. "isLValue": false,
  10139. "isPure": false,
  10140. "kind": "functionCall",
  10141. "lValueRequested": false,
  10142. "nameLocations": [],
  10143. "names": [],
  10144. "nodeType": "FunctionCall",
  10145. "src": "7242:70:50",
  10146. "tryCall": false,
  10147. "typeDescriptions": {
  10148. "typeIdentifier": "t_tuple$__$",
  10149. "typeString": "tuple()"
  10150. }
  10151. },
  10152. "id": 8014,
  10153. "nodeType": "ExpressionStatement",
  10154. "src": "7242:70:50"
  10155. }
  10156. ]
  10157. },
  10158. "implemented": true,
  10159. "kind": "function",
  10160. "modifiers": [],
  10161. "name": "log",
  10162. "nameLocation": "7178:3:50",
  10163. "parameters": {
  10164. "id": 8004,
  10165. "nodeType": "ParameterList",
  10166. "parameters": [
  10167. {
  10168. "constant": false,
  10169. "id": 8001,
  10170. "mutability": "mutable",
  10171. "name": "p0",
  10172. "nameLocation": "7196:2:50",
  10173. "nodeType": "VariableDeclaration",
  10174. "scope": 8016,
  10175. "src": "7182:16:50",
  10176. "stateVariable": false,
  10177. "storageLocation": "memory",
  10178. "typeDescriptions": {
  10179. "typeIdentifier": "t_string_memory_ptr",
  10180. "typeString": "string"
  10181. },
  10182. "typeName": {
  10183. "id": 8000,
  10184. "name": "string",
  10185. "nodeType": "ElementaryTypeName",
  10186. "src": "7182:6:50",
  10187. "typeDescriptions": {
  10188. "typeIdentifier": "t_string_storage_ptr",
  10189. "typeString": "string"
  10190. }
  10191. },
  10192. "visibility": "internal"
  10193. },
  10194. {
  10195. "constant": false,
  10196. "id": 8003,
  10197. "mutability": "mutable",
  10198. "name": "p1",
  10199. "nameLocation": "7214:2:50",
  10200. "nodeType": "VariableDeclaration",
  10201. "scope": 8016,
  10202. "src": "7200:16:50",
  10203. "stateVariable": false,
  10204. "storageLocation": "memory",
  10205. "typeDescriptions": {
  10206. "typeIdentifier": "t_string_memory_ptr",
  10207. "typeString": "string"
  10208. },
  10209. "typeName": {
  10210. "id": 8002,
  10211. "name": "string",
  10212. "nodeType": "ElementaryTypeName",
  10213. "src": "7200:6:50",
  10214. "typeDescriptions": {
  10215. "typeIdentifier": "t_string_storage_ptr",
  10216. "typeString": "string"
  10217. }
  10218. },
  10219. "visibility": "internal"
  10220. }
  10221. ],
  10222. "src": "7181:36:50"
  10223. },
  10224. "returnParameters": {
  10225. "id": 8005,
  10226. "nodeType": "ParameterList",
  10227. "parameters": [],
  10228. "src": "7232:0:50"
  10229. },
  10230. "scope": 15355,
  10231. "stateMutability": "pure",
  10232. "virtual": false,
  10233. "visibility": "internal"
  10234. },
  10235. {
  10236. "id": 8033,
  10237. "nodeType": "FunctionDefinition",
  10238. "src": "7325:139:50",
  10239. "nodes": [],
  10240. "body": {
  10241. "id": 8032,
  10242. "nodeType": "Block",
  10243. "src": "7379:85:50",
  10244. "nodes": [],
  10245. "statements": [
  10246. {
  10247. "expression": {
  10248. "arguments": [
  10249. {
  10250. "arguments": [
  10251. {
  10252. "hexValue": "6c6f6728737472696e672c626f6f6c29",
  10253. "id": 8026,
  10254. "isConstant": false,
  10255. "isLValue": false,
  10256. "isPure": true,
  10257. "kind": "string",
  10258. "lValueRequested": false,
  10259. "nodeType": "Literal",
  10260. "src": "7429:18:50",
  10261. "typeDescriptions": {
  10262. "typeIdentifier": "t_stringliteral_c3b556354c088fbb43886eb83c2a04bc7089663f964d22be308197a236f5b870",
  10263. "typeString": "literal_string \"log(string,bool)\""
  10264. },
  10265. "value": "log(string,bool)"
  10266. },
  10267. {
  10268. "id": 8027,
  10269. "name": "p0",
  10270. "nodeType": "Identifier",
  10271. "overloadedDeclarations": [],
  10272. "referencedDeclaration": 8018,
  10273. "src": "7449:2:50",
  10274. "typeDescriptions": {
  10275. "typeIdentifier": "t_string_memory_ptr",
  10276. "typeString": "string memory"
  10277. }
  10278. },
  10279. {
  10280. "id": 8028,
  10281. "name": "p1",
  10282. "nodeType": "Identifier",
  10283. "overloadedDeclarations": [],
  10284. "referencedDeclaration": 8020,
  10285. "src": "7453:2:50",
  10286. "typeDescriptions": {
  10287. "typeIdentifier": "t_bool",
  10288. "typeString": "bool"
  10289. }
  10290. }
  10291. ],
  10292. "expression": {
  10293. "argumentTypes": [
  10294. {
  10295. "typeIdentifier": "t_stringliteral_c3b556354c088fbb43886eb83c2a04bc7089663f964d22be308197a236f5b870",
  10296. "typeString": "literal_string \"log(string,bool)\""
  10297. },
  10298. {
  10299. "typeIdentifier": "t_string_memory_ptr",
  10300. "typeString": "string memory"
  10301. },
  10302. {
  10303. "typeIdentifier": "t_bool",
  10304. "typeString": "bool"
  10305. }
  10306. ],
  10307. "expression": {
  10308. "id": 8024,
  10309. "name": "abi",
  10310. "nodeType": "Identifier",
  10311. "overloadedDeclarations": [],
  10312. "referencedDeclaration": -1,
  10313. "src": "7405:3:50",
  10314. "typeDescriptions": {
  10315. "typeIdentifier": "t_magic_abi",
  10316. "typeString": "abi"
  10317. }
  10318. },
  10319. "id": 8025,
  10320. "isConstant": false,
  10321. "isLValue": false,
  10322. "isPure": true,
  10323. "lValueRequested": false,
  10324. "memberLocation": "7409:19:50",
  10325. "memberName": "encodeWithSignature",
  10326. "nodeType": "MemberAccess",
  10327. "src": "7405:23:50",
  10328. "typeDescriptions": {
  10329. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  10330. "typeString": "function (string memory) pure returns (bytes memory)"
  10331. }
  10332. },
  10333. "id": 8029,
  10334. "isConstant": false,
  10335. "isLValue": false,
  10336. "isPure": false,
  10337. "kind": "functionCall",
  10338. "lValueRequested": false,
  10339. "nameLocations": [],
  10340. "names": [],
  10341. "nodeType": "FunctionCall",
  10342. "src": "7405:51:50",
  10343. "tryCall": false,
  10344. "typeDescriptions": {
  10345. "typeIdentifier": "t_bytes_memory_ptr",
  10346. "typeString": "bytes memory"
  10347. }
  10348. }
  10349. ],
  10350. "expression": {
  10351. "argumentTypes": [
  10352. {
  10353. "typeIdentifier": "t_bytes_memory_ptr",
  10354. "typeString": "bytes memory"
  10355. }
  10356. ],
  10357. "id": 8023,
  10358. "name": "_sendLogPayload",
  10359. "nodeType": "Identifier",
  10360. "overloadedDeclarations": [],
  10361. "referencedDeclaration": 7315,
  10362. "src": "7389:15:50",
  10363. "typeDescriptions": {
  10364. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  10365. "typeString": "function (bytes memory) pure"
  10366. }
  10367. },
  10368. "id": 8030,
  10369. "isConstant": false,
  10370. "isLValue": false,
  10371. "isPure": false,
  10372. "kind": "functionCall",
  10373. "lValueRequested": false,
  10374. "nameLocations": [],
  10375. "names": [],
  10376. "nodeType": "FunctionCall",
  10377. "src": "7389:68:50",
  10378. "tryCall": false,
  10379. "typeDescriptions": {
  10380. "typeIdentifier": "t_tuple$__$",
  10381. "typeString": "tuple()"
  10382. }
  10383. },
  10384. "id": 8031,
  10385. "nodeType": "ExpressionStatement",
  10386. "src": "7389:68:50"
  10387. }
  10388. ]
  10389. },
  10390. "implemented": true,
  10391. "kind": "function",
  10392. "modifiers": [],
  10393. "name": "log",
  10394. "nameLocation": "7334:3:50",
  10395. "parameters": {
  10396. "id": 8021,
  10397. "nodeType": "ParameterList",
  10398. "parameters": [
  10399. {
  10400. "constant": false,
  10401. "id": 8018,
  10402. "mutability": "mutable",
  10403. "name": "p0",
  10404. "nameLocation": "7352:2:50",
  10405. "nodeType": "VariableDeclaration",
  10406. "scope": 8033,
  10407. "src": "7338:16:50",
  10408. "stateVariable": false,
  10409. "storageLocation": "memory",
  10410. "typeDescriptions": {
  10411. "typeIdentifier": "t_string_memory_ptr",
  10412. "typeString": "string"
  10413. },
  10414. "typeName": {
  10415. "id": 8017,
  10416. "name": "string",
  10417. "nodeType": "ElementaryTypeName",
  10418. "src": "7338:6:50",
  10419. "typeDescriptions": {
  10420. "typeIdentifier": "t_string_storage_ptr",
  10421. "typeString": "string"
  10422. }
  10423. },
  10424. "visibility": "internal"
  10425. },
  10426. {
  10427. "constant": false,
  10428. "id": 8020,
  10429. "mutability": "mutable",
  10430. "name": "p1",
  10431. "nameLocation": "7361:2:50",
  10432. "nodeType": "VariableDeclaration",
  10433. "scope": 8033,
  10434. "src": "7356:7:50",
  10435. "stateVariable": false,
  10436. "storageLocation": "default",
  10437. "typeDescriptions": {
  10438. "typeIdentifier": "t_bool",
  10439. "typeString": "bool"
  10440. },
  10441. "typeName": {
  10442. "id": 8019,
  10443. "name": "bool",
  10444. "nodeType": "ElementaryTypeName",
  10445. "src": "7356:4:50",
  10446. "typeDescriptions": {
  10447. "typeIdentifier": "t_bool",
  10448. "typeString": "bool"
  10449. }
  10450. },
  10451. "visibility": "internal"
  10452. }
  10453. ],
  10454. "src": "7337:27:50"
  10455. },
  10456. "returnParameters": {
  10457. "id": 8022,
  10458. "nodeType": "ParameterList",
  10459. "parameters": [],
  10460. "src": "7379:0:50"
  10461. },
  10462. "scope": 15355,
  10463. "stateMutability": "pure",
  10464. "virtual": false,
  10465. "visibility": "internal"
  10466. },
  10467. {
  10468. "id": 8050,
  10469. "nodeType": "FunctionDefinition",
  10470. "src": "7470:145:50",
  10471. "nodes": [],
  10472. "body": {
  10473. "id": 8049,
  10474. "nodeType": "Block",
  10475. "src": "7527:88:50",
  10476. "nodes": [],
  10477. "statements": [
  10478. {
  10479. "expression": {
  10480. "arguments": [
  10481. {
  10482. "arguments": [
  10483. {
  10484. "hexValue": "6c6f6728737472696e672c6164647265737329",
  10485. "id": 8043,
  10486. "isConstant": false,
  10487. "isLValue": false,
  10488. "isPure": true,
  10489. "kind": "string",
  10490. "lValueRequested": false,
  10491. "nodeType": "Literal",
  10492. "src": "7577:21:50",
  10493. "typeDescriptions": {
  10494. "typeIdentifier": "t_stringliteral_319af333460570a1937bf195dd33445c0d0951c59127da6f1f038b9fdce3fd72",
  10495. "typeString": "literal_string \"log(string,address)\""
  10496. },
  10497. "value": "log(string,address)"
  10498. },
  10499. {
  10500. "id": 8044,
  10501. "name": "p0",
  10502. "nodeType": "Identifier",
  10503. "overloadedDeclarations": [],
  10504. "referencedDeclaration": 8035,
  10505. "src": "7600:2:50",
  10506. "typeDescriptions": {
  10507. "typeIdentifier": "t_string_memory_ptr",
  10508. "typeString": "string memory"
  10509. }
  10510. },
  10511. {
  10512. "id": 8045,
  10513. "name": "p1",
  10514. "nodeType": "Identifier",
  10515. "overloadedDeclarations": [],
  10516. "referencedDeclaration": 8037,
  10517. "src": "7604:2:50",
  10518. "typeDescriptions": {
  10519. "typeIdentifier": "t_address",
  10520. "typeString": "address"
  10521. }
  10522. }
  10523. ],
  10524. "expression": {
  10525. "argumentTypes": [
  10526. {
  10527. "typeIdentifier": "t_stringliteral_319af333460570a1937bf195dd33445c0d0951c59127da6f1f038b9fdce3fd72",
  10528. "typeString": "literal_string \"log(string,address)\""
  10529. },
  10530. {
  10531. "typeIdentifier": "t_string_memory_ptr",
  10532. "typeString": "string memory"
  10533. },
  10534. {
  10535. "typeIdentifier": "t_address",
  10536. "typeString": "address"
  10537. }
  10538. ],
  10539. "expression": {
  10540. "id": 8041,
  10541. "name": "abi",
  10542. "nodeType": "Identifier",
  10543. "overloadedDeclarations": [],
  10544. "referencedDeclaration": -1,
  10545. "src": "7553:3:50",
  10546. "typeDescriptions": {
  10547. "typeIdentifier": "t_magic_abi",
  10548. "typeString": "abi"
  10549. }
  10550. },
  10551. "id": 8042,
  10552. "isConstant": false,
  10553. "isLValue": false,
  10554. "isPure": true,
  10555. "lValueRequested": false,
  10556. "memberLocation": "7557:19:50",
  10557. "memberName": "encodeWithSignature",
  10558. "nodeType": "MemberAccess",
  10559. "src": "7553:23:50",
  10560. "typeDescriptions": {
  10561. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  10562. "typeString": "function (string memory) pure returns (bytes memory)"
  10563. }
  10564. },
  10565. "id": 8046,
  10566. "isConstant": false,
  10567. "isLValue": false,
  10568. "isPure": false,
  10569. "kind": "functionCall",
  10570. "lValueRequested": false,
  10571. "nameLocations": [],
  10572. "names": [],
  10573. "nodeType": "FunctionCall",
  10574. "src": "7553:54:50",
  10575. "tryCall": false,
  10576. "typeDescriptions": {
  10577. "typeIdentifier": "t_bytes_memory_ptr",
  10578. "typeString": "bytes memory"
  10579. }
  10580. }
  10581. ],
  10582. "expression": {
  10583. "argumentTypes": [
  10584. {
  10585. "typeIdentifier": "t_bytes_memory_ptr",
  10586. "typeString": "bytes memory"
  10587. }
  10588. ],
  10589. "id": 8040,
  10590. "name": "_sendLogPayload",
  10591. "nodeType": "Identifier",
  10592. "overloadedDeclarations": [],
  10593. "referencedDeclaration": 7315,
  10594. "src": "7537:15:50",
  10595. "typeDescriptions": {
  10596. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  10597. "typeString": "function (bytes memory) pure"
  10598. }
  10599. },
  10600. "id": 8047,
  10601. "isConstant": false,
  10602. "isLValue": false,
  10603. "isPure": false,
  10604. "kind": "functionCall",
  10605. "lValueRequested": false,
  10606. "nameLocations": [],
  10607. "names": [],
  10608. "nodeType": "FunctionCall",
  10609. "src": "7537:71:50",
  10610. "tryCall": false,
  10611. "typeDescriptions": {
  10612. "typeIdentifier": "t_tuple$__$",
  10613. "typeString": "tuple()"
  10614. }
  10615. },
  10616. "id": 8048,
  10617. "nodeType": "ExpressionStatement",
  10618. "src": "7537:71:50"
  10619. }
  10620. ]
  10621. },
  10622. "implemented": true,
  10623. "kind": "function",
  10624. "modifiers": [],
  10625. "name": "log",
  10626. "nameLocation": "7479:3:50",
  10627. "parameters": {
  10628. "id": 8038,
  10629. "nodeType": "ParameterList",
  10630. "parameters": [
  10631. {
  10632. "constant": false,
  10633. "id": 8035,
  10634. "mutability": "mutable",
  10635. "name": "p0",
  10636. "nameLocation": "7497:2:50",
  10637. "nodeType": "VariableDeclaration",
  10638. "scope": 8050,
  10639. "src": "7483:16:50",
  10640. "stateVariable": false,
  10641. "storageLocation": "memory",
  10642. "typeDescriptions": {
  10643. "typeIdentifier": "t_string_memory_ptr",
  10644. "typeString": "string"
  10645. },
  10646. "typeName": {
  10647. "id": 8034,
  10648. "name": "string",
  10649. "nodeType": "ElementaryTypeName",
  10650. "src": "7483:6:50",
  10651. "typeDescriptions": {
  10652. "typeIdentifier": "t_string_storage_ptr",
  10653. "typeString": "string"
  10654. }
  10655. },
  10656. "visibility": "internal"
  10657. },
  10658. {
  10659. "constant": false,
  10660. "id": 8037,
  10661. "mutability": "mutable",
  10662. "name": "p1",
  10663. "nameLocation": "7509:2:50",
  10664. "nodeType": "VariableDeclaration",
  10665. "scope": 8050,
  10666. "src": "7501:10:50",
  10667. "stateVariable": false,
  10668. "storageLocation": "default",
  10669. "typeDescriptions": {
  10670. "typeIdentifier": "t_address",
  10671. "typeString": "address"
  10672. },
  10673. "typeName": {
  10674. "id": 8036,
  10675. "name": "address",
  10676. "nodeType": "ElementaryTypeName",
  10677. "src": "7501:7:50",
  10678. "stateMutability": "nonpayable",
  10679. "typeDescriptions": {
  10680. "typeIdentifier": "t_address",
  10681. "typeString": "address"
  10682. }
  10683. },
  10684. "visibility": "internal"
  10685. }
  10686. ],
  10687. "src": "7482:30:50"
  10688. },
  10689. "returnParameters": {
  10690. "id": 8039,
  10691. "nodeType": "ParameterList",
  10692. "parameters": [],
  10693. "src": "7527:0:50"
  10694. },
  10695. "scope": 15355,
  10696. "stateMutability": "pure",
  10697. "virtual": false,
  10698. "visibility": "internal"
  10699. },
  10700. {
  10701. "id": 8067,
  10702. "nodeType": "FunctionDefinition",
  10703. "src": "7621:134:50",
  10704. "nodes": [],
  10705. "body": {
  10706. "id": 8066,
  10707. "nodeType": "Block",
  10708. "src": "7669:86:50",
  10709. "nodes": [],
  10710. "statements": [
  10711. {
  10712. "expression": {
  10713. "arguments": [
  10714. {
  10715. "arguments": [
  10716. {
  10717. "hexValue": "6c6f6728626f6f6c2c75696e7432353629",
  10718. "id": 8060,
  10719. "isConstant": false,
  10720. "isLValue": false,
  10721. "isPure": true,
  10722. "kind": "string",
  10723. "lValueRequested": false,
  10724. "nodeType": "Literal",
  10725. "src": "7719:19:50",
  10726. "typeDescriptions": {
  10727. "typeIdentifier": "t_stringliteral_399174d3d0c43cb9677bce4fa1b5541fc60a002cbf23e154f1abcbb5f02cf2d7",
  10728. "typeString": "literal_string \"log(bool,uint256)\""
  10729. },
  10730. "value": "log(bool,uint256)"
  10731. },
  10732. {
  10733. "id": 8061,
  10734. "name": "p0",
  10735. "nodeType": "Identifier",
  10736. "overloadedDeclarations": [],
  10737. "referencedDeclaration": 8052,
  10738. "src": "7740:2:50",
  10739. "typeDescriptions": {
  10740. "typeIdentifier": "t_bool",
  10741. "typeString": "bool"
  10742. }
  10743. },
  10744. {
  10745. "id": 8062,
  10746. "name": "p1",
  10747. "nodeType": "Identifier",
  10748. "overloadedDeclarations": [],
  10749. "referencedDeclaration": 8054,
  10750. "src": "7744:2:50",
  10751. "typeDescriptions": {
  10752. "typeIdentifier": "t_uint256",
  10753. "typeString": "uint256"
  10754. }
  10755. }
  10756. ],
  10757. "expression": {
  10758. "argumentTypes": [
  10759. {
  10760. "typeIdentifier": "t_stringliteral_399174d3d0c43cb9677bce4fa1b5541fc60a002cbf23e154f1abcbb5f02cf2d7",
  10761. "typeString": "literal_string \"log(bool,uint256)\""
  10762. },
  10763. {
  10764. "typeIdentifier": "t_bool",
  10765. "typeString": "bool"
  10766. },
  10767. {
  10768. "typeIdentifier": "t_uint256",
  10769. "typeString": "uint256"
  10770. }
  10771. ],
  10772. "expression": {
  10773. "id": 8058,
  10774. "name": "abi",
  10775. "nodeType": "Identifier",
  10776. "overloadedDeclarations": [],
  10777. "referencedDeclaration": -1,
  10778. "src": "7695:3:50",
  10779. "typeDescriptions": {
  10780. "typeIdentifier": "t_magic_abi",
  10781. "typeString": "abi"
  10782. }
  10783. },
  10784. "id": 8059,
  10785. "isConstant": false,
  10786. "isLValue": false,
  10787. "isPure": true,
  10788. "lValueRequested": false,
  10789. "memberLocation": "7699:19:50",
  10790. "memberName": "encodeWithSignature",
  10791. "nodeType": "MemberAccess",
  10792. "src": "7695:23:50",
  10793. "typeDescriptions": {
  10794. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  10795. "typeString": "function (string memory) pure returns (bytes memory)"
  10796. }
  10797. },
  10798. "id": 8063,
  10799. "isConstant": false,
  10800. "isLValue": false,
  10801. "isPure": false,
  10802. "kind": "functionCall",
  10803. "lValueRequested": false,
  10804. "nameLocations": [],
  10805. "names": [],
  10806. "nodeType": "FunctionCall",
  10807. "src": "7695:52:50",
  10808. "tryCall": false,
  10809. "typeDescriptions": {
  10810. "typeIdentifier": "t_bytes_memory_ptr",
  10811. "typeString": "bytes memory"
  10812. }
  10813. }
  10814. ],
  10815. "expression": {
  10816. "argumentTypes": [
  10817. {
  10818. "typeIdentifier": "t_bytes_memory_ptr",
  10819. "typeString": "bytes memory"
  10820. }
  10821. ],
  10822. "id": 8057,
  10823. "name": "_sendLogPayload",
  10824. "nodeType": "Identifier",
  10825. "overloadedDeclarations": [],
  10826. "referencedDeclaration": 7315,
  10827. "src": "7679:15:50",
  10828. "typeDescriptions": {
  10829. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  10830. "typeString": "function (bytes memory) pure"
  10831. }
  10832. },
  10833. "id": 8064,
  10834. "isConstant": false,
  10835. "isLValue": false,
  10836. "isPure": false,
  10837. "kind": "functionCall",
  10838. "lValueRequested": false,
  10839. "nameLocations": [],
  10840. "names": [],
  10841. "nodeType": "FunctionCall",
  10842. "src": "7679:69:50",
  10843. "tryCall": false,
  10844. "typeDescriptions": {
  10845. "typeIdentifier": "t_tuple$__$",
  10846. "typeString": "tuple()"
  10847. }
  10848. },
  10849. "id": 8065,
  10850. "nodeType": "ExpressionStatement",
  10851. "src": "7679:69:50"
  10852. }
  10853. ]
  10854. },
  10855. "implemented": true,
  10856. "kind": "function",
  10857. "modifiers": [],
  10858. "name": "log",
  10859. "nameLocation": "7630:3:50",
  10860. "parameters": {
  10861. "id": 8055,
  10862. "nodeType": "ParameterList",
  10863. "parameters": [
  10864. {
  10865. "constant": false,
  10866. "id": 8052,
  10867. "mutability": "mutable",
  10868. "name": "p0",
  10869. "nameLocation": "7639:2:50",
  10870. "nodeType": "VariableDeclaration",
  10871. "scope": 8067,
  10872. "src": "7634:7:50",
  10873. "stateVariable": false,
  10874. "storageLocation": "default",
  10875. "typeDescriptions": {
  10876. "typeIdentifier": "t_bool",
  10877. "typeString": "bool"
  10878. },
  10879. "typeName": {
  10880. "id": 8051,
  10881. "name": "bool",
  10882. "nodeType": "ElementaryTypeName",
  10883. "src": "7634:4:50",
  10884. "typeDescriptions": {
  10885. "typeIdentifier": "t_bool",
  10886. "typeString": "bool"
  10887. }
  10888. },
  10889. "visibility": "internal"
  10890. },
  10891. {
  10892. "constant": false,
  10893. "id": 8054,
  10894. "mutability": "mutable",
  10895. "name": "p1",
  10896. "nameLocation": "7651:2:50",
  10897. "nodeType": "VariableDeclaration",
  10898. "scope": 8067,
  10899. "src": "7643:10:50",
  10900. "stateVariable": false,
  10901. "storageLocation": "default",
  10902. "typeDescriptions": {
  10903. "typeIdentifier": "t_uint256",
  10904. "typeString": "uint256"
  10905. },
  10906. "typeName": {
  10907. "id": 8053,
  10908. "name": "uint256",
  10909. "nodeType": "ElementaryTypeName",
  10910. "src": "7643:7:50",
  10911. "typeDescriptions": {
  10912. "typeIdentifier": "t_uint256",
  10913. "typeString": "uint256"
  10914. }
  10915. },
  10916. "visibility": "internal"
  10917. }
  10918. ],
  10919. "src": "7633:21:50"
  10920. },
  10921. "returnParameters": {
  10922. "id": 8056,
  10923. "nodeType": "ParameterList",
  10924. "parameters": [],
  10925. "src": "7669:0:50"
  10926. },
  10927. "scope": 15355,
  10928. "stateMutability": "pure",
  10929. "virtual": false,
  10930. "visibility": "internal"
  10931. },
  10932. {
  10933. "id": 8084,
  10934. "nodeType": "FunctionDefinition",
  10935. "src": "7761:139:50",
  10936. "nodes": [],
  10937. "body": {
  10938. "id": 8083,
  10939. "nodeType": "Block",
  10940. "src": "7815:85:50",
  10941. "nodes": [],
  10942. "statements": [
  10943. {
  10944. "expression": {
  10945. "arguments": [
  10946. {
  10947. "arguments": [
  10948. {
  10949. "hexValue": "6c6f6728626f6f6c2c737472696e6729",
  10950. "id": 8077,
  10951. "isConstant": false,
  10952. "isLValue": false,
  10953. "isPure": true,
  10954. "kind": "string",
  10955. "lValueRequested": false,
  10956. "nodeType": "Literal",
  10957. "src": "7865:18:50",
  10958. "typeDescriptions": {
  10959. "typeIdentifier": "t_stringliteral_8feac5256a5b88d7ca0173065b796567ecbc9d75ec022fa0f044eb427f962b84",
  10960. "typeString": "literal_string \"log(bool,string)\""
  10961. },
  10962. "value": "log(bool,string)"
  10963. },
  10964. {
  10965. "id": 8078,
  10966. "name": "p0",
  10967. "nodeType": "Identifier",
  10968. "overloadedDeclarations": [],
  10969. "referencedDeclaration": 8069,
  10970. "src": "7885:2:50",
  10971. "typeDescriptions": {
  10972. "typeIdentifier": "t_bool",
  10973. "typeString": "bool"
  10974. }
  10975. },
  10976. {
  10977. "id": 8079,
  10978. "name": "p1",
  10979. "nodeType": "Identifier",
  10980. "overloadedDeclarations": [],
  10981. "referencedDeclaration": 8071,
  10982. "src": "7889:2:50",
  10983. "typeDescriptions": {
  10984. "typeIdentifier": "t_string_memory_ptr",
  10985. "typeString": "string memory"
  10986. }
  10987. }
  10988. ],
  10989. "expression": {
  10990. "argumentTypes": [
  10991. {
  10992. "typeIdentifier": "t_stringliteral_8feac5256a5b88d7ca0173065b796567ecbc9d75ec022fa0f044eb427f962b84",
  10993. "typeString": "literal_string \"log(bool,string)\""
  10994. },
  10995. {
  10996. "typeIdentifier": "t_bool",
  10997. "typeString": "bool"
  10998. },
  10999. {
  11000. "typeIdentifier": "t_string_memory_ptr",
  11001. "typeString": "string memory"
  11002. }
  11003. ],
  11004. "expression": {
  11005. "id": 8075,
  11006. "name": "abi",
  11007. "nodeType": "Identifier",
  11008. "overloadedDeclarations": [],
  11009. "referencedDeclaration": -1,
  11010. "src": "7841:3:50",
  11011. "typeDescriptions": {
  11012. "typeIdentifier": "t_magic_abi",
  11013. "typeString": "abi"
  11014. }
  11015. },
  11016. "id": 8076,
  11017. "isConstant": false,
  11018. "isLValue": false,
  11019. "isPure": true,
  11020. "lValueRequested": false,
  11021. "memberLocation": "7845:19:50",
  11022. "memberName": "encodeWithSignature",
  11023. "nodeType": "MemberAccess",
  11024. "src": "7841:23:50",
  11025. "typeDescriptions": {
  11026. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  11027. "typeString": "function (string memory) pure returns (bytes memory)"
  11028. }
  11029. },
  11030. "id": 8080,
  11031. "isConstant": false,
  11032. "isLValue": false,
  11033. "isPure": false,
  11034. "kind": "functionCall",
  11035. "lValueRequested": false,
  11036. "nameLocations": [],
  11037. "names": [],
  11038. "nodeType": "FunctionCall",
  11039. "src": "7841:51:50",
  11040. "tryCall": false,
  11041. "typeDescriptions": {
  11042. "typeIdentifier": "t_bytes_memory_ptr",
  11043. "typeString": "bytes memory"
  11044. }
  11045. }
  11046. ],
  11047. "expression": {
  11048. "argumentTypes": [
  11049. {
  11050. "typeIdentifier": "t_bytes_memory_ptr",
  11051. "typeString": "bytes memory"
  11052. }
  11053. ],
  11054. "id": 8074,
  11055. "name": "_sendLogPayload",
  11056. "nodeType": "Identifier",
  11057. "overloadedDeclarations": [],
  11058. "referencedDeclaration": 7315,
  11059. "src": "7825:15:50",
  11060. "typeDescriptions": {
  11061. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  11062. "typeString": "function (bytes memory) pure"
  11063. }
  11064. },
  11065. "id": 8081,
  11066. "isConstant": false,
  11067. "isLValue": false,
  11068. "isPure": false,
  11069. "kind": "functionCall",
  11070. "lValueRequested": false,
  11071. "nameLocations": [],
  11072. "names": [],
  11073. "nodeType": "FunctionCall",
  11074. "src": "7825:68:50",
  11075. "tryCall": false,
  11076. "typeDescriptions": {
  11077. "typeIdentifier": "t_tuple$__$",
  11078. "typeString": "tuple()"
  11079. }
  11080. },
  11081. "id": 8082,
  11082. "nodeType": "ExpressionStatement",
  11083. "src": "7825:68:50"
  11084. }
  11085. ]
  11086. },
  11087. "implemented": true,
  11088. "kind": "function",
  11089. "modifiers": [],
  11090. "name": "log",
  11091. "nameLocation": "7770:3:50",
  11092. "parameters": {
  11093. "id": 8072,
  11094. "nodeType": "ParameterList",
  11095. "parameters": [
  11096. {
  11097. "constant": false,
  11098. "id": 8069,
  11099. "mutability": "mutable",
  11100. "name": "p0",
  11101. "nameLocation": "7779:2:50",
  11102. "nodeType": "VariableDeclaration",
  11103. "scope": 8084,
  11104. "src": "7774:7:50",
  11105. "stateVariable": false,
  11106. "storageLocation": "default",
  11107. "typeDescriptions": {
  11108. "typeIdentifier": "t_bool",
  11109. "typeString": "bool"
  11110. },
  11111. "typeName": {
  11112. "id": 8068,
  11113. "name": "bool",
  11114. "nodeType": "ElementaryTypeName",
  11115. "src": "7774:4:50",
  11116. "typeDescriptions": {
  11117. "typeIdentifier": "t_bool",
  11118. "typeString": "bool"
  11119. }
  11120. },
  11121. "visibility": "internal"
  11122. },
  11123. {
  11124. "constant": false,
  11125. "id": 8071,
  11126. "mutability": "mutable",
  11127. "name": "p1",
  11128. "nameLocation": "7797:2:50",
  11129. "nodeType": "VariableDeclaration",
  11130. "scope": 8084,
  11131. "src": "7783:16:50",
  11132. "stateVariable": false,
  11133. "storageLocation": "memory",
  11134. "typeDescriptions": {
  11135. "typeIdentifier": "t_string_memory_ptr",
  11136. "typeString": "string"
  11137. },
  11138. "typeName": {
  11139. "id": 8070,
  11140. "name": "string",
  11141. "nodeType": "ElementaryTypeName",
  11142. "src": "7783:6:50",
  11143. "typeDescriptions": {
  11144. "typeIdentifier": "t_string_storage_ptr",
  11145. "typeString": "string"
  11146. }
  11147. },
  11148. "visibility": "internal"
  11149. }
  11150. ],
  11151. "src": "7773:27:50"
  11152. },
  11153. "returnParameters": {
  11154. "id": 8073,
  11155. "nodeType": "ParameterList",
  11156. "parameters": [],
  11157. "src": "7815:0:50"
  11158. },
  11159. "scope": 15355,
  11160. "stateMutability": "pure",
  11161. "virtual": false,
  11162. "visibility": "internal"
  11163. },
  11164. {
  11165. "id": 8101,
  11166. "nodeType": "FunctionDefinition",
  11167. "src": "7906:128:50",
  11168. "nodes": [],
  11169. "body": {
  11170. "id": 8100,
  11171. "nodeType": "Block",
  11172. "src": "7951:83:50",
  11173. "nodes": [],
  11174. "statements": [
  11175. {
  11176. "expression": {
  11177. "arguments": [
  11178. {
  11179. "arguments": [
  11180. {
  11181. "hexValue": "6c6f6728626f6f6c2c626f6f6c29",
  11182. "id": 8094,
  11183. "isConstant": false,
  11184. "isLValue": false,
  11185. "isPure": true,
  11186. "kind": "string",
  11187. "lValueRequested": false,
  11188. "nodeType": "Literal",
  11189. "src": "8001:16:50",
  11190. "typeDescriptions": {
  11191. "typeIdentifier": "t_stringliteral_2a110e83227fbe26ff7524076f2091da3e9aa01d70b93677da53b41d22f4fb15",
  11192. "typeString": "literal_string \"log(bool,bool)\""
  11193. },
  11194. "value": "log(bool,bool)"
  11195. },
  11196. {
  11197. "id": 8095,
  11198. "name": "p0",
  11199. "nodeType": "Identifier",
  11200. "overloadedDeclarations": [],
  11201. "referencedDeclaration": 8086,
  11202. "src": "8019:2:50",
  11203. "typeDescriptions": {
  11204. "typeIdentifier": "t_bool",
  11205. "typeString": "bool"
  11206. }
  11207. },
  11208. {
  11209. "id": 8096,
  11210. "name": "p1",
  11211. "nodeType": "Identifier",
  11212. "overloadedDeclarations": [],
  11213. "referencedDeclaration": 8088,
  11214. "src": "8023:2:50",
  11215. "typeDescriptions": {
  11216. "typeIdentifier": "t_bool",
  11217. "typeString": "bool"
  11218. }
  11219. }
  11220. ],
  11221. "expression": {
  11222. "argumentTypes": [
  11223. {
  11224. "typeIdentifier": "t_stringliteral_2a110e83227fbe26ff7524076f2091da3e9aa01d70b93677da53b41d22f4fb15",
  11225. "typeString": "literal_string \"log(bool,bool)\""
  11226. },
  11227. {
  11228. "typeIdentifier": "t_bool",
  11229. "typeString": "bool"
  11230. },
  11231. {
  11232. "typeIdentifier": "t_bool",
  11233. "typeString": "bool"
  11234. }
  11235. ],
  11236. "expression": {
  11237. "id": 8092,
  11238. "name": "abi",
  11239. "nodeType": "Identifier",
  11240. "overloadedDeclarations": [],
  11241. "referencedDeclaration": -1,
  11242. "src": "7977:3:50",
  11243. "typeDescriptions": {
  11244. "typeIdentifier": "t_magic_abi",
  11245. "typeString": "abi"
  11246. }
  11247. },
  11248. "id": 8093,
  11249. "isConstant": false,
  11250. "isLValue": false,
  11251. "isPure": true,
  11252. "lValueRequested": false,
  11253. "memberLocation": "7981:19:50",
  11254. "memberName": "encodeWithSignature",
  11255. "nodeType": "MemberAccess",
  11256. "src": "7977:23:50",
  11257. "typeDescriptions": {
  11258. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  11259. "typeString": "function (string memory) pure returns (bytes memory)"
  11260. }
  11261. },
  11262. "id": 8097,
  11263. "isConstant": false,
  11264. "isLValue": false,
  11265. "isPure": false,
  11266. "kind": "functionCall",
  11267. "lValueRequested": false,
  11268. "nameLocations": [],
  11269. "names": [],
  11270. "nodeType": "FunctionCall",
  11271. "src": "7977:49:50",
  11272. "tryCall": false,
  11273. "typeDescriptions": {
  11274. "typeIdentifier": "t_bytes_memory_ptr",
  11275. "typeString": "bytes memory"
  11276. }
  11277. }
  11278. ],
  11279. "expression": {
  11280. "argumentTypes": [
  11281. {
  11282. "typeIdentifier": "t_bytes_memory_ptr",
  11283. "typeString": "bytes memory"
  11284. }
  11285. ],
  11286. "id": 8091,
  11287. "name": "_sendLogPayload",
  11288. "nodeType": "Identifier",
  11289. "overloadedDeclarations": [],
  11290. "referencedDeclaration": 7315,
  11291. "src": "7961:15:50",
  11292. "typeDescriptions": {
  11293. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  11294. "typeString": "function (bytes memory) pure"
  11295. }
  11296. },
  11297. "id": 8098,
  11298. "isConstant": false,
  11299. "isLValue": false,
  11300. "isPure": false,
  11301. "kind": "functionCall",
  11302. "lValueRequested": false,
  11303. "nameLocations": [],
  11304. "names": [],
  11305. "nodeType": "FunctionCall",
  11306. "src": "7961:66:50",
  11307. "tryCall": false,
  11308. "typeDescriptions": {
  11309. "typeIdentifier": "t_tuple$__$",
  11310. "typeString": "tuple()"
  11311. }
  11312. },
  11313. "id": 8099,
  11314. "nodeType": "ExpressionStatement",
  11315. "src": "7961:66:50"
  11316. }
  11317. ]
  11318. },
  11319. "implemented": true,
  11320. "kind": "function",
  11321. "modifiers": [],
  11322. "name": "log",
  11323. "nameLocation": "7915:3:50",
  11324. "parameters": {
  11325. "id": 8089,
  11326. "nodeType": "ParameterList",
  11327. "parameters": [
  11328. {
  11329. "constant": false,
  11330. "id": 8086,
  11331. "mutability": "mutable",
  11332. "name": "p0",
  11333. "nameLocation": "7924:2:50",
  11334. "nodeType": "VariableDeclaration",
  11335. "scope": 8101,
  11336. "src": "7919:7:50",
  11337. "stateVariable": false,
  11338. "storageLocation": "default",
  11339. "typeDescriptions": {
  11340. "typeIdentifier": "t_bool",
  11341. "typeString": "bool"
  11342. },
  11343. "typeName": {
  11344. "id": 8085,
  11345. "name": "bool",
  11346. "nodeType": "ElementaryTypeName",
  11347. "src": "7919:4:50",
  11348. "typeDescriptions": {
  11349. "typeIdentifier": "t_bool",
  11350. "typeString": "bool"
  11351. }
  11352. },
  11353. "visibility": "internal"
  11354. },
  11355. {
  11356. "constant": false,
  11357. "id": 8088,
  11358. "mutability": "mutable",
  11359. "name": "p1",
  11360. "nameLocation": "7933:2:50",
  11361. "nodeType": "VariableDeclaration",
  11362. "scope": 8101,
  11363. "src": "7928:7:50",
  11364. "stateVariable": false,
  11365. "storageLocation": "default",
  11366. "typeDescriptions": {
  11367. "typeIdentifier": "t_bool",
  11368. "typeString": "bool"
  11369. },
  11370. "typeName": {
  11371. "id": 8087,
  11372. "name": "bool",
  11373. "nodeType": "ElementaryTypeName",
  11374. "src": "7928:4:50",
  11375. "typeDescriptions": {
  11376. "typeIdentifier": "t_bool",
  11377. "typeString": "bool"
  11378. }
  11379. },
  11380. "visibility": "internal"
  11381. }
  11382. ],
  11383. "src": "7918:18:50"
  11384. },
  11385. "returnParameters": {
  11386. "id": 8090,
  11387. "nodeType": "ParameterList",
  11388. "parameters": [],
  11389. "src": "7951:0:50"
  11390. },
  11391. "scope": 15355,
  11392. "stateMutability": "pure",
  11393. "virtual": false,
  11394. "visibility": "internal"
  11395. },
  11396. {
  11397. "id": 8118,
  11398. "nodeType": "FunctionDefinition",
  11399. "src": "8040:134:50",
  11400. "nodes": [],
  11401. "body": {
  11402. "id": 8117,
  11403. "nodeType": "Block",
  11404. "src": "8088:86:50",
  11405. "nodes": [],
  11406. "statements": [
  11407. {
  11408. "expression": {
  11409. "arguments": [
  11410. {
  11411. "arguments": [
  11412. {
  11413. "hexValue": "6c6f6728626f6f6c2c6164647265737329",
  11414. "id": 8111,
  11415. "isConstant": false,
  11416. "isLValue": false,
  11417. "isPure": true,
  11418. "kind": "string",
  11419. "lValueRequested": false,
  11420. "nodeType": "Literal",
  11421. "src": "8138:19:50",
  11422. "typeDescriptions": {
  11423. "typeIdentifier": "t_stringliteral_853c4849443241e2249adafa4f69c8bb738b0f17c7a0a9d9997450cd71db4d55",
  11424. "typeString": "literal_string \"log(bool,address)\""
  11425. },
  11426. "value": "log(bool,address)"
  11427. },
  11428. {
  11429. "id": 8112,
  11430. "name": "p0",
  11431. "nodeType": "Identifier",
  11432. "overloadedDeclarations": [],
  11433. "referencedDeclaration": 8103,
  11434. "src": "8159:2:50",
  11435. "typeDescriptions": {
  11436. "typeIdentifier": "t_bool",
  11437. "typeString": "bool"
  11438. }
  11439. },
  11440. {
  11441. "id": 8113,
  11442. "name": "p1",
  11443. "nodeType": "Identifier",
  11444. "overloadedDeclarations": [],
  11445. "referencedDeclaration": 8105,
  11446. "src": "8163:2:50",
  11447. "typeDescriptions": {
  11448. "typeIdentifier": "t_address",
  11449. "typeString": "address"
  11450. }
  11451. }
  11452. ],
  11453. "expression": {
  11454. "argumentTypes": [
  11455. {
  11456. "typeIdentifier": "t_stringliteral_853c4849443241e2249adafa4f69c8bb738b0f17c7a0a9d9997450cd71db4d55",
  11457. "typeString": "literal_string \"log(bool,address)\""
  11458. },
  11459. {
  11460. "typeIdentifier": "t_bool",
  11461. "typeString": "bool"
  11462. },
  11463. {
  11464. "typeIdentifier": "t_address",
  11465. "typeString": "address"
  11466. }
  11467. ],
  11468. "expression": {
  11469. "id": 8109,
  11470. "name": "abi",
  11471. "nodeType": "Identifier",
  11472. "overloadedDeclarations": [],
  11473. "referencedDeclaration": -1,
  11474. "src": "8114:3:50",
  11475. "typeDescriptions": {
  11476. "typeIdentifier": "t_magic_abi",
  11477. "typeString": "abi"
  11478. }
  11479. },
  11480. "id": 8110,
  11481. "isConstant": false,
  11482. "isLValue": false,
  11483. "isPure": true,
  11484. "lValueRequested": false,
  11485. "memberLocation": "8118:19:50",
  11486. "memberName": "encodeWithSignature",
  11487. "nodeType": "MemberAccess",
  11488. "src": "8114:23:50",
  11489. "typeDescriptions": {
  11490. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  11491. "typeString": "function (string memory) pure returns (bytes memory)"
  11492. }
  11493. },
  11494. "id": 8114,
  11495. "isConstant": false,
  11496. "isLValue": false,
  11497. "isPure": false,
  11498. "kind": "functionCall",
  11499. "lValueRequested": false,
  11500. "nameLocations": [],
  11501. "names": [],
  11502. "nodeType": "FunctionCall",
  11503. "src": "8114:52:50",
  11504. "tryCall": false,
  11505. "typeDescriptions": {
  11506. "typeIdentifier": "t_bytes_memory_ptr",
  11507. "typeString": "bytes memory"
  11508. }
  11509. }
  11510. ],
  11511. "expression": {
  11512. "argumentTypes": [
  11513. {
  11514. "typeIdentifier": "t_bytes_memory_ptr",
  11515. "typeString": "bytes memory"
  11516. }
  11517. ],
  11518. "id": 8108,
  11519. "name": "_sendLogPayload",
  11520. "nodeType": "Identifier",
  11521. "overloadedDeclarations": [],
  11522. "referencedDeclaration": 7315,
  11523. "src": "8098:15:50",
  11524. "typeDescriptions": {
  11525. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  11526. "typeString": "function (bytes memory) pure"
  11527. }
  11528. },
  11529. "id": 8115,
  11530. "isConstant": false,
  11531. "isLValue": false,
  11532. "isPure": false,
  11533. "kind": "functionCall",
  11534. "lValueRequested": false,
  11535. "nameLocations": [],
  11536. "names": [],
  11537. "nodeType": "FunctionCall",
  11538. "src": "8098:69:50",
  11539. "tryCall": false,
  11540. "typeDescriptions": {
  11541. "typeIdentifier": "t_tuple$__$",
  11542. "typeString": "tuple()"
  11543. }
  11544. },
  11545. "id": 8116,
  11546. "nodeType": "ExpressionStatement",
  11547. "src": "8098:69:50"
  11548. }
  11549. ]
  11550. },
  11551. "implemented": true,
  11552. "kind": "function",
  11553. "modifiers": [],
  11554. "name": "log",
  11555. "nameLocation": "8049:3:50",
  11556. "parameters": {
  11557. "id": 8106,
  11558. "nodeType": "ParameterList",
  11559. "parameters": [
  11560. {
  11561. "constant": false,
  11562. "id": 8103,
  11563. "mutability": "mutable",
  11564. "name": "p0",
  11565. "nameLocation": "8058:2:50",
  11566. "nodeType": "VariableDeclaration",
  11567. "scope": 8118,
  11568. "src": "8053:7:50",
  11569. "stateVariable": false,
  11570. "storageLocation": "default",
  11571. "typeDescriptions": {
  11572. "typeIdentifier": "t_bool",
  11573. "typeString": "bool"
  11574. },
  11575. "typeName": {
  11576. "id": 8102,
  11577. "name": "bool",
  11578. "nodeType": "ElementaryTypeName",
  11579. "src": "8053:4:50",
  11580. "typeDescriptions": {
  11581. "typeIdentifier": "t_bool",
  11582. "typeString": "bool"
  11583. }
  11584. },
  11585. "visibility": "internal"
  11586. },
  11587. {
  11588. "constant": false,
  11589. "id": 8105,
  11590. "mutability": "mutable",
  11591. "name": "p1",
  11592. "nameLocation": "8070:2:50",
  11593. "nodeType": "VariableDeclaration",
  11594. "scope": 8118,
  11595. "src": "8062:10:50",
  11596. "stateVariable": false,
  11597. "storageLocation": "default",
  11598. "typeDescriptions": {
  11599. "typeIdentifier": "t_address",
  11600. "typeString": "address"
  11601. },
  11602. "typeName": {
  11603. "id": 8104,
  11604. "name": "address",
  11605. "nodeType": "ElementaryTypeName",
  11606. "src": "8062:7:50",
  11607. "stateMutability": "nonpayable",
  11608. "typeDescriptions": {
  11609. "typeIdentifier": "t_address",
  11610. "typeString": "address"
  11611. }
  11612. },
  11613. "visibility": "internal"
  11614. }
  11615. ],
  11616. "src": "8052:21:50"
  11617. },
  11618. "returnParameters": {
  11619. "id": 8107,
  11620. "nodeType": "ParameterList",
  11621. "parameters": [],
  11622. "src": "8088:0:50"
  11623. },
  11624. "scope": 15355,
  11625. "stateMutability": "pure",
  11626. "virtual": false,
  11627. "visibility": "internal"
  11628. },
  11629. {
  11630. "id": 8135,
  11631. "nodeType": "FunctionDefinition",
  11632. "src": "8180:140:50",
  11633. "nodes": [],
  11634. "body": {
  11635. "id": 8134,
  11636. "nodeType": "Block",
  11637. "src": "8231:89:50",
  11638. "nodes": [],
  11639. "statements": [
  11640. {
  11641. "expression": {
  11642. "arguments": [
  11643. {
  11644. "arguments": [
  11645. {
  11646. "hexValue": "6c6f6728616464726573732c75696e7432353629",
  11647. "id": 8128,
  11648. "isConstant": false,
  11649. "isLValue": false,
  11650. "isPure": true,
  11651. "kind": "string",
  11652. "lValueRequested": false,
  11653. "nodeType": "Literal",
  11654. "src": "8281:22:50",
  11655. "typeDescriptions": {
  11656. "typeIdentifier": "t_stringliteral_8309e8a8b132619bdb25dffa9d595ba1ecb7835540fd62622dad33018c4a0d3e",
  11657. "typeString": "literal_string \"log(address,uint256)\""
  11658. },
  11659. "value": "log(address,uint256)"
  11660. },
  11661. {
  11662. "id": 8129,
  11663. "name": "p0",
  11664. "nodeType": "Identifier",
  11665. "overloadedDeclarations": [],
  11666. "referencedDeclaration": 8120,
  11667. "src": "8305:2:50",
  11668. "typeDescriptions": {
  11669. "typeIdentifier": "t_address",
  11670. "typeString": "address"
  11671. }
  11672. },
  11673. {
  11674. "id": 8130,
  11675. "name": "p1",
  11676. "nodeType": "Identifier",
  11677. "overloadedDeclarations": [],
  11678. "referencedDeclaration": 8122,
  11679. "src": "8309:2:50",
  11680. "typeDescriptions": {
  11681. "typeIdentifier": "t_uint256",
  11682. "typeString": "uint256"
  11683. }
  11684. }
  11685. ],
  11686. "expression": {
  11687. "argumentTypes": [
  11688. {
  11689. "typeIdentifier": "t_stringliteral_8309e8a8b132619bdb25dffa9d595ba1ecb7835540fd62622dad33018c4a0d3e",
  11690. "typeString": "literal_string \"log(address,uint256)\""
  11691. },
  11692. {
  11693. "typeIdentifier": "t_address",
  11694. "typeString": "address"
  11695. },
  11696. {
  11697. "typeIdentifier": "t_uint256",
  11698. "typeString": "uint256"
  11699. }
  11700. ],
  11701. "expression": {
  11702. "id": 8126,
  11703. "name": "abi",
  11704. "nodeType": "Identifier",
  11705. "overloadedDeclarations": [],
  11706. "referencedDeclaration": -1,
  11707. "src": "8257:3:50",
  11708. "typeDescriptions": {
  11709. "typeIdentifier": "t_magic_abi",
  11710. "typeString": "abi"
  11711. }
  11712. },
  11713. "id": 8127,
  11714. "isConstant": false,
  11715. "isLValue": false,
  11716. "isPure": true,
  11717. "lValueRequested": false,
  11718. "memberLocation": "8261:19:50",
  11719. "memberName": "encodeWithSignature",
  11720. "nodeType": "MemberAccess",
  11721. "src": "8257:23:50",
  11722. "typeDescriptions": {
  11723. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  11724. "typeString": "function (string memory) pure returns (bytes memory)"
  11725. }
  11726. },
  11727. "id": 8131,
  11728. "isConstant": false,
  11729. "isLValue": false,
  11730. "isPure": false,
  11731. "kind": "functionCall",
  11732. "lValueRequested": false,
  11733. "nameLocations": [],
  11734. "names": [],
  11735. "nodeType": "FunctionCall",
  11736. "src": "8257:55:50",
  11737. "tryCall": false,
  11738. "typeDescriptions": {
  11739. "typeIdentifier": "t_bytes_memory_ptr",
  11740. "typeString": "bytes memory"
  11741. }
  11742. }
  11743. ],
  11744. "expression": {
  11745. "argumentTypes": [
  11746. {
  11747. "typeIdentifier": "t_bytes_memory_ptr",
  11748. "typeString": "bytes memory"
  11749. }
  11750. ],
  11751. "id": 8125,
  11752. "name": "_sendLogPayload",
  11753. "nodeType": "Identifier",
  11754. "overloadedDeclarations": [],
  11755. "referencedDeclaration": 7315,
  11756. "src": "8241:15:50",
  11757. "typeDescriptions": {
  11758. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  11759. "typeString": "function (bytes memory) pure"
  11760. }
  11761. },
  11762. "id": 8132,
  11763. "isConstant": false,
  11764. "isLValue": false,
  11765. "isPure": false,
  11766. "kind": "functionCall",
  11767. "lValueRequested": false,
  11768. "nameLocations": [],
  11769. "names": [],
  11770. "nodeType": "FunctionCall",
  11771. "src": "8241:72:50",
  11772. "tryCall": false,
  11773. "typeDescriptions": {
  11774. "typeIdentifier": "t_tuple$__$",
  11775. "typeString": "tuple()"
  11776. }
  11777. },
  11778. "id": 8133,
  11779. "nodeType": "ExpressionStatement",
  11780. "src": "8241:72:50"
  11781. }
  11782. ]
  11783. },
  11784. "implemented": true,
  11785. "kind": "function",
  11786. "modifiers": [],
  11787. "name": "log",
  11788. "nameLocation": "8189:3:50",
  11789. "parameters": {
  11790. "id": 8123,
  11791. "nodeType": "ParameterList",
  11792. "parameters": [
  11793. {
  11794. "constant": false,
  11795. "id": 8120,
  11796. "mutability": "mutable",
  11797. "name": "p0",
  11798. "nameLocation": "8201:2:50",
  11799. "nodeType": "VariableDeclaration",
  11800. "scope": 8135,
  11801. "src": "8193:10:50",
  11802. "stateVariable": false,
  11803. "storageLocation": "default",
  11804. "typeDescriptions": {
  11805. "typeIdentifier": "t_address",
  11806. "typeString": "address"
  11807. },
  11808. "typeName": {
  11809. "id": 8119,
  11810. "name": "address",
  11811. "nodeType": "ElementaryTypeName",
  11812. "src": "8193:7:50",
  11813. "stateMutability": "nonpayable",
  11814. "typeDescriptions": {
  11815. "typeIdentifier": "t_address",
  11816. "typeString": "address"
  11817. }
  11818. },
  11819. "visibility": "internal"
  11820. },
  11821. {
  11822. "constant": false,
  11823. "id": 8122,
  11824. "mutability": "mutable",
  11825. "name": "p1",
  11826. "nameLocation": "8213:2:50",
  11827. "nodeType": "VariableDeclaration",
  11828. "scope": 8135,
  11829. "src": "8205:10:50",
  11830. "stateVariable": false,
  11831. "storageLocation": "default",
  11832. "typeDescriptions": {
  11833. "typeIdentifier": "t_uint256",
  11834. "typeString": "uint256"
  11835. },
  11836. "typeName": {
  11837. "id": 8121,
  11838. "name": "uint256",
  11839. "nodeType": "ElementaryTypeName",
  11840. "src": "8205:7:50",
  11841. "typeDescriptions": {
  11842. "typeIdentifier": "t_uint256",
  11843. "typeString": "uint256"
  11844. }
  11845. },
  11846. "visibility": "internal"
  11847. }
  11848. ],
  11849. "src": "8192:24:50"
  11850. },
  11851. "returnParameters": {
  11852. "id": 8124,
  11853. "nodeType": "ParameterList",
  11854. "parameters": [],
  11855. "src": "8231:0:50"
  11856. },
  11857. "scope": 15355,
  11858. "stateMutability": "pure",
  11859. "virtual": false,
  11860. "visibility": "internal"
  11861. },
  11862. {
  11863. "id": 8152,
  11864. "nodeType": "FunctionDefinition",
  11865. "src": "8326:145:50",
  11866. "nodes": [],
  11867. "body": {
  11868. "id": 8151,
  11869. "nodeType": "Block",
  11870. "src": "8383:88:50",
  11871. "nodes": [],
  11872. "statements": [
  11873. {
  11874. "expression": {
  11875. "arguments": [
  11876. {
  11877. "arguments": [
  11878. {
  11879. "hexValue": "6c6f6728616464726573732c737472696e6729",
  11880. "id": 8145,
  11881. "isConstant": false,
  11882. "isLValue": false,
  11883. "isPure": true,
  11884. "kind": "string",
  11885. "lValueRequested": false,
  11886. "nodeType": "Literal",
  11887. "src": "8433:21:50",
  11888. "typeDescriptions": {
  11889. "typeIdentifier": "t_stringliteral_759f86bbdd0758679ecefbd32ea620068b2339dddd9e45ee0fa567ee6c81f0ab",
  11890. "typeString": "literal_string \"log(address,string)\""
  11891. },
  11892. "value": "log(address,string)"
  11893. },
  11894. {
  11895. "id": 8146,
  11896. "name": "p0",
  11897. "nodeType": "Identifier",
  11898. "overloadedDeclarations": [],
  11899. "referencedDeclaration": 8137,
  11900. "src": "8456:2:50",
  11901. "typeDescriptions": {
  11902. "typeIdentifier": "t_address",
  11903. "typeString": "address"
  11904. }
  11905. },
  11906. {
  11907. "id": 8147,
  11908. "name": "p1",
  11909. "nodeType": "Identifier",
  11910. "overloadedDeclarations": [],
  11911. "referencedDeclaration": 8139,
  11912. "src": "8460:2:50",
  11913. "typeDescriptions": {
  11914. "typeIdentifier": "t_string_memory_ptr",
  11915. "typeString": "string memory"
  11916. }
  11917. }
  11918. ],
  11919. "expression": {
  11920. "argumentTypes": [
  11921. {
  11922. "typeIdentifier": "t_stringliteral_759f86bbdd0758679ecefbd32ea620068b2339dddd9e45ee0fa567ee6c81f0ab",
  11923. "typeString": "literal_string \"log(address,string)\""
  11924. },
  11925. {
  11926. "typeIdentifier": "t_address",
  11927. "typeString": "address"
  11928. },
  11929. {
  11930. "typeIdentifier": "t_string_memory_ptr",
  11931. "typeString": "string memory"
  11932. }
  11933. ],
  11934. "expression": {
  11935. "id": 8143,
  11936. "name": "abi",
  11937. "nodeType": "Identifier",
  11938. "overloadedDeclarations": [],
  11939. "referencedDeclaration": -1,
  11940. "src": "8409:3:50",
  11941. "typeDescriptions": {
  11942. "typeIdentifier": "t_magic_abi",
  11943. "typeString": "abi"
  11944. }
  11945. },
  11946. "id": 8144,
  11947. "isConstant": false,
  11948. "isLValue": false,
  11949. "isPure": true,
  11950. "lValueRequested": false,
  11951. "memberLocation": "8413:19:50",
  11952. "memberName": "encodeWithSignature",
  11953. "nodeType": "MemberAccess",
  11954. "src": "8409:23:50",
  11955. "typeDescriptions": {
  11956. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  11957. "typeString": "function (string memory) pure returns (bytes memory)"
  11958. }
  11959. },
  11960. "id": 8148,
  11961. "isConstant": false,
  11962. "isLValue": false,
  11963. "isPure": false,
  11964. "kind": "functionCall",
  11965. "lValueRequested": false,
  11966. "nameLocations": [],
  11967. "names": [],
  11968. "nodeType": "FunctionCall",
  11969. "src": "8409:54:50",
  11970. "tryCall": false,
  11971. "typeDescriptions": {
  11972. "typeIdentifier": "t_bytes_memory_ptr",
  11973. "typeString": "bytes memory"
  11974. }
  11975. }
  11976. ],
  11977. "expression": {
  11978. "argumentTypes": [
  11979. {
  11980. "typeIdentifier": "t_bytes_memory_ptr",
  11981. "typeString": "bytes memory"
  11982. }
  11983. ],
  11984. "id": 8142,
  11985. "name": "_sendLogPayload",
  11986. "nodeType": "Identifier",
  11987. "overloadedDeclarations": [],
  11988. "referencedDeclaration": 7315,
  11989. "src": "8393:15:50",
  11990. "typeDescriptions": {
  11991. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  11992. "typeString": "function (bytes memory) pure"
  11993. }
  11994. },
  11995. "id": 8149,
  11996. "isConstant": false,
  11997. "isLValue": false,
  11998. "isPure": false,
  11999. "kind": "functionCall",
  12000. "lValueRequested": false,
  12001. "nameLocations": [],
  12002. "names": [],
  12003. "nodeType": "FunctionCall",
  12004. "src": "8393:71:50",
  12005. "tryCall": false,
  12006. "typeDescriptions": {
  12007. "typeIdentifier": "t_tuple$__$",
  12008. "typeString": "tuple()"
  12009. }
  12010. },
  12011. "id": 8150,
  12012. "nodeType": "ExpressionStatement",
  12013. "src": "8393:71:50"
  12014. }
  12015. ]
  12016. },
  12017. "implemented": true,
  12018. "kind": "function",
  12019. "modifiers": [],
  12020. "name": "log",
  12021. "nameLocation": "8335:3:50",
  12022. "parameters": {
  12023. "id": 8140,
  12024. "nodeType": "ParameterList",
  12025. "parameters": [
  12026. {
  12027. "constant": false,
  12028. "id": 8137,
  12029. "mutability": "mutable",
  12030. "name": "p0",
  12031. "nameLocation": "8347:2:50",
  12032. "nodeType": "VariableDeclaration",
  12033. "scope": 8152,
  12034. "src": "8339:10:50",
  12035. "stateVariable": false,
  12036. "storageLocation": "default",
  12037. "typeDescriptions": {
  12038. "typeIdentifier": "t_address",
  12039. "typeString": "address"
  12040. },
  12041. "typeName": {
  12042. "id": 8136,
  12043. "name": "address",
  12044. "nodeType": "ElementaryTypeName",
  12045. "src": "8339:7:50",
  12046. "stateMutability": "nonpayable",
  12047. "typeDescriptions": {
  12048. "typeIdentifier": "t_address",
  12049. "typeString": "address"
  12050. }
  12051. },
  12052. "visibility": "internal"
  12053. },
  12054. {
  12055. "constant": false,
  12056. "id": 8139,
  12057. "mutability": "mutable",
  12058. "name": "p1",
  12059. "nameLocation": "8365:2:50",
  12060. "nodeType": "VariableDeclaration",
  12061. "scope": 8152,
  12062. "src": "8351:16:50",
  12063. "stateVariable": false,
  12064. "storageLocation": "memory",
  12065. "typeDescriptions": {
  12066. "typeIdentifier": "t_string_memory_ptr",
  12067. "typeString": "string"
  12068. },
  12069. "typeName": {
  12070. "id": 8138,
  12071. "name": "string",
  12072. "nodeType": "ElementaryTypeName",
  12073. "src": "8351:6:50",
  12074. "typeDescriptions": {
  12075. "typeIdentifier": "t_string_storage_ptr",
  12076. "typeString": "string"
  12077. }
  12078. },
  12079. "visibility": "internal"
  12080. }
  12081. ],
  12082. "src": "8338:30:50"
  12083. },
  12084. "returnParameters": {
  12085. "id": 8141,
  12086. "nodeType": "ParameterList",
  12087. "parameters": [],
  12088. "src": "8383:0:50"
  12089. },
  12090. "scope": 15355,
  12091. "stateMutability": "pure",
  12092. "virtual": false,
  12093. "visibility": "internal"
  12094. },
  12095. {
  12096. "id": 8169,
  12097. "nodeType": "FunctionDefinition",
  12098. "src": "8477:134:50",
  12099. "nodes": [],
  12100. "body": {
  12101. "id": 8168,
  12102. "nodeType": "Block",
  12103. "src": "8525:86:50",
  12104. "nodes": [],
  12105. "statements": [
  12106. {
  12107. "expression": {
  12108. "arguments": [
  12109. {
  12110. "arguments": [
  12111. {
  12112. "hexValue": "6c6f6728616464726573732c626f6f6c29",
  12113. "id": 8162,
  12114. "isConstant": false,
  12115. "isLValue": false,
  12116. "isPure": true,
  12117. "kind": "string",
  12118. "lValueRequested": false,
  12119. "nodeType": "Literal",
  12120. "src": "8575:19:50",
  12121. "typeDescriptions": {
  12122. "typeIdentifier": "t_stringliteral_75b605d31a3bf49c8d814696c7c66216d3a7e81348c450078f032e425592f72b",
  12123. "typeString": "literal_string \"log(address,bool)\""
  12124. },
  12125. "value": "log(address,bool)"
  12126. },
  12127. {
  12128. "id": 8163,
  12129. "name": "p0",
  12130. "nodeType": "Identifier",
  12131. "overloadedDeclarations": [],
  12132. "referencedDeclaration": 8154,
  12133. "src": "8596:2:50",
  12134. "typeDescriptions": {
  12135. "typeIdentifier": "t_address",
  12136. "typeString": "address"
  12137. }
  12138. },
  12139. {
  12140. "id": 8164,
  12141. "name": "p1",
  12142. "nodeType": "Identifier",
  12143. "overloadedDeclarations": [],
  12144. "referencedDeclaration": 8156,
  12145. "src": "8600:2:50",
  12146. "typeDescriptions": {
  12147. "typeIdentifier": "t_bool",
  12148. "typeString": "bool"
  12149. }
  12150. }
  12151. ],
  12152. "expression": {
  12153. "argumentTypes": [
  12154. {
  12155. "typeIdentifier": "t_stringliteral_75b605d31a3bf49c8d814696c7c66216d3a7e81348c450078f032e425592f72b",
  12156. "typeString": "literal_string \"log(address,bool)\""
  12157. },
  12158. {
  12159. "typeIdentifier": "t_address",
  12160. "typeString": "address"
  12161. },
  12162. {
  12163. "typeIdentifier": "t_bool",
  12164. "typeString": "bool"
  12165. }
  12166. ],
  12167. "expression": {
  12168. "id": 8160,
  12169. "name": "abi",
  12170. "nodeType": "Identifier",
  12171. "overloadedDeclarations": [],
  12172. "referencedDeclaration": -1,
  12173. "src": "8551:3:50",
  12174. "typeDescriptions": {
  12175. "typeIdentifier": "t_magic_abi",
  12176. "typeString": "abi"
  12177. }
  12178. },
  12179. "id": 8161,
  12180. "isConstant": false,
  12181. "isLValue": false,
  12182. "isPure": true,
  12183. "lValueRequested": false,
  12184. "memberLocation": "8555:19:50",
  12185. "memberName": "encodeWithSignature",
  12186. "nodeType": "MemberAccess",
  12187. "src": "8551:23:50",
  12188. "typeDescriptions": {
  12189. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  12190. "typeString": "function (string memory) pure returns (bytes memory)"
  12191. }
  12192. },
  12193. "id": 8165,
  12194. "isConstant": false,
  12195. "isLValue": false,
  12196. "isPure": false,
  12197. "kind": "functionCall",
  12198. "lValueRequested": false,
  12199. "nameLocations": [],
  12200. "names": [],
  12201. "nodeType": "FunctionCall",
  12202. "src": "8551:52:50",
  12203. "tryCall": false,
  12204. "typeDescriptions": {
  12205. "typeIdentifier": "t_bytes_memory_ptr",
  12206. "typeString": "bytes memory"
  12207. }
  12208. }
  12209. ],
  12210. "expression": {
  12211. "argumentTypes": [
  12212. {
  12213. "typeIdentifier": "t_bytes_memory_ptr",
  12214. "typeString": "bytes memory"
  12215. }
  12216. ],
  12217. "id": 8159,
  12218. "name": "_sendLogPayload",
  12219. "nodeType": "Identifier",
  12220. "overloadedDeclarations": [],
  12221. "referencedDeclaration": 7315,
  12222. "src": "8535:15:50",
  12223. "typeDescriptions": {
  12224. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  12225. "typeString": "function (bytes memory) pure"
  12226. }
  12227. },
  12228. "id": 8166,
  12229. "isConstant": false,
  12230. "isLValue": false,
  12231. "isPure": false,
  12232. "kind": "functionCall",
  12233. "lValueRequested": false,
  12234. "nameLocations": [],
  12235. "names": [],
  12236. "nodeType": "FunctionCall",
  12237. "src": "8535:69:50",
  12238. "tryCall": false,
  12239. "typeDescriptions": {
  12240. "typeIdentifier": "t_tuple$__$",
  12241. "typeString": "tuple()"
  12242. }
  12243. },
  12244. "id": 8167,
  12245. "nodeType": "ExpressionStatement",
  12246. "src": "8535:69:50"
  12247. }
  12248. ]
  12249. },
  12250. "implemented": true,
  12251. "kind": "function",
  12252. "modifiers": [],
  12253. "name": "log",
  12254. "nameLocation": "8486:3:50",
  12255. "parameters": {
  12256. "id": 8157,
  12257. "nodeType": "ParameterList",
  12258. "parameters": [
  12259. {
  12260. "constant": false,
  12261. "id": 8154,
  12262. "mutability": "mutable",
  12263. "name": "p0",
  12264. "nameLocation": "8498:2:50",
  12265. "nodeType": "VariableDeclaration",
  12266. "scope": 8169,
  12267. "src": "8490:10:50",
  12268. "stateVariable": false,
  12269. "storageLocation": "default",
  12270. "typeDescriptions": {
  12271. "typeIdentifier": "t_address",
  12272. "typeString": "address"
  12273. },
  12274. "typeName": {
  12275. "id": 8153,
  12276. "name": "address",
  12277. "nodeType": "ElementaryTypeName",
  12278. "src": "8490:7:50",
  12279. "stateMutability": "nonpayable",
  12280. "typeDescriptions": {
  12281. "typeIdentifier": "t_address",
  12282. "typeString": "address"
  12283. }
  12284. },
  12285. "visibility": "internal"
  12286. },
  12287. {
  12288. "constant": false,
  12289. "id": 8156,
  12290. "mutability": "mutable",
  12291. "name": "p1",
  12292. "nameLocation": "8507:2:50",
  12293. "nodeType": "VariableDeclaration",
  12294. "scope": 8169,
  12295. "src": "8502:7:50",
  12296. "stateVariable": false,
  12297. "storageLocation": "default",
  12298. "typeDescriptions": {
  12299. "typeIdentifier": "t_bool",
  12300. "typeString": "bool"
  12301. },
  12302. "typeName": {
  12303. "id": 8155,
  12304. "name": "bool",
  12305. "nodeType": "ElementaryTypeName",
  12306. "src": "8502:4:50",
  12307. "typeDescriptions": {
  12308. "typeIdentifier": "t_bool",
  12309. "typeString": "bool"
  12310. }
  12311. },
  12312. "visibility": "internal"
  12313. }
  12314. ],
  12315. "src": "8489:21:50"
  12316. },
  12317. "returnParameters": {
  12318. "id": 8158,
  12319. "nodeType": "ParameterList",
  12320. "parameters": [],
  12321. "src": "8525:0:50"
  12322. },
  12323. "scope": 15355,
  12324. "stateMutability": "pure",
  12325. "virtual": false,
  12326. "visibility": "internal"
  12327. },
  12328. {
  12329. "id": 8186,
  12330. "nodeType": "FunctionDefinition",
  12331. "src": "8617:140:50",
  12332. "nodes": [],
  12333. "body": {
  12334. "id": 8185,
  12335. "nodeType": "Block",
  12336. "src": "8668:89:50",
  12337. "nodes": [],
  12338. "statements": [
  12339. {
  12340. "expression": {
  12341. "arguments": [
  12342. {
  12343. "arguments": [
  12344. {
  12345. "hexValue": "6c6f6728616464726573732c6164647265737329",
  12346. "id": 8179,
  12347. "isConstant": false,
  12348. "isLValue": false,
  12349. "isPure": true,
  12350. "kind": "string",
  12351. "lValueRequested": false,
  12352. "nodeType": "Literal",
  12353. "src": "8718:22:50",
  12354. "typeDescriptions": {
  12355. "typeIdentifier": "t_stringliteral_daf0d4aa9a5679e832ac921da67b43572b4326ee2565442d3ed255b48cfb5161",
  12356. "typeString": "literal_string \"log(address,address)\""
  12357. },
  12358. "value": "log(address,address)"
  12359. },
  12360. {
  12361. "id": 8180,
  12362. "name": "p0",
  12363. "nodeType": "Identifier",
  12364. "overloadedDeclarations": [],
  12365. "referencedDeclaration": 8171,
  12366. "src": "8742:2:50",
  12367. "typeDescriptions": {
  12368. "typeIdentifier": "t_address",
  12369. "typeString": "address"
  12370. }
  12371. },
  12372. {
  12373. "id": 8181,
  12374. "name": "p1",
  12375. "nodeType": "Identifier",
  12376. "overloadedDeclarations": [],
  12377. "referencedDeclaration": 8173,
  12378. "src": "8746:2:50",
  12379. "typeDescriptions": {
  12380. "typeIdentifier": "t_address",
  12381. "typeString": "address"
  12382. }
  12383. }
  12384. ],
  12385. "expression": {
  12386. "argumentTypes": [
  12387. {
  12388. "typeIdentifier": "t_stringliteral_daf0d4aa9a5679e832ac921da67b43572b4326ee2565442d3ed255b48cfb5161",
  12389. "typeString": "literal_string \"log(address,address)\""
  12390. },
  12391. {
  12392. "typeIdentifier": "t_address",
  12393. "typeString": "address"
  12394. },
  12395. {
  12396. "typeIdentifier": "t_address",
  12397. "typeString": "address"
  12398. }
  12399. ],
  12400. "expression": {
  12401. "id": 8177,
  12402. "name": "abi",
  12403. "nodeType": "Identifier",
  12404. "overloadedDeclarations": [],
  12405. "referencedDeclaration": -1,
  12406. "src": "8694:3:50",
  12407. "typeDescriptions": {
  12408. "typeIdentifier": "t_magic_abi",
  12409. "typeString": "abi"
  12410. }
  12411. },
  12412. "id": 8178,
  12413. "isConstant": false,
  12414. "isLValue": false,
  12415. "isPure": true,
  12416. "lValueRequested": false,
  12417. "memberLocation": "8698:19:50",
  12418. "memberName": "encodeWithSignature",
  12419. "nodeType": "MemberAccess",
  12420. "src": "8694:23:50",
  12421. "typeDescriptions": {
  12422. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  12423. "typeString": "function (string memory) pure returns (bytes memory)"
  12424. }
  12425. },
  12426. "id": 8182,
  12427. "isConstant": false,
  12428. "isLValue": false,
  12429. "isPure": false,
  12430. "kind": "functionCall",
  12431. "lValueRequested": false,
  12432. "nameLocations": [],
  12433. "names": [],
  12434. "nodeType": "FunctionCall",
  12435. "src": "8694:55:50",
  12436. "tryCall": false,
  12437. "typeDescriptions": {
  12438. "typeIdentifier": "t_bytes_memory_ptr",
  12439. "typeString": "bytes memory"
  12440. }
  12441. }
  12442. ],
  12443. "expression": {
  12444. "argumentTypes": [
  12445. {
  12446. "typeIdentifier": "t_bytes_memory_ptr",
  12447. "typeString": "bytes memory"
  12448. }
  12449. ],
  12450. "id": 8176,
  12451. "name": "_sendLogPayload",
  12452. "nodeType": "Identifier",
  12453. "overloadedDeclarations": [],
  12454. "referencedDeclaration": 7315,
  12455. "src": "8678:15:50",
  12456. "typeDescriptions": {
  12457. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  12458. "typeString": "function (bytes memory) pure"
  12459. }
  12460. },
  12461. "id": 8183,
  12462. "isConstant": false,
  12463. "isLValue": false,
  12464. "isPure": false,
  12465. "kind": "functionCall",
  12466. "lValueRequested": false,
  12467. "nameLocations": [],
  12468. "names": [],
  12469. "nodeType": "FunctionCall",
  12470. "src": "8678:72:50",
  12471. "tryCall": false,
  12472. "typeDescriptions": {
  12473. "typeIdentifier": "t_tuple$__$",
  12474. "typeString": "tuple()"
  12475. }
  12476. },
  12477. "id": 8184,
  12478. "nodeType": "ExpressionStatement",
  12479. "src": "8678:72:50"
  12480. }
  12481. ]
  12482. },
  12483. "implemented": true,
  12484. "kind": "function",
  12485. "modifiers": [],
  12486. "name": "log",
  12487. "nameLocation": "8626:3:50",
  12488. "parameters": {
  12489. "id": 8174,
  12490. "nodeType": "ParameterList",
  12491. "parameters": [
  12492. {
  12493. "constant": false,
  12494. "id": 8171,
  12495. "mutability": "mutable",
  12496. "name": "p0",
  12497. "nameLocation": "8638:2:50",
  12498. "nodeType": "VariableDeclaration",
  12499. "scope": 8186,
  12500. "src": "8630:10:50",
  12501. "stateVariable": false,
  12502. "storageLocation": "default",
  12503. "typeDescriptions": {
  12504. "typeIdentifier": "t_address",
  12505. "typeString": "address"
  12506. },
  12507. "typeName": {
  12508. "id": 8170,
  12509. "name": "address",
  12510. "nodeType": "ElementaryTypeName",
  12511. "src": "8630:7:50",
  12512. "stateMutability": "nonpayable",
  12513. "typeDescriptions": {
  12514. "typeIdentifier": "t_address",
  12515. "typeString": "address"
  12516. }
  12517. },
  12518. "visibility": "internal"
  12519. },
  12520. {
  12521. "constant": false,
  12522. "id": 8173,
  12523. "mutability": "mutable",
  12524. "name": "p1",
  12525. "nameLocation": "8650:2:50",
  12526. "nodeType": "VariableDeclaration",
  12527. "scope": 8186,
  12528. "src": "8642:10:50",
  12529. "stateVariable": false,
  12530. "storageLocation": "default",
  12531. "typeDescriptions": {
  12532. "typeIdentifier": "t_address",
  12533. "typeString": "address"
  12534. },
  12535. "typeName": {
  12536. "id": 8172,
  12537. "name": "address",
  12538. "nodeType": "ElementaryTypeName",
  12539. "src": "8642:7:50",
  12540. "stateMutability": "nonpayable",
  12541. "typeDescriptions": {
  12542. "typeIdentifier": "t_address",
  12543. "typeString": "address"
  12544. }
  12545. },
  12546. "visibility": "internal"
  12547. }
  12548. ],
  12549. "src": "8629:24:50"
  12550. },
  12551. "returnParameters": {
  12552. "id": 8175,
  12553. "nodeType": "ParameterList",
  12554. "parameters": [],
  12555. "src": "8668:0:50"
  12556. },
  12557. "scope": 15355,
  12558. "stateMutability": "pure",
  12559. "virtual": false,
  12560. "visibility": "internal"
  12561. },
  12562. {
  12563. "id": 8206,
  12564. "nodeType": "FunctionDefinition",
  12565. "src": "8763:164:50",
  12566. "nodes": [],
  12567. "body": {
  12568. "id": 8205,
  12569. "nodeType": "Block",
  12570. "src": "8826:101:50",
  12571. "nodes": [],
  12572. "statements": [
  12573. {
  12574. "expression": {
  12575. "arguments": [
  12576. {
  12577. "arguments": [
  12578. {
  12579. "hexValue": "6c6f672875696e743235362c75696e743235362c75696e7432353629",
  12580. "id": 8198,
  12581. "isConstant": false,
  12582. "isLValue": false,
  12583. "isPure": true,
  12584. "kind": "string",
  12585. "lValueRequested": false,
  12586. "nodeType": "Literal",
  12587. "src": "8876:30:50",
  12588. "typeDescriptions": {
  12589. "typeIdentifier": "t_stringliteral_d1ed7a3c020c4f5939654147940a147a8e4e638fa1e8f5664b5efbd1e1f3c4a6",
  12590. "typeString": "literal_string \"log(uint256,uint256,uint256)\""
  12591. },
  12592. "value": "log(uint256,uint256,uint256)"
  12593. },
  12594. {
  12595. "id": 8199,
  12596. "name": "p0",
  12597. "nodeType": "Identifier",
  12598. "overloadedDeclarations": [],
  12599. "referencedDeclaration": 8188,
  12600. "src": "8908:2:50",
  12601. "typeDescriptions": {
  12602. "typeIdentifier": "t_uint256",
  12603. "typeString": "uint256"
  12604. }
  12605. },
  12606. {
  12607. "id": 8200,
  12608. "name": "p1",
  12609. "nodeType": "Identifier",
  12610. "overloadedDeclarations": [],
  12611. "referencedDeclaration": 8190,
  12612. "src": "8912:2:50",
  12613. "typeDescriptions": {
  12614. "typeIdentifier": "t_uint256",
  12615. "typeString": "uint256"
  12616. }
  12617. },
  12618. {
  12619. "id": 8201,
  12620. "name": "p2",
  12621. "nodeType": "Identifier",
  12622. "overloadedDeclarations": [],
  12623. "referencedDeclaration": 8192,
  12624. "src": "8916:2:50",
  12625. "typeDescriptions": {
  12626. "typeIdentifier": "t_uint256",
  12627. "typeString": "uint256"
  12628. }
  12629. }
  12630. ],
  12631. "expression": {
  12632. "argumentTypes": [
  12633. {
  12634. "typeIdentifier": "t_stringliteral_d1ed7a3c020c4f5939654147940a147a8e4e638fa1e8f5664b5efbd1e1f3c4a6",
  12635. "typeString": "literal_string \"log(uint256,uint256,uint256)\""
  12636. },
  12637. {
  12638. "typeIdentifier": "t_uint256",
  12639. "typeString": "uint256"
  12640. },
  12641. {
  12642. "typeIdentifier": "t_uint256",
  12643. "typeString": "uint256"
  12644. },
  12645. {
  12646. "typeIdentifier": "t_uint256",
  12647. "typeString": "uint256"
  12648. }
  12649. ],
  12650. "expression": {
  12651. "id": 8196,
  12652. "name": "abi",
  12653. "nodeType": "Identifier",
  12654. "overloadedDeclarations": [],
  12655. "referencedDeclaration": -1,
  12656. "src": "8852:3:50",
  12657. "typeDescriptions": {
  12658. "typeIdentifier": "t_magic_abi",
  12659. "typeString": "abi"
  12660. }
  12661. },
  12662. "id": 8197,
  12663. "isConstant": false,
  12664. "isLValue": false,
  12665. "isPure": true,
  12666. "lValueRequested": false,
  12667. "memberLocation": "8856:19:50",
  12668. "memberName": "encodeWithSignature",
  12669. "nodeType": "MemberAccess",
  12670. "src": "8852:23:50",
  12671. "typeDescriptions": {
  12672. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  12673. "typeString": "function (string memory) pure returns (bytes memory)"
  12674. }
  12675. },
  12676. "id": 8202,
  12677. "isConstant": false,
  12678. "isLValue": false,
  12679. "isPure": false,
  12680. "kind": "functionCall",
  12681. "lValueRequested": false,
  12682. "nameLocations": [],
  12683. "names": [],
  12684. "nodeType": "FunctionCall",
  12685. "src": "8852:67:50",
  12686. "tryCall": false,
  12687. "typeDescriptions": {
  12688. "typeIdentifier": "t_bytes_memory_ptr",
  12689. "typeString": "bytes memory"
  12690. }
  12691. }
  12692. ],
  12693. "expression": {
  12694. "argumentTypes": [
  12695. {
  12696. "typeIdentifier": "t_bytes_memory_ptr",
  12697. "typeString": "bytes memory"
  12698. }
  12699. ],
  12700. "id": 8195,
  12701. "name": "_sendLogPayload",
  12702. "nodeType": "Identifier",
  12703. "overloadedDeclarations": [],
  12704. "referencedDeclaration": 7315,
  12705. "src": "8836:15:50",
  12706. "typeDescriptions": {
  12707. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  12708. "typeString": "function (bytes memory) pure"
  12709. }
  12710. },
  12711. "id": 8203,
  12712. "isConstant": false,
  12713. "isLValue": false,
  12714. "isPure": false,
  12715. "kind": "functionCall",
  12716. "lValueRequested": false,
  12717. "nameLocations": [],
  12718. "names": [],
  12719. "nodeType": "FunctionCall",
  12720. "src": "8836:84:50",
  12721. "tryCall": false,
  12722. "typeDescriptions": {
  12723. "typeIdentifier": "t_tuple$__$",
  12724. "typeString": "tuple()"
  12725. }
  12726. },
  12727. "id": 8204,
  12728. "nodeType": "ExpressionStatement",
  12729. "src": "8836:84:50"
  12730. }
  12731. ]
  12732. },
  12733. "implemented": true,
  12734. "kind": "function",
  12735. "modifiers": [],
  12736. "name": "log",
  12737. "nameLocation": "8772:3:50",
  12738. "parameters": {
  12739. "id": 8193,
  12740. "nodeType": "ParameterList",
  12741. "parameters": [
  12742. {
  12743. "constant": false,
  12744. "id": 8188,
  12745. "mutability": "mutable",
  12746. "name": "p0",
  12747. "nameLocation": "8784:2:50",
  12748. "nodeType": "VariableDeclaration",
  12749. "scope": 8206,
  12750. "src": "8776:10:50",
  12751. "stateVariable": false,
  12752. "storageLocation": "default",
  12753. "typeDescriptions": {
  12754. "typeIdentifier": "t_uint256",
  12755. "typeString": "uint256"
  12756. },
  12757. "typeName": {
  12758. "id": 8187,
  12759. "name": "uint256",
  12760. "nodeType": "ElementaryTypeName",
  12761. "src": "8776:7:50",
  12762. "typeDescriptions": {
  12763. "typeIdentifier": "t_uint256",
  12764. "typeString": "uint256"
  12765. }
  12766. },
  12767. "visibility": "internal"
  12768. },
  12769. {
  12770. "constant": false,
  12771. "id": 8190,
  12772. "mutability": "mutable",
  12773. "name": "p1",
  12774. "nameLocation": "8796:2:50",
  12775. "nodeType": "VariableDeclaration",
  12776. "scope": 8206,
  12777. "src": "8788:10:50",
  12778. "stateVariable": false,
  12779. "storageLocation": "default",
  12780. "typeDescriptions": {
  12781. "typeIdentifier": "t_uint256",
  12782. "typeString": "uint256"
  12783. },
  12784. "typeName": {
  12785. "id": 8189,
  12786. "name": "uint256",
  12787. "nodeType": "ElementaryTypeName",
  12788. "src": "8788:7:50",
  12789. "typeDescriptions": {
  12790. "typeIdentifier": "t_uint256",
  12791. "typeString": "uint256"
  12792. }
  12793. },
  12794. "visibility": "internal"
  12795. },
  12796. {
  12797. "constant": false,
  12798. "id": 8192,
  12799. "mutability": "mutable",
  12800. "name": "p2",
  12801. "nameLocation": "8808:2:50",
  12802. "nodeType": "VariableDeclaration",
  12803. "scope": 8206,
  12804. "src": "8800:10:50",
  12805. "stateVariable": false,
  12806. "storageLocation": "default",
  12807. "typeDescriptions": {
  12808. "typeIdentifier": "t_uint256",
  12809. "typeString": "uint256"
  12810. },
  12811. "typeName": {
  12812. "id": 8191,
  12813. "name": "uint256",
  12814. "nodeType": "ElementaryTypeName",
  12815. "src": "8800:7:50",
  12816. "typeDescriptions": {
  12817. "typeIdentifier": "t_uint256",
  12818. "typeString": "uint256"
  12819. }
  12820. },
  12821. "visibility": "internal"
  12822. }
  12823. ],
  12824. "src": "8775:36:50"
  12825. },
  12826. "returnParameters": {
  12827. "id": 8194,
  12828. "nodeType": "ParameterList",
  12829. "parameters": [],
  12830. "src": "8826:0:50"
  12831. },
  12832. "scope": 15355,
  12833. "stateMutability": "pure",
  12834. "virtual": false,
  12835. "visibility": "internal"
  12836. },
  12837. {
  12838. "id": 8226,
  12839. "nodeType": "FunctionDefinition",
  12840. "src": "8933:169:50",
  12841. "nodes": [],
  12842. "body": {
  12843. "id": 8225,
  12844. "nodeType": "Block",
  12845. "src": "9002:100:50",
  12846. "nodes": [],
  12847. "statements": [
  12848. {
  12849. "expression": {
  12850. "arguments": [
  12851. {
  12852. "arguments": [
  12853. {
  12854. "hexValue": "6c6f672875696e743235362c75696e743235362c737472696e6729",
  12855. "id": 8218,
  12856. "isConstant": false,
  12857. "isLValue": false,
  12858. "isPure": true,
  12859. "kind": "string",
  12860. "lValueRequested": false,
  12861. "nodeType": "Literal",
  12862. "src": "9052:29:50",
  12863. "typeDescriptions": {
  12864. "typeIdentifier": "t_stringliteral_71d04af2c0d71f035017c73ec9440d8cef06157a84f0febe8ec74eca98138262",
  12865. "typeString": "literal_string \"log(uint256,uint256,string)\""
  12866. },
  12867. "value": "log(uint256,uint256,string)"
  12868. },
  12869. {
  12870. "id": 8219,
  12871. "name": "p0",
  12872. "nodeType": "Identifier",
  12873. "overloadedDeclarations": [],
  12874. "referencedDeclaration": 8208,
  12875. "src": "9083:2:50",
  12876. "typeDescriptions": {
  12877. "typeIdentifier": "t_uint256",
  12878. "typeString": "uint256"
  12879. }
  12880. },
  12881. {
  12882. "id": 8220,
  12883. "name": "p1",
  12884. "nodeType": "Identifier",
  12885. "overloadedDeclarations": [],
  12886. "referencedDeclaration": 8210,
  12887. "src": "9087:2:50",
  12888. "typeDescriptions": {
  12889. "typeIdentifier": "t_uint256",
  12890. "typeString": "uint256"
  12891. }
  12892. },
  12893. {
  12894. "id": 8221,
  12895. "name": "p2",
  12896. "nodeType": "Identifier",
  12897. "overloadedDeclarations": [],
  12898. "referencedDeclaration": 8212,
  12899. "src": "9091:2:50",
  12900. "typeDescriptions": {
  12901. "typeIdentifier": "t_string_memory_ptr",
  12902. "typeString": "string memory"
  12903. }
  12904. }
  12905. ],
  12906. "expression": {
  12907. "argumentTypes": [
  12908. {
  12909. "typeIdentifier": "t_stringliteral_71d04af2c0d71f035017c73ec9440d8cef06157a84f0febe8ec74eca98138262",
  12910. "typeString": "literal_string \"log(uint256,uint256,string)\""
  12911. },
  12912. {
  12913. "typeIdentifier": "t_uint256",
  12914. "typeString": "uint256"
  12915. },
  12916. {
  12917. "typeIdentifier": "t_uint256",
  12918. "typeString": "uint256"
  12919. },
  12920. {
  12921. "typeIdentifier": "t_string_memory_ptr",
  12922. "typeString": "string memory"
  12923. }
  12924. ],
  12925. "expression": {
  12926. "id": 8216,
  12927. "name": "abi",
  12928. "nodeType": "Identifier",
  12929. "overloadedDeclarations": [],
  12930. "referencedDeclaration": -1,
  12931. "src": "9028:3:50",
  12932. "typeDescriptions": {
  12933. "typeIdentifier": "t_magic_abi",
  12934. "typeString": "abi"
  12935. }
  12936. },
  12937. "id": 8217,
  12938. "isConstant": false,
  12939. "isLValue": false,
  12940. "isPure": true,
  12941. "lValueRequested": false,
  12942. "memberLocation": "9032:19:50",
  12943. "memberName": "encodeWithSignature",
  12944. "nodeType": "MemberAccess",
  12945. "src": "9028:23:50",
  12946. "typeDescriptions": {
  12947. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  12948. "typeString": "function (string memory) pure returns (bytes memory)"
  12949. }
  12950. },
  12951. "id": 8222,
  12952. "isConstant": false,
  12953. "isLValue": false,
  12954. "isPure": false,
  12955. "kind": "functionCall",
  12956. "lValueRequested": false,
  12957. "nameLocations": [],
  12958. "names": [],
  12959. "nodeType": "FunctionCall",
  12960. "src": "9028:66:50",
  12961. "tryCall": false,
  12962. "typeDescriptions": {
  12963. "typeIdentifier": "t_bytes_memory_ptr",
  12964. "typeString": "bytes memory"
  12965. }
  12966. }
  12967. ],
  12968. "expression": {
  12969. "argumentTypes": [
  12970. {
  12971. "typeIdentifier": "t_bytes_memory_ptr",
  12972. "typeString": "bytes memory"
  12973. }
  12974. ],
  12975. "id": 8215,
  12976. "name": "_sendLogPayload",
  12977. "nodeType": "Identifier",
  12978. "overloadedDeclarations": [],
  12979. "referencedDeclaration": 7315,
  12980. "src": "9012:15:50",
  12981. "typeDescriptions": {
  12982. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  12983. "typeString": "function (bytes memory) pure"
  12984. }
  12985. },
  12986. "id": 8223,
  12987. "isConstant": false,
  12988. "isLValue": false,
  12989. "isPure": false,
  12990. "kind": "functionCall",
  12991. "lValueRequested": false,
  12992. "nameLocations": [],
  12993. "names": [],
  12994. "nodeType": "FunctionCall",
  12995. "src": "9012:83:50",
  12996. "tryCall": false,
  12997. "typeDescriptions": {
  12998. "typeIdentifier": "t_tuple$__$",
  12999. "typeString": "tuple()"
  13000. }
  13001. },
  13002. "id": 8224,
  13003. "nodeType": "ExpressionStatement",
  13004. "src": "9012:83:50"
  13005. }
  13006. ]
  13007. },
  13008. "implemented": true,
  13009. "kind": "function",
  13010. "modifiers": [],
  13011. "name": "log",
  13012. "nameLocation": "8942:3:50",
  13013. "parameters": {
  13014. "id": 8213,
  13015. "nodeType": "ParameterList",
  13016. "parameters": [
  13017. {
  13018. "constant": false,
  13019. "id": 8208,
  13020. "mutability": "mutable",
  13021. "name": "p0",
  13022. "nameLocation": "8954:2:50",
  13023. "nodeType": "VariableDeclaration",
  13024. "scope": 8226,
  13025. "src": "8946:10:50",
  13026. "stateVariable": false,
  13027. "storageLocation": "default",
  13028. "typeDescriptions": {
  13029. "typeIdentifier": "t_uint256",
  13030. "typeString": "uint256"
  13031. },
  13032. "typeName": {
  13033. "id": 8207,
  13034. "name": "uint256",
  13035. "nodeType": "ElementaryTypeName",
  13036. "src": "8946:7:50",
  13037. "typeDescriptions": {
  13038. "typeIdentifier": "t_uint256",
  13039. "typeString": "uint256"
  13040. }
  13041. },
  13042. "visibility": "internal"
  13043. },
  13044. {
  13045. "constant": false,
  13046. "id": 8210,
  13047. "mutability": "mutable",
  13048. "name": "p1",
  13049. "nameLocation": "8966:2:50",
  13050. "nodeType": "VariableDeclaration",
  13051. "scope": 8226,
  13052. "src": "8958:10:50",
  13053. "stateVariable": false,
  13054. "storageLocation": "default",
  13055. "typeDescriptions": {
  13056. "typeIdentifier": "t_uint256",
  13057. "typeString": "uint256"
  13058. },
  13059. "typeName": {
  13060. "id": 8209,
  13061. "name": "uint256",
  13062. "nodeType": "ElementaryTypeName",
  13063. "src": "8958:7:50",
  13064. "typeDescriptions": {
  13065. "typeIdentifier": "t_uint256",
  13066. "typeString": "uint256"
  13067. }
  13068. },
  13069. "visibility": "internal"
  13070. },
  13071. {
  13072. "constant": false,
  13073. "id": 8212,
  13074. "mutability": "mutable",
  13075. "name": "p2",
  13076. "nameLocation": "8984:2:50",
  13077. "nodeType": "VariableDeclaration",
  13078. "scope": 8226,
  13079. "src": "8970:16:50",
  13080. "stateVariable": false,
  13081. "storageLocation": "memory",
  13082. "typeDescriptions": {
  13083. "typeIdentifier": "t_string_memory_ptr",
  13084. "typeString": "string"
  13085. },
  13086. "typeName": {
  13087. "id": 8211,
  13088. "name": "string",
  13089. "nodeType": "ElementaryTypeName",
  13090. "src": "8970:6:50",
  13091. "typeDescriptions": {
  13092. "typeIdentifier": "t_string_storage_ptr",
  13093. "typeString": "string"
  13094. }
  13095. },
  13096. "visibility": "internal"
  13097. }
  13098. ],
  13099. "src": "8945:42:50"
  13100. },
  13101. "returnParameters": {
  13102. "id": 8214,
  13103. "nodeType": "ParameterList",
  13104. "parameters": [],
  13105. "src": "9002:0:50"
  13106. },
  13107. "scope": 15355,
  13108. "stateMutability": "pure",
  13109. "virtual": false,
  13110. "visibility": "internal"
  13111. },
  13112. {
  13113. "id": 8246,
  13114. "nodeType": "FunctionDefinition",
  13115. "src": "9108:158:50",
  13116. "nodes": [],
  13117. "body": {
  13118. "id": 8245,
  13119. "nodeType": "Block",
  13120. "src": "9168:98:50",
  13121. "nodes": [],
  13122. "statements": [
  13123. {
  13124. "expression": {
  13125. "arguments": [
  13126. {
  13127. "arguments": [
  13128. {
  13129. "hexValue": "6c6f672875696e743235362c75696e743235362c626f6f6c29",
  13130. "id": 8238,
  13131. "isConstant": false,
  13132. "isLValue": false,
  13133. "isPure": true,
  13134. "kind": "string",
  13135. "lValueRequested": false,
  13136. "nodeType": "Literal",
  13137. "src": "9218:27:50",
  13138. "typeDescriptions": {
  13139. "typeIdentifier": "t_stringliteral_4766da72b632663e3b9911d02d6f30e0cf213f928bdb9f6fd840851875d9fce0",
  13140. "typeString": "literal_string \"log(uint256,uint256,bool)\""
  13141. },
  13142. "value": "log(uint256,uint256,bool)"
  13143. },
  13144. {
  13145. "id": 8239,
  13146. "name": "p0",
  13147. "nodeType": "Identifier",
  13148. "overloadedDeclarations": [],
  13149. "referencedDeclaration": 8228,
  13150. "src": "9247:2:50",
  13151. "typeDescriptions": {
  13152. "typeIdentifier": "t_uint256",
  13153. "typeString": "uint256"
  13154. }
  13155. },
  13156. {
  13157. "id": 8240,
  13158. "name": "p1",
  13159. "nodeType": "Identifier",
  13160. "overloadedDeclarations": [],
  13161. "referencedDeclaration": 8230,
  13162. "src": "9251:2:50",
  13163. "typeDescriptions": {
  13164. "typeIdentifier": "t_uint256",
  13165. "typeString": "uint256"
  13166. }
  13167. },
  13168. {
  13169. "id": 8241,
  13170. "name": "p2",
  13171. "nodeType": "Identifier",
  13172. "overloadedDeclarations": [],
  13173. "referencedDeclaration": 8232,
  13174. "src": "9255:2:50",
  13175. "typeDescriptions": {
  13176. "typeIdentifier": "t_bool",
  13177. "typeString": "bool"
  13178. }
  13179. }
  13180. ],
  13181. "expression": {
  13182. "argumentTypes": [
  13183. {
  13184. "typeIdentifier": "t_stringliteral_4766da72b632663e3b9911d02d6f30e0cf213f928bdb9f6fd840851875d9fce0",
  13185. "typeString": "literal_string \"log(uint256,uint256,bool)\""
  13186. },
  13187. {
  13188. "typeIdentifier": "t_uint256",
  13189. "typeString": "uint256"
  13190. },
  13191. {
  13192. "typeIdentifier": "t_uint256",
  13193. "typeString": "uint256"
  13194. },
  13195. {
  13196. "typeIdentifier": "t_bool",
  13197. "typeString": "bool"
  13198. }
  13199. ],
  13200. "expression": {
  13201. "id": 8236,
  13202. "name": "abi",
  13203. "nodeType": "Identifier",
  13204. "overloadedDeclarations": [],
  13205. "referencedDeclaration": -1,
  13206. "src": "9194:3:50",
  13207. "typeDescriptions": {
  13208. "typeIdentifier": "t_magic_abi",
  13209. "typeString": "abi"
  13210. }
  13211. },
  13212. "id": 8237,
  13213. "isConstant": false,
  13214. "isLValue": false,
  13215. "isPure": true,
  13216. "lValueRequested": false,
  13217. "memberLocation": "9198:19:50",
  13218. "memberName": "encodeWithSignature",
  13219. "nodeType": "MemberAccess",
  13220. "src": "9194:23:50",
  13221. "typeDescriptions": {
  13222. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  13223. "typeString": "function (string memory) pure returns (bytes memory)"
  13224. }
  13225. },
  13226. "id": 8242,
  13227. "isConstant": false,
  13228. "isLValue": false,
  13229. "isPure": false,
  13230. "kind": "functionCall",
  13231. "lValueRequested": false,
  13232. "nameLocations": [],
  13233. "names": [],
  13234. "nodeType": "FunctionCall",
  13235. "src": "9194:64:50",
  13236. "tryCall": false,
  13237. "typeDescriptions": {
  13238. "typeIdentifier": "t_bytes_memory_ptr",
  13239. "typeString": "bytes memory"
  13240. }
  13241. }
  13242. ],
  13243. "expression": {
  13244. "argumentTypes": [
  13245. {
  13246. "typeIdentifier": "t_bytes_memory_ptr",
  13247. "typeString": "bytes memory"
  13248. }
  13249. ],
  13250. "id": 8235,
  13251. "name": "_sendLogPayload",
  13252. "nodeType": "Identifier",
  13253. "overloadedDeclarations": [],
  13254. "referencedDeclaration": 7315,
  13255. "src": "9178:15:50",
  13256. "typeDescriptions": {
  13257. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  13258. "typeString": "function (bytes memory) pure"
  13259. }
  13260. },
  13261. "id": 8243,
  13262. "isConstant": false,
  13263. "isLValue": false,
  13264. "isPure": false,
  13265. "kind": "functionCall",
  13266. "lValueRequested": false,
  13267. "nameLocations": [],
  13268. "names": [],
  13269. "nodeType": "FunctionCall",
  13270. "src": "9178:81:50",
  13271. "tryCall": false,
  13272. "typeDescriptions": {
  13273. "typeIdentifier": "t_tuple$__$",
  13274. "typeString": "tuple()"
  13275. }
  13276. },
  13277. "id": 8244,
  13278. "nodeType": "ExpressionStatement",
  13279. "src": "9178:81:50"
  13280. }
  13281. ]
  13282. },
  13283. "implemented": true,
  13284. "kind": "function",
  13285. "modifiers": [],
  13286. "name": "log",
  13287. "nameLocation": "9117:3:50",
  13288. "parameters": {
  13289. "id": 8233,
  13290. "nodeType": "ParameterList",
  13291. "parameters": [
  13292. {
  13293. "constant": false,
  13294. "id": 8228,
  13295. "mutability": "mutable",
  13296. "name": "p0",
  13297. "nameLocation": "9129:2:50",
  13298. "nodeType": "VariableDeclaration",
  13299. "scope": 8246,
  13300. "src": "9121:10:50",
  13301. "stateVariable": false,
  13302. "storageLocation": "default",
  13303. "typeDescriptions": {
  13304. "typeIdentifier": "t_uint256",
  13305. "typeString": "uint256"
  13306. },
  13307. "typeName": {
  13308. "id": 8227,
  13309. "name": "uint256",
  13310. "nodeType": "ElementaryTypeName",
  13311. "src": "9121:7:50",
  13312. "typeDescriptions": {
  13313. "typeIdentifier": "t_uint256",
  13314. "typeString": "uint256"
  13315. }
  13316. },
  13317. "visibility": "internal"
  13318. },
  13319. {
  13320. "constant": false,
  13321. "id": 8230,
  13322. "mutability": "mutable",
  13323. "name": "p1",
  13324. "nameLocation": "9141:2:50",
  13325. "nodeType": "VariableDeclaration",
  13326. "scope": 8246,
  13327. "src": "9133:10:50",
  13328. "stateVariable": false,
  13329. "storageLocation": "default",
  13330. "typeDescriptions": {
  13331. "typeIdentifier": "t_uint256",
  13332. "typeString": "uint256"
  13333. },
  13334. "typeName": {
  13335. "id": 8229,
  13336. "name": "uint256",
  13337. "nodeType": "ElementaryTypeName",
  13338. "src": "9133:7:50",
  13339. "typeDescriptions": {
  13340. "typeIdentifier": "t_uint256",
  13341. "typeString": "uint256"
  13342. }
  13343. },
  13344. "visibility": "internal"
  13345. },
  13346. {
  13347. "constant": false,
  13348. "id": 8232,
  13349. "mutability": "mutable",
  13350. "name": "p2",
  13351. "nameLocation": "9150:2:50",
  13352. "nodeType": "VariableDeclaration",
  13353. "scope": 8246,
  13354. "src": "9145:7:50",
  13355. "stateVariable": false,
  13356. "storageLocation": "default",
  13357. "typeDescriptions": {
  13358. "typeIdentifier": "t_bool",
  13359. "typeString": "bool"
  13360. },
  13361. "typeName": {
  13362. "id": 8231,
  13363. "name": "bool",
  13364. "nodeType": "ElementaryTypeName",
  13365. "src": "9145:4:50",
  13366. "typeDescriptions": {
  13367. "typeIdentifier": "t_bool",
  13368. "typeString": "bool"
  13369. }
  13370. },
  13371. "visibility": "internal"
  13372. }
  13373. ],
  13374. "src": "9120:33:50"
  13375. },
  13376. "returnParameters": {
  13377. "id": 8234,
  13378. "nodeType": "ParameterList",
  13379. "parameters": [],
  13380. "src": "9168:0:50"
  13381. },
  13382. "scope": 15355,
  13383. "stateMutability": "pure",
  13384. "virtual": false,
  13385. "visibility": "internal"
  13386. },
  13387. {
  13388. "id": 8266,
  13389. "nodeType": "FunctionDefinition",
  13390. "src": "9272:164:50",
  13391. "nodes": [],
  13392. "body": {
  13393. "id": 8265,
  13394. "nodeType": "Block",
  13395. "src": "9335:101:50",
  13396. "nodes": [],
  13397. "statements": [
  13398. {
  13399. "expression": {
  13400. "arguments": [
  13401. {
  13402. "arguments": [
  13403. {
  13404. "hexValue": "6c6f672875696e743235362c75696e743235362c6164647265737329",
  13405. "id": 8258,
  13406. "isConstant": false,
  13407. "isLValue": false,
  13408. "isPure": true,
  13409. "kind": "string",
  13410. "lValueRequested": false,
  13411. "nodeType": "Literal",
  13412. "src": "9385:30:50",
  13413. "typeDescriptions": {
  13414. "typeIdentifier": "t_stringliteral_5c96b331e359852d9a7254105926ce8dfcc42dd4fce56a736cfb981b4c2984c1",
  13415. "typeString": "literal_string \"log(uint256,uint256,address)\""
  13416. },
  13417. "value": "log(uint256,uint256,address)"
  13418. },
  13419. {
  13420. "id": 8259,
  13421. "name": "p0",
  13422. "nodeType": "Identifier",
  13423. "overloadedDeclarations": [],
  13424. "referencedDeclaration": 8248,
  13425. "src": "9417:2:50",
  13426. "typeDescriptions": {
  13427. "typeIdentifier": "t_uint256",
  13428. "typeString": "uint256"
  13429. }
  13430. },
  13431. {
  13432. "id": 8260,
  13433. "name": "p1",
  13434. "nodeType": "Identifier",
  13435. "overloadedDeclarations": [],
  13436. "referencedDeclaration": 8250,
  13437. "src": "9421:2:50",
  13438. "typeDescriptions": {
  13439. "typeIdentifier": "t_uint256",
  13440. "typeString": "uint256"
  13441. }
  13442. },
  13443. {
  13444. "id": 8261,
  13445. "name": "p2",
  13446. "nodeType": "Identifier",
  13447. "overloadedDeclarations": [],
  13448. "referencedDeclaration": 8252,
  13449. "src": "9425:2:50",
  13450. "typeDescriptions": {
  13451. "typeIdentifier": "t_address",
  13452. "typeString": "address"
  13453. }
  13454. }
  13455. ],
  13456. "expression": {
  13457. "argumentTypes": [
  13458. {
  13459. "typeIdentifier": "t_stringliteral_5c96b331e359852d9a7254105926ce8dfcc42dd4fce56a736cfb981b4c2984c1",
  13460. "typeString": "literal_string \"log(uint256,uint256,address)\""
  13461. },
  13462. {
  13463. "typeIdentifier": "t_uint256",
  13464. "typeString": "uint256"
  13465. },
  13466. {
  13467. "typeIdentifier": "t_uint256",
  13468. "typeString": "uint256"
  13469. },
  13470. {
  13471. "typeIdentifier": "t_address",
  13472. "typeString": "address"
  13473. }
  13474. ],
  13475. "expression": {
  13476. "id": 8256,
  13477. "name": "abi",
  13478. "nodeType": "Identifier",
  13479. "overloadedDeclarations": [],
  13480. "referencedDeclaration": -1,
  13481. "src": "9361:3:50",
  13482. "typeDescriptions": {
  13483. "typeIdentifier": "t_magic_abi",
  13484. "typeString": "abi"
  13485. }
  13486. },
  13487. "id": 8257,
  13488. "isConstant": false,
  13489. "isLValue": false,
  13490. "isPure": true,
  13491. "lValueRequested": false,
  13492. "memberLocation": "9365:19:50",
  13493. "memberName": "encodeWithSignature",
  13494. "nodeType": "MemberAccess",
  13495. "src": "9361:23:50",
  13496. "typeDescriptions": {
  13497. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  13498. "typeString": "function (string memory) pure returns (bytes memory)"
  13499. }
  13500. },
  13501. "id": 8262,
  13502. "isConstant": false,
  13503. "isLValue": false,
  13504. "isPure": false,
  13505. "kind": "functionCall",
  13506. "lValueRequested": false,
  13507. "nameLocations": [],
  13508. "names": [],
  13509. "nodeType": "FunctionCall",
  13510. "src": "9361:67:50",
  13511. "tryCall": false,
  13512. "typeDescriptions": {
  13513. "typeIdentifier": "t_bytes_memory_ptr",
  13514. "typeString": "bytes memory"
  13515. }
  13516. }
  13517. ],
  13518. "expression": {
  13519. "argumentTypes": [
  13520. {
  13521. "typeIdentifier": "t_bytes_memory_ptr",
  13522. "typeString": "bytes memory"
  13523. }
  13524. ],
  13525. "id": 8255,
  13526. "name": "_sendLogPayload",
  13527. "nodeType": "Identifier",
  13528. "overloadedDeclarations": [],
  13529. "referencedDeclaration": 7315,
  13530. "src": "9345:15:50",
  13531. "typeDescriptions": {
  13532. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  13533. "typeString": "function (bytes memory) pure"
  13534. }
  13535. },
  13536. "id": 8263,
  13537. "isConstant": false,
  13538. "isLValue": false,
  13539. "isPure": false,
  13540. "kind": "functionCall",
  13541. "lValueRequested": false,
  13542. "nameLocations": [],
  13543. "names": [],
  13544. "nodeType": "FunctionCall",
  13545. "src": "9345:84:50",
  13546. "tryCall": false,
  13547. "typeDescriptions": {
  13548. "typeIdentifier": "t_tuple$__$",
  13549. "typeString": "tuple()"
  13550. }
  13551. },
  13552. "id": 8264,
  13553. "nodeType": "ExpressionStatement",
  13554. "src": "9345:84:50"
  13555. }
  13556. ]
  13557. },
  13558. "implemented": true,
  13559. "kind": "function",
  13560. "modifiers": [],
  13561. "name": "log",
  13562. "nameLocation": "9281:3:50",
  13563. "parameters": {
  13564. "id": 8253,
  13565. "nodeType": "ParameterList",
  13566. "parameters": [
  13567. {
  13568. "constant": false,
  13569. "id": 8248,
  13570. "mutability": "mutable",
  13571. "name": "p0",
  13572. "nameLocation": "9293:2:50",
  13573. "nodeType": "VariableDeclaration",
  13574. "scope": 8266,
  13575. "src": "9285:10:50",
  13576. "stateVariable": false,
  13577. "storageLocation": "default",
  13578. "typeDescriptions": {
  13579. "typeIdentifier": "t_uint256",
  13580. "typeString": "uint256"
  13581. },
  13582. "typeName": {
  13583. "id": 8247,
  13584. "name": "uint256",
  13585. "nodeType": "ElementaryTypeName",
  13586. "src": "9285:7:50",
  13587. "typeDescriptions": {
  13588. "typeIdentifier": "t_uint256",
  13589. "typeString": "uint256"
  13590. }
  13591. },
  13592. "visibility": "internal"
  13593. },
  13594. {
  13595. "constant": false,
  13596. "id": 8250,
  13597. "mutability": "mutable",
  13598. "name": "p1",
  13599. "nameLocation": "9305:2:50",
  13600. "nodeType": "VariableDeclaration",
  13601. "scope": 8266,
  13602. "src": "9297:10:50",
  13603. "stateVariable": false,
  13604. "storageLocation": "default",
  13605. "typeDescriptions": {
  13606. "typeIdentifier": "t_uint256",
  13607. "typeString": "uint256"
  13608. },
  13609. "typeName": {
  13610. "id": 8249,
  13611. "name": "uint256",
  13612. "nodeType": "ElementaryTypeName",
  13613. "src": "9297:7:50",
  13614. "typeDescriptions": {
  13615. "typeIdentifier": "t_uint256",
  13616. "typeString": "uint256"
  13617. }
  13618. },
  13619. "visibility": "internal"
  13620. },
  13621. {
  13622. "constant": false,
  13623. "id": 8252,
  13624. "mutability": "mutable",
  13625. "name": "p2",
  13626. "nameLocation": "9317:2:50",
  13627. "nodeType": "VariableDeclaration",
  13628. "scope": 8266,
  13629. "src": "9309:10:50",
  13630. "stateVariable": false,
  13631. "storageLocation": "default",
  13632. "typeDescriptions": {
  13633. "typeIdentifier": "t_address",
  13634. "typeString": "address"
  13635. },
  13636. "typeName": {
  13637. "id": 8251,
  13638. "name": "address",
  13639. "nodeType": "ElementaryTypeName",
  13640. "src": "9309:7:50",
  13641. "stateMutability": "nonpayable",
  13642. "typeDescriptions": {
  13643. "typeIdentifier": "t_address",
  13644. "typeString": "address"
  13645. }
  13646. },
  13647. "visibility": "internal"
  13648. }
  13649. ],
  13650. "src": "9284:36:50"
  13651. },
  13652. "returnParameters": {
  13653. "id": 8254,
  13654. "nodeType": "ParameterList",
  13655. "parameters": [],
  13656. "src": "9335:0:50"
  13657. },
  13658. "scope": 15355,
  13659. "stateMutability": "pure",
  13660. "virtual": false,
  13661. "visibility": "internal"
  13662. },
  13663. {
  13664. "id": 8286,
  13665. "nodeType": "FunctionDefinition",
  13666. "src": "9442:169:50",
  13667. "nodes": [],
  13668. "body": {
  13669. "id": 8285,
  13670. "nodeType": "Block",
  13671. "src": "9511:100:50",
  13672. "nodes": [],
  13673. "statements": [
  13674. {
  13675. "expression": {
  13676. "arguments": [
  13677. {
  13678. "arguments": [
  13679. {
  13680. "hexValue": "6c6f672875696e743235362c737472696e672c75696e7432353629",
  13681. "id": 8278,
  13682. "isConstant": false,
  13683. "isLValue": false,
  13684. "isPure": true,
  13685. "kind": "string",
  13686. "lValueRequested": false,
  13687. "nodeType": "Literal",
  13688. "src": "9561:29:50",
  13689. "typeDescriptions": {
  13690. "typeIdentifier": "t_stringliteral_37aa7d4c835edd965b1201d9c03f13272bd937d8e244ab84a153693e2f2f30c0",
  13691. "typeString": "literal_string \"log(uint256,string,uint256)\""
  13692. },
  13693. "value": "log(uint256,string,uint256)"
  13694. },
  13695. {
  13696. "id": 8279,
  13697. "name": "p0",
  13698. "nodeType": "Identifier",
  13699. "overloadedDeclarations": [],
  13700. "referencedDeclaration": 8268,
  13701. "src": "9592:2:50",
  13702. "typeDescriptions": {
  13703. "typeIdentifier": "t_uint256",
  13704. "typeString": "uint256"
  13705. }
  13706. },
  13707. {
  13708. "id": 8280,
  13709. "name": "p1",
  13710. "nodeType": "Identifier",
  13711. "overloadedDeclarations": [],
  13712. "referencedDeclaration": 8270,
  13713. "src": "9596:2:50",
  13714. "typeDescriptions": {
  13715. "typeIdentifier": "t_string_memory_ptr",
  13716. "typeString": "string memory"
  13717. }
  13718. },
  13719. {
  13720. "id": 8281,
  13721. "name": "p2",
  13722. "nodeType": "Identifier",
  13723. "overloadedDeclarations": [],
  13724. "referencedDeclaration": 8272,
  13725. "src": "9600:2:50",
  13726. "typeDescriptions": {
  13727. "typeIdentifier": "t_uint256",
  13728. "typeString": "uint256"
  13729. }
  13730. }
  13731. ],
  13732. "expression": {
  13733. "argumentTypes": [
  13734. {
  13735. "typeIdentifier": "t_stringliteral_37aa7d4c835edd965b1201d9c03f13272bd937d8e244ab84a153693e2f2f30c0",
  13736. "typeString": "literal_string \"log(uint256,string,uint256)\""
  13737. },
  13738. {
  13739. "typeIdentifier": "t_uint256",
  13740. "typeString": "uint256"
  13741. },
  13742. {
  13743. "typeIdentifier": "t_string_memory_ptr",
  13744. "typeString": "string memory"
  13745. },
  13746. {
  13747. "typeIdentifier": "t_uint256",
  13748. "typeString": "uint256"
  13749. }
  13750. ],
  13751. "expression": {
  13752. "id": 8276,
  13753. "name": "abi",
  13754. "nodeType": "Identifier",
  13755. "overloadedDeclarations": [],
  13756. "referencedDeclaration": -1,
  13757. "src": "9537:3:50",
  13758. "typeDescriptions": {
  13759. "typeIdentifier": "t_magic_abi",
  13760. "typeString": "abi"
  13761. }
  13762. },
  13763. "id": 8277,
  13764. "isConstant": false,
  13765. "isLValue": false,
  13766. "isPure": true,
  13767. "lValueRequested": false,
  13768. "memberLocation": "9541:19:50",
  13769. "memberName": "encodeWithSignature",
  13770. "nodeType": "MemberAccess",
  13771. "src": "9537:23:50",
  13772. "typeDescriptions": {
  13773. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  13774. "typeString": "function (string memory) pure returns (bytes memory)"
  13775. }
  13776. },
  13777. "id": 8282,
  13778. "isConstant": false,
  13779. "isLValue": false,
  13780. "isPure": false,
  13781. "kind": "functionCall",
  13782. "lValueRequested": false,
  13783. "nameLocations": [],
  13784. "names": [],
  13785. "nodeType": "FunctionCall",
  13786. "src": "9537:66:50",
  13787. "tryCall": false,
  13788. "typeDescriptions": {
  13789. "typeIdentifier": "t_bytes_memory_ptr",
  13790. "typeString": "bytes memory"
  13791. }
  13792. }
  13793. ],
  13794. "expression": {
  13795. "argumentTypes": [
  13796. {
  13797. "typeIdentifier": "t_bytes_memory_ptr",
  13798. "typeString": "bytes memory"
  13799. }
  13800. ],
  13801. "id": 8275,
  13802. "name": "_sendLogPayload",
  13803. "nodeType": "Identifier",
  13804. "overloadedDeclarations": [],
  13805. "referencedDeclaration": 7315,
  13806. "src": "9521:15:50",
  13807. "typeDescriptions": {
  13808. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  13809. "typeString": "function (bytes memory) pure"
  13810. }
  13811. },
  13812. "id": 8283,
  13813. "isConstant": false,
  13814. "isLValue": false,
  13815. "isPure": false,
  13816. "kind": "functionCall",
  13817. "lValueRequested": false,
  13818. "nameLocations": [],
  13819. "names": [],
  13820. "nodeType": "FunctionCall",
  13821. "src": "9521:83:50",
  13822. "tryCall": false,
  13823. "typeDescriptions": {
  13824. "typeIdentifier": "t_tuple$__$",
  13825. "typeString": "tuple()"
  13826. }
  13827. },
  13828. "id": 8284,
  13829. "nodeType": "ExpressionStatement",
  13830. "src": "9521:83:50"
  13831. }
  13832. ]
  13833. },
  13834. "implemented": true,
  13835. "kind": "function",
  13836. "modifiers": [],
  13837. "name": "log",
  13838. "nameLocation": "9451:3:50",
  13839. "parameters": {
  13840. "id": 8273,
  13841. "nodeType": "ParameterList",
  13842. "parameters": [
  13843. {
  13844. "constant": false,
  13845. "id": 8268,
  13846. "mutability": "mutable",
  13847. "name": "p0",
  13848. "nameLocation": "9463:2:50",
  13849. "nodeType": "VariableDeclaration",
  13850. "scope": 8286,
  13851. "src": "9455:10:50",
  13852. "stateVariable": false,
  13853. "storageLocation": "default",
  13854. "typeDescriptions": {
  13855. "typeIdentifier": "t_uint256",
  13856. "typeString": "uint256"
  13857. },
  13858. "typeName": {
  13859. "id": 8267,
  13860. "name": "uint256",
  13861. "nodeType": "ElementaryTypeName",
  13862. "src": "9455:7:50",
  13863. "typeDescriptions": {
  13864. "typeIdentifier": "t_uint256",
  13865. "typeString": "uint256"
  13866. }
  13867. },
  13868. "visibility": "internal"
  13869. },
  13870. {
  13871. "constant": false,
  13872. "id": 8270,
  13873. "mutability": "mutable",
  13874. "name": "p1",
  13875. "nameLocation": "9481:2:50",
  13876. "nodeType": "VariableDeclaration",
  13877. "scope": 8286,
  13878. "src": "9467:16:50",
  13879. "stateVariable": false,
  13880. "storageLocation": "memory",
  13881. "typeDescriptions": {
  13882. "typeIdentifier": "t_string_memory_ptr",
  13883. "typeString": "string"
  13884. },
  13885. "typeName": {
  13886. "id": 8269,
  13887. "name": "string",
  13888. "nodeType": "ElementaryTypeName",
  13889. "src": "9467:6:50",
  13890. "typeDescriptions": {
  13891. "typeIdentifier": "t_string_storage_ptr",
  13892. "typeString": "string"
  13893. }
  13894. },
  13895. "visibility": "internal"
  13896. },
  13897. {
  13898. "constant": false,
  13899. "id": 8272,
  13900. "mutability": "mutable",
  13901. "name": "p2",
  13902. "nameLocation": "9493:2:50",
  13903. "nodeType": "VariableDeclaration",
  13904. "scope": 8286,
  13905. "src": "9485:10:50",
  13906. "stateVariable": false,
  13907. "storageLocation": "default",
  13908. "typeDescriptions": {
  13909. "typeIdentifier": "t_uint256",
  13910. "typeString": "uint256"
  13911. },
  13912. "typeName": {
  13913. "id": 8271,
  13914. "name": "uint256",
  13915. "nodeType": "ElementaryTypeName",
  13916. "src": "9485:7:50",
  13917. "typeDescriptions": {
  13918. "typeIdentifier": "t_uint256",
  13919. "typeString": "uint256"
  13920. }
  13921. },
  13922. "visibility": "internal"
  13923. }
  13924. ],
  13925. "src": "9454:42:50"
  13926. },
  13927. "returnParameters": {
  13928. "id": 8274,
  13929. "nodeType": "ParameterList",
  13930. "parameters": [],
  13931. "src": "9511:0:50"
  13932. },
  13933. "scope": 15355,
  13934. "stateMutability": "pure",
  13935. "virtual": false,
  13936. "visibility": "internal"
  13937. },
  13938. {
  13939. "id": 8306,
  13940. "nodeType": "FunctionDefinition",
  13941. "src": "9617:174:50",
  13942. "nodes": [],
  13943. "body": {
  13944. "id": 8305,
  13945. "nodeType": "Block",
  13946. "src": "9692:99:50",
  13947. "nodes": [],
  13948. "statements": [
  13949. {
  13950. "expression": {
  13951. "arguments": [
  13952. {
  13953. "arguments": [
  13954. {
  13955. "hexValue": "6c6f672875696e743235362c737472696e672c737472696e6729",
  13956. "id": 8298,
  13957. "isConstant": false,
  13958. "isLValue": false,
  13959. "isPure": true,
  13960. "kind": "string",
  13961. "lValueRequested": false,
  13962. "nodeType": "Literal",
  13963. "src": "9742:28:50",
  13964. "typeDescriptions": {
  13965. "typeIdentifier": "t_stringliteral_b115611f13262589f336fb650c9278bd1879123a635e6a638f94e6cbdb1c1b35",
  13966. "typeString": "literal_string \"log(uint256,string,string)\""
  13967. },
  13968. "value": "log(uint256,string,string)"
  13969. },
  13970. {
  13971. "id": 8299,
  13972. "name": "p0",
  13973. "nodeType": "Identifier",
  13974. "overloadedDeclarations": [],
  13975. "referencedDeclaration": 8288,
  13976. "src": "9772:2:50",
  13977. "typeDescriptions": {
  13978. "typeIdentifier": "t_uint256",
  13979. "typeString": "uint256"
  13980. }
  13981. },
  13982. {
  13983. "id": 8300,
  13984. "name": "p1",
  13985. "nodeType": "Identifier",
  13986. "overloadedDeclarations": [],
  13987. "referencedDeclaration": 8290,
  13988. "src": "9776:2:50",
  13989. "typeDescriptions": {
  13990. "typeIdentifier": "t_string_memory_ptr",
  13991. "typeString": "string memory"
  13992. }
  13993. },
  13994. {
  13995. "id": 8301,
  13996. "name": "p2",
  13997. "nodeType": "Identifier",
  13998. "overloadedDeclarations": [],
  13999. "referencedDeclaration": 8292,
  14000. "src": "9780:2:50",
  14001. "typeDescriptions": {
  14002. "typeIdentifier": "t_string_memory_ptr",
  14003. "typeString": "string memory"
  14004. }
  14005. }
  14006. ],
  14007. "expression": {
  14008. "argumentTypes": [
  14009. {
  14010. "typeIdentifier": "t_stringliteral_b115611f13262589f336fb650c9278bd1879123a635e6a638f94e6cbdb1c1b35",
  14011. "typeString": "literal_string \"log(uint256,string,string)\""
  14012. },
  14013. {
  14014. "typeIdentifier": "t_uint256",
  14015. "typeString": "uint256"
  14016. },
  14017. {
  14018. "typeIdentifier": "t_string_memory_ptr",
  14019. "typeString": "string memory"
  14020. },
  14021. {
  14022. "typeIdentifier": "t_string_memory_ptr",
  14023. "typeString": "string memory"
  14024. }
  14025. ],
  14026. "expression": {
  14027. "id": 8296,
  14028. "name": "abi",
  14029. "nodeType": "Identifier",
  14030. "overloadedDeclarations": [],
  14031. "referencedDeclaration": -1,
  14032. "src": "9718:3:50",
  14033. "typeDescriptions": {
  14034. "typeIdentifier": "t_magic_abi",
  14035. "typeString": "abi"
  14036. }
  14037. },
  14038. "id": 8297,
  14039. "isConstant": false,
  14040. "isLValue": false,
  14041. "isPure": true,
  14042. "lValueRequested": false,
  14043. "memberLocation": "9722:19:50",
  14044. "memberName": "encodeWithSignature",
  14045. "nodeType": "MemberAccess",
  14046. "src": "9718:23:50",
  14047. "typeDescriptions": {
  14048. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  14049. "typeString": "function (string memory) pure returns (bytes memory)"
  14050. }
  14051. },
  14052. "id": 8302,
  14053. "isConstant": false,
  14054. "isLValue": false,
  14055. "isPure": false,
  14056. "kind": "functionCall",
  14057. "lValueRequested": false,
  14058. "nameLocations": [],
  14059. "names": [],
  14060. "nodeType": "FunctionCall",
  14061. "src": "9718:65:50",
  14062. "tryCall": false,
  14063. "typeDescriptions": {
  14064. "typeIdentifier": "t_bytes_memory_ptr",
  14065. "typeString": "bytes memory"
  14066. }
  14067. }
  14068. ],
  14069. "expression": {
  14070. "argumentTypes": [
  14071. {
  14072. "typeIdentifier": "t_bytes_memory_ptr",
  14073. "typeString": "bytes memory"
  14074. }
  14075. ],
  14076. "id": 8295,
  14077. "name": "_sendLogPayload",
  14078. "nodeType": "Identifier",
  14079. "overloadedDeclarations": [],
  14080. "referencedDeclaration": 7315,
  14081. "src": "9702:15:50",
  14082. "typeDescriptions": {
  14083. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  14084. "typeString": "function (bytes memory) pure"
  14085. }
  14086. },
  14087. "id": 8303,
  14088. "isConstant": false,
  14089. "isLValue": false,
  14090. "isPure": false,
  14091. "kind": "functionCall",
  14092. "lValueRequested": false,
  14093. "nameLocations": [],
  14094. "names": [],
  14095. "nodeType": "FunctionCall",
  14096. "src": "9702:82:50",
  14097. "tryCall": false,
  14098. "typeDescriptions": {
  14099. "typeIdentifier": "t_tuple$__$",
  14100. "typeString": "tuple()"
  14101. }
  14102. },
  14103. "id": 8304,
  14104. "nodeType": "ExpressionStatement",
  14105. "src": "9702:82:50"
  14106. }
  14107. ]
  14108. },
  14109. "implemented": true,
  14110. "kind": "function",
  14111. "modifiers": [],
  14112. "name": "log",
  14113. "nameLocation": "9626:3:50",
  14114. "parameters": {
  14115. "id": 8293,
  14116. "nodeType": "ParameterList",
  14117. "parameters": [
  14118. {
  14119. "constant": false,
  14120. "id": 8288,
  14121. "mutability": "mutable",
  14122. "name": "p0",
  14123. "nameLocation": "9638:2:50",
  14124. "nodeType": "VariableDeclaration",
  14125. "scope": 8306,
  14126. "src": "9630:10:50",
  14127. "stateVariable": false,
  14128. "storageLocation": "default",
  14129. "typeDescriptions": {
  14130. "typeIdentifier": "t_uint256",
  14131. "typeString": "uint256"
  14132. },
  14133. "typeName": {
  14134. "id": 8287,
  14135. "name": "uint256",
  14136. "nodeType": "ElementaryTypeName",
  14137. "src": "9630:7:50",
  14138. "typeDescriptions": {
  14139. "typeIdentifier": "t_uint256",
  14140. "typeString": "uint256"
  14141. }
  14142. },
  14143. "visibility": "internal"
  14144. },
  14145. {
  14146. "constant": false,
  14147. "id": 8290,
  14148. "mutability": "mutable",
  14149. "name": "p1",
  14150. "nameLocation": "9656:2:50",
  14151. "nodeType": "VariableDeclaration",
  14152. "scope": 8306,
  14153. "src": "9642:16:50",
  14154. "stateVariable": false,
  14155. "storageLocation": "memory",
  14156. "typeDescriptions": {
  14157. "typeIdentifier": "t_string_memory_ptr",
  14158. "typeString": "string"
  14159. },
  14160. "typeName": {
  14161. "id": 8289,
  14162. "name": "string",
  14163. "nodeType": "ElementaryTypeName",
  14164. "src": "9642:6:50",
  14165. "typeDescriptions": {
  14166. "typeIdentifier": "t_string_storage_ptr",
  14167. "typeString": "string"
  14168. }
  14169. },
  14170. "visibility": "internal"
  14171. },
  14172. {
  14173. "constant": false,
  14174. "id": 8292,
  14175. "mutability": "mutable",
  14176. "name": "p2",
  14177. "nameLocation": "9674:2:50",
  14178. "nodeType": "VariableDeclaration",
  14179. "scope": 8306,
  14180. "src": "9660:16:50",
  14181. "stateVariable": false,
  14182. "storageLocation": "memory",
  14183. "typeDescriptions": {
  14184. "typeIdentifier": "t_string_memory_ptr",
  14185. "typeString": "string"
  14186. },
  14187. "typeName": {
  14188. "id": 8291,
  14189. "name": "string",
  14190. "nodeType": "ElementaryTypeName",
  14191. "src": "9660:6:50",
  14192. "typeDescriptions": {
  14193. "typeIdentifier": "t_string_storage_ptr",
  14194. "typeString": "string"
  14195. }
  14196. },
  14197. "visibility": "internal"
  14198. }
  14199. ],
  14200. "src": "9629:48:50"
  14201. },
  14202. "returnParameters": {
  14203. "id": 8294,
  14204. "nodeType": "ParameterList",
  14205. "parameters": [],
  14206. "src": "9692:0:50"
  14207. },
  14208. "scope": 15355,
  14209. "stateMutability": "pure",
  14210. "virtual": false,
  14211. "visibility": "internal"
  14212. },
  14213. {
  14214. "id": 8326,
  14215. "nodeType": "FunctionDefinition",
  14216. "src": "9797:163:50",
  14217. "nodes": [],
  14218. "body": {
  14219. "id": 8325,
  14220. "nodeType": "Block",
  14221. "src": "9863:97:50",
  14222. "nodes": [],
  14223. "statements": [
  14224. {
  14225. "expression": {
  14226. "arguments": [
  14227. {
  14228. "arguments": [
  14229. {
  14230. "hexValue": "6c6f672875696e743235362c737472696e672c626f6f6c29",
  14231. "id": 8318,
  14232. "isConstant": false,
  14233. "isLValue": false,
  14234. "isPure": true,
  14235. "kind": "string",
  14236. "lValueRequested": false,
  14237. "nodeType": "Literal",
  14238. "src": "9913:26:50",
  14239. "typeDescriptions": {
  14240. "typeIdentifier": "t_stringliteral_4ceda75ad13e534e8b5089564c6a40ae80cd33aac3e77ef1f87a233c1d43067a",
  14241. "typeString": "literal_string \"log(uint256,string,bool)\""
  14242. },
  14243. "value": "log(uint256,string,bool)"
  14244. },
  14245. {
  14246. "id": 8319,
  14247. "name": "p0",
  14248. "nodeType": "Identifier",
  14249. "overloadedDeclarations": [],
  14250. "referencedDeclaration": 8308,
  14251. "src": "9941:2:50",
  14252. "typeDescriptions": {
  14253. "typeIdentifier": "t_uint256",
  14254. "typeString": "uint256"
  14255. }
  14256. },
  14257. {
  14258. "id": 8320,
  14259. "name": "p1",
  14260. "nodeType": "Identifier",
  14261. "overloadedDeclarations": [],
  14262. "referencedDeclaration": 8310,
  14263. "src": "9945:2:50",
  14264. "typeDescriptions": {
  14265. "typeIdentifier": "t_string_memory_ptr",
  14266. "typeString": "string memory"
  14267. }
  14268. },
  14269. {
  14270. "id": 8321,
  14271. "name": "p2",
  14272. "nodeType": "Identifier",
  14273. "overloadedDeclarations": [],
  14274. "referencedDeclaration": 8312,
  14275. "src": "9949:2:50",
  14276. "typeDescriptions": {
  14277. "typeIdentifier": "t_bool",
  14278. "typeString": "bool"
  14279. }
  14280. }
  14281. ],
  14282. "expression": {
  14283. "argumentTypes": [
  14284. {
  14285. "typeIdentifier": "t_stringliteral_4ceda75ad13e534e8b5089564c6a40ae80cd33aac3e77ef1f87a233c1d43067a",
  14286. "typeString": "literal_string \"log(uint256,string,bool)\""
  14287. },
  14288. {
  14289. "typeIdentifier": "t_uint256",
  14290. "typeString": "uint256"
  14291. },
  14292. {
  14293. "typeIdentifier": "t_string_memory_ptr",
  14294. "typeString": "string memory"
  14295. },
  14296. {
  14297. "typeIdentifier": "t_bool",
  14298. "typeString": "bool"
  14299. }
  14300. ],
  14301. "expression": {
  14302. "id": 8316,
  14303. "name": "abi",
  14304. "nodeType": "Identifier",
  14305. "overloadedDeclarations": [],
  14306. "referencedDeclaration": -1,
  14307. "src": "9889:3:50",
  14308. "typeDescriptions": {
  14309. "typeIdentifier": "t_magic_abi",
  14310. "typeString": "abi"
  14311. }
  14312. },
  14313. "id": 8317,
  14314. "isConstant": false,
  14315. "isLValue": false,
  14316. "isPure": true,
  14317. "lValueRequested": false,
  14318. "memberLocation": "9893:19:50",
  14319. "memberName": "encodeWithSignature",
  14320. "nodeType": "MemberAccess",
  14321. "src": "9889:23:50",
  14322. "typeDescriptions": {
  14323. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  14324. "typeString": "function (string memory) pure returns (bytes memory)"
  14325. }
  14326. },
  14327. "id": 8322,
  14328. "isConstant": false,
  14329. "isLValue": false,
  14330. "isPure": false,
  14331. "kind": "functionCall",
  14332. "lValueRequested": false,
  14333. "nameLocations": [],
  14334. "names": [],
  14335. "nodeType": "FunctionCall",
  14336. "src": "9889:63:50",
  14337. "tryCall": false,
  14338. "typeDescriptions": {
  14339. "typeIdentifier": "t_bytes_memory_ptr",
  14340. "typeString": "bytes memory"
  14341. }
  14342. }
  14343. ],
  14344. "expression": {
  14345. "argumentTypes": [
  14346. {
  14347. "typeIdentifier": "t_bytes_memory_ptr",
  14348. "typeString": "bytes memory"
  14349. }
  14350. ],
  14351. "id": 8315,
  14352. "name": "_sendLogPayload",
  14353. "nodeType": "Identifier",
  14354. "overloadedDeclarations": [],
  14355. "referencedDeclaration": 7315,
  14356. "src": "9873:15:50",
  14357. "typeDescriptions": {
  14358. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  14359. "typeString": "function (bytes memory) pure"
  14360. }
  14361. },
  14362. "id": 8323,
  14363. "isConstant": false,
  14364. "isLValue": false,
  14365. "isPure": false,
  14366. "kind": "functionCall",
  14367. "lValueRequested": false,
  14368. "nameLocations": [],
  14369. "names": [],
  14370. "nodeType": "FunctionCall",
  14371. "src": "9873:80:50",
  14372. "tryCall": false,
  14373. "typeDescriptions": {
  14374. "typeIdentifier": "t_tuple$__$",
  14375. "typeString": "tuple()"
  14376. }
  14377. },
  14378. "id": 8324,
  14379. "nodeType": "ExpressionStatement",
  14380. "src": "9873:80:50"
  14381. }
  14382. ]
  14383. },
  14384. "implemented": true,
  14385. "kind": "function",
  14386. "modifiers": [],
  14387. "name": "log",
  14388. "nameLocation": "9806:3:50",
  14389. "parameters": {
  14390. "id": 8313,
  14391. "nodeType": "ParameterList",
  14392. "parameters": [
  14393. {
  14394. "constant": false,
  14395. "id": 8308,
  14396. "mutability": "mutable",
  14397. "name": "p0",
  14398. "nameLocation": "9818:2:50",
  14399. "nodeType": "VariableDeclaration",
  14400. "scope": 8326,
  14401. "src": "9810:10:50",
  14402. "stateVariable": false,
  14403. "storageLocation": "default",
  14404. "typeDescriptions": {
  14405. "typeIdentifier": "t_uint256",
  14406. "typeString": "uint256"
  14407. },
  14408. "typeName": {
  14409. "id": 8307,
  14410. "name": "uint256",
  14411. "nodeType": "ElementaryTypeName",
  14412. "src": "9810:7:50",
  14413. "typeDescriptions": {
  14414. "typeIdentifier": "t_uint256",
  14415. "typeString": "uint256"
  14416. }
  14417. },
  14418. "visibility": "internal"
  14419. },
  14420. {
  14421. "constant": false,
  14422. "id": 8310,
  14423. "mutability": "mutable",
  14424. "name": "p1",
  14425. "nameLocation": "9836:2:50",
  14426. "nodeType": "VariableDeclaration",
  14427. "scope": 8326,
  14428. "src": "9822:16:50",
  14429. "stateVariable": false,
  14430. "storageLocation": "memory",
  14431. "typeDescriptions": {
  14432. "typeIdentifier": "t_string_memory_ptr",
  14433. "typeString": "string"
  14434. },
  14435. "typeName": {
  14436. "id": 8309,
  14437. "name": "string",
  14438. "nodeType": "ElementaryTypeName",
  14439. "src": "9822:6:50",
  14440. "typeDescriptions": {
  14441. "typeIdentifier": "t_string_storage_ptr",
  14442. "typeString": "string"
  14443. }
  14444. },
  14445. "visibility": "internal"
  14446. },
  14447. {
  14448. "constant": false,
  14449. "id": 8312,
  14450. "mutability": "mutable",
  14451. "name": "p2",
  14452. "nameLocation": "9845:2:50",
  14453. "nodeType": "VariableDeclaration",
  14454. "scope": 8326,
  14455. "src": "9840:7:50",
  14456. "stateVariable": false,
  14457. "storageLocation": "default",
  14458. "typeDescriptions": {
  14459. "typeIdentifier": "t_bool",
  14460. "typeString": "bool"
  14461. },
  14462. "typeName": {
  14463. "id": 8311,
  14464. "name": "bool",
  14465. "nodeType": "ElementaryTypeName",
  14466. "src": "9840:4:50",
  14467. "typeDescriptions": {
  14468. "typeIdentifier": "t_bool",
  14469. "typeString": "bool"
  14470. }
  14471. },
  14472. "visibility": "internal"
  14473. }
  14474. ],
  14475. "src": "9809:39:50"
  14476. },
  14477. "returnParameters": {
  14478. "id": 8314,
  14479. "nodeType": "ParameterList",
  14480. "parameters": [],
  14481. "src": "9863:0:50"
  14482. },
  14483. "scope": 15355,
  14484. "stateMutability": "pure",
  14485. "virtual": false,
  14486. "visibility": "internal"
  14487. },
  14488. {
  14489. "id": 8346,
  14490. "nodeType": "FunctionDefinition",
  14491. "src": "9966:169:50",
  14492. "nodes": [],
  14493. "body": {
  14494. "id": 8345,
  14495. "nodeType": "Block",
  14496. "src": "10035:100:50",
  14497. "nodes": [],
  14498. "statements": [
  14499. {
  14500. "expression": {
  14501. "arguments": [
  14502. {
  14503. "arguments": [
  14504. {
  14505. "hexValue": "6c6f672875696e743235362c737472696e672c6164647265737329",
  14506. "id": 8338,
  14507. "isConstant": false,
  14508. "isLValue": false,
  14509. "isPure": true,
  14510. "kind": "string",
  14511. "lValueRequested": false,
  14512. "nodeType": "Literal",
  14513. "src": "10085:29:50",
  14514. "typeDescriptions": {
  14515. "typeIdentifier": "t_stringliteral_7afac959002f7dcdccdf461a7e6db7810eebd7217c0b7c30905b3c7e89b561f2",
  14516. "typeString": "literal_string \"log(uint256,string,address)\""
  14517. },
  14518. "value": "log(uint256,string,address)"
  14519. },
  14520. {
  14521. "id": 8339,
  14522. "name": "p0",
  14523. "nodeType": "Identifier",
  14524. "overloadedDeclarations": [],
  14525. "referencedDeclaration": 8328,
  14526. "src": "10116:2:50",
  14527. "typeDescriptions": {
  14528. "typeIdentifier": "t_uint256",
  14529. "typeString": "uint256"
  14530. }
  14531. },
  14532. {
  14533. "id": 8340,
  14534. "name": "p1",
  14535. "nodeType": "Identifier",
  14536. "overloadedDeclarations": [],
  14537. "referencedDeclaration": 8330,
  14538. "src": "10120:2:50",
  14539. "typeDescriptions": {
  14540. "typeIdentifier": "t_string_memory_ptr",
  14541. "typeString": "string memory"
  14542. }
  14543. },
  14544. {
  14545. "id": 8341,
  14546. "name": "p2",
  14547. "nodeType": "Identifier",
  14548. "overloadedDeclarations": [],
  14549. "referencedDeclaration": 8332,
  14550. "src": "10124:2:50",
  14551. "typeDescriptions": {
  14552. "typeIdentifier": "t_address",
  14553. "typeString": "address"
  14554. }
  14555. }
  14556. ],
  14557. "expression": {
  14558. "argumentTypes": [
  14559. {
  14560. "typeIdentifier": "t_stringliteral_7afac959002f7dcdccdf461a7e6db7810eebd7217c0b7c30905b3c7e89b561f2",
  14561. "typeString": "literal_string \"log(uint256,string,address)\""
  14562. },
  14563. {
  14564. "typeIdentifier": "t_uint256",
  14565. "typeString": "uint256"
  14566. },
  14567. {
  14568. "typeIdentifier": "t_string_memory_ptr",
  14569. "typeString": "string memory"
  14570. },
  14571. {
  14572. "typeIdentifier": "t_address",
  14573. "typeString": "address"
  14574. }
  14575. ],
  14576. "expression": {
  14577. "id": 8336,
  14578. "name": "abi",
  14579. "nodeType": "Identifier",
  14580. "overloadedDeclarations": [],
  14581. "referencedDeclaration": -1,
  14582. "src": "10061:3:50",
  14583. "typeDescriptions": {
  14584. "typeIdentifier": "t_magic_abi",
  14585. "typeString": "abi"
  14586. }
  14587. },
  14588. "id": 8337,
  14589. "isConstant": false,
  14590. "isLValue": false,
  14591. "isPure": true,
  14592. "lValueRequested": false,
  14593. "memberLocation": "10065:19:50",
  14594. "memberName": "encodeWithSignature",
  14595. "nodeType": "MemberAccess",
  14596. "src": "10061:23:50",
  14597. "typeDescriptions": {
  14598. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  14599. "typeString": "function (string memory) pure returns (bytes memory)"
  14600. }
  14601. },
  14602. "id": 8342,
  14603. "isConstant": false,
  14604. "isLValue": false,
  14605. "isPure": false,
  14606. "kind": "functionCall",
  14607. "lValueRequested": false,
  14608. "nameLocations": [],
  14609. "names": [],
  14610. "nodeType": "FunctionCall",
  14611. "src": "10061:66:50",
  14612. "tryCall": false,
  14613. "typeDescriptions": {
  14614. "typeIdentifier": "t_bytes_memory_ptr",
  14615. "typeString": "bytes memory"
  14616. }
  14617. }
  14618. ],
  14619. "expression": {
  14620. "argumentTypes": [
  14621. {
  14622. "typeIdentifier": "t_bytes_memory_ptr",
  14623. "typeString": "bytes memory"
  14624. }
  14625. ],
  14626. "id": 8335,
  14627. "name": "_sendLogPayload",
  14628. "nodeType": "Identifier",
  14629. "overloadedDeclarations": [],
  14630. "referencedDeclaration": 7315,
  14631. "src": "10045:15:50",
  14632. "typeDescriptions": {
  14633. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  14634. "typeString": "function (bytes memory) pure"
  14635. }
  14636. },
  14637. "id": 8343,
  14638. "isConstant": false,
  14639. "isLValue": false,
  14640. "isPure": false,
  14641. "kind": "functionCall",
  14642. "lValueRequested": false,
  14643. "nameLocations": [],
  14644. "names": [],
  14645. "nodeType": "FunctionCall",
  14646. "src": "10045:83:50",
  14647. "tryCall": false,
  14648. "typeDescriptions": {
  14649. "typeIdentifier": "t_tuple$__$",
  14650. "typeString": "tuple()"
  14651. }
  14652. },
  14653. "id": 8344,
  14654. "nodeType": "ExpressionStatement",
  14655. "src": "10045:83:50"
  14656. }
  14657. ]
  14658. },
  14659. "implemented": true,
  14660. "kind": "function",
  14661. "modifiers": [],
  14662. "name": "log",
  14663. "nameLocation": "9975:3:50",
  14664. "parameters": {
  14665. "id": 8333,
  14666. "nodeType": "ParameterList",
  14667. "parameters": [
  14668. {
  14669. "constant": false,
  14670. "id": 8328,
  14671. "mutability": "mutable",
  14672. "name": "p0",
  14673. "nameLocation": "9987:2:50",
  14674. "nodeType": "VariableDeclaration",
  14675. "scope": 8346,
  14676. "src": "9979:10:50",
  14677. "stateVariable": false,
  14678. "storageLocation": "default",
  14679. "typeDescriptions": {
  14680. "typeIdentifier": "t_uint256",
  14681. "typeString": "uint256"
  14682. },
  14683. "typeName": {
  14684. "id": 8327,
  14685. "name": "uint256",
  14686. "nodeType": "ElementaryTypeName",
  14687. "src": "9979:7:50",
  14688. "typeDescriptions": {
  14689. "typeIdentifier": "t_uint256",
  14690. "typeString": "uint256"
  14691. }
  14692. },
  14693. "visibility": "internal"
  14694. },
  14695. {
  14696. "constant": false,
  14697. "id": 8330,
  14698. "mutability": "mutable",
  14699. "name": "p1",
  14700. "nameLocation": "10005:2:50",
  14701. "nodeType": "VariableDeclaration",
  14702. "scope": 8346,
  14703. "src": "9991:16:50",
  14704. "stateVariable": false,
  14705. "storageLocation": "memory",
  14706. "typeDescriptions": {
  14707. "typeIdentifier": "t_string_memory_ptr",
  14708. "typeString": "string"
  14709. },
  14710. "typeName": {
  14711. "id": 8329,
  14712. "name": "string",
  14713. "nodeType": "ElementaryTypeName",
  14714. "src": "9991:6:50",
  14715. "typeDescriptions": {
  14716. "typeIdentifier": "t_string_storage_ptr",
  14717. "typeString": "string"
  14718. }
  14719. },
  14720. "visibility": "internal"
  14721. },
  14722. {
  14723. "constant": false,
  14724. "id": 8332,
  14725. "mutability": "mutable",
  14726. "name": "p2",
  14727. "nameLocation": "10017:2:50",
  14728. "nodeType": "VariableDeclaration",
  14729. "scope": 8346,
  14730. "src": "10009:10:50",
  14731. "stateVariable": false,
  14732. "storageLocation": "default",
  14733. "typeDescriptions": {
  14734. "typeIdentifier": "t_address",
  14735. "typeString": "address"
  14736. },
  14737. "typeName": {
  14738. "id": 8331,
  14739. "name": "address",
  14740. "nodeType": "ElementaryTypeName",
  14741. "src": "10009:7:50",
  14742. "stateMutability": "nonpayable",
  14743. "typeDescriptions": {
  14744. "typeIdentifier": "t_address",
  14745. "typeString": "address"
  14746. }
  14747. },
  14748. "visibility": "internal"
  14749. }
  14750. ],
  14751. "src": "9978:42:50"
  14752. },
  14753. "returnParameters": {
  14754. "id": 8334,
  14755. "nodeType": "ParameterList",
  14756. "parameters": [],
  14757. "src": "10035:0:50"
  14758. },
  14759. "scope": 15355,
  14760. "stateMutability": "pure",
  14761. "virtual": false,
  14762. "visibility": "internal"
  14763. },
  14764. {
  14765. "id": 8366,
  14766. "nodeType": "FunctionDefinition",
  14767. "src": "10141:158:50",
  14768. "nodes": [],
  14769. "body": {
  14770. "id": 8365,
  14771. "nodeType": "Block",
  14772. "src": "10201:98:50",
  14773. "nodes": [],
  14774. "statements": [
  14775. {
  14776. "expression": {
  14777. "arguments": [
  14778. {
  14779. "arguments": [
  14780. {
  14781. "hexValue": "6c6f672875696e743235362c626f6f6c2c75696e7432353629",
  14782. "id": 8358,
  14783. "isConstant": false,
  14784. "isLValue": false,
  14785. "isPure": true,
  14786. "kind": "string",
  14787. "lValueRequested": false,
  14788. "nodeType": "Literal",
  14789. "src": "10251:27:50",
  14790. "typeDescriptions": {
  14791. "typeIdentifier": "t_stringliteral_200980147f19b368809aab41084ebebcf1e19d47edd13f2d540a6327cec213d1",
  14792. "typeString": "literal_string \"log(uint256,bool,uint256)\""
  14793. },
  14794. "value": "log(uint256,bool,uint256)"
  14795. },
  14796. {
  14797. "id": 8359,
  14798. "name": "p0",
  14799. "nodeType": "Identifier",
  14800. "overloadedDeclarations": [],
  14801. "referencedDeclaration": 8348,
  14802. "src": "10280:2:50",
  14803. "typeDescriptions": {
  14804. "typeIdentifier": "t_uint256",
  14805. "typeString": "uint256"
  14806. }
  14807. },
  14808. {
  14809. "id": 8360,
  14810. "name": "p1",
  14811. "nodeType": "Identifier",
  14812. "overloadedDeclarations": [],
  14813. "referencedDeclaration": 8350,
  14814. "src": "10284:2:50",
  14815. "typeDescriptions": {
  14816. "typeIdentifier": "t_bool",
  14817. "typeString": "bool"
  14818. }
  14819. },
  14820. {
  14821. "id": 8361,
  14822. "name": "p2",
  14823. "nodeType": "Identifier",
  14824. "overloadedDeclarations": [],
  14825. "referencedDeclaration": 8352,
  14826. "src": "10288:2:50",
  14827. "typeDescriptions": {
  14828. "typeIdentifier": "t_uint256",
  14829. "typeString": "uint256"
  14830. }
  14831. }
  14832. ],
  14833. "expression": {
  14834. "argumentTypes": [
  14835. {
  14836. "typeIdentifier": "t_stringliteral_200980147f19b368809aab41084ebebcf1e19d47edd13f2d540a6327cec213d1",
  14837. "typeString": "literal_string \"log(uint256,bool,uint256)\""
  14838. },
  14839. {
  14840. "typeIdentifier": "t_uint256",
  14841. "typeString": "uint256"
  14842. },
  14843. {
  14844. "typeIdentifier": "t_bool",
  14845. "typeString": "bool"
  14846. },
  14847. {
  14848. "typeIdentifier": "t_uint256",
  14849. "typeString": "uint256"
  14850. }
  14851. ],
  14852. "expression": {
  14853. "id": 8356,
  14854. "name": "abi",
  14855. "nodeType": "Identifier",
  14856. "overloadedDeclarations": [],
  14857. "referencedDeclaration": -1,
  14858. "src": "10227:3:50",
  14859. "typeDescriptions": {
  14860. "typeIdentifier": "t_magic_abi",
  14861. "typeString": "abi"
  14862. }
  14863. },
  14864. "id": 8357,
  14865. "isConstant": false,
  14866. "isLValue": false,
  14867. "isPure": true,
  14868. "lValueRequested": false,
  14869. "memberLocation": "10231:19:50",
  14870. "memberName": "encodeWithSignature",
  14871. "nodeType": "MemberAccess",
  14872. "src": "10227:23:50",
  14873. "typeDescriptions": {
  14874. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  14875. "typeString": "function (string memory) pure returns (bytes memory)"
  14876. }
  14877. },
  14878. "id": 8362,
  14879. "isConstant": false,
  14880. "isLValue": false,
  14881. "isPure": false,
  14882. "kind": "functionCall",
  14883. "lValueRequested": false,
  14884. "nameLocations": [],
  14885. "names": [],
  14886. "nodeType": "FunctionCall",
  14887. "src": "10227:64:50",
  14888. "tryCall": false,
  14889. "typeDescriptions": {
  14890. "typeIdentifier": "t_bytes_memory_ptr",
  14891. "typeString": "bytes memory"
  14892. }
  14893. }
  14894. ],
  14895. "expression": {
  14896. "argumentTypes": [
  14897. {
  14898. "typeIdentifier": "t_bytes_memory_ptr",
  14899. "typeString": "bytes memory"
  14900. }
  14901. ],
  14902. "id": 8355,
  14903. "name": "_sendLogPayload",
  14904. "nodeType": "Identifier",
  14905. "overloadedDeclarations": [],
  14906. "referencedDeclaration": 7315,
  14907. "src": "10211:15:50",
  14908. "typeDescriptions": {
  14909. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  14910. "typeString": "function (bytes memory) pure"
  14911. }
  14912. },
  14913. "id": 8363,
  14914. "isConstant": false,
  14915. "isLValue": false,
  14916. "isPure": false,
  14917. "kind": "functionCall",
  14918. "lValueRequested": false,
  14919. "nameLocations": [],
  14920. "names": [],
  14921. "nodeType": "FunctionCall",
  14922. "src": "10211:81:50",
  14923. "tryCall": false,
  14924. "typeDescriptions": {
  14925. "typeIdentifier": "t_tuple$__$",
  14926. "typeString": "tuple()"
  14927. }
  14928. },
  14929. "id": 8364,
  14930. "nodeType": "ExpressionStatement",
  14931. "src": "10211:81:50"
  14932. }
  14933. ]
  14934. },
  14935. "implemented": true,
  14936. "kind": "function",
  14937. "modifiers": [],
  14938. "name": "log",
  14939. "nameLocation": "10150:3:50",
  14940. "parameters": {
  14941. "id": 8353,
  14942. "nodeType": "ParameterList",
  14943. "parameters": [
  14944. {
  14945. "constant": false,
  14946. "id": 8348,
  14947. "mutability": "mutable",
  14948. "name": "p0",
  14949. "nameLocation": "10162:2:50",
  14950. "nodeType": "VariableDeclaration",
  14951. "scope": 8366,
  14952. "src": "10154:10:50",
  14953. "stateVariable": false,
  14954. "storageLocation": "default",
  14955. "typeDescriptions": {
  14956. "typeIdentifier": "t_uint256",
  14957. "typeString": "uint256"
  14958. },
  14959. "typeName": {
  14960. "id": 8347,
  14961. "name": "uint256",
  14962. "nodeType": "ElementaryTypeName",
  14963. "src": "10154:7:50",
  14964. "typeDescriptions": {
  14965. "typeIdentifier": "t_uint256",
  14966. "typeString": "uint256"
  14967. }
  14968. },
  14969. "visibility": "internal"
  14970. },
  14971. {
  14972. "constant": false,
  14973. "id": 8350,
  14974. "mutability": "mutable",
  14975. "name": "p1",
  14976. "nameLocation": "10171:2:50",
  14977. "nodeType": "VariableDeclaration",
  14978. "scope": 8366,
  14979. "src": "10166:7:50",
  14980. "stateVariable": false,
  14981. "storageLocation": "default",
  14982. "typeDescriptions": {
  14983. "typeIdentifier": "t_bool",
  14984. "typeString": "bool"
  14985. },
  14986. "typeName": {
  14987. "id": 8349,
  14988. "name": "bool",
  14989. "nodeType": "ElementaryTypeName",
  14990. "src": "10166:4:50",
  14991. "typeDescriptions": {
  14992. "typeIdentifier": "t_bool",
  14993. "typeString": "bool"
  14994. }
  14995. },
  14996. "visibility": "internal"
  14997. },
  14998. {
  14999. "constant": false,
  15000. "id": 8352,
  15001. "mutability": "mutable",
  15002. "name": "p2",
  15003. "nameLocation": "10183:2:50",
  15004. "nodeType": "VariableDeclaration",
  15005. "scope": 8366,
  15006. "src": "10175:10:50",
  15007. "stateVariable": false,
  15008. "storageLocation": "default",
  15009. "typeDescriptions": {
  15010. "typeIdentifier": "t_uint256",
  15011. "typeString": "uint256"
  15012. },
  15013. "typeName": {
  15014. "id": 8351,
  15015. "name": "uint256",
  15016. "nodeType": "ElementaryTypeName",
  15017. "src": "10175:7:50",
  15018. "typeDescriptions": {
  15019. "typeIdentifier": "t_uint256",
  15020. "typeString": "uint256"
  15021. }
  15022. },
  15023. "visibility": "internal"
  15024. }
  15025. ],
  15026. "src": "10153:33:50"
  15027. },
  15028. "returnParameters": {
  15029. "id": 8354,
  15030. "nodeType": "ParameterList",
  15031. "parameters": [],
  15032. "src": "10201:0:50"
  15033. },
  15034. "scope": 15355,
  15035. "stateMutability": "pure",
  15036. "virtual": false,
  15037. "visibility": "internal"
  15038. },
  15039. {
  15040. "id": 8386,
  15041. "nodeType": "FunctionDefinition",
  15042. "src": "10305:163:50",
  15043. "nodes": [],
  15044. "body": {
  15045. "id": 8385,
  15046. "nodeType": "Block",
  15047. "src": "10371:97:50",
  15048. "nodes": [],
  15049. "statements": [
  15050. {
  15051. "expression": {
  15052. "arguments": [
  15053. {
  15054. "arguments": [
  15055. {
  15056. "hexValue": "6c6f672875696e743235362c626f6f6c2c737472696e6729",
  15057. "id": 8378,
  15058. "isConstant": false,
  15059. "isLValue": false,
  15060. "isPure": true,
  15061. "kind": "string",
  15062. "lValueRequested": false,
  15063. "nodeType": "Literal",
  15064. "src": "10421:26:50",
  15065. "typeDescriptions": {
  15066. "typeIdentifier": "t_stringliteral_85775021582c57b14e9e0b33e0f693439478099486817fe4214a503f559f37df",
  15067. "typeString": "literal_string \"log(uint256,bool,string)\""
  15068. },
  15069. "value": "log(uint256,bool,string)"
  15070. },
  15071. {
  15072. "id": 8379,
  15073. "name": "p0",
  15074. "nodeType": "Identifier",
  15075. "overloadedDeclarations": [],
  15076. "referencedDeclaration": 8368,
  15077. "src": "10449:2:50",
  15078. "typeDescriptions": {
  15079. "typeIdentifier": "t_uint256",
  15080. "typeString": "uint256"
  15081. }
  15082. },
  15083. {
  15084. "id": 8380,
  15085. "name": "p1",
  15086. "nodeType": "Identifier",
  15087. "overloadedDeclarations": [],
  15088. "referencedDeclaration": 8370,
  15089. "src": "10453:2:50",
  15090. "typeDescriptions": {
  15091. "typeIdentifier": "t_bool",
  15092. "typeString": "bool"
  15093. }
  15094. },
  15095. {
  15096. "id": 8381,
  15097. "name": "p2",
  15098. "nodeType": "Identifier",
  15099. "overloadedDeclarations": [],
  15100. "referencedDeclaration": 8372,
  15101. "src": "10457:2:50",
  15102. "typeDescriptions": {
  15103. "typeIdentifier": "t_string_memory_ptr",
  15104. "typeString": "string memory"
  15105. }
  15106. }
  15107. ],
  15108. "expression": {
  15109. "argumentTypes": [
  15110. {
  15111. "typeIdentifier": "t_stringliteral_85775021582c57b14e9e0b33e0f693439478099486817fe4214a503f559f37df",
  15112. "typeString": "literal_string \"log(uint256,bool,string)\""
  15113. },
  15114. {
  15115. "typeIdentifier": "t_uint256",
  15116. "typeString": "uint256"
  15117. },
  15118. {
  15119. "typeIdentifier": "t_bool",
  15120. "typeString": "bool"
  15121. },
  15122. {
  15123. "typeIdentifier": "t_string_memory_ptr",
  15124. "typeString": "string memory"
  15125. }
  15126. ],
  15127. "expression": {
  15128. "id": 8376,
  15129. "name": "abi",
  15130. "nodeType": "Identifier",
  15131. "overloadedDeclarations": [],
  15132. "referencedDeclaration": -1,
  15133. "src": "10397:3:50",
  15134. "typeDescriptions": {
  15135. "typeIdentifier": "t_magic_abi",
  15136. "typeString": "abi"
  15137. }
  15138. },
  15139. "id": 8377,
  15140. "isConstant": false,
  15141. "isLValue": false,
  15142. "isPure": true,
  15143. "lValueRequested": false,
  15144. "memberLocation": "10401:19:50",
  15145. "memberName": "encodeWithSignature",
  15146. "nodeType": "MemberAccess",
  15147. "src": "10397:23:50",
  15148. "typeDescriptions": {
  15149. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  15150. "typeString": "function (string memory) pure returns (bytes memory)"
  15151. }
  15152. },
  15153. "id": 8382,
  15154. "isConstant": false,
  15155. "isLValue": false,
  15156. "isPure": false,
  15157. "kind": "functionCall",
  15158. "lValueRequested": false,
  15159. "nameLocations": [],
  15160. "names": [],
  15161. "nodeType": "FunctionCall",
  15162. "src": "10397:63:50",
  15163. "tryCall": false,
  15164. "typeDescriptions": {
  15165. "typeIdentifier": "t_bytes_memory_ptr",
  15166. "typeString": "bytes memory"
  15167. }
  15168. }
  15169. ],
  15170. "expression": {
  15171. "argumentTypes": [
  15172. {
  15173. "typeIdentifier": "t_bytes_memory_ptr",
  15174. "typeString": "bytes memory"
  15175. }
  15176. ],
  15177. "id": 8375,
  15178. "name": "_sendLogPayload",
  15179. "nodeType": "Identifier",
  15180. "overloadedDeclarations": [],
  15181. "referencedDeclaration": 7315,
  15182. "src": "10381:15:50",
  15183. "typeDescriptions": {
  15184. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  15185. "typeString": "function (bytes memory) pure"
  15186. }
  15187. },
  15188. "id": 8383,
  15189. "isConstant": false,
  15190. "isLValue": false,
  15191. "isPure": false,
  15192. "kind": "functionCall",
  15193. "lValueRequested": false,
  15194. "nameLocations": [],
  15195. "names": [],
  15196. "nodeType": "FunctionCall",
  15197. "src": "10381:80:50",
  15198. "tryCall": false,
  15199. "typeDescriptions": {
  15200. "typeIdentifier": "t_tuple$__$",
  15201. "typeString": "tuple()"
  15202. }
  15203. },
  15204. "id": 8384,
  15205. "nodeType": "ExpressionStatement",
  15206. "src": "10381:80:50"
  15207. }
  15208. ]
  15209. },
  15210. "implemented": true,
  15211. "kind": "function",
  15212. "modifiers": [],
  15213. "name": "log",
  15214. "nameLocation": "10314:3:50",
  15215. "parameters": {
  15216. "id": 8373,
  15217. "nodeType": "ParameterList",
  15218. "parameters": [
  15219. {
  15220. "constant": false,
  15221. "id": 8368,
  15222. "mutability": "mutable",
  15223. "name": "p0",
  15224. "nameLocation": "10326:2:50",
  15225. "nodeType": "VariableDeclaration",
  15226. "scope": 8386,
  15227. "src": "10318:10:50",
  15228. "stateVariable": false,
  15229. "storageLocation": "default",
  15230. "typeDescriptions": {
  15231. "typeIdentifier": "t_uint256",
  15232. "typeString": "uint256"
  15233. },
  15234. "typeName": {
  15235. "id": 8367,
  15236. "name": "uint256",
  15237. "nodeType": "ElementaryTypeName",
  15238. "src": "10318:7:50",
  15239. "typeDescriptions": {
  15240. "typeIdentifier": "t_uint256",
  15241. "typeString": "uint256"
  15242. }
  15243. },
  15244. "visibility": "internal"
  15245. },
  15246. {
  15247. "constant": false,
  15248. "id": 8370,
  15249. "mutability": "mutable",
  15250. "name": "p1",
  15251. "nameLocation": "10335:2:50",
  15252. "nodeType": "VariableDeclaration",
  15253. "scope": 8386,
  15254. "src": "10330:7:50",
  15255. "stateVariable": false,
  15256. "storageLocation": "default",
  15257. "typeDescriptions": {
  15258. "typeIdentifier": "t_bool",
  15259. "typeString": "bool"
  15260. },
  15261. "typeName": {
  15262. "id": 8369,
  15263. "name": "bool",
  15264. "nodeType": "ElementaryTypeName",
  15265. "src": "10330:4:50",
  15266. "typeDescriptions": {
  15267. "typeIdentifier": "t_bool",
  15268. "typeString": "bool"
  15269. }
  15270. },
  15271. "visibility": "internal"
  15272. },
  15273. {
  15274. "constant": false,
  15275. "id": 8372,
  15276. "mutability": "mutable",
  15277. "name": "p2",
  15278. "nameLocation": "10353:2:50",
  15279. "nodeType": "VariableDeclaration",
  15280. "scope": 8386,
  15281. "src": "10339:16:50",
  15282. "stateVariable": false,
  15283. "storageLocation": "memory",
  15284. "typeDescriptions": {
  15285. "typeIdentifier": "t_string_memory_ptr",
  15286. "typeString": "string"
  15287. },
  15288. "typeName": {
  15289. "id": 8371,
  15290. "name": "string",
  15291. "nodeType": "ElementaryTypeName",
  15292. "src": "10339:6:50",
  15293. "typeDescriptions": {
  15294. "typeIdentifier": "t_string_storage_ptr",
  15295. "typeString": "string"
  15296. }
  15297. },
  15298. "visibility": "internal"
  15299. }
  15300. ],
  15301. "src": "10317:39:50"
  15302. },
  15303. "returnParameters": {
  15304. "id": 8374,
  15305. "nodeType": "ParameterList",
  15306. "parameters": [],
  15307. "src": "10371:0:50"
  15308. },
  15309. "scope": 15355,
  15310. "stateMutability": "pure",
  15311. "virtual": false,
  15312. "visibility": "internal"
  15313. },
  15314. {
  15315. "id": 8406,
  15316. "nodeType": "FunctionDefinition",
  15317. "src": "10474:152:50",
  15318. "nodes": [],
  15319. "body": {
  15320. "id": 8405,
  15321. "nodeType": "Block",
  15322. "src": "10531:95:50",
  15323. "nodes": [],
  15324. "statements": [
  15325. {
  15326. "expression": {
  15327. "arguments": [
  15328. {
  15329. "arguments": [
  15330. {
  15331. "hexValue": "6c6f672875696e743235362c626f6f6c2c626f6f6c29",
  15332. "id": 8398,
  15333. "isConstant": false,
  15334. "isLValue": false,
  15335. "isPure": true,
  15336. "kind": "string",
  15337. "lValueRequested": false,
  15338. "nodeType": "Literal",
  15339. "src": "10581:24:50",
  15340. "typeDescriptions": {
  15341. "typeIdentifier": "t_stringliteral_207186500d54a80dae0e8fae760b583cb518c2c49967db59c8f7e5596879c0b6",
  15342. "typeString": "literal_string \"log(uint256,bool,bool)\""
  15343. },
  15344. "value": "log(uint256,bool,bool)"
  15345. },
  15346. {
  15347. "id": 8399,
  15348. "name": "p0",
  15349. "nodeType": "Identifier",
  15350. "overloadedDeclarations": [],
  15351. "referencedDeclaration": 8388,
  15352. "src": "10607:2:50",
  15353. "typeDescriptions": {
  15354. "typeIdentifier": "t_uint256",
  15355. "typeString": "uint256"
  15356. }
  15357. },
  15358. {
  15359. "id": 8400,
  15360. "name": "p1",
  15361. "nodeType": "Identifier",
  15362. "overloadedDeclarations": [],
  15363. "referencedDeclaration": 8390,
  15364. "src": "10611:2:50",
  15365. "typeDescriptions": {
  15366. "typeIdentifier": "t_bool",
  15367. "typeString": "bool"
  15368. }
  15369. },
  15370. {
  15371. "id": 8401,
  15372. "name": "p2",
  15373. "nodeType": "Identifier",
  15374. "overloadedDeclarations": [],
  15375. "referencedDeclaration": 8392,
  15376. "src": "10615:2:50",
  15377. "typeDescriptions": {
  15378. "typeIdentifier": "t_bool",
  15379. "typeString": "bool"
  15380. }
  15381. }
  15382. ],
  15383. "expression": {
  15384. "argumentTypes": [
  15385. {
  15386. "typeIdentifier": "t_stringliteral_207186500d54a80dae0e8fae760b583cb518c2c49967db59c8f7e5596879c0b6",
  15387. "typeString": "literal_string \"log(uint256,bool,bool)\""
  15388. },
  15389. {
  15390. "typeIdentifier": "t_uint256",
  15391. "typeString": "uint256"
  15392. },
  15393. {
  15394. "typeIdentifier": "t_bool",
  15395. "typeString": "bool"
  15396. },
  15397. {
  15398. "typeIdentifier": "t_bool",
  15399. "typeString": "bool"
  15400. }
  15401. ],
  15402. "expression": {
  15403. "id": 8396,
  15404. "name": "abi",
  15405. "nodeType": "Identifier",
  15406. "overloadedDeclarations": [],
  15407. "referencedDeclaration": -1,
  15408. "src": "10557:3:50",
  15409. "typeDescriptions": {
  15410. "typeIdentifier": "t_magic_abi",
  15411. "typeString": "abi"
  15412. }
  15413. },
  15414. "id": 8397,
  15415. "isConstant": false,
  15416. "isLValue": false,
  15417. "isPure": true,
  15418. "lValueRequested": false,
  15419. "memberLocation": "10561:19:50",
  15420. "memberName": "encodeWithSignature",
  15421. "nodeType": "MemberAccess",
  15422. "src": "10557:23:50",
  15423. "typeDescriptions": {
  15424. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  15425. "typeString": "function (string memory) pure returns (bytes memory)"
  15426. }
  15427. },
  15428. "id": 8402,
  15429. "isConstant": false,
  15430. "isLValue": false,
  15431. "isPure": false,
  15432. "kind": "functionCall",
  15433. "lValueRequested": false,
  15434. "nameLocations": [],
  15435. "names": [],
  15436. "nodeType": "FunctionCall",
  15437. "src": "10557:61:50",
  15438. "tryCall": false,
  15439. "typeDescriptions": {
  15440. "typeIdentifier": "t_bytes_memory_ptr",
  15441. "typeString": "bytes memory"
  15442. }
  15443. }
  15444. ],
  15445. "expression": {
  15446. "argumentTypes": [
  15447. {
  15448. "typeIdentifier": "t_bytes_memory_ptr",
  15449. "typeString": "bytes memory"
  15450. }
  15451. ],
  15452. "id": 8395,
  15453. "name": "_sendLogPayload",
  15454. "nodeType": "Identifier",
  15455. "overloadedDeclarations": [],
  15456. "referencedDeclaration": 7315,
  15457. "src": "10541:15:50",
  15458. "typeDescriptions": {
  15459. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  15460. "typeString": "function (bytes memory) pure"
  15461. }
  15462. },
  15463. "id": 8403,
  15464. "isConstant": false,
  15465. "isLValue": false,
  15466. "isPure": false,
  15467. "kind": "functionCall",
  15468. "lValueRequested": false,
  15469. "nameLocations": [],
  15470. "names": [],
  15471. "nodeType": "FunctionCall",
  15472. "src": "10541:78:50",
  15473. "tryCall": false,
  15474. "typeDescriptions": {
  15475. "typeIdentifier": "t_tuple$__$",
  15476. "typeString": "tuple()"
  15477. }
  15478. },
  15479. "id": 8404,
  15480. "nodeType": "ExpressionStatement",
  15481. "src": "10541:78:50"
  15482. }
  15483. ]
  15484. },
  15485. "implemented": true,
  15486. "kind": "function",
  15487. "modifiers": [],
  15488. "name": "log",
  15489. "nameLocation": "10483:3:50",
  15490. "parameters": {
  15491. "id": 8393,
  15492. "nodeType": "ParameterList",
  15493. "parameters": [
  15494. {
  15495. "constant": false,
  15496. "id": 8388,
  15497. "mutability": "mutable",
  15498. "name": "p0",
  15499. "nameLocation": "10495:2:50",
  15500. "nodeType": "VariableDeclaration",
  15501. "scope": 8406,
  15502. "src": "10487:10:50",
  15503. "stateVariable": false,
  15504. "storageLocation": "default",
  15505. "typeDescriptions": {
  15506. "typeIdentifier": "t_uint256",
  15507. "typeString": "uint256"
  15508. },
  15509. "typeName": {
  15510. "id": 8387,
  15511. "name": "uint256",
  15512. "nodeType": "ElementaryTypeName",
  15513. "src": "10487:7:50",
  15514. "typeDescriptions": {
  15515. "typeIdentifier": "t_uint256",
  15516. "typeString": "uint256"
  15517. }
  15518. },
  15519. "visibility": "internal"
  15520. },
  15521. {
  15522. "constant": false,
  15523. "id": 8390,
  15524. "mutability": "mutable",
  15525. "name": "p1",
  15526. "nameLocation": "10504:2:50",
  15527. "nodeType": "VariableDeclaration",
  15528. "scope": 8406,
  15529. "src": "10499:7:50",
  15530. "stateVariable": false,
  15531. "storageLocation": "default",
  15532. "typeDescriptions": {
  15533. "typeIdentifier": "t_bool",
  15534. "typeString": "bool"
  15535. },
  15536. "typeName": {
  15537. "id": 8389,
  15538. "name": "bool",
  15539. "nodeType": "ElementaryTypeName",
  15540. "src": "10499:4:50",
  15541. "typeDescriptions": {
  15542. "typeIdentifier": "t_bool",
  15543. "typeString": "bool"
  15544. }
  15545. },
  15546. "visibility": "internal"
  15547. },
  15548. {
  15549. "constant": false,
  15550. "id": 8392,
  15551. "mutability": "mutable",
  15552. "name": "p2",
  15553. "nameLocation": "10513:2:50",
  15554. "nodeType": "VariableDeclaration",
  15555. "scope": 8406,
  15556. "src": "10508:7:50",
  15557. "stateVariable": false,
  15558. "storageLocation": "default",
  15559. "typeDescriptions": {
  15560. "typeIdentifier": "t_bool",
  15561. "typeString": "bool"
  15562. },
  15563. "typeName": {
  15564. "id": 8391,
  15565. "name": "bool",
  15566. "nodeType": "ElementaryTypeName",
  15567. "src": "10508:4:50",
  15568. "typeDescriptions": {
  15569. "typeIdentifier": "t_bool",
  15570. "typeString": "bool"
  15571. }
  15572. },
  15573. "visibility": "internal"
  15574. }
  15575. ],
  15576. "src": "10486:30:50"
  15577. },
  15578. "returnParameters": {
  15579. "id": 8394,
  15580. "nodeType": "ParameterList",
  15581. "parameters": [],
  15582. "src": "10531:0:50"
  15583. },
  15584. "scope": 15355,
  15585. "stateMutability": "pure",
  15586. "virtual": false,
  15587. "visibility": "internal"
  15588. },
  15589. {
  15590. "id": 8426,
  15591. "nodeType": "FunctionDefinition",
  15592. "src": "10632:158:50",
  15593. "nodes": [],
  15594. "body": {
  15595. "id": 8425,
  15596. "nodeType": "Block",
  15597. "src": "10692:98:50",
  15598. "nodes": [],
  15599. "statements": [
  15600. {
  15601. "expression": {
  15602. "arguments": [
  15603. {
  15604. "arguments": [
  15605. {
  15606. "hexValue": "6c6f672875696e743235362c626f6f6c2c6164647265737329",
  15607. "id": 8418,
  15608. "isConstant": false,
  15609. "isLValue": false,
  15610. "isPure": true,
  15611. "kind": "string",
  15612. "lValueRequested": false,
  15613. "nodeType": "Literal",
  15614. "src": "10742:27:50",
  15615. "typeDescriptions": {
  15616. "typeIdentifier": "t_stringliteral_35085f7b74fe0b67ab2d779d94b2a1efc14ce8d637e06ffda83ca305116f3c99",
  15617. "typeString": "literal_string \"log(uint256,bool,address)\""
  15618. },
  15619. "value": "log(uint256,bool,address)"
  15620. },
  15621. {
  15622. "id": 8419,
  15623. "name": "p0",
  15624. "nodeType": "Identifier",
  15625. "overloadedDeclarations": [],
  15626. "referencedDeclaration": 8408,
  15627. "src": "10771:2:50",
  15628. "typeDescriptions": {
  15629. "typeIdentifier": "t_uint256",
  15630. "typeString": "uint256"
  15631. }
  15632. },
  15633. {
  15634. "id": 8420,
  15635. "name": "p1",
  15636. "nodeType": "Identifier",
  15637. "overloadedDeclarations": [],
  15638. "referencedDeclaration": 8410,
  15639. "src": "10775:2:50",
  15640. "typeDescriptions": {
  15641. "typeIdentifier": "t_bool",
  15642. "typeString": "bool"
  15643. }
  15644. },
  15645. {
  15646. "id": 8421,
  15647. "name": "p2",
  15648. "nodeType": "Identifier",
  15649. "overloadedDeclarations": [],
  15650. "referencedDeclaration": 8412,
  15651. "src": "10779:2:50",
  15652. "typeDescriptions": {
  15653. "typeIdentifier": "t_address",
  15654. "typeString": "address"
  15655. }
  15656. }
  15657. ],
  15658. "expression": {
  15659. "argumentTypes": [
  15660. {
  15661. "typeIdentifier": "t_stringliteral_35085f7b74fe0b67ab2d779d94b2a1efc14ce8d637e06ffda83ca305116f3c99",
  15662. "typeString": "literal_string \"log(uint256,bool,address)\""
  15663. },
  15664. {
  15665. "typeIdentifier": "t_uint256",
  15666. "typeString": "uint256"
  15667. },
  15668. {
  15669. "typeIdentifier": "t_bool",
  15670. "typeString": "bool"
  15671. },
  15672. {
  15673. "typeIdentifier": "t_address",
  15674. "typeString": "address"
  15675. }
  15676. ],
  15677. "expression": {
  15678. "id": 8416,
  15679. "name": "abi",
  15680. "nodeType": "Identifier",
  15681. "overloadedDeclarations": [],
  15682. "referencedDeclaration": -1,
  15683. "src": "10718:3:50",
  15684. "typeDescriptions": {
  15685. "typeIdentifier": "t_magic_abi",
  15686. "typeString": "abi"
  15687. }
  15688. },
  15689. "id": 8417,
  15690. "isConstant": false,
  15691. "isLValue": false,
  15692. "isPure": true,
  15693. "lValueRequested": false,
  15694. "memberLocation": "10722:19:50",
  15695. "memberName": "encodeWithSignature",
  15696. "nodeType": "MemberAccess",
  15697. "src": "10718:23:50",
  15698. "typeDescriptions": {
  15699. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  15700. "typeString": "function (string memory) pure returns (bytes memory)"
  15701. }
  15702. },
  15703. "id": 8422,
  15704. "isConstant": false,
  15705. "isLValue": false,
  15706. "isPure": false,
  15707. "kind": "functionCall",
  15708. "lValueRequested": false,
  15709. "nameLocations": [],
  15710. "names": [],
  15711. "nodeType": "FunctionCall",
  15712. "src": "10718:64:50",
  15713. "tryCall": false,
  15714. "typeDescriptions": {
  15715. "typeIdentifier": "t_bytes_memory_ptr",
  15716. "typeString": "bytes memory"
  15717. }
  15718. }
  15719. ],
  15720. "expression": {
  15721. "argumentTypes": [
  15722. {
  15723. "typeIdentifier": "t_bytes_memory_ptr",
  15724. "typeString": "bytes memory"
  15725. }
  15726. ],
  15727. "id": 8415,
  15728. "name": "_sendLogPayload",
  15729. "nodeType": "Identifier",
  15730. "overloadedDeclarations": [],
  15731. "referencedDeclaration": 7315,
  15732. "src": "10702:15:50",
  15733. "typeDescriptions": {
  15734. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  15735. "typeString": "function (bytes memory) pure"
  15736. }
  15737. },
  15738. "id": 8423,
  15739. "isConstant": false,
  15740. "isLValue": false,
  15741. "isPure": false,
  15742. "kind": "functionCall",
  15743. "lValueRequested": false,
  15744. "nameLocations": [],
  15745. "names": [],
  15746. "nodeType": "FunctionCall",
  15747. "src": "10702:81:50",
  15748. "tryCall": false,
  15749. "typeDescriptions": {
  15750. "typeIdentifier": "t_tuple$__$",
  15751. "typeString": "tuple()"
  15752. }
  15753. },
  15754. "id": 8424,
  15755. "nodeType": "ExpressionStatement",
  15756. "src": "10702:81:50"
  15757. }
  15758. ]
  15759. },
  15760. "implemented": true,
  15761. "kind": "function",
  15762. "modifiers": [],
  15763. "name": "log",
  15764. "nameLocation": "10641:3:50",
  15765. "parameters": {
  15766. "id": 8413,
  15767. "nodeType": "ParameterList",
  15768. "parameters": [
  15769. {
  15770. "constant": false,
  15771. "id": 8408,
  15772. "mutability": "mutable",
  15773. "name": "p0",
  15774. "nameLocation": "10653:2:50",
  15775. "nodeType": "VariableDeclaration",
  15776. "scope": 8426,
  15777. "src": "10645:10:50",
  15778. "stateVariable": false,
  15779. "storageLocation": "default",
  15780. "typeDescriptions": {
  15781. "typeIdentifier": "t_uint256",
  15782. "typeString": "uint256"
  15783. },
  15784. "typeName": {
  15785. "id": 8407,
  15786. "name": "uint256",
  15787. "nodeType": "ElementaryTypeName",
  15788. "src": "10645:7:50",
  15789. "typeDescriptions": {
  15790. "typeIdentifier": "t_uint256",
  15791. "typeString": "uint256"
  15792. }
  15793. },
  15794. "visibility": "internal"
  15795. },
  15796. {
  15797. "constant": false,
  15798. "id": 8410,
  15799. "mutability": "mutable",
  15800. "name": "p1",
  15801. "nameLocation": "10662:2:50",
  15802. "nodeType": "VariableDeclaration",
  15803. "scope": 8426,
  15804. "src": "10657:7:50",
  15805. "stateVariable": false,
  15806. "storageLocation": "default",
  15807. "typeDescriptions": {
  15808. "typeIdentifier": "t_bool",
  15809. "typeString": "bool"
  15810. },
  15811. "typeName": {
  15812. "id": 8409,
  15813. "name": "bool",
  15814. "nodeType": "ElementaryTypeName",
  15815. "src": "10657:4:50",
  15816. "typeDescriptions": {
  15817. "typeIdentifier": "t_bool",
  15818. "typeString": "bool"
  15819. }
  15820. },
  15821. "visibility": "internal"
  15822. },
  15823. {
  15824. "constant": false,
  15825. "id": 8412,
  15826. "mutability": "mutable",
  15827. "name": "p2",
  15828. "nameLocation": "10674:2:50",
  15829. "nodeType": "VariableDeclaration",
  15830. "scope": 8426,
  15831. "src": "10666:10:50",
  15832. "stateVariable": false,
  15833. "storageLocation": "default",
  15834. "typeDescriptions": {
  15835. "typeIdentifier": "t_address",
  15836. "typeString": "address"
  15837. },
  15838. "typeName": {
  15839. "id": 8411,
  15840. "name": "address",
  15841. "nodeType": "ElementaryTypeName",
  15842. "src": "10666:7:50",
  15843. "stateMutability": "nonpayable",
  15844. "typeDescriptions": {
  15845. "typeIdentifier": "t_address",
  15846. "typeString": "address"
  15847. }
  15848. },
  15849. "visibility": "internal"
  15850. }
  15851. ],
  15852. "src": "10644:33:50"
  15853. },
  15854. "returnParameters": {
  15855. "id": 8414,
  15856. "nodeType": "ParameterList",
  15857. "parameters": [],
  15858. "src": "10692:0:50"
  15859. },
  15860. "scope": 15355,
  15861. "stateMutability": "pure",
  15862. "virtual": false,
  15863. "visibility": "internal"
  15864. },
  15865. {
  15866. "id": 8446,
  15867. "nodeType": "FunctionDefinition",
  15868. "src": "10796:164:50",
  15869. "nodes": [],
  15870. "body": {
  15871. "id": 8445,
  15872. "nodeType": "Block",
  15873. "src": "10859:101:50",
  15874. "nodes": [],
  15875. "statements": [
  15876. {
  15877. "expression": {
  15878. "arguments": [
  15879. {
  15880. "arguments": [
  15881. {
  15882. "hexValue": "6c6f672875696e743235362c616464726573732c75696e7432353629",
  15883. "id": 8438,
  15884. "isConstant": false,
  15885. "isLValue": false,
  15886. "isPure": true,
  15887. "kind": "string",
  15888. "lValueRequested": false,
  15889. "nodeType": "Literal",
  15890. "src": "10909:30:50",
  15891. "typeDescriptions": {
  15892. "typeIdentifier": "t_stringliteral_5a9b5ed5e0cc67953f5b0a58c12e9694944af5a126321ab88870dec3bc05a9ae",
  15893. "typeString": "literal_string \"log(uint256,address,uint256)\""
  15894. },
  15895. "value": "log(uint256,address,uint256)"
  15896. },
  15897. {
  15898. "id": 8439,
  15899. "name": "p0",
  15900. "nodeType": "Identifier",
  15901. "overloadedDeclarations": [],
  15902. "referencedDeclaration": 8428,
  15903. "src": "10941:2:50",
  15904. "typeDescriptions": {
  15905. "typeIdentifier": "t_uint256",
  15906. "typeString": "uint256"
  15907. }
  15908. },
  15909. {
  15910. "id": 8440,
  15911. "name": "p1",
  15912. "nodeType": "Identifier",
  15913. "overloadedDeclarations": [],
  15914. "referencedDeclaration": 8430,
  15915. "src": "10945:2:50",
  15916. "typeDescriptions": {
  15917. "typeIdentifier": "t_address",
  15918. "typeString": "address"
  15919. }
  15920. },
  15921. {
  15922. "id": 8441,
  15923. "name": "p2",
  15924. "nodeType": "Identifier",
  15925. "overloadedDeclarations": [],
  15926. "referencedDeclaration": 8432,
  15927. "src": "10949:2:50",
  15928. "typeDescriptions": {
  15929. "typeIdentifier": "t_uint256",
  15930. "typeString": "uint256"
  15931. }
  15932. }
  15933. ],
  15934. "expression": {
  15935. "argumentTypes": [
  15936. {
  15937. "typeIdentifier": "t_stringliteral_5a9b5ed5e0cc67953f5b0a58c12e9694944af5a126321ab88870dec3bc05a9ae",
  15938. "typeString": "literal_string \"log(uint256,address,uint256)\""
  15939. },
  15940. {
  15941. "typeIdentifier": "t_uint256",
  15942. "typeString": "uint256"
  15943. },
  15944. {
  15945. "typeIdentifier": "t_address",
  15946. "typeString": "address"
  15947. },
  15948. {
  15949. "typeIdentifier": "t_uint256",
  15950. "typeString": "uint256"
  15951. }
  15952. ],
  15953. "expression": {
  15954. "id": 8436,
  15955. "name": "abi",
  15956. "nodeType": "Identifier",
  15957. "overloadedDeclarations": [],
  15958. "referencedDeclaration": -1,
  15959. "src": "10885:3:50",
  15960. "typeDescriptions": {
  15961. "typeIdentifier": "t_magic_abi",
  15962. "typeString": "abi"
  15963. }
  15964. },
  15965. "id": 8437,
  15966. "isConstant": false,
  15967. "isLValue": false,
  15968. "isPure": true,
  15969. "lValueRequested": false,
  15970. "memberLocation": "10889:19:50",
  15971. "memberName": "encodeWithSignature",
  15972. "nodeType": "MemberAccess",
  15973. "src": "10885:23:50",
  15974. "typeDescriptions": {
  15975. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  15976. "typeString": "function (string memory) pure returns (bytes memory)"
  15977. }
  15978. },
  15979. "id": 8442,
  15980. "isConstant": false,
  15981. "isLValue": false,
  15982. "isPure": false,
  15983. "kind": "functionCall",
  15984. "lValueRequested": false,
  15985. "nameLocations": [],
  15986. "names": [],
  15987. "nodeType": "FunctionCall",
  15988. "src": "10885:67:50",
  15989. "tryCall": false,
  15990. "typeDescriptions": {
  15991. "typeIdentifier": "t_bytes_memory_ptr",
  15992. "typeString": "bytes memory"
  15993. }
  15994. }
  15995. ],
  15996. "expression": {
  15997. "argumentTypes": [
  15998. {
  15999. "typeIdentifier": "t_bytes_memory_ptr",
  16000. "typeString": "bytes memory"
  16001. }
  16002. ],
  16003. "id": 8435,
  16004. "name": "_sendLogPayload",
  16005. "nodeType": "Identifier",
  16006. "overloadedDeclarations": [],
  16007. "referencedDeclaration": 7315,
  16008. "src": "10869:15:50",
  16009. "typeDescriptions": {
  16010. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  16011. "typeString": "function (bytes memory) pure"
  16012. }
  16013. },
  16014. "id": 8443,
  16015. "isConstant": false,
  16016. "isLValue": false,
  16017. "isPure": false,
  16018. "kind": "functionCall",
  16019. "lValueRequested": false,
  16020. "nameLocations": [],
  16021. "names": [],
  16022. "nodeType": "FunctionCall",
  16023. "src": "10869:84:50",
  16024. "tryCall": false,
  16025. "typeDescriptions": {
  16026. "typeIdentifier": "t_tuple$__$",
  16027. "typeString": "tuple()"
  16028. }
  16029. },
  16030. "id": 8444,
  16031. "nodeType": "ExpressionStatement",
  16032. "src": "10869:84:50"
  16033. }
  16034. ]
  16035. },
  16036. "implemented": true,
  16037. "kind": "function",
  16038. "modifiers": [],
  16039. "name": "log",
  16040. "nameLocation": "10805:3:50",
  16041. "parameters": {
  16042. "id": 8433,
  16043. "nodeType": "ParameterList",
  16044. "parameters": [
  16045. {
  16046. "constant": false,
  16047. "id": 8428,
  16048. "mutability": "mutable",
  16049. "name": "p0",
  16050. "nameLocation": "10817:2:50",
  16051. "nodeType": "VariableDeclaration",
  16052. "scope": 8446,
  16053. "src": "10809:10:50",
  16054. "stateVariable": false,
  16055. "storageLocation": "default",
  16056. "typeDescriptions": {
  16057. "typeIdentifier": "t_uint256",
  16058. "typeString": "uint256"
  16059. },
  16060. "typeName": {
  16061. "id": 8427,
  16062. "name": "uint256",
  16063. "nodeType": "ElementaryTypeName",
  16064. "src": "10809:7:50",
  16065. "typeDescriptions": {
  16066. "typeIdentifier": "t_uint256",
  16067. "typeString": "uint256"
  16068. }
  16069. },
  16070. "visibility": "internal"
  16071. },
  16072. {
  16073. "constant": false,
  16074. "id": 8430,
  16075. "mutability": "mutable",
  16076. "name": "p1",
  16077. "nameLocation": "10829:2:50",
  16078. "nodeType": "VariableDeclaration",
  16079. "scope": 8446,
  16080. "src": "10821:10:50",
  16081. "stateVariable": false,
  16082. "storageLocation": "default",
  16083. "typeDescriptions": {
  16084. "typeIdentifier": "t_address",
  16085. "typeString": "address"
  16086. },
  16087. "typeName": {
  16088. "id": 8429,
  16089. "name": "address",
  16090. "nodeType": "ElementaryTypeName",
  16091. "src": "10821:7:50",
  16092. "stateMutability": "nonpayable",
  16093. "typeDescriptions": {
  16094. "typeIdentifier": "t_address",
  16095. "typeString": "address"
  16096. }
  16097. },
  16098. "visibility": "internal"
  16099. },
  16100. {
  16101. "constant": false,
  16102. "id": 8432,
  16103. "mutability": "mutable",
  16104. "name": "p2",
  16105. "nameLocation": "10841:2:50",
  16106. "nodeType": "VariableDeclaration",
  16107. "scope": 8446,
  16108. "src": "10833:10:50",
  16109. "stateVariable": false,
  16110. "storageLocation": "default",
  16111. "typeDescriptions": {
  16112. "typeIdentifier": "t_uint256",
  16113. "typeString": "uint256"
  16114. },
  16115. "typeName": {
  16116. "id": 8431,
  16117. "name": "uint256",
  16118. "nodeType": "ElementaryTypeName",
  16119. "src": "10833:7:50",
  16120. "typeDescriptions": {
  16121. "typeIdentifier": "t_uint256",
  16122. "typeString": "uint256"
  16123. }
  16124. },
  16125. "visibility": "internal"
  16126. }
  16127. ],
  16128. "src": "10808:36:50"
  16129. },
  16130. "returnParameters": {
  16131. "id": 8434,
  16132. "nodeType": "ParameterList",
  16133. "parameters": [],
  16134. "src": "10859:0:50"
  16135. },
  16136. "scope": 15355,
  16137. "stateMutability": "pure",
  16138. "virtual": false,
  16139. "visibility": "internal"
  16140. },
  16141. {
  16142. "id": 8466,
  16143. "nodeType": "FunctionDefinition",
  16144. "src": "10966:169:50",
  16145. "nodes": [],
  16146. "body": {
  16147. "id": 8465,
  16148. "nodeType": "Block",
  16149. "src": "11035:100:50",
  16150. "nodes": [],
  16151. "statements": [
  16152. {
  16153. "expression": {
  16154. "arguments": [
  16155. {
  16156. "arguments": [
  16157. {
  16158. "hexValue": "6c6f672875696e743235362c616464726573732c737472696e6729",
  16159. "id": 8458,
  16160. "isConstant": false,
  16161. "isLValue": false,
  16162. "isPure": true,
  16163. "kind": "string",
  16164. "lValueRequested": false,
  16165. "nodeType": "Literal",
  16166. "src": "11085:29:50",
  16167. "typeDescriptions": {
  16168. "typeIdentifier": "t_stringliteral_63cb41f9a63efe5dfacd3a2836bdef664d136fd6113f8e931c31a919af38935c",
  16169. "typeString": "literal_string \"log(uint256,address,string)\""
  16170. },
  16171. "value": "log(uint256,address,string)"
  16172. },
  16173. {
  16174. "id": 8459,
  16175. "name": "p0",
  16176. "nodeType": "Identifier",
  16177. "overloadedDeclarations": [],
  16178. "referencedDeclaration": 8448,
  16179. "src": "11116:2:50",
  16180. "typeDescriptions": {
  16181. "typeIdentifier": "t_uint256",
  16182. "typeString": "uint256"
  16183. }
  16184. },
  16185. {
  16186. "id": 8460,
  16187. "name": "p1",
  16188. "nodeType": "Identifier",
  16189. "overloadedDeclarations": [],
  16190. "referencedDeclaration": 8450,
  16191. "src": "11120:2:50",
  16192. "typeDescriptions": {
  16193. "typeIdentifier": "t_address",
  16194. "typeString": "address"
  16195. }
  16196. },
  16197. {
  16198. "id": 8461,
  16199. "name": "p2",
  16200. "nodeType": "Identifier",
  16201. "overloadedDeclarations": [],
  16202. "referencedDeclaration": 8452,
  16203. "src": "11124:2:50",
  16204. "typeDescriptions": {
  16205. "typeIdentifier": "t_string_memory_ptr",
  16206. "typeString": "string memory"
  16207. }
  16208. }
  16209. ],
  16210. "expression": {
  16211. "argumentTypes": [
  16212. {
  16213. "typeIdentifier": "t_stringliteral_63cb41f9a63efe5dfacd3a2836bdef664d136fd6113f8e931c31a919af38935c",
  16214. "typeString": "literal_string \"log(uint256,address,string)\""
  16215. },
  16216. {
  16217. "typeIdentifier": "t_uint256",
  16218. "typeString": "uint256"
  16219. },
  16220. {
  16221. "typeIdentifier": "t_address",
  16222. "typeString": "address"
  16223. },
  16224. {
  16225. "typeIdentifier": "t_string_memory_ptr",
  16226. "typeString": "string memory"
  16227. }
  16228. ],
  16229. "expression": {
  16230. "id": 8456,
  16231. "name": "abi",
  16232. "nodeType": "Identifier",
  16233. "overloadedDeclarations": [],
  16234. "referencedDeclaration": -1,
  16235. "src": "11061:3:50",
  16236. "typeDescriptions": {
  16237. "typeIdentifier": "t_magic_abi",
  16238. "typeString": "abi"
  16239. }
  16240. },
  16241. "id": 8457,
  16242. "isConstant": false,
  16243. "isLValue": false,
  16244. "isPure": true,
  16245. "lValueRequested": false,
  16246. "memberLocation": "11065:19:50",
  16247. "memberName": "encodeWithSignature",
  16248. "nodeType": "MemberAccess",
  16249. "src": "11061:23:50",
  16250. "typeDescriptions": {
  16251. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  16252. "typeString": "function (string memory) pure returns (bytes memory)"
  16253. }
  16254. },
  16255. "id": 8462,
  16256. "isConstant": false,
  16257. "isLValue": false,
  16258. "isPure": false,
  16259. "kind": "functionCall",
  16260. "lValueRequested": false,
  16261. "nameLocations": [],
  16262. "names": [],
  16263. "nodeType": "FunctionCall",
  16264. "src": "11061:66:50",
  16265. "tryCall": false,
  16266. "typeDescriptions": {
  16267. "typeIdentifier": "t_bytes_memory_ptr",
  16268. "typeString": "bytes memory"
  16269. }
  16270. }
  16271. ],
  16272. "expression": {
  16273. "argumentTypes": [
  16274. {
  16275. "typeIdentifier": "t_bytes_memory_ptr",
  16276. "typeString": "bytes memory"
  16277. }
  16278. ],
  16279. "id": 8455,
  16280. "name": "_sendLogPayload",
  16281. "nodeType": "Identifier",
  16282. "overloadedDeclarations": [],
  16283. "referencedDeclaration": 7315,
  16284. "src": "11045:15:50",
  16285. "typeDescriptions": {
  16286. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  16287. "typeString": "function (bytes memory) pure"
  16288. }
  16289. },
  16290. "id": 8463,
  16291. "isConstant": false,
  16292. "isLValue": false,
  16293. "isPure": false,
  16294. "kind": "functionCall",
  16295. "lValueRequested": false,
  16296. "nameLocations": [],
  16297. "names": [],
  16298. "nodeType": "FunctionCall",
  16299. "src": "11045:83:50",
  16300. "tryCall": false,
  16301. "typeDescriptions": {
  16302. "typeIdentifier": "t_tuple$__$",
  16303. "typeString": "tuple()"
  16304. }
  16305. },
  16306. "id": 8464,
  16307. "nodeType": "ExpressionStatement",
  16308. "src": "11045:83:50"
  16309. }
  16310. ]
  16311. },
  16312. "implemented": true,
  16313. "kind": "function",
  16314. "modifiers": [],
  16315. "name": "log",
  16316. "nameLocation": "10975:3:50",
  16317. "parameters": {
  16318. "id": 8453,
  16319. "nodeType": "ParameterList",
  16320. "parameters": [
  16321. {
  16322. "constant": false,
  16323. "id": 8448,
  16324. "mutability": "mutable",
  16325. "name": "p0",
  16326. "nameLocation": "10987:2:50",
  16327. "nodeType": "VariableDeclaration",
  16328. "scope": 8466,
  16329. "src": "10979:10:50",
  16330. "stateVariable": false,
  16331. "storageLocation": "default",
  16332. "typeDescriptions": {
  16333. "typeIdentifier": "t_uint256",
  16334. "typeString": "uint256"
  16335. },
  16336. "typeName": {
  16337. "id": 8447,
  16338. "name": "uint256",
  16339. "nodeType": "ElementaryTypeName",
  16340. "src": "10979:7:50",
  16341. "typeDescriptions": {
  16342. "typeIdentifier": "t_uint256",
  16343. "typeString": "uint256"
  16344. }
  16345. },
  16346. "visibility": "internal"
  16347. },
  16348. {
  16349. "constant": false,
  16350. "id": 8450,
  16351. "mutability": "mutable",
  16352. "name": "p1",
  16353. "nameLocation": "10999:2:50",
  16354. "nodeType": "VariableDeclaration",
  16355. "scope": 8466,
  16356. "src": "10991:10:50",
  16357. "stateVariable": false,
  16358. "storageLocation": "default",
  16359. "typeDescriptions": {
  16360. "typeIdentifier": "t_address",
  16361. "typeString": "address"
  16362. },
  16363. "typeName": {
  16364. "id": 8449,
  16365. "name": "address",
  16366. "nodeType": "ElementaryTypeName",
  16367. "src": "10991:7:50",
  16368. "stateMutability": "nonpayable",
  16369. "typeDescriptions": {
  16370. "typeIdentifier": "t_address",
  16371. "typeString": "address"
  16372. }
  16373. },
  16374. "visibility": "internal"
  16375. },
  16376. {
  16377. "constant": false,
  16378. "id": 8452,
  16379. "mutability": "mutable",
  16380. "name": "p2",
  16381. "nameLocation": "11017:2:50",
  16382. "nodeType": "VariableDeclaration",
  16383. "scope": 8466,
  16384. "src": "11003:16:50",
  16385. "stateVariable": false,
  16386. "storageLocation": "memory",
  16387. "typeDescriptions": {
  16388. "typeIdentifier": "t_string_memory_ptr",
  16389. "typeString": "string"
  16390. },
  16391. "typeName": {
  16392. "id": 8451,
  16393. "name": "string",
  16394. "nodeType": "ElementaryTypeName",
  16395. "src": "11003:6:50",
  16396. "typeDescriptions": {
  16397. "typeIdentifier": "t_string_storage_ptr",
  16398. "typeString": "string"
  16399. }
  16400. },
  16401. "visibility": "internal"
  16402. }
  16403. ],
  16404. "src": "10978:42:50"
  16405. },
  16406. "returnParameters": {
  16407. "id": 8454,
  16408. "nodeType": "ParameterList",
  16409. "parameters": [],
  16410. "src": "11035:0:50"
  16411. },
  16412. "scope": 15355,
  16413. "stateMutability": "pure",
  16414. "virtual": false,
  16415. "visibility": "internal"
  16416. },
  16417. {
  16418. "id": 8486,
  16419. "nodeType": "FunctionDefinition",
  16420. "src": "11141:158:50",
  16421. "nodes": [],
  16422. "body": {
  16423. "id": 8485,
  16424. "nodeType": "Block",
  16425. "src": "11201:98:50",
  16426. "nodes": [],
  16427. "statements": [
  16428. {
  16429. "expression": {
  16430. "arguments": [
  16431. {
  16432. "arguments": [
  16433. {
  16434. "hexValue": "6c6f672875696e743235362c616464726573732c626f6f6c29",
  16435. "id": 8478,
  16436. "isConstant": false,
  16437. "isLValue": false,
  16438. "isPure": true,
  16439. "kind": "string",
  16440. "lValueRequested": false,
  16441. "nodeType": "Literal",
  16442. "src": "11251:27:50",
  16443. "typeDescriptions": {
  16444. "typeIdentifier": "t_stringliteral_9b6ec042c5598a780a5bfae5e9ea2c50c251da4c38db3a134b8857be618f0c5c",
  16445. "typeString": "literal_string \"log(uint256,address,bool)\""
  16446. },
  16447. "value": "log(uint256,address,bool)"
  16448. },
  16449. {
  16450. "id": 8479,
  16451. "name": "p0",
  16452. "nodeType": "Identifier",
  16453. "overloadedDeclarations": [],
  16454. "referencedDeclaration": 8468,
  16455. "src": "11280:2:50",
  16456. "typeDescriptions": {
  16457. "typeIdentifier": "t_uint256",
  16458. "typeString": "uint256"
  16459. }
  16460. },
  16461. {
  16462. "id": 8480,
  16463. "name": "p1",
  16464. "nodeType": "Identifier",
  16465. "overloadedDeclarations": [],
  16466. "referencedDeclaration": 8470,
  16467. "src": "11284:2:50",
  16468. "typeDescriptions": {
  16469. "typeIdentifier": "t_address",
  16470. "typeString": "address"
  16471. }
  16472. },
  16473. {
  16474. "id": 8481,
  16475. "name": "p2",
  16476. "nodeType": "Identifier",
  16477. "overloadedDeclarations": [],
  16478. "referencedDeclaration": 8472,
  16479. "src": "11288:2:50",
  16480. "typeDescriptions": {
  16481. "typeIdentifier": "t_bool",
  16482. "typeString": "bool"
  16483. }
  16484. }
  16485. ],
  16486. "expression": {
  16487. "argumentTypes": [
  16488. {
  16489. "typeIdentifier": "t_stringliteral_9b6ec042c5598a780a5bfae5e9ea2c50c251da4c38db3a134b8857be618f0c5c",
  16490. "typeString": "literal_string \"log(uint256,address,bool)\""
  16491. },
  16492. {
  16493. "typeIdentifier": "t_uint256",
  16494. "typeString": "uint256"
  16495. },
  16496. {
  16497. "typeIdentifier": "t_address",
  16498. "typeString": "address"
  16499. },
  16500. {
  16501. "typeIdentifier": "t_bool",
  16502. "typeString": "bool"
  16503. }
  16504. ],
  16505. "expression": {
  16506. "id": 8476,
  16507. "name": "abi",
  16508. "nodeType": "Identifier",
  16509. "overloadedDeclarations": [],
  16510. "referencedDeclaration": -1,
  16511. "src": "11227:3:50",
  16512. "typeDescriptions": {
  16513. "typeIdentifier": "t_magic_abi",
  16514. "typeString": "abi"
  16515. }
  16516. },
  16517. "id": 8477,
  16518. "isConstant": false,
  16519. "isLValue": false,
  16520. "isPure": true,
  16521. "lValueRequested": false,
  16522. "memberLocation": "11231:19:50",
  16523. "memberName": "encodeWithSignature",
  16524. "nodeType": "MemberAccess",
  16525. "src": "11227:23:50",
  16526. "typeDescriptions": {
  16527. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  16528. "typeString": "function (string memory) pure returns (bytes memory)"
  16529. }
  16530. },
  16531. "id": 8482,
  16532. "isConstant": false,
  16533. "isLValue": false,
  16534. "isPure": false,
  16535. "kind": "functionCall",
  16536. "lValueRequested": false,
  16537. "nameLocations": [],
  16538. "names": [],
  16539. "nodeType": "FunctionCall",
  16540. "src": "11227:64:50",
  16541. "tryCall": false,
  16542. "typeDescriptions": {
  16543. "typeIdentifier": "t_bytes_memory_ptr",
  16544. "typeString": "bytes memory"
  16545. }
  16546. }
  16547. ],
  16548. "expression": {
  16549. "argumentTypes": [
  16550. {
  16551. "typeIdentifier": "t_bytes_memory_ptr",
  16552. "typeString": "bytes memory"
  16553. }
  16554. ],
  16555. "id": 8475,
  16556. "name": "_sendLogPayload",
  16557. "nodeType": "Identifier",
  16558. "overloadedDeclarations": [],
  16559. "referencedDeclaration": 7315,
  16560. "src": "11211:15:50",
  16561. "typeDescriptions": {
  16562. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  16563. "typeString": "function (bytes memory) pure"
  16564. }
  16565. },
  16566. "id": 8483,
  16567. "isConstant": false,
  16568. "isLValue": false,
  16569. "isPure": false,
  16570. "kind": "functionCall",
  16571. "lValueRequested": false,
  16572. "nameLocations": [],
  16573. "names": [],
  16574. "nodeType": "FunctionCall",
  16575. "src": "11211:81:50",
  16576. "tryCall": false,
  16577. "typeDescriptions": {
  16578. "typeIdentifier": "t_tuple$__$",
  16579. "typeString": "tuple()"
  16580. }
  16581. },
  16582. "id": 8484,
  16583. "nodeType": "ExpressionStatement",
  16584. "src": "11211:81:50"
  16585. }
  16586. ]
  16587. },
  16588. "implemented": true,
  16589. "kind": "function",
  16590. "modifiers": [],
  16591. "name": "log",
  16592. "nameLocation": "11150:3:50",
  16593. "parameters": {
  16594. "id": 8473,
  16595. "nodeType": "ParameterList",
  16596. "parameters": [
  16597. {
  16598. "constant": false,
  16599. "id": 8468,
  16600. "mutability": "mutable",
  16601. "name": "p0",
  16602. "nameLocation": "11162:2:50",
  16603. "nodeType": "VariableDeclaration",
  16604. "scope": 8486,
  16605. "src": "11154:10:50",
  16606. "stateVariable": false,
  16607. "storageLocation": "default",
  16608. "typeDescriptions": {
  16609. "typeIdentifier": "t_uint256",
  16610. "typeString": "uint256"
  16611. },
  16612. "typeName": {
  16613. "id": 8467,
  16614. "name": "uint256",
  16615. "nodeType": "ElementaryTypeName",
  16616. "src": "11154:7:50",
  16617. "typeDescriptions": {
  16618. "typeIdentifier": "t_uint256",
  16619. "typeString": "uint256"
  16620. }
  16621. },
  16622. "visibility": "internal"
  16623. },
  16624. {
  16625. "constant": false,
  16626. "id": 8470,
  16627. "mutability": "mutable",
  16628. "name": "p1",
  16629. "nameLocation": "11174:2:50",
  16630. "nodeType": "VariableDeclaration",
  16631. "scope": 8486,
  16632. "src": "11166:10:50",
  16633. "stateVariable": false,
  16634. "storageLocation": "default",
  16635. "typeDescriptions": {
  16636. "typeIdentifier": "t_address",
  16637. "typeString": "address"
  16638. },
  16639. "typeName": {
  16640. "id": 8469,
  16641. "name": "address",
  16642. "nodeType": "ElementaryTypeName",
  16643. "src": "11166:7:50",
  16644. "stateMutability": "nonpayable",
  16645. "typeDescriptions": {
  16646. "typeIdentifier": "t_address",
  16647. "typeString": "address"
  16648. }
  16649. },
  16650. "visibility": "internal"
  16651. },
  16652. {
  16653. "constant": false,
  16654. "id": 8472,
  16655. "mutability": "mutable",
  16656. "name": "p2",
  16657. "nameLocation": "11183:2:50",
  16658. "nodeType": "VariableDeclaration",
  16659. "scope": 8486,
  16660. "src": "11178:7:50",
  16661. "stateVariable": false,
  16662. "storageLocation": "default",
  16663. "typeDescriptions": {
  16664. "typeIdentifier": "t_bool",
  16665. "typeString": "bool"
  16666. },
  16667. "typeName": {
  16668. "id": 8471,
  16669. "name": "bool",
  16670. "nodeType": "ElementaryTypeName",
  16671. "src": "11178:4:50",
  16672. "typeDescriptions": {
  16673. "typeIdentifier": "t_bool",
  16674. "typeString": "bool"
  16675. }
  16676. },
  16677. "visibility": "internal"
  16678. }
  16679. ],
  16680. "src": "11153:33:50"
  16681. },
  16682. "returnParameters": {
  16683. "id": 8474,
  16684. "nodeType": "ParameterList",
  16685. "parameters": [],
  16686. "src": "11201:0:50"
  16687. },
  16688. "scope": 15355,
  16689. "stateMutability": "pure",
  16690. "virtual": false,
  16691. "visibility": "internal"
  16692. },
  16693. {
  16694. "id": 8506,
  16695. "nodeType": "FunctionDefinition",
  16696. "src": "11305:164:50",
  16697. "nodes": [],
  16698. "body": {
  16699. "id": 8505,
  16700. "nodeType": "Block",
  16701. "src": "11368:101:50",
  16702. "nodes": [],
  16703. "statements": [
  16704. {
  16705. "expression": {
  16706. "arguments": [
  16707. {
  16708. "arguments": [
  16709. {
  16710. "hexValue": "6c6f672875696e743235362c616464726573732c6164647265737329",
  16711. "id": 8498,
  16712. "isConstant": false,
  16713. "isLValue": false,
  16714. "isPure": true,
  16715. "kind": "string",
  16716. "lValueRequested": false,
  16717. "nodeType": "Literal",
  16718. "src": "11418:30:50",
  16719. "typeDescriptions": {
  16720. "typeIdentifier": "t_stringliteral_bcfd9be04f8d6b8ee1ae73075f8fe8db10e4b254a56103daa450197029a55fda",
  16721. "typeString": "literal_string \"log(uint256,address,address)\""
  16722. },
  16723. "value": "log(uint256,address,address)"
  16724. },
  16725. {
  16726. "id": 8499,
  16727. "name": "p0",
  16728. "nodeType": "Identifier",
  16729. "overloadedDeclarations": [],
  16730. "referencedDeclaration": 8488,
  16731. "src": "11450:2:50",
  16732. "typeDescriptions": {
  16733. "typeIdentifier": "t_uint256",
  16734. "typeString": "uint256"
  16735. }
  16736. },
  16737. {
  16738. "id": 8500,
  16739. "name": "p1",
  16740. "nodeType": "Identifier",
  16741. "overloadedDeclarations": [],
  16742. "referencedDeclaration": 8490,
  16743. "src": "11454:2:50",
  16744. "typeDescriptions": {
  16745. "typeIdentifier": "t_address",
  16746. "typeString": "address"
  16747. }
  16748. },
  16749. {
  16750. "id": 8501,
  16751. "name": "p2",
  16752. "nodeType": "Identifier",
  16753. "overloadedDeclarations": [],
  16754. "referencedDeclaration": 8492,
  16755. "src": "11458:2:50",
  16756. "typeDescriptions": {
  16757. "typeIdentifier": "t_address",
  16758. "typeString": "address"
  16759. }
  16760. }
  16761. ],
  16762. "expression": {
  16763. "argumentTypes": [
  16764. {
  16765. "typeIdentifier": "t_stringliteral_bcfd9be04f8d6b8ee1ae73075f8fe8db10e4b254a56103daa450197029a55fda",
  16766. "typeString": "literal_string \"log(uint256,address,address)\""
  16767. },
  16768. {
  16769. "typeIdentifier": "t_uint256",
  16770. "typeString": "uint256"
  16771. },
  16772. {
  16773. "typeIdentifier": "t_address",
  16774. "typeString": "address"
  16775. },
  16776. {
  16777. "typeIdentifier": "t_address",
  16778. "typeString": "address"
  16779. }
  16780. ],
  16781. "expression": {
  16782. "id": 8496,
  16783. "name": "abi",
  16784. "nodeType": "Identifier",
  16785. "overloadedDeclarations": [],
  16786. "referencedDeclaration": -1,
  16787. "src": "11394:3:50",
  16788. "typeDescriptions": {
  16789. "typeIdentifier": "t_magic_abi",
  16790. "typeString": "abi"
  16791. }
  16792. },
  16793. "id": 8497,
  16794. "isConstant": false,
  16795. "isLValue": false,
  16796. "isPure": true,
  16797. "lValueRequested": false,
  16798. "memberLocation": "11398:19:50",
  16799. "memberName": "encodeWithSignature",
  16800. "nodeType": "MemberAccess",
  16801. "src": "11394:23:50",
  16802. "typeDescriptions": {
  16803. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  16804. "typeString": "function (string memory) pure returns (bytes memory)"
  16805. }
  16806. },
  16807. "id": 8502,
  16808. "isConstant": false,
  16809. "isLValue": false,
  16810. "isPure": false,
  16811. "kind": "functionCall",
  16812. "lValueRequested": false,
  16813. "nameLocations": [],
  16814. "names": [],
  16815. "nodeType": "FunctionCall",
  16816. "src": "11394:67:50",
  16817. "tryCall": false,
  16818. "typeDescriptions": {
  16819. "typeIdentifier": "t_bytes_memory_ptr",
  16820. "typeString": "bytes memory"
  16821. }
  16822. }
  16823. ],
  16824. "expression": {
  16825. "argumentTypes": [
  16826. {
  16827. "typeIdentifier": "t_bytes_memory_ptr",
  16828. "typeString": "bytes memory"
  16829. }
  16830. ],
  16831. "id": 8495,
  16832. "name": "_sendLogPayload",
  16833. "nodeType": "Identifier",
  16834. "overloadedDeclarations": [],
  16835. "referencedDeclaration": 7315,
  16836. "src": "11378:15:50",
  16837. "typeDescriptions": {
  16838. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  16839. "typeString": "function (bytes memory) pure"
  16840. }
  16841. },
  16842. "id": 8503,
  16843. "isConstant": false,
  16844. "isLValue": false,
  16845. "isPure": false,
  16846. "kind": "functionCall",
  16847. "lValueRequested": false,
  16848. "nameLocations": [],
  16849. "names": [],
  16850. "nodeType": "FunctionCall",
  16851. "src": "11378:84:50",
  16852. "tryCall": false,
  16853. "typeDescriptions": {
  16854. "typeIdentifier": "t_tuple$__$",
  16855. "typeString": "tuple()"
  16856. }
  16857. },
  16858. "id": 8504,
  16859. "nodeType": "ExpressionStatement",
  16860. "src": "11378:84:50"
  16861. }
  16862. ]
  16863. },
  16864. "implemented": true,
  16865. "kind": "function",
  16866. "modifiers": [],
  16867. "name": "log",
  16868. "nameLocation": "11314:3:50",
  16869. "parameters": {
  16870. "id": 8493,
  16871. "nodeType": "ParameterList",
  16872. "parameters": [
  16873. {
  16874. "constant": false,
  16875. "id": 8488,
  16876. "mutability": "mutable",
  16877. "name": "p0",
  16878. "nameLocation": "11326:2:50",
  16879. "nodeType": "VariableDeclaration",
  16880. "scope": 8506,
  16881. "src": "11318:10:50",
  16882. "stateVariable": false,
  16883. "storageLocation": "default",
  16884. "typeDescriptions": {
  16885. "typeIdentifier": "t_uint256",
  16886. "typeString": "uint256"
  16887. },
  16888. "typeName": {
  16889. "id": 8487,
  16890. "name": "uint256",
  16891. "nodeType": "ElementaryTypeName",
  16892. "src": "11318:7:50",
  16893. "typeDescriptions": {
  16894. "typeIdentifier": "t_uint256",
  16895. "typeString": "uint256"
  16896. }
  16897. },
  16898. "visibility": "internal"
  16899. },
  16900. {
  16901. "constant": false,
  16902. "id": 8490,
  16903. "mutability": "mutable",
  16904. "name": "p1",
  16905. "nameLocation": "11338:2:50",
  16906. "nodeType": "VariableDeclaration",
  16907. "scope": 8506,
  16908. "src": "11330:10:50",
  16909. "stateVariable": false,
  16910. "storageLocation": "default",
  16911. "typeDescriptions": {
  16912. "typeIdentifier": "t_address",
  16913. "typeString": "address"
  16914. },
  16915. "typeName": {
  16916. "id": 8489,
  16917. "name": "address",
  16918. "nodeType": "ElementaryTypeName",
  16919. "src": "11330:7:50",
  16920. "stateMutability": "nonpayable",
  16921. "typeDescriptions": {
  16922. "typeIdentifier": "t_address",
  16923. "typeString": "address"
  16924. }
  16925. },
  16926. "visibility": "internal"
  16927. },
  16928. {
  16929. "constant": false,
  16930. "id": 8492,
  16931. "mutability": "mutable",
  16932. "name": "p2",
  16933. "nameLocation": "11350:2:50",
  16934. "nodeType": "VariableDeclaration",
  16935. "scope": 8506,
  16936. "src": "11342:10:50",
  16937. "stateVariable": false,
  16938. "storageLocation": "default",
  16939. "typeDescriptions": {
  16940. "typeIdentifier": "t_address",
  16941. "typeString": "address"
  16942. },
  16943. "typeName": {
  16944. "id": 8491,
  16945. "name": "address",
  16946. "nodeType": "ElementaryTypeName",
  16947. "src": "11342:7:50",
  16948. "stateMutability": "nonpayable",
  16949. "typeDescriptions": {
  16950. "typeIdentifier": "t_address",
  16951. "typeString": "address"
  16952. }
  16953. },
  16954. "visibility": "internal"
  16955. }
  16956. ],
  16957. "src": "11317:36:50"
  16958. },
  16959. "returnParameters": {
  16960. "id": 8494,
  16961. "nodeType": "ParameterList",
  16962. "parameters": [],
  16963. "src": "11368:0:50"
  16964. },
  16965. "scope": 15355,
  16966. "stateMutability": "pure",
  16967. "virtual": false,
  16968. "visibility": "internal"
  16969. },
  16970. {
  16971. "id": 8526,
  16972. "nodeType": "FunctionDefinition",
  16973. "src": "11475:169:50",
  16974. "nodes": [],
  16975. "body": {
  16976. "id": 8525,
  16977. "nodeType": "Block",
  16978. "src": "11544:100:50",
  16979. "nodes": [],
  16980. "statements": [
  16981. {
  16982. "expression": {
  16983. "arguments": [
  16984. {
  16985. "arguments": [
  16986. {
  16987. "hexValue": "6c6f6728737472696e672c75696e743235362c75696e7432353629",
  16988. "id": 8518,
  16989. "isConstant": false,
  16990. "isLValue": false,
  16991. "isPure": true,
  16992. "kind": "string",
  16993. "lValueRequested": false,
  16994. "nodeType": "Literal",
  16995. "src": "11594:29:50",
  16996. "typeDescriptions": {
  16997. "typeIdentifier": "t_stringliteral_ca47c4ebe9fba29faff9e6b57fbe69e17216e7526486c463d61c06e8992beece",
  16998. "typeString": "literal_string \"log(string,uint256,uint256)\""
  16999. },
  17000. "value": "log(string,uint256,uint256)"
  17001. },
  17002. {
  17003. "id": 8519,
  17004. "name": "p0",
  17005. "nodeType": "Identifier",
  17006. "overloadedDeclarations": [],
  17007. "referencedDeclaration": 8508,
  17008. "src": "11625:2:50",
  17009. "typeDescriptions": {
  17010. "typeIdentifier": "t_string_memory_ptr",
  17011. "typeString": "string memory"
  17012. }
  17013. },
  17014. {
  17015. "id": 8520,
  17016. "name": "p1",
  17017. "nodeType": "Identifier",
  17018. "overloadedDeclarations": [],
  17019. "referencedDeclaration": 8510,
  17020. "src": "11629:2:50",
  17021. "typeDescriptions": {
  17022. "typeIdentifier": "t_uint256",
  17023. "typeString": "uint256"
  17024. }
  17025. },
  17026. {
  17027. "id": 8521,
  17028. "name": "p2",
  17029. "nodeType": "Identifier",
  17030. "overloadedDeclarations": [],
  17031. "referencedDeclaration": 8512,
  17032. "src": "11633:2:50",
  17033. "typeDescriptions": {
  17034. "typeIdentifier": "t_uint256",
  17035. "typeString": "uint256"
  17036. }
  17037. }
  17038. ],
  17039. "expression": {
  17040. "argumentTypes": [
  17041. {
  17042. "typeIdentifier": "t_stringliteral_ca47c4ebe9fba29faff9e6b57fbe69e17216e7526486c463d61c06e8992beece",
  17043. "typeString": "literal_string \"log(string,uint256,uint256)\""
  17044. },
  17045. {
  17046. "typeIdentifier": "t_string_memory_ptr",
  17047. "typeString": "string memory"
  17048. },
  17049. {
  17050. "typeIdentifier": "t_uint256",
  17051. "typeString": "uint256"
  17052. },
  17053. {
  17054. "typeIdentifier": "t_uint256",
  17055. "typeString": "uint256"
  17056. }
  17057. ],
  17058. "expression": {
  17059. "id": 8516,
  17060. "name": "abi",
  17061. "nodeType": "Identifier",
  17062. "overloadedDeclarations": [],
  17063. "referencedDeclaration": -1,
  17064. "src": "11570:3:50",
  17065. "typeDescriptions": {
  17066. "typeIdentifier": "t_magic_abi",
  17067. "typeString": "abi"
  17068. }
  17069. },
  17070. "id": 8517,
  17071. "isConstant": false,
  17072. "isLValue": false,
  17073. "isPure": true,
  17074. "lValueRequested": false,
  17075. "memberLocation": "11574:19:50",
  17076. "memberName": "encodeWithSignature",
  17077. "nodeType": "MemberAccess",
  17078. "src": "11570:23:50",
  17079. "typeDescriptions": {
  17080. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  17081. "typeString": "function (string memory) pure returns (bytes memory)"
  17082. }
  17083. },
  17084. "id": 8522,
  17085. "isConstant": false,
  17086. "isLValue": false,
  17087. "isPure": false,
  17088. "kind": "functionCall",
  17089. "lValueRequested": false,
  17090. "nameLocations": [],
  17091. "names": [],
  17092. "nodeType": "FunctionCall",
  17093. "src": "11570:66:50",
  17094. "tryCall": false,
  17095. "typeDescriptions": {
  17096. "typeIdentifier": "t_bytes_memory_ptr",
  17097. "typeString": "bytes memory"
  17098. }
  17099. }
  17100. ],
  17101. "expression": {
  17102. "argumentTypes": [
  17103. {
  17104. "typeIdentifier": "t_bytes_memory_ptr",
  17105. "typeString": "bytes memory"
  17106. }
  17107. ],
  17108. "id": 8515,
  17109. "name": "_sendLogPayload",
  17110. "nodeType": "Identifier",
  17111. "overloadedDeclarations": [],
  17112. "referencedDeclaration": 7315,
  17113. "src": "11554:15:50",
  17114. "typeDescriptions": {
  17115. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  17116. "typeString": "function (bytes memory) pure"
  17117. }
  17118. },
  17119. "id": 8523,
  17120. "isConstant": false,
  17121. "isLValue": false,
  17122. "isPure": false,
  17123. "kind": "functionCall",
  17124. "lValueRequested": false,
  17125. "nameLocations": [],
  17126. "names": [],
  17127. "nodeType": "FunctionCall",
  17128. "src": "11554:83:50",
  17129. "tryCall": false,
  17130. "typeDescriptions": {
  17131. "typeIdentifier": "t_tuple$__$",
  17132. "typeString": "tuple()"
  17133. }
  17134. },
  17135. "id": 8524,
  17136. "nodeType": "ExpressionStatement",
  17137. "src": "11554:83:50"
  17138. }
  17139. ]
  17140. },
  17141. "implemented": true,
  17142. "kind": "function",
  17143. "modifiers": [],
  17144. "name": "log",
  17145. "nameLocation": "11484:3:50",
  17146. "parameters": {
  17147. "id": 8513,
  17148. "nodeType": "ParameterList",
  17149. "parameters": [
  17150. {
  17151. "constant": false,
  17152. "id": 8508,
  17153. "mutability": "mutable",
  17154. "name": "p0",
  17155. "nameLocation": "11502:2:50",
  17156. "nodeType": "VariableDeclaration",
  17157. "scope": 8526,
  17158. "src": "11488:16:50",
  17159. "stateVariable": false,
  17160. "storageLocation": "memory",
  17161. "typeDescriptions": {
  17162. "typeIdentifier": "t_string_memory_ptr",
  17163. "typeString": "string"
  17164. },
  17165. "typeName": {
  17166. "id": 8507,
  17167. "name": "string",
  17168. "nodeType": "ElementaryTypeName",
  17169. "src": "11488:6:50",
  17170. "typeDescriptions": {
  17171. "typeIdentifier": "t_string_storage_ptr",
  17172. "typeString": "string"
  17173. }
  17174. },
  17175. "visibility": "internal"
  17176. },
  17177. {
  17178. "constant": false,
  17179. "id": 8510,
  17180. "mutability": "mutable",
  17181. "name": "p1",
  17182. "nameLocation": "11514:2:50",
  17183. "nodeType": "VariableDeclaration",
  17184. "scope": 8526,
  17185. "src": "11506:10:50",
  17186. "stateVariable": false,
  17187. "storageLocation": "default",
  17188. "typeDescriptions": {
  17189. "typeIdentifier": "t_uint256",
  17190. "typeString": "uint256"
  17191. },
  17192. "typeName": {
  17193. "id": 8509,
  17194. "name": "uint256",
  17195. "nodeType": "ElementaryTypeName",
  17196. "src": "11506:7:50",
  17197. "typeDescriptions": {
  17198. "typeIdentifier": "t_uint256",
  17199. "typeString": "uint256"
  17200. }
  17201. },
  17202. "visibility": "internal"
  17203. },
  17204. {
  17205. "constant": false,
  17206. "id": 8512,
  17207. "mutability": "mutable",
  17208. "name": "p2",
  17209. "nameLocation": "11526:2:50",
  17210. "nodeType": "VariableDeclaration",
  17211. "scope": 8526,
  17212. "src": "11518:10:50",
  17213. "stateVariable": false,
  17214. "storageLocation": "default",
  17215. "typeDescriptions": {
  17216. "typeIdentifier": "t_uint256",
  17217. "typeString": "uint256"
  17218. },
  17219. "typeName": {
  17220. "id": 8511,
  17221. "name": "uint256",
  17222. "nodeType": "ElementaryTypeName",
  17223. "src": "11518:7:50",
  17224. "typeDescriptions": {
  17225. "typeIdentifier": "t_uint256",
  17226. "typeString": "uint256"
  17227. }
  17228. },
  17229. "visibility": "internal"
  17230. }
  17231. ],
  17232. "src": "11487:42:50"
  17233. },
  17234. "returnParameters": {
  17235. "id": 8514,
  17236. "nodeType": "ParameterList",
  17237. "parameters": [],
  17238. "src": "11544:0:50"
  17239. },
  17240. "scope": 15355,
  17241. "stateMutability": "pure",
  17242. "virtual": false,
  17243. "visibility": "internal"
  17244. },
  17245. {
  17246. "id": 8546,
  17247. "nodeType": "FunctionDefinition",
  17248. "src": "11650:174:50",
  17249. "nodes": [],
  17250. "body": {
  17251. "id": 8545,
  17252. "nodeType": "Block",
  17253. "src": "11725:99:50",
  17254. "nodes": [],
  17255. "statements": [
  17256. {
  17257. "expression": {
  17258. "arguments": [
  17259. {
  17260. "arguments": [
  17261. {
  17262. "hexValue": "6c6f6728737472696e672c75696e743235362c737472696e6729",
  17263. "id": 8538,
  17264. "isConstant": false,
  17265. "isLValue": false,
  17266. "isPure": true,
  17267. "kind": "string",
  17268. "lValueRequested": false,
  17269. "nodeType": "Literal",
  17270. "src": "11775:28:50",
  17271. "typeDescriptions": {
  17272. "typeIdentifier": "t_stringliteral_5970e089c65c5d431d60f26e6cf1ec3984c873a96b59f1aed9fc44cdf9078bcf",
  17273. "typeString": "literal_string \"log(string,uint256,string)\""
  17274. },
  17275. "value": "log(string,uint256,string)"
  17276. },
  17277. {
  17278. "id": 8539,
  17279. "name": "p0",
  17280. "nodeType": "Identifier",
  17281. "overloadedDeclarations": [],
  17282. "referencedDeclaration": 8528,
  17283. "src": "11805:2:50",
  17284. "typeDescriptions": {
  17285. "typeIdentifier": "t_string_memory_ptr",
  17286. "typeString": "string memory"
  17287. }
  17288. },
  17289. {
  17290. "id": 8540,
  17291. "name": "p1",
  17292. "nodeType": "Identifier",
  17293. "overloadedDeclarations": [],
  17294. "referencedDeclaration": 8530,
  17295. "src": "11809:2:50",
  17296. "typeDescriptions": {
  17297. "typeIdentifier": "t_uint256",
  17298. "typeString": "uint256"
  17299. }
  17300. },
  17301. {
  17302. "id": 8541,
  17303. "name": "p2",
  17304. "nodeType": "Identifier",
  17305. "overloadedDeclarations": [],
  17306. "referencedDeclaration": 8532,
  17307. "src": "11813:2:50",
  17308. "typeDescriptions": {
  17309. "typeIdentifier": "t_string_memory_ptr",
  17310. "typeString": "string memory"
  17311. }
  17312. }
  17313. ],
  17314. "expression": {
  17315. "argumentTypes": [
  17316. {
  17317. "typeIdentifier": "t_stringliteral_5970e089c65c5d431d60f26e6cf1ec3984c873a96b59f1aed9fc44cdf9078bcf",
  17318. "typeString": "literal_string \"log(string,uint256,string)\""
  17319. },
  17320. {
  17321. "typeIdentifier": "t_string_memory_ptr",
  17322. "typeString": "string memory"
  17323. },
  17324. {
  17325. "typeIdentifier": "t_uint256",
  17326. "typeString": "uint256"
  17327. },
  17328. {
  17329. "typeIdentifier": "t_string_memory_ptr",
  17330. "typeString": "string memory"
  17331. }
  17332. ],
  17333. "expression": {
  17334. "id": 8536,
  17335. "name": "abi",
  17336. "nodeType": "Identifier",
  17337. "overloadedDeclarations": [],
  17338. "referencedDeclaration": -1,
  17339. "src": "11751:3:50",
  17340. "typeDescriptions": {
  17341. "typeIdentifier": "t_magic_abi",
  17342. "typeString": "abi"
  17343. }
  17344. },
  17345. "id": 8537,
  17346. "isConstant": false,
  17347. "isLValue": false,
  17348. "isPure": true,
  17349. "lValueRequested": false,
  17350. "memberLocation": "11755:19:50",
  17351. "memberName": "encodeWithSignature",
  17352. "nodeType": "MemberAccess",
  17353. "src": "11751:23:50",
  17354. "typeDescriptions": {
  17355. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  17356. "typeString": "function (string memory) pure returns (bytes memory)"
  17357. }
  17358. },
  17359. "id": 8542,
  17360. "isConstant": false,
  17361. "isLValue": false,
  17362. "isPure": false,
  17363. "kind": "functionCall",
  17364. "lValueRequested": false,
  17365. "nameLocations": [],
  17366. "names": [],
  17367. "nodeType": "FunctionCall",
  17368. "src": "11751:65:50",
  17369. "tryCall": false,
  17370. "typeDescriptions": {
  17371. "typeIdentifier": "t_bytes_memory_ptr",
  17372. "typeString": "bytes memory"
  17373. }
  17374. }
  17375. ],
  17376. "expression": {
  17377. "argumentTypes": [
  17378. {
  17379. "typeIdentifier": "t_bytes_memory_ptr",
  17380. "typeString": "bytes memory"
  17381. }
  17382. ],
  17383. "id": 8535,
  17384. "name": "_sendLogPayload",
  17385. "nodeType": "Identifier",
  17386. "overloadedDeclarations": [],
  17387. "referencedDeclaration": 7315,
  17388. "src": "11735:15:50",
  17389. "typeDescriptions": {
  17390. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  17391. "typeString": "function (bytes memory) pure"
  17392. }
  17393. },
  17394. "id": 8543,
  17395. "isConstant": false,
  17396. "isLValue": false,
  17397. "isPure": false,
  17398. "kind": "functionCall",
  17399. "lValueRequested": false,
  17400. "nameLocations": [],
  17401. "names": [],
  17402. "nodeType": "FunctionCall",
  17403. "src": "11735:82:50",
  17404. "tryCall": false,
  17405. "typeDescriptions": {
  17406. "typeIdentifier": "t_tuple$__$",
  17407. "typeString": "tuple()"
  17408. }
  17409. },
  17410. "id": 8544,
  17411. "nodeType": "ExpressionStatement",
  17412. "src": "11735:82:50"
  17413. }
  17414. ]
  17415. },
  17416. "implemented": true,
  17417. "kind": "function",
  17418. "modifiers": [],
  17419. "name": "log",
  17420. "nameLocation": "11659:3:50",
  17421. "parameters": {
  17422. "id": 8533,
  17423. "nodeType": "ParameterList",
  17424. "parameters": [
  17425. {
  17426. "constant": false,
  17427. "id": 8528,
  17428. "mutability": "mutable",
  17429. "name": "p0",
  17430. "nameLocation": "11677:2:50",
  17431. "nodeType": "VariableDeclaration",
  17432. "scope": 8546,
  17433. "src": "11663:16:50",
  17434. "stateVariable": false,
  17435. "storageLocation": "memory",
  17436. "typeDescriptions": {
  17437. "typeIdentifier": "t_string_memory_ptr",
  17438. "typeString": "string"
  17439. },
  17440. "typeName": {
  17441. "id": 8527,
  17442. "name": "string",
  17443. "nodeType": "ElementaryTypeName",
  17444. "src": "11663:6:50",
  17445. "typeDescriptions": {
  17446. "typeIdentifier": "t_string_storage_ptr",
  17447. "typeString": "string"
  17448. }
  17449. },
  17450. "visibility": "internal"
  17451. },
  17452. {
  17453. "constant": false,
  17454. "id": 8530,
  17455. "mutability": "mutable",
  17456. "name": "p1",
  17457. "nameLocation": "11689:2:50",
  17458. "nodeType": "VariableDeclaration",
  17459. "scope": 8546,
  17460. "src": "11681:10:50",
  17461. "stateVariable": false,
  17462. "storageLocation": "default",
  17463. "typeDescriptions": {
  17464. "typeIdentifier": "t_uint256",
  17465. "typeString": "uint256"
  17466. },
  17467. "typeName": {
  17468. "id": 8529,
  17469. "name": "uint256",
  17470. "nodeType": "ElementaryTypeName",
  17471. "src": "11681:7:50",
  17472. "typeDescriptions": {
  17473. "typeIdentifier": "t_uint256",
  17474. "typeString": "uint256"
  17475. }
  17476. },
  17477. "visibility": "internal"
  17478. },
  17479. {
  17480. "constant": false,
  17481. "id": 8532,
  17482. "mutability": "mutable",
  17483. "name": "p2",
  17484. "nameLocation": "11707:2:50",
  17485. "nodeType": "VariableDeclaration",
  17486. "scope": 8546,
  17487. "src": "11693:16:50",
  17488. "stateVariable": false,
  17489. "storageLocation": "memory",
  17490. "typeDescriptions": {
  17491. "typeIdentifier": "t_string_memory_ptr",
  17492. "typeString": "string"
  17493. },
  17494. "typeName": {
  17495. "id": 8531,
  17496. "name": "string",
  17497. "nodeType": "ElementaryTypeName",
  17498. "src": "11693:6:50",
  17499. "typeDescriptions": {
  17500. "typeIdentifier": "t_string_storage_ptr",
  17501. "typeString": "string"
  17502. }
  17503. },
  17504. "visibility": "internal"
  17505. }
  17506. ],
  17507. "src": "11662:48:50"
  17508. },
  17509. "returnParameters": {
  17510. "id": 8534,
  17511. "nodeType": "ParameterList",
  17512. "parameters": [],
  17513. "src": "11725:0:50"
  17514. },
  17515. "scope": 15355,
  17516. "stateMutability": "pure",
  17517. "virtual": false,
  17518. "visibility": "internal"
  17519. },
  17520. {
  17521. "id": 8566,
  17522. "nodeType": "FunctionDefinition",
  17523. "src": "11830:163:50",
  17524. "nodes": [],
  17525. "body": {
  17526. "id": 8565,
  17527. "nodeType": "Block",
  17528. "src": "11896:97:50",
  17529. "nodes": [],
  17530. "statements": [
  17531. {
  17532. "expression": {
  17533. "arguments": [
  17534. {
  17535. "arguments": [
  17536. {
  17537. "hexValue": "6c6f6728737472696e672c75696e743235362c626f6f6c29",
  17538. "id": 8558,
  17539. "isConstant": false,
  17540. "isLValue": false,
  17541. "isPure": true,
  17542. "kind": "string",
  17543. "lValueRequested": false,
  17544. "nodeType": "Literal",
  17545. "src": "11946:26:50",
  17546. "typeDescriptions": {
  17547. "typeIdentifier": "t_stringliteral_ca7733b1b473f13a94152fab2b969755f42d925703a46c93a1825aad614f145e",
  17548. "typeString": "literal_string \"log(string,uint256,bool)\""
  17549. },
  17550. "value": "log(string,uint256,bool)"
  17551. },
  17552. {
  17553. "id": 8559,
  17554. "name": "p0",
  17555. "nodeType": "Identifier",
  17556. "overloadedDeclarations": [],
  17557. "referencedDeclaration": 8548,
  17558. "src": "11974:2:50",
  17559. "typeDescriptions": {
  17560. "typeIdentifier": "t_string_memory_ptr",
  17561. "typeString": "string memory"
  17562. }
  17563. },
  17564. {
  17565. "id": 8560,
  17566. "name": "p1",
  17567. "nodeType": "Identifier",
  17568. "overloadedDeclarations": [],
  17569. "referencedDeclaration": 8550,
  17570. "src": "11978:2:50",
  17571. "typeDescriptions": {
  17572. "typeIdentifier": "t_uint256",
  17573. "typeString": "uint256"
  17574. }
  17575. },
  17576. {
  17577. "id": 8561,
  17578. "name": "p2",
  17579. "nodeType": "Identifier",
  17580. "overloadedDeclarations": [],
  17581. "referencedDeclaration": 8552,
  17582. "src": "11982:2:50",
  17583. "typeDescriptions": {
  17584. "typeIdentifier": "t_bool",
  17585. "typeString": "bool"
  17586. }
  17587. }
  17588. ],
  17589. "expression": {
  17590. "argumentTypes": [
  17591. {
  17592. "typeIdentifier": "t_stringliteral_ca7733b1b473f13a94152fab2b969755f42d925703a46c93a1825aad614f145e",
  17593. "typeString": "literal_string \"log(string,uint256,bool)\""
  17594. },
  17595. {
  17596. "typeIdentifier": "t_string_memory_ptr",
  17597. "typeString": "string memory"
  17598. },
  17599. {
  17600. "typeIdentifier": "t_uint256",
  17601. "typeString": "uint256"
  17602. },
  17603. {
  17604. "typeIdentifier": "t_bool",
  17605. "typeString": "bool"
  17606. }
  17607. ],
  17608. "expression": {
  17609. "id": 8556,
  17610. "name": "abi",
  17611. "nodeType": "Identifier",
  17612. "overloadedDeclarations": [],
  17613. "referencedDeclaration": -1,
  17614. "src": "11922:3:50",
  17615. "typeDescriptions": {
  17616. "typeIdentifier": "t_magic_abi",
  17617. "typeString": "abi"
  17618. }
  17619. },
  17620. "id": 8557,
  17621. "isConstant": false,
  17622. "isLValue": false,
  17623. "isPure": true,
  17624. "lValueRequested": false,
  17625. "memberLocation": "11926:19:50",
  17626. "memberName": "encodeWithSignature",
  17627. "nodeType": "MemberAccess",
  17628. "src": "11922:23:50",
  17629. "typeDescriptions": {
  17630. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  17631. "typeString": "function (string memory) pure returns (bytes memory)"
  17632. }
  17633. },
  17634. "id": 8562,
  17635. "isConstant": false,
  17636. "isLValue": false,
  17637. "isPure": false,
  17638. "kind": "functionCall",
  17639. "lValueRequested": false,
  17640. "nameLocations": [],
  17641. "names": [],
  17642. "nodeType": "FunctionCall",
  17643. "src": "11922:63:50",
  17644. "tryCall": false,
  17645. "typeDescriptions": {
  17646. "typeIdentifier": "t_bytes_memory_ptr",
  17647. "typeString": "bytes memory"
  17648. }
  17649. }
  17650. ],
  17651. "expression": {
  17652. "argumentTypes": [
  17653. {
  17654. "typeIdentifier": "t_bytes_memory_ptr",
  17655. "typeString": "bytes memory"
  17656. }
  17657. ],
  17658. "id": 8555,
  17659. "name": "_sendLogPayload",
  17660. "nodeType": "Identifier",
  17661. "overloadedDeclarations": [],
  17662. "referencedDeclaration": 7315,
  17663. "src": "11906:15:50",
  17664. "typeDescriptions": {
  17665. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  17666. "typeString": "function (bytes memory) pure"
  17667. }
  17668. },
  17669. "id": 8563,
  17670. "isConstant": false,
  17671. "isLValue": false,
  17672. "isPure": false,
  17673. "kind": "functionCall",
  17674. "lValueRequested": false,
  17675. "nameLocations": [],
  17676. "names": [],
  17677. "nodeType": "FunctionCall",
  17678. "src": "11906:80:50",
  17679. "tryCall": false,
  17680. "typeDescriptions": {
  17681. "typeIdentifier": "t_tuple$__$",
  17682. "typeString": "tuple()"
  17683. }
  17684. },
  17685. "id": 8564,
  17686. "nodeType": "ExpressionStatement",
  17687. "src": "11906:80:50"
  17688. }
  17689. ]
  17690. },
  17691. "implemented": true,
  17692. "kind": "function",
  17693. "modifiers": [],
  17694. "name": "log",
  17695. "nameLocation": "11839:3:50",
  17696. "parameters": {
  17697. "id": 8553,
  17698. "nodeType": "ParameterList",
  17699. "parameters": [
  17700. {
  17701. "constant": false,
  17702. "id": 8548,
  17703. "mutability": "mutable",
  17704. "name": "p0",
  17705. "nameLocation": "11857:2:50",
  17706. "nodeType": "VariableDeclaration",
  17707. "scope": 8566,
  17708. "src": "11843:16:50",
  17709. "stateVariable": false,
  17710. "storageLocation": "memory",
  17711. "typeDescriptions": {
  17712. "typeIdentifier": "t_string_memory_ptr",
  17713. "typeString": "string"
  17714. },
  17715. "typeName": {
  17716. "id": 8547,
  17717. "name": "string",
  17718. "nodeType": "ElementaryTypeName",
  17719. "src": "11843:6:50",
  17720. "typeDescriptions": {
  17721. "typeIdentifier": "t_string_storage_ptr",
  17722. "typeString": "string"
  17723. }
  17724. },
  17725. "visibility": "internal"
  17726. },
  17727. {
  17728. "constant": false,
  17729. "id": 8550,
  17730. "mutability": "mutable",
  17731. "name": "p1",
  17732. "nameLocation": "11869:2:50",
  17733. "nodeType": "VariableDeclaration",
  17734. "scope": 8566,
  17735. "src": "11861:10:50",
  17736. "stateVariable": false,
  17737. "storageLocation": "default",
  17738. "typeDescriptions": {
  17739. "typeIdentifier": "t_uint256",
  17740. "typeString": "uint256"
  17741. },
  17742. "typeName": {
  17743. "id": 8549,
  17744. "name": "uint256",
  17745. "nodeType": "ElementaryTypeName",
  17746. "src": "11861:7:50",
  17747. "typeDescriptions": {
  17748. "typeIdentifier": "t_uint256",
  17749. "typeString": "uint256"
  17750. }
  17751. },
  17752. "visibility": "internal"
  17753. },
  17754. {
  17755. "constant": false,
  17756. "id": 8552,
  17757. "mutability": "mutable",
  17758. "name": "p2",
  17759. "nameLocation": "11878:2:50",
  17760. "nodeType": "VariableDeclaration",
  17761. "scope": 8566,
  17762. "src": "11873:7:50",
  17763. "stateVariable": false,
  17764. "storageLocation": "default",
  17765. "typeDescriptions": {
  17766. "typeIdentifier": "t_bool",
  17767. "typeString": "bool"
  17768. },
  17769. "typeName": {
  17770. "id": 8551,
  17771. "name": "bool",
  17772. "nodeType": "ElementaryTypeName",
  17773. "src": "11873:4:50",
  17774. "typeDescriptions": {
  17775. "typeIdentifier": "t_bool",
  17776. "typeString": "bool"
  17777. }
  17778. },
  17779. "visibility": "internal"
  17780. }
  17781. ],
  17782. "src": "11842:39:50"
  17783. },
  17784. "returnParameters": {
  17785. "id": 8554,
  17786. "nodeType": "ParameterList",
  17787. "parameters": [],
  17788. "src": "11896:0:50"
  17789. },
  17790. "scope": 15355,
  17791. "stateMutability": "pure",
  17792. "virtual": false,
  17793. "visibility": "internal"
  17794. },
  17795. {
  17796. "id": 8586,
  17797. "nodeType": "FunctionDefinition",
  17798. "src": "11999:169:50",
  17799. "nodes": [],
  17800. "body": {
  17801. "id": 8585,
  17802. "nodeType": "Block",
  17803. "src": "12068:100:50",
  17804. "nodes": [],
  17805. "statements": [
  17806. {
  17807. "expression": {
  17808. "arguments": [
  17809. {
  17810. "arguments": [
  17811. {
  17812. "hexValue": "6c6f6728737472696e672c75696e743235362c6164647265737329",
  17813. "id": 8578,
  17814. "isConstant": false,
  17815. "isLValue": false,
  17816. "isPure": true,
  17817. "kind": "string",
  17818. "lValueRequested": false,
  17819. "nodeType": "Literal",
  17820. "src": "12118:29:50",
  17821. "typeDescriptions": {
  17822. "typeIdentifier": "t_stringliteral_1c7ec4485ea8bf18e646e5381f7318f45423199ed371307bc9171a4242f27335",
  17823. "typeString": "literal_string \"log(string,uint256,address)\""
  17824. },
  17825. "value": "log(string,uint256,address)"
  17826. },
  17827. {
  17828. "id": 8579,
  17829. "name": "p0",
  17830. "nodeType": "Identifier",
  17831. "overloadedDeclarations": [],
  17832. "referencedDeclaration": 8568,
  17833. "src": "12149:2:50",
  17834. "typeDescriptions": {
  17835. "typeIdentifier": "t_string_memory_ptr",
  17836. "typeString": "string memory"
  17837. }
  17838. },
  17839. {
  17840. "id": 8580,
  17841. "name": "p1",
  17842. "nodeType": "Identifier",
  17843. "overloadedDeclarations": [],
  17844. "referencedDeclaration": 8570,
  17845. "src": "12153:2:50",
  17846. "typeDescriptions": {
  17847. "typeIdentifier": "t_uint256",
  17848. "typeString": "uint256"
  17849. }
  17850. },
  17851. {
  17852. "id": 8581,
  17853. "name": "p2",
  17854. "nodeType": "Identifier",
  17855. "overloadedDeclarations": [],
  17856. "referencedDeclaration": 8572,
  17857. "src": "12157:2:50",
  17858. "typeDescriptions": {
  17859. "typeIdentifier": "t_address",
  17860. "typeString": "address"
  17861. }
  17862. }
  17863. ],
  17864. "expression": {
  17865. "argumentTypes": [
  17866. {
  17867. "typeIdentifier": "t_stringliteral_1c7ec4485ea8bf18e646e5381f7318f45423199ed371307bc9171a4242f27335",
  17868. "typeString": "literal_string \"log(string,uint256,address)\""
  17869. },
  17870. {
  17871. "typeIdentifier": "t_string_memory_ptr",
  17872. "typeString": "string memory"
  17873. },
  17874. {
  17875. "typeIdentifier": "t_uint256",
  17876. "typeString": "uint256"
  17877. },
  17878. {
  17879. "typeIdentifier": "t_address",
  17880. "typeString": "address"
  17881. }
  17882. ],
  17883. "expression": {
  17884. "id": 8576,
  17885. "name": "abi",
  17886. "nodeType": "Identifier",
  17887. "overloadedDeclarations": [],
  17888. "referencedDeclaration": -1,
  17889. "src": "12094:3:50",
  17890. "typeDescriptions": {
  17891. "typeIdentifier": "t_magic_abi",
  17892. "typeString": "abi"
  17893. }
  17894. },
  17895. "id": 8577,
  17896. "isConstant": false,
  17897. "isLValue": false,
  17898. "isPure": true,
  17899. "lValueRequested": false,
  17900. "memberLocation": "12098:19:50",
  17901. "memberName": "encodeWithSignature",
  17902. "nodeType": "MemberAccess",
  17903. "src": "12094:23:50",
  17904. "typeDescriptions": {
  17905. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  17906. "typeString": "function (string memory) pure returns (bytes memory)"
  17907. }
  17908. },
  17909. "id": 8582,
  17910. "isConstant": false,
  17911. "isLValue": false,
  17912. "isPure": false,
  17913. "kind": "functionCall",
  17914. "lValueRequested": false,
  17915. "nameLocations": [],
  17916. "names": [],
  17917. "nodeType": "FunctionCall",
  17918. "src": "12094:66:50",
  17919. "tryCall": false,
  17920. "typeDescriptions": {
  17921. "typeIdentifier": "t_bytes_memory_ptr",
  17922. "typeString": "bytes memory"
  17923. }
  17924. }
  17925. ],
  17926. "expression": {
  17927. "argumentTypes": [
  17928. {
  17929. "typeIdentifier": "t_bytes_memory_ptr",
  17930. "typeString": "bytes memory"
  17931. }
  17932. ],
  17933. "id": 8575,
  17934. "name": "_sendLogPayload",
  17935. "nodeType": "Identifier",
  17936. "overloadedDeclarations": [],
  17937. "referencedDeclaration": 7315,
  17938. "src": "12078:15:50",
  17939. "typeDescriptions": {
  17940. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  17941. "typeString": "function (bytes memory) pure"
  17942. }
  17943. },
  17944. "id": 8583,
  17945. "isConstant": false,
  17946. "isLValue": false,
  17947. "isPure": false,
  17948. "kind": "functionCall",
  17949. "lValueRequested": false,
  17950. "nameLocations": [],
  17951. "names": [],
  17952. "nodeType": "FunctionCall",
  17953. "src": "12078:83:50",
  17954. "tryCall": false,
  17955. "typeDescriptions": {
  17956. "typeIdentifier": "t_tuple$__$",
  17957. "typeString": "tuple()"
  17958. }
  17959. },
  17960. "id": 8584,
  17961. "nodeType": "ExpressionStatement",
  17962. "src": "12078:83:50"
  17963. }
  17964. ]
  17965. },
  17966. "implemented": true,
  17967. "kind": "function",
  17968. "modifiers": [],
  17969. "name": "log",
  17970. "nameLocation": "12008:3:50",
  17971. "parameters": {
  17972. "id": 8573,
  17973. "nodeType": "ParameterList",
  17974. "parameters": [
  17975. {
  17976. "constant": false,
  17977. "id": 8568,
  17978. "mutability": "mutable",
  17979. "name": "p0",
  17980. "nameLocation": "12026:2:50",
  17981. "nodeType": "VariableDeclaration",
  17982. "scope": 8586,
  17983. "src": "12012:16:50",
  17984. "stateVariable": false,
  17985. "storageLocation": "memory",
  17986. "typeDescriptions": {
  17987. "typeIdentifier": "t_string_memory_ptr",
  17988. "typeString": "string"
  17989. },
  17990. "typeName": {
  17991. "id": 8567,
  17992. "name": "string",
  17993. "nodeType": "ElementaryTypeName",
  17994. "src": "12012:6:50",
  17995. "typeDescriptions": {
  17996. "typeIdentifier": "t_string_storage_ptr",
  17997. "typeString": "string"
  17998. }
  17999. },
  18000. "visibility": "internal"
  18001. },
  18002. {
  18003. "constant": false,
  18004. "id": 8570,
  18005. "mutability": "mutable",
  18006. "name": "p1",
  18007. "nameLocation": "12038:2:50",
  18008. "nodeType": "VariableDeclaration",
  18009. "scope": 8586,
  18010. "src": "12030:10:50",
  18011. "stateVariable": false,
  18012. "storageLocation": "default",
  18013. "typeDescriptions": {
  18014. "typeIdentifier": "t_uint256",
  18015. "typeString": "uint256"
  18016. },
  18017. "typeName": {
  18018. "id": 8569,
  18019. "name": "uint256",
  18020. "nodeType": "ElementaryTypeName",
  18021. "src": "12030:7:50",
  18022. "typeDescriptions": {
  18023. "typeIdentifier": "t_uint256",
  18024. "typeString": "uint256"
  18025. }
  18026. },
  18027. "visibility": "internal"
  18028. },
  18029. {
  18030. "constant": false,
  18031. "id": 8572,
  18032. "mutability": "mutable",
  18033. "name": "p2",
  18034. "nameLocation": "12050:2:50",
  18035. "nodeType": "VariableDeclaration",
  18036. "scope": 8586,
  18037. "src": "12042:10:50",
  18038. "stateVariable": false,
  18039. "storageLocation": "default",
  18040. "typeDescriptions": {
  18041. "typeIdentifier": "t_address",
  18042. "typeString": "address"
  18043. },
  18044. "typeName": {
  18045. "id": 8571,
  18046. "name": "address",
  18047. "nodeType": "ElementaryTypeName",
  18048. "src": "12042:7:50",
  18049. "stateMutability": "nonpayable",
  18050. "typeDescriptions": {
  18051. "typeIdentifier": "t_address",
  18052. "typeString": "address"
  18053. }
  18054. },
  18055. "visibility": "internal"
  18056. }
  18057. ],
  18058. "src": "12011:42:50"
  18059. },
  18060. "returnParameters": {
  18061. "id": 8574,
  18062. "nodeType": "ParameterList",
  18063. "parameters": [],
  18064. "src": "12068:0:50"
  18065. },
  18066. "scope": 15355,
  18067. "stateMutability": "pure",
  18068. "virtual": false,
  18069. "visibility": "internal"
  18070. },
  18071. {
  18072. "id": 8606,
  18073. "nodeType": "FunctionDefinition",
  18074. "src": "12174:174:50",
  18075. "nodes": [],
  18076. "body": {
  18077. "id": 8605,
  18078. "nodeType": "Block",
  18079. "src": "12249:99:50",
  18080. "nodes": [],
  18081. "statements": [
  18082. {
  18083. "expression": {
  18084. "arguments": [
  18085. {
  18086. "arguments": [
  18087. {
  18088. "hexValue": "6c6f6728737472696e672c737472696e672c75696e7432353629",
  18089. "id": 8598,
  18090. "isConstant": false,
  18091. "isLValue": false,
  18092. "isPure": true,
  18093. "kind": "string",
  18094. "lValueRequested": false,
  18095. "nodeType": "Literal",
  18096. "src": "12299:28:50",
  18097. "typeDescriptions": {
  18098. "typeIdentifier": "t_stringliteral_5821efa12787fd2b80909e807f1dcc73717b87128d89e827e5b876178f2fdbd0",
  18099. "typeString": "literal_string \"log(string,string,uint256)\""
  18100. },
  18101. "value": "log(string,string,uint256)"
  18102. },
  18103. {
  18104. "id": 8599,
  18105. "name": "p0",
  18106. "nodeType": "Identifier",
  18107. "overloadedDeclarations": [],
  18108. "referencedDeclaration": 8588,
  18109. "src": "12329:2:50",
  18110. "typeDescriptions": {
  18111. "typeIdentifier": "t_string_memory_ptr",
  18112. "typeString": "string memory"
  18113. }
  18114. },
  18115. {
  18116. "id": 8600,
  18117. "name": "p1",
  18118. "nodeType": "Identifier",
  18119. "overloadedDeclarations": [],
  18120. "referencedDeclaration": 8590,
  18121. "src": "12333:2:50",
  18122. "typeDescriptions": {
  18123. "typeIdentifier": "t_string_memory_ptr",
  18124. "typeString": "string memory"
  18125. }
  18126. },
  18127. {
  18128. "id": 8601,
  18129. "name": "p2",
  18130. "nodeType": "Identifier",
  18131. "overloadedDeclarations": [],
  18132. "referencedDeclaration": 8592,
  18133. "src": "12337:2:50",
  18134. "typeDescriptions": {
  18135. "typeIdentifier": "t_uint256",
  18136. "typeString": "uint256"
  18137. }
  18138. }
  18139. ],
  18140. "expression": {
  18141. "argumentTypes": [
  18142. {
  18143. "typeIdentifier": "t_stringliteral_5821efa12787fd2b80909e807f1dcc73717b87128d89e827e5b876178f2fdbd0",
  18144. "typeString": "literal_string \"log(string,string,uint256)\""
  18145. },
  18146. {
  18147. "typeIdentifier": "t_string_memory_ptr",
  18148. "typeString": "string memory"
  18149. },
  18150. {
  18151. "typeIdentifier": "t_string_memory_ptr",
  18152. "typeString": "string memory"
  18153. },
  18154. {
  18155. "typeIdentifier": "t_uint256",
  18156. "typeString": "uint256"
  18157. }
  18158. ],
  18159. "expression": {
  18160. "id": 8596,
  18161. "name": "abi",
  18162. "nodeType": "Identifier",
  18163. "overloadedDeclarations": [],
  18164. "referencedDeclaration": -1,
  18165. "src": "12275:3:50",
  18166. "typeDescriptions": {
  18167. "typeIdentifier": "t_magic_abi",
  18168. "typeString": "abi"
  18169. }
  18170. },
  18171. "id": 8597,
  18172. "isConstant": false,
  18173. "isLValue": false,
  18174. "isPure": true,
  18175. "lValueRequested": false,
  18176. "memberLocation": "12279:19:50",
  18177. "memberName": "encodeWithSignature",
  18178. "nodeType": "MemberAccess",
  18179. "src": "12275:23:50",
  18180. "typeDescriptions": {
  18181. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  18182. "typeString": "function (string memory) pure returns (bytes memory)"
  18183. }
  18184. },
  18185. "id": 8602,
  18186. "isConstant": false,
  18187. "isLValue": false,
  18188. "isPure": false,
  18189. "kind": "functionCall",
  18190. "lValueRequested": false,
  18191. "nameLocations": [],
  18192. "names": [],
  18193. "nodeType": "FunctionCall",
  18194. "src": "12275:65:50",
  18195. "tryCall": false,
  18196. "typeDescriptions": {
  18197. "typeIdentifier": "t_bytes_memory_ptr",
  18198. "typeString": "bytes memory"
  18199. }
  18200. }
  18201. ],
  18202. "expression": {
  18203. "argumentTypes": [
  18204. {
  18205. "typeIdentifier": "t_bytes_memory_ptr",
  18206. "typeString": "bytes memory"
  18207. }
  18208. ],
  18209. "id": 8595,
  18210. "name": "_sendLogPayload",
  18211. "nodeType": "Identifier",
  18212. "overloadedDeclarations": [],
  18213. "referencedDeclaration": 7315,
  18214. "src": "12259:15:50",
  18215. "typeDescriptions": {
  18216. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  18217. "typeString": "function (bytes memory) pure"
  18218. }
  18219. },
  18220. "id": 8603,
  18221. "isConstant": false,
  18222. "isLValue": false,
  18223. "isPure": false,
  18224. "kind": "functionCall",
  18225. "lValueRequested": false,
  18226. "nameLocations": [],
  18227. "names": [],
  18228. "nodeType": "FunctionCall",
  18229. "src": "12259:82:50",
  18230. "tryCall": false,
  18231. "typeDescriptions": {
  18232. "typeIdentifier": "t_tuple$__$",
  18233. "typeString": "tuple()"
  18234. }
  18235. },
  18236. "id": 8604,
  18237. "nodeType": "ExpressionStatement",
  18238. "src": "12259:82:50"
  18239. }
  18240. ]
  18241. },
  18242. "implemented": true,
  18243. "kind": "function",
  18244. "modifiers": [],
  18245. "name": "log",
  18246. "nameLocation": "12183:3:50",
  18247. "parameters": {
  18248. "id": 8593,
  18249. "nodeType": "ParameterList",
  18250. "parameters": [
  18251. {
  18252. "constant": false,
  18253. "id": 8588,
  18254. "mutability": "mutable",
  18255. "name": "p0",
  18256. "nameLocation": "12201:2:50",
  18257. "nodeType": "VariableDeclaration",
  18258. "scope": 8606,
  18259. "src": "12187:16:50",
  18260. "stateVariable": false,
  18261. "storageLocation": "memory",
  18262. "typeDescriptions": {
  18263. "typeIdentifier": "t_string_memory_ptr",
  18264. "typeString": "string"
  18265. },
  18266. "typeName": {
  18267. "id": 8587,
  18268. "name": "string",
  18269. "nodeType": "ElementaryTypeName",
  18270. "src": "12187:6:50",
  18271. "typeDescriptions": {
  18272. "typeIdentifier": "t_string_storage_ptr",
  18273. "typeString": "string"
  18274. }
  18275. },
  18276. "visibility": "internal"
  18277. },
  18278. {
  18279. "constant": false,
  18280. "id": 8590,
  18281. "mutability": "mutable",
  18282. "name": "p1",
  18283. "nameLocation": "12219:2:50",
  18284. "nodeType": "VariableDeclaration",
  18285. "scope": 8606,
  18286. "src": "12205:16:50",
  18287. "stateVariable": false,
  18288. "storageLocation": "memory",
  18289. "typeDescriptions": {
  18290. "typeIdentifier": "t_string_memory_ptr",
  18291. "typeString": "string"
  18292. },
  18293. "typeName": {
  18294. "id": 8589,
  18295. "name": "string",
  18296. "nodeType": "ElementaryTypeName",
  18297. "src": "12205:6:50",
  18298. "typeDescriptions": {
  18299. "typeIdentifier": "t_string_storage_ptr",
  18300. "typeString": "string"
  18301. }
  18302. },
  18303. "visibility": "internal"
  18304. },
  18305. {
  18306. "constant": false,
  18307. "id": 8592,
  18308. "mutability": "mutable",
  18309. "name": "p2",
  18310. "nameLocation": "12231:2:50",
  18311. "nodeType": "VariableDeclaration",
  18312. "scope": 8606,
  18313. "src": "12223:10:50",
  18314. "stateVariable": false,
  18315. "storageLocation": "default",
  18316. "typeDescriptions": {
  18317. "typeIdentifier": "t_uint256",
  18318. "typeString": "uint256"
  18319. },
  18320. "typeName": {
  18321. "id": 8591,
  18322. "name": "uint256",
  18323. "nodeType": "ElementaryTypeName",
  18324. "src": "12223:7:50",
  18325. "typeDescriptions": {
  18326. "typeIdentifier": "t_uint256",
  18327. "typeString": "uint256"
  18328. }
  18329. },
  18330. "visibility": "internal"
  18331. }
  18332. ],
  18333. "src": "12186:48:50"
  18334. },
  18335. "returnParameters": {
  18336. "id": 8594,
  18337. "nodeType": "ParameterList",
  18338. "parameters": [],
  18339. "src": "12249:0:50"
  18340. },
  18341. "scope": 15355,
  18342. "stateMutability": "pure",
  18343. "virtual": false,
  18344. "visibility": "internal"
  18345. },
  18346. {
  18347. "id": 8626,
  18348. "nodeType": "FunctionDefinition",
  18349. "src": "12354:179:50",
  18350. "nodes": [],
  18351. "body": {
  18352. "id": 8625,
  18353. "nodeType": "Block",
  18354. "src": "12435:98:50",
  18355. "nodes": [],
  18356. "statements": [
  18357. {
  18358. "expression": {
  18359. "arguments": [
  18360. {
  18361. "arguments": [
  18362. {
  18363. "hexValue": "6c6f6728737472696e672c737472696e672c737472696e6729",
  18364. "id": 8618,
  18365. "isConstant": false,
  18366. "isLValue": false,
  18367. "isPure": true,
  18368. "kind": "string",
  18369. "lValueRequested": false,
  18370. "nodeType": "Literal",
  18371. "src": "12485:27:50",
  18372. "typeDescriptions": {
  18373. "typeIdentifier": "t_stringliteral_2ced7cef693312206c21f0e92e3b54e2e16bf33db5eec350c78866822c665e1f",
  18374. "typeString": "literal_string \"log(string,string,string)\""
  18375. },
  18376. "value": "log(string,string,string)"
  18377. },
  18378. {
  18379. "id": 8619,
  18380. "name": "p0",
  18381. "nodeType": "Identifier",
  18382. "overloadedDeclarations": [],
  18383. "referencedDeclaration": 8608,
  18384. "src": "12514:2:50",
  18385. "typeDescriptions": {
  18386. "typeIdentifier": "t_string_memory_ptr",
  18387. "typeString": "string memory"
  18388. }
  18389. },
  18390. {
  18391. "id": 8620,
  18392. "name": "p1",
  18393. "nodeType": "Identifier",
  18394. "overloadedDeclarations": [],
  18395. "referencedDeclaration": 8610,
  18396. "src": "12518:2:50",
  18397. "typeDescriptions": {
  18398. "typeIdentifier": "t_string_memory_ptr",
  18399. "typeString": "string memory"
  18400. }
  18401. },
  18402. {
  18403. "id": 8621,
  18404. "name": "p2",
  18405. "nodeType": "Identifier",
  18406. "overloadedDeclarations": [],
  18407. "referencedDeclaration": 8612,
  18408. "src": "12522:2:50",
  18409. "typeDescriptions": {
  18410. "typeIdentifier": "t_string_memory_ptr",
  18411. "typeString": "string memory"
  18412. }
  18413. }
  18414. ],
  18415. "expression": {
  18416. "argumentTypes": [
  18417. {
  18418. "typeIdentifier": "t_stringliteral_2ced7cef693312206c21f0e92e3b54e2e16bf33db5eec350c78866822c665e1f",
  18419. "typeString": "literal_string \"log(string,string,string)\""
  18420. },
  18421. {
  18422. "typeIdentifier": "t_string_memory_ptr",
  18423. "typeString": "string memory"
  18424. },
  18425. {
  18426. "typeIdentifier": "t_string_memory_ptr",
  18427. "typeString": "string memory"
  18428. },
  18429. {
  18430. "typeIdentifier": "t_string_memory_ptr",
  18431. "typeString": "string memory"
  18432. }
  18433. ],
  18434. "expression": {
  18435. "id": 8616,
  18436. "name": "abi",
  18437. "nodeType": "Identifier",
  18438. "overloadedDeclarations": [],
  18439. "referencedDeclaration": -1,
  18440. "src": "12461:3:50",
  18441. "typeDescriptions": {
  18442. "typeIdentifier": "t_magic_abi",
  18443. "typeString": "abi"
  18444. }
  18445. },
  18446. "id": 8617,
  18447. "isConstant": false,
  18448. "isLValue": false,
  18449. "isPure": true,
  18450. "lValueRequested": false,
  18451. "memberLocation": "12465:19:50",
  18452. "memberName": "encodeWithSignature",
  18453. "nodeType": "MemberAccess",
  18454. "src": "12461:23:50",
  18455. "typeDescriptions": {
  18456. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  18457. "typeString": "function (string memory) pure returns (bytes memory)"
  18458. }
  18459. },
  18460. "id": 8622,
  18461. "isConstant": false,
  18462. "isLValue": false,
  18463. "isPure": false,
  18464. "kind": "functionCall",
  18465. "lValueRequested": false,
  18466. "nameLocations": [],
  18467. "names": [],
  18468. "nodeType": "FunctionCall",
  18469. "src": "12461:64:50",
  18470. "tryCall": false,
  18471. "typeDescriptions": {
  18472. "typeIdentifier": "t_bytes_memory_ptr",
  18473. "typeString": "bytes memory"
  18474. }
  18475. }
  18476. ],
  18477. "expression": {
  18478. "argumentTypes": [
  18479. {
  18480. "typeIdentifier": "t_bytes_memory_ptr",
  18481. "typeString": "bytes memory"
  18482. }
  18483. ],
  18484. "id": 8615,
  18485. "name": "_sendLogPayload",
  18486. "nodeType": "Identifier",
  18487. "overloadedDeclarations": [],
  18488. "referencedDeclaration": 7315,
  18489. "src": "12445:15:50",
  18490. "typeDescriptions": {
  18491. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  18492. "typeString": "function (bytes memory) pure"
  18493. }
  18494. },
  18495. "id": 8623,
  18496. "isConstant": false,
  18497. "isLValue": false,
  18498. "isPure": false,
  18499. "kind": "functionCall",
  18500. "lValueRequested": false,
  18501. "nameLocations": [],
  18502. "names": [],
  18503. "nodeType": "FunctionCall",
  18504. "src": "12445:81:50",
  18505. "tryCall": false,
  18506. "typeDescriptions": {
  18507. "typeIdentifier": "t_tuple$__$",
  18508. "typeString": "tuple()"
  18509. }
  18510. },
  18511. "id": 8624,
  18512. "nodeType": "ExpressionStatement",
  18513. "src": "12445:81:50"
  18514. }
  18515. ]
  18516. },
  18517. "implemented": true,
  18518. "kind": "function",
  18519. "modifiers": [],
  18520. "name": "log",
  18521. "nameLocation": "12363:3:50",
  18522. "parameters": {
  18523. "id": 8613,
  18524. "nodeType": "ParameterList",
  18525. "parameters": [
  18526. {
  18527. "constant": false,
  18528. "id": 8608,
  18529. "mutability": "mutable",
  18530. "name": "p0",
  18531. "nameLocation": "12381:2:50",
  18532. "nodeType": "VariableDeclaration",
  18533. "scope": 8626,
  18534. "src": "12367:16:50",
  18535. "stateVariable": false,
  18536. "storageLocation": "memory",
  18537. "typeDescriptions": {
  18538. "typeIdentifier": "t_string_memory_ptr",
  18539. "typeString": "string"
  18540. },
  18541. "typeName": {
  18542. "id": 8607,
  18543. "name": "string",
  18544. "nodeType": "ElementaryTypeName",
  18545. "src": "12367:6:50",
  18546. "typeDescriptions": {
  18547. "typeIdentifier": "t_string_storage_ptr",
  18548. "typeString": "string"
  18549. }
  18550. },
  18551. "visibility": "internal"
  18552. },
  18553. {
  18554. "constant": false,
  18555. "id": 8610,
  18556. "mutability": "mutable",
  18557. "name": "p1",
  18558. "nameLocation": "12399:2:50",
  18559. "nodeType": "VariableDeclaration",
  18560. "scope": 8626,
  18561. "src": "12385:16:50",
  18562. "stateVariable": false,
  18563. "storageLocation": "memory",
  18564. "typeDescriptions": {
  18565. "typeIdentifier": "t_string_memory_ptr",
  18566. "typeString": "string"
  18567. },
  18568. "typeName": {
  18569. "id": 8609,
  18570. "name": "string",
  18571. "nodeType": "ElementaryTypeName",
  18572. "src": "12385:6:50",
  18573. "typeDescriptions": {
  18574. "typeIdentifier": "t_string_storage_ptr",
  18575. "typeString": "string"
  18576. }
  18577. },
  18578. "visibility": "internal"
  18579. },
  18580. {
  18581. "constant": false,
  18582. "id": 8612,
  18583. "mutability": "mutable",
  18584. "name": "p2",
  18585. "nameLocation": "12417:2:50",
  18586. "nodeType": "VariableDeclaration",
  18587. "scope": 8626,
  18588. "src": "12403:16:50",
  18589. "stateVariable": false,
  18590. "storageLocation": "memory",
  18591. "typeDescriptions": {
  18592. "typeIdentifier": "t_string_memory_ptr",
  18593. "typeString": "string"
  18594. },
  18595. "typeName": {
  18596. "id": 8611,
  18597. "name": "string",
  18598. "nodeType": "ElementaryTypeName",
  18599. "src": "12403:6:50",
  18600. "typeDescriptions": {
  18601. "typeIdentifier": "t_string_storage_ptr",
  18602. "typeString": "string"
  18603. }
  18604. },
  18605. "visibility": "internal"
  18606. }
  18607. ],
  18608. "src": "12366:54:50"
  18609. },
  18610. "returnParameters": {
  18611. "id": 8614,
  18612. "nodeType": "ParameterList",
  18613. "parameters": [],
  18614. "src": "12435:0:50"
  18615. },
  18616. "scope": 15355,
  18617. "stateMutability": "pure",
  18618. "virtual": false,
  18619. "visibility": "internal"
  18620. },
  18621. {
  18622. "id": 8646,
  18623. "nodeType": "FunctionDefinition",
  18624. "src": "12539:168:50",
  18625. "nodes": [],
  18626. "body": {
  18627. "id": 8645,
  18628. "nodeType": "Block",
  18629. "src": "12611:96:50",
  18630. "nodes": [],
  18631. "statements": [
  18632. {
  18633. "expression": {
  18634. "arguments": [
  18635. {
  18636. "arguments": [
  18637. {
  18638. "hexValue": "6c6f6728737472696e672c737472696e672c626f6f6c29",
  18639. "id": 8638,
  18640. "isConstant": false,
  18641. "isLValue": false,
  18642. "isPure": true,
  18643. "kind": "string",
  18644. "lValueRequested": false,
  18645. "nodeType": "Literal",
  18646. "src": "12661:25:50",
  18647. "typeDescriptions": {
  18648. "typeIdentifier": "t_stringliteral_b0e0f9b5ad960213f9ab262d120ce4ec3edffc58d1ad51b99628a777e82d8acb",
  18649. "typeString": "literal_string \"log(string,string,bool)\""
  18650. },
  18651. "value": "log(string,string,bool)"
  18652. },
  18653. {
  18654. "id": 8639,
  18655. "name": "p0",
  18656. "nodeType": "Identifier",
  18657. "overloadedDeclarations": [],
  18658. "referencedDeclaration": 8628,
  18659. "src": "12688:2:50",
  18660. "typeDescriptions": {
  18661. "typeIdentifier": "t_string_memory_ptr",
  18662. "typeString": "string memory"
  18663. }
  18664. },
  18665. {
  18666. "id": 8640,
  18667. "name": "p1",
  18668. "nodeType": "Identifier",
  18669. "overloadedDeclarations": [],
  18670. "referencedDeclaration": 8630,
  18671. "src": "12692:2:50",
  18672. "typeDescriptions": {
  18673. "typeIdentifier": "t_string_memory_ptr",
  18674. "typeString": "string memory"
  18675. }
  18676. },
  18677. {
  18678. "id": 8641,
  18679. "name": "p2",
  18680. "nodeType": "Identifier",
  18681. "overloadedDeclarations": [],
  18682. "referencedDeclaration": 8632,
  18683. "src": "12696:2:50",
  18684. "typeDescriptions": {
  18685. "typeIdentifier": "t_bool",
  18686. "typeString": "bool"
  18687. }
  18688. }
  18689. ],
  18690. "expression": {
  18691. "argumentTypes": [
  18692. {
  18693. "typeIdentifier": "t_stringliteral_b0e0f9b5ad960213f9ab262d120ce4ec3edffc58d1ad51b99628a777e82d8acb",
  18694. "typeString": "literal_string \"log(string,string,bool)\""
  18695. },
  18696. {
  18697. "typeIdentifier": "t_string_memory_ptr",
  18698. "typeString": "string memory"
  18699. },
  18700. {
  18701. "typeIdentifier": "t_string_memory_ptr",
  18702. "typeString": "string memory"
  18703. },
  18704. {
  18705. "typeIdentifier": "t_bool",
  18706. "typeString": "bool"
  18707. }
  18708. ],
  18709. "expression": {
  18710. "id": 8636,
  18711. "name": "abi",
  18712. "nodeType": "Identifier",
  18713. "overloadedDeclarations": [],
  18714. "referencedDeclaration": -1,
  18715. "src": "12637:3:50",
  18716. "typeDescriptions": {
  18717. "typeIdentifier": "t_magic_abi",
  18718. "typeString": "abi"
  18719. }
  18720. },
  18721. "id": 8637,
  18722. "isConstant": false,
  18723. "isLValue": false,
  18724. "isPure": true,
  18725. "lValueRequested": false,
  18726. "memberLocation": "12641:19:50",
  18727. "memberName": "encodeWithSignature",
  18728. "nodeType": "MemberAccess",
  18729. "src": "12637:23:50",
  18730. "typeDescriptions": {
  18731. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  18732. "typeString": "function (string memory) pure returns (bytes memory)"
  18733. }
  18734. },
  18735. "id": 8642,
  18736. "isConstant": false,
  18737. "isLValue": false,
  18738. "isPure": false,
  18739. "kind": "functionCall",
  18740. "lValueRequested": false,
  18741. "nameLocations": [],
  18742. "names": [],
  18743. "nodeType": "FunctionCall",
  18744. "src": "12637:62:50",
  18745. "tryCall": false,
  18746. "typeDescriptions": {
  18747. "typeIdentifier": "t_bytes_memory_ptr",
  18748. "typeString": "bytes memory"
  18749. }
  18750. }
  18751. ],
  18752. "expression": {
  18753. "argumentTypes": [
  18754. {
  18755. "typeIdentifier": "t_bytes_memory_ptr",
  18756. "typeString": "bytes memory"
  18757. }
  18758. ],
  18759. "id": 8635,
  18760. "name": "_sendLogPayload",
  18761. "nodeType": "Identifier",
  18762. "overloadedDeclarations": [],
  18763. "referencedDeclaration": 7315,
  18764. "src": "12621:15:50",
  18765. "typeDescriptions": {
  18766. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  18767. "typeString": "function (bytes memory) pure"
  18768. }
  18769. },
  18770. "id": 8643,
  18771. "isConstant": false,
  18772. "isLValue": false,
  18773. "isPure": false,
  18774. "kind": "functionCall",
  18775. "lValueRequested": false,
  18776. "nameLocations": [],
  18777. "names": [],
  18778. "nodeType": "FunctionCall",
  18779. "src": "12621:79:50",
  18780. "tryCall": false,
  18781. "typeDescriptions": {
  18782. "typeIdentifier": "t_tuple$__$",
  18783. "typeString": "tuple()"
  18784. }
  18785. },
  18786. "id": 8644,
  18787. "nodeType": "ExpressionStatement",
  18788. "src": "12621:79:50"
  18789. }
  18790. ]
  18791. },
  18792. "implemented": true,
  18793. "kind": "function",
  18794. "modifiers": [],
  18795. "name": "log",
  18796. "nameLocation": "12548:3:50",
  18797. "parameters": {
  18798. "id": 8633,
  18799. "nodeType": "ParameterList",
  18800. "parameters": [
  18801. {
  18802. "constant": false,
  18803. "id": 8628,
  18804. "mutability": "mutable",
  18805. "name": "p0",
  18806. "nameLocation": "12566:2:50",
  18807. "nodeType": "VariableDeclaration",
  18808. "scope": 8646,
  18809. "src": "12552:16:50",
  18810. "stateVariable": false,
  18811. "storageLocation": "memory",
  18812. "typeDescriptions": {
  18813. "typeIdentifier": "t_string_memory_ptr",
  18814. "typeString": "string"
  18815. },
  18816. "typeName": {
  18817. "id": 8627,
  18818. "name": "string",
  18819. "nodeType": "ElementaryTypeName",
  18820. "src": "12552:6:50",
  18821. "typeDescriptions": {
  18822. "typeIdentifier": "t_string_storage_ptr",
  18823. "typeString": "string"
  18824. }
  18825. },
  18826. "visibility": "internal"
  18827. },
  18828. {
  18829. "constant": false,
  18830. "id": 8630,
  18831. "mutability": "mutable",
  18832. "name": "p1",
  18833. "nameLocation": "12584:2:50",
  18834. "nodeType": "VariableDeclaration",
  18835. "scope": 8646,
  18836. "src": "12570:16:50",
  18837. "stateVariable": false,
  18838. "storageLocation": "memory",
  18839. "typeDescriptions": {
  18840. "typeIdentifier": "t_string_memory_ptr",
  18841. "typeString": "string"
  18842. },
  18843. "typeName": {
  18844. "id": 8629,
  18845. "name": "string",
  18846. "nodeType": "ElementaryTypeName",
  18847. "src": "12570:6:50",
  18848. "typeDescriptions": {
  18849. "typeIdentifier": "t_string_storage_ptr",
  18850. "typeString": "string"
  18851. }
  18852. },
  18853. "visibility": "internal"
  18854. },
  18855. {
  18856. "constant": false,
  18857. "id": 8632,
  18858. "mutability": "mutable",
  18859. "name": "p2",
  18860. "nameLocation": "12593:2:50",
  18861. "nodeType": "VariableDeclaration",
  18862. "scope": 8646,
  18863. "src": "12588:7:50",
  18864. "stateVariable": false,
  18865. "storageLocation": "default",
  18866. "typeDescriptions": {
  18867. "typeIdentifier": "t_bool",
  18868. "typeString": "bool"
  18869. },
  18870. "typeName": {
  18871. "id": 8631,
  18872. "name": "bool",
  18873. "nodeType": "ElementaryTypeName",
  18874. "src": "12588:4:50",
  18875. "typeDescriptions": {
  18876. "typeIdentifier": "t_bool",
  18877. "typeString": "bool"
  18878. }
  18879. },
  18880. "visibility": "internal"
  18881. }
  18882. ],
  18883. "src": "12551:45:50"
  18884. },
  18885. "returnParameters": {
  18886. "id": 8634,
  18887. "nodeType": "ParameterList",
  18888. "parameters": [],
  18889. "src": "12611:0:50"
  18890. },
  18891. "scope": 15355,
  18892. "stateMutability": "pure",
  18893. "virtual": false,
  18894. "visibility": "internal"
  18895. },
  18896. {
  18897. "id": 8666,
  18898. "nodeType": "FunctionDefinition",
  18899. "src": "12713:174:50",
  18900. "nodes": [],
  18901. "body": {
  18902. "id": 8665,
  18903. "nodeType": "Block",
  18904. "src": "12788:99:50",
  18905. "nodes": [],
  18906. "statements": [
  18907. {
  18908. "expression": {
  18909. "arguments": [
  18910. {
  18911. "arguments": [
  18912. {
  18913. "hexValue": "6c6f6728737472696e672c737472696e672c6164647265737329",
  18914. "id": 8658,
  18915. "isConstant": false,
  18916. "isLValue": false,
  18917. "isPure": true,
  18918. "kind": "string",
  18919. "lValueRequested": false,
  18920. "nodeType": "Literal",
  18921. "src": "12838:28:50",
  18922. "typeDescriptions": {
  18923. "typeIdentifier": "t_stringliteral_95ed0195ee22a092ad93d352c33e8dc78b91f0c01eab9cff270af55b2ae65768",
  18924. "typeString": "literal_string \"log(string,string,address)\""
  18925. },
  18926. "value": "log(string,string,address)"
  18927. },
  18928. {
  18929. "id": 8659,
  18930. "name": "p0",
  18931. "nodeType": "Identifier",
  18932. "overloadedDeclarations": [],
  18933. "referencedDeclaration": 8648,
  18934. "src": "12868:2:50",
  18935. "typeDescriptions": {
  18936. "typeIdentifier": "t_string_memory_ptr",
  18937. "typeString": "string memory"
  18938. }
  18939. },
  18940. {
  18941. "id": 8660,
  18942. "name": "p1",
  18943. "nodeType": "Identifier",
  18944. "overloadedDeclarations": [],
  18945. "referencedDeclaration": 8650,
  18946. "src": "12872:2:50",
  18947. "typeDescriptions": {
  18948. "typeIdentifier": "t_string_memory_ptr",
  18949. "typeString": "string memory"
  18950. }
  18951. },
  18952. {
  18953. "id": 8661,
  18954. "name": "p2",
  18955. "nodeType": "Identifier",
  18956. "overloadedDeclarations": [],
  18957. "referencedDeclaration": 8652,
  18958. "src": "12876:2:50",
  18959. "typeDescriptions": {
  18960. "typeIdentifier": "t_address",
  18961. "typeString": "address"
  18962. }
  18963. }
  18964. ],
  18965. "expression": {
  18966. "argumentTypes": [
  18967. {
  18968. "typeIdentifier": "t_stringliteral_95ed0195ee22a092ad93d352c33e8dc78b91f0c01eab9cff270af55b2ae65768",
  18969. "typeString": "literal_string \"log(string,string,address)\""
  18970. },
  18971. {
  18972. "typeIdentifier": "t_string_memory_ptr",
  18973. "typeString": "string memory"
  18974. },
  18975. {
  18976. "typeIdentifier": "t_string_memory_ptr",
  18977. "typeString": "string memory"
  18978. },
  18979. {
  18980. "typeIdentifier": "t_address",
  18981. "typeString": "address"
  18982. }
  18983. ],
  18984. "expression": {
  18985. "id": 8656,
  18986. "name": "abi",
  18987. "nodeType": "Identifier",
  18988. "overloadedDeclarations": [],
  18989. "referencedDeclaration": -1,
  18990. "src": "12814:3:50",
  18991. "typeDescriptions": {
  18992. "typeIdentifier": "t_magic_abi",
  18993. "typeString": "abi"
  18994. }
  18995. },
  18996. "id": 8657,
  18997. "isConstant": false,
  18998. "isLValue": false,
  18999. "isPure": true,
  19000. "lValueRequested": false,
  19001. "memberLocation": "12818:19:50",
  19002. "memberName": "encodeWithSignature",
  19003. "nodeType": "MemberAccess",
  19004. "src": "12814:23:50",
  19005. "typeDescriptions": {
  19006. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  19007. "typeString": "function (string memory) pure returns (bytes memory)"
  19008. }
  19009. },
  19010. "id": 8662,
  19011. "isConstant": false,
  19012. "isLValue": false,
  19013. "isPure": false,
  19014. "kind": "functionCall",
  19015. "lValueRequested": false,
  19016. "nameLocations": [],
  19017. "names": [],
  19018. "nodeType": "FunctionCall",
  19019. "src": "12814:65:50",
  19020. "tryCall": false,
  19021. "typeDescriptions": {
  19022. "typeIdentifier": "t_bytes_memory_ptr",
  19023. "typeString": "bytes memory"
  19024. }
  19025. }
  19026. ],
  19027. "expression": {
  19028. "argumentTypes": [
  19029. {
  19030. "typeIdentifier": "t_bytes_memory_ptr",
  19031. "typeString": "bytes memory"
  19032. }
  19033. ],
  19034. "id": 8655,
  19035. "name": "_sendLogPayload",
  19036. "nodeType": "Identifier",
  19037. "overloadedDeclarations": [],
  19038. "referencedDeclaration": 7315,
  19039. "src": "12798:15:50",
  19040. "typeDescriptions": {
  19041. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  19042. "typeString": "function (bytes memory) pure"
  19043. }
  19044. },
  19045. "id": 8663,
  19046. "isConstant": false,
  19047. "isLValue": false,
  19048. "isPure": false,
  19049. "kind": "functionCall",
  19050. "lValueRequested": false,
  19051. "nameLocations": [],
  19052. "names": [],
  19053. "nodeType": "FunctionCall",
  19054. "src": "12798:82:50",
  19055. "tryCall": false,
  19056. "typeDescriptions": {
  19057. "typeIdentifier": "t_tuple$__$",
  19058. "typeString": "tuple()"
  19059. }
  19060. },
  19061. "id": 8664,
  19062. "nodeType": "ExpressionStatement",
  19063. "src": "12798:82:50"
  19064. }
  19065. ]
  19066. },
  19067. "implemented": true,
  19068. "kind": "function",
  19069. "modifiers": [],
  19070. "name": "log",
  19071. "nameLocation": "12722:3:50",
  19072. "parameters": {
  19073. "id": 8653,
  19074. "nodeType": "ParameterList",
  19075. "parameters": [
  19076. {
  19077. "constant": false,
  19078. "id": 8648,
  19079. "mutability": "mutable",
  19080. "name": "p0",
  19081. "nameLocation": "12740:2:50",
  19082. "nodeType": "VariableDeclaration",
  19083. "scope": 8666,
  19084. "src": "12726:16:50",
  19085. "stateVariable": false,
  19086. "storageLocation": "memory",
  19087. "typeDescriptions": {
  19088. "typeIdentifier": "t_string_memory_ptr",
  19089. "typeString": "string"
  19090. },
  19091. "typeName": {
  19092. "id": 8647,
  19093. "name": "string",
  19094. "nodeType": "ElementaryTypeName",
  19095. "src": "12726:6:50",
  19096. "typeDescriptions": {
  19097. "typeIdentifier": "t_string_storage_ptr",
  19098. "typeString": "string"
  19099. }
  19100. },
  19101. "visibility": "internal"
  19102. },
  19103. {
  19104. "constant": false,
  19105. "id": 8650,
  19106. "mutability": "mutable",
  19107. "name": "p1",
  19108. "nameLocation": "12758:2:50",
  19109. "nodeType": "VariableDeclaration",
  19110. "scope": 8666,
  19111. "src": "12744:16:50",
  19112. "stateVariable": false,
  19113. "storageLocation": "memory",
  19114. "typeDescriptions": {
  19115. "typeIdentifier": "t_string_memory_ptr",
  19116. "typeString": "string"
  19117. },
  19118. "typeName": {
  19119. "id": 8649,
  19120. "name": "string",
  19121. "nodeType": "ElementaryTypeName",
  19122. "src": "12744:6:50",
  19123. "typeDescriptions": {
  19124. "typeIdentifier": "t_string_storage_ptr",
  19125. "typeString": "string"
  19126. }
  19127. },
  19128. "visibility": "internal"
  19129. },
  19130. {
  19131. "constant": false,
  19132. "id": 8652,
  19133. "mutability": "mutable",
  19134. "name": "p2",
  19135. "nameLocation": "12770:2:50",
  19136. "nodeType": "VariableDeclaration",
  19137. "scope": 8666,
  19138. "src": "12762:10:50",
  19139. "stateVariable": false,
  19140. "storageLocation": "default",
  19141. "typeDescriptions": {
  19142. "typeIdentifier": "t_address",
  19143. "typeString": "address"
  19144. },
  19145. "typeName": {
  19146. "id": 8651,
  19147. "name": "address",
  19148. "nodeType": "ElementaryTypeName",
  19149. "src": "12762:7:50",
  19150. "stateMutability": "nonpayable",
  19151. "typeDescriptions": {
  19152. "typeIdentifier": "t_address",
  19153. "typeString": "address"
  19154. }
  19155. },
  19156. "visibility": "internal"
  19157. }
  19158. ],
  19159. "src": "12725:48:50"
  19160. },
  19161. "returnParameters": {
  19162. "id": 8654,
  19163. "nodeType": "ParameterList",
  19164. "parameters": [],
  19165. "src": "12788:0:50"
  19166. },
  19167. "scope": 15355,
  19168. "stateMutability": "pure",
  19169. "virtual": false,
  19170. "visibility": "internal"
  19171. },
  19172. {
  19173. "id": 8686,
  19174. "nodeType": "FunctionDefinition",
  19175. "src": "12893:163:50",
  19176. "nodes": [],
  19177. "body": {
  19178. "id": 8685,
  19179. "nodeType": "Block",
  19180. "src": "12959:97:50",
  19181. "nodes": [],
  19182. "statements": [
  19183. {
  19184. "expression": {
  19185. "arguments": [
  19186. {
  19187. "arguments": [
  19188. {
  19189. "hexValue": "6c6f6728737472696e672c626f6f6c2c75696e7432353629",
  19190. "id": 8678,
  19191. "isConstant": false,
  19192. "isLValue": false,
  19193. "isPure": true,
  19194. "kind": "string",
  19195. "lValueRequested": false,
  19196. "nodeType": "Literal",
  19197. "src": "13009:26:50",
  19198. "typeDescriptions": {
  19199. "typeIdentifier": "t_stringliteral_c95958d6bc6e492868f9bea34fa0d5d3bf60736d44598880e7a9a99746b5d26a",
  19200. "typeString": "literal_string \"log(string,bool,uint256)\""
  19201. },
  19202. "value": "log(string,bool,uint256)"
  19203. },
  19204. {
  19205. "id": 8679,
  19206. "name": "p0",
  19207. "nodeType": "Identifier",
  19208. "overloadedDeclarations": [],
  19209. "referencedDeclaration": 8668,
  19210. "src": "13037:2:50",
  19211. "typeDescriptions": {
  19212. "typeIdentifier": "t_string_memory_ptr",
  19213. "typeString": "string memory"
  19214. }
  19215. },
  19216. {
  19217. "id": 8680,
  19218. "name": "p1",
  19219. "nodeType": "Identifier",
  19220. "overloadedDeclarations": [],
  19221. "referencedDeclaration": 8670,
  19222. "src": "13041:2:50",
  19223. "typeDescriptions": {
  19224. "typeIdentifier": "t_bool",
  19225. "typeString": "bool"
  19226. }
  19227. },
  19228. {
  19229. "id": 8681,
  19230. "name": "p2",
  19231. "nodeType": "Identifier",
  19232. "overloadedDeclarations": [],
  19233. "referencedDeclaration": 8672,
  19234. "src": "13045:2:50",
  19235. "typeDescriptions": {
  19236. "typeIdentifier": "t_uint256",
  19237. "typeString": "uint256"
  19238. }
  19239. }
  19240. ],
  19241. "expression": {
  19242. "argumentTypes": [
  19243. {
  19244. "typeIdentifier": "t_stringliteral_c95958d6bc6e492868f9bea34fa0d5d3bf60736d44598880e7a9a99746b5d26a",
  19245. "typeString": "literal_string \"log(string,bool,uint256)\""
  19246. },
  19247. {
  19248. "typeIdentifier": "t_string_memory_ptr",
  19249. "typeString": "string memory"
  19250. },
  19251. {
  19252. "typeIdentifier": "t_bool",
  19253. "typeString": "bool"
  19254. },
  19255. {
  19256. "typeIdentifier": "t_uint256",
  19257. "typeString": "uint256"
  19258. }
  19259. ],
  19260. "expression": {
  19261. "id": 8676,
  19262. "name": "abi",
  19263. "nodeType": "Identifier",
  19264. "overloadedDeclarations": [],
  19265. "referencedDeclaration": -1,
  19266. "src": "12985:3:50",
  19267. "typeDescriptions": {
  19268. "typeIdentifier": "t_magic_abi",
  19269. "typeString": "abi"
  19270. }
  19271. },
  19272. "id": 8677,
  19273. "isConstant": false,
  19274. "isLValue": false,
  19275. "isPure": true,
  19276. "lValueRequested": false,
  19277. "memberLocation": "12989:19:50",
  19278. "memberName": "encodeWithSignature",
  19279. "nodeType": "MemberAccess",
  19280. "src": "12985:23:50",
  19281. "typeDescriptions": {
  19282. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  19283. "typeString": "function (string memory) pure returns (bytes memory)"
  19284. }
  19285. },
  19286. "id": 8682,
  19287. "isConstant": false,
  19288. "isLValue": false,
  19289. "isPure": false,
  19290. "kind": "functionCall",
  19291. "lValueRequested": false,
  19292. "nameLocations": [],
  19293. "names": [],
  19294. "nodeType": "FunctionCall",
  19295. "src": "12985:63:50",
  19296. "tryCall": false,
  19297. "typeDescriptions": {
  19298. "typeIdentifier": "t_bytes_memory_ptr",
  19299. "typeString": "bytes memory"
  19300. }
  19301. }
  19302. ],
  19303. "expression": {
  19304. "argumentTypes": [
  19305. {
  19306. "typeIdentifier": "t_bytes_memory_ptr",
  19307. "typeString": "bytes memory"
  19308. }
  19309. ],
  19310. "id": 8675,
  19311. "name": "_sendLogPayload",
  19312. "nodeType": "Identifier",
  19313. "overloadedDeclarations": [],
  19314. "referencedDeclaration": 7315,
  19315. "src": "12969:15:50",
  19316. "typeDescriptions": {
  19317. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  19318. "typeString": "function (bytes memory) pure"
  19319. }
  19320. },
  19321. "id": 8683,
  19322. "isConstant": false,
  19323. "isLValue": false,
  19324. "isPure": false,
  19325. "kind": "functionCall",
  19326. "lValueRequested": false,
  19327. "nameLocations": [],
  19328. "names": [],
  19329. "nodeType": "FunctionCall",
  19330. "src": "12969:80:50",
  19331. "tryCall": false,
  19332. "typeDescriptions": {
  19333. "typeIdentifier": "t_tuple$__$",
  19334. "typeString": "tuple()"
  19335. }
  19336. },
  19337. "id": 8684,
  19338. "nodeType": "ExpressionStatement",
  19339. "src": "12969:80:50"
  19340. }
  19341. ]
  19342. },
  19343. "implemented": true,
  19344. "kind": "function",
  19345. "modifiers": [],
  19346. "name": "log",
  19347. "nameLocation": "12902:3:50",
  19348. "parameters": {
  19349. "id": 8673,
  19350. "nodeType": "ParameterList",
  19351. "parameters": [
  19352. {
  19353. "constant": false,
  19354. "id": 8668,
  19355. "mutability": "mutable",
  19356. "name": "p0",
  19357. "nameLocation": "12920:2:50",
  19358. "nodeType": "VariableDeclaration",
  19359. "scope": 8686,
  19360. "src": "12906:16:50",
  19361. "stateVariable": false,
  19362. "storageLocation": "memory",
  19363. "typeDescriptions": {
  19364. "typeIdentifier": "t_string_memory_ptr",
  19365. "typeString": "string"
  19366. },
  19367. "typeName": {
  19368. "id": 8667,
  19369. "name": "string",
  19370. "nodeType": "ElementaryTypeName",
  19371. "src": "12906:6:50",
  19372. "typeDescriptions": {
  19373. "typeIdentifier": "t_string_storage_ptr",
  19374. "typeString": "string"
  19375. }
  19376. },
  19377. "visibility": "internal"
  19378. },
  19379. {
  19380. "constant": false,
  19381. "id": 8670,
  19382. "mutability": "mutable",
  19383. "name": "p1",
  19384. "nameLocation": "12929:2:50",
  19385. "nodeType": "VariableDeclaration",
  19386. "scope": 8686,
  19387. "src": "12924:7:50",
  19388. "stateVariable": false,
  19389. "storageLocation": "default",
  19390. "typeDescriptions": {
  19391. "typeIdentifier": "t_bool",
  19392. "typeString": "bool"
  19393. },
  19394. "typeName": {
  19395. "id": 8669,
  19396. "name": "bool",
  19397. "nodeType": "ElementaryTypeName",
  19398. "src": "12924:4:50",
  19399. "typeDescriptions": {
  19400. "typeIdentifier": "t_bool",
  19401. "typeString": "bool"
  19402. }
  19403. },
  19404. "visibility": "internal"
  19405. },
  19406. {
  19407. "constant": false,
  19408. "id": 8672,
  19409. "mutability": "mutable",
  19410. "name": "p2",
  19411. "nameLocation": "12941:2:50",
  19412. "nodeType": "VariableDeclaration",
  19413. "scope": 8686,
  19414. "src": "12933:10:50",
  19415. "stateVariable": false,
  19416. "storageLocation": "default",
  19417. "typeDescriptions": {
  19418. "typeIdentifier": "t_uint256",
  19419. "typeString": "uint256"
  19420. },
  19421. "typeName": {
  19422. "id": 8671,
  19423. "name": "uint256",
  19424. "nodeType": "ElementaryTypeName",
  19425. "src": "12933:7:50",
  19426. "typeDescriptions": {
  19427. "typeIdentifier": "t_uint256",
  19428. "typeString": "uint256"
  19429. }
  19430. },
  19431. "visibility": "internal"
  19432. }
  19433. ],
  19434. "src": "12905:39:50"
  19435. },
  19436. "returnParameters": {
  19437. "id": 8674,
  19438. "nodeType": "ParameterList",
  19439. "parameters": [],
  19440. "src": "12959:0:50"
  19441. },
  19442. "scope": 15355,
  19443. "stateMutability": "pure",
  19444. "virtual": false,
  19445. "visibility": "internal"
  19446. },
  19447. {
  19448. "id": 8706,
  19449. "nodeType": "FunctionDefinition",
  19450. "src": "13062:168:50",
  19451. "nodes": [],
  19452. "body": {
  19453. "id": 8705,
  19454. "nodeType": "Block",
  19455. "src": "13134:96:50",
  19456. "nodes": [],
  19457. "statements": [
  19458. {
  19459. "expression": {
  19460. "arguments": [
  19461. {
  19462. "arguments": [
  19463. {
  19464. "hexValue": "6c6f6728737472696e672c626f6f6c2c737472696e6729",
  19465. "id": 8698,
  19466. "isConstant": false,
  19467. "isLValue": false,
  19468. "isPure": true,
  19469. "kind": "string",
  19470. "lValueRequested": false,
  19471. "nodeType": "Literal",
  19472. "src": "13184:25:50",
  19473. "typeDescriptions": {
  19474. "typeIdentifier": "t_stringliteral_e298f47d872a89293d316b9b936000a26f83eda2ba3171b2f9f16e2bf618c3e7",
  19475. "typeString": "literal_string \"log(string,bool,string)\""
  19476. },
  19477. "value": "log(string,bool,string)"
  19478. },
  19479. {
  19480. "id": 8699,
  19481. "name": "p0",
  19482. "nodeType": "Identifier",
  19483. "overloadedDeclarations": [],
  19484. "referencedDeclaration": 8688,
  19485. "src": "13211:2:50",
  19486. "typeDescriptions": {
  19487. "typeIdentifier": "t_string_memory_ptr",
  19488. "typeString": "string memory"
  19489. }
  19490. },
  19491. {
  19492. "id": 8700,
  19493. "name": "p1",
  19494. "nodeType": "Identifier",
  19495. "overloadedDeclarations": [],
  19496. "referencedDeclaration": 8690,
  19497. "src": "13215:2:50",
  19498. "typeDescriptions": {
  19499. "typeIdentifier": "t_bool",
  19500. "typeString": "bool"
  19501. }
  19502. },
  19503. {
  19504. "id": 8701,
  19505. "name": "p2",
  19506. "nodeType": "Identifier",
  19507. "overloadedDeclarations": [],
  19508. "referencedDeclaration": 8692,
  19509. "src": "13219:2:50",
  19510. "typeDescriptions": {
  19511. "typeIdentifier": "t_string_memory_ptr",
  19512. "typeString": "string memory"
  19513. }
  19514. }
  19515. ],
  19516. "expression": {
  19517. "argumentTypes": [
  19518. {
  19519. "typeIdentifier": "t_stringliteral_e298f47d872a89293d316b9b936000a26f83eda2ba3171b2f9f16e2bf618c3e7",
  19520. "typeString": "literal_string \"log(string,bool,string)\""
  19521. },
  19522. {
  19523. "typeIdentifier": "t_string_memory_ptr",
  19524. "typeString": "string memory"
  19525. },
  19526. {
  19527. "typeIdentifier": "t_bool",
  19528. "typeString": "bool"
  19529. },
  19530. {
  19531. "typeIdentifier": "t_string_memory_ptr",
  19532. "typeString": "string memory"
  19533. }
  19534. ],
  19535. "expression": {
  19536. "id": 8696,
  19537. "name": "abi",
  19538. "nodeType": "Identifier",
  19539. "overloadedDeclarations": [],
  19540. "referencedDeclaration": -1,
  19541. "src": "13160:3:50",
  19542. "typeDescriptions": {
  19543. "typeIdentifier": "t_magic_abi",
  19544. "typeString": "abi"
  19545. }
  19546. },
  19547. "id": 8697,
  19548. "isConstant": false,
  19549. "isLValue": false,
  19550. "isPure": true,
  19551. "lValueRequested": false,
  19552. "memberLocation": "13164:19:50",
  19553. "memberName": "encodeWithSignature",
  19554. "nodeType": "MemberAccess",
  19555. "src": "13160:23:50",
  19556. "typeDescriptions": {
  19557. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  19558. "typeString": "function (string memory) pure returns (bytes memory)"
  19559. }
  19560. },
  19561. "id": 8702,
  19562. "isConstant": false,
  19563. "isLValue": false,
  19564. "isPure": false,
  19565. "kind": "functionCall",
  19566. "lValueRequested": false,
  19567. "nameLocations": [],
  19568. "names": [],
  19569. "nodeType": "FunctionCall",
  19570. "src": "13160:62:50",
  19571. "tryCall": false,
  19572. "typeDescriptions": {
  19573. "typeIdentifier": "t_bytes_memory_ptr",
  19574. "typeString": "bytes memory"
  19575. }
  19576. }
  19577. ],
  19578. "expression": {
  19579. "argumentTypes": [
  19580. {
  19581. "typeIdentifier": "t_bytes_memory_ptr",
  19582. "typeString": "bytes memory"
  19583. }
  19584. ],
  19585. "id": 8695,
  19586. "name": "_sendLogPayload",
  19587. "nodeType": "Identifier",
  19588. "overloadedDeclarations": [],
  19589. "referencedDeclaration": 7315,
  19590. "src": "13144:15:50",
  19591. "typeDescriptions": {
  19592. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  19593. "typeString": "function (bytes memory) pure"
  19594. }
  19595. },
  19596. "id": 8703,
  19597. "isConstant": false,
  19598. "isLValue": false,
  19599. "isPure": false,
  19600. "kind": "functionCall",
  19601. "lValueRequested": false,
  19602. "nameLocations": [],
  19603. "names": [],
  19604. "nodeType": "FunctionCall",
  19605. "src": "13144:79:50",
  19606. "tryCall": false,
  19607. "typeDescriptions": {
  19608. "typeIdentifier": "t_tuple$__$",
  19609. "typeString": "tuple()"
  19610. }
  19611. },
  19612. "id": 8704,
  19613. "nodeType": "ExpressionStatement",
  19614. "src": "13144:79:50"
  19615. }
  19616. ]
  19617. },
  19618. "implemented": true,
  19619. "kind": "function",
  19620. "modifiers": [],
  19621. "name": "log",
  19622. "nameLocation": "13071:3:50",
  19623. "parameters": {
  19624. "id": 8693,
  19625. "nodeType": "ParameterList",
  19626. "parameters": [
  19627. {
  19628. "constant": false,
  19629. "id": 8688,
  19630. "mutability": "mutable",
  19631. "name": "p0",
  19632. "nameLocation": "13089:2:50",
  19633. "nodeType": "VariableDeclaration",
  19634. "scope": 8706,
  19635. "src": "13075:16:50",
  19636. "stateVariable": false,
  19637. "storageLocation": "memory",
  19638. "typeDescriptions": {
  19639. "typeIdentifier": "t_string_memory_ptr",
  19640. "typeString": "string"
  19641. },
  19642. "typeName": {
  19643. "id": 8687,
  19644. "name": "string",
  19645. "nodeType": "ElementaryTypeName",
  19646. "src": "13075:6:50",
  19647. "typeDescriptions": {
  19648. "typeIdentifier": "t_string_storage_ptr",
  19649. "typeString": "string"
  19650. }
  19651. },
  19652. "visibility": "internal"
  19653. },
  19654. {
  19655. "constant": false,
  19656. "id": 8690,
  19657. "mutability": "mutable",
  19658. "name": "p1",
  19659. "nameLocation": "13098:2:50",
  19660. "nodeType": "VariableDeclaration",
  19661. "scope": 8706,
  19662. "src": "13093:7:50",
  19663. "stateVariable": false,
  19664. "storageLocation": "default",
  19665. "typeDescriptions": {
  19666. "typeIdentifier": "t_bool",
  19667. "typeString": "bool"
  19668. },
  19669. "typeName": {
  19670. "id": 8689,
  19671. "name": "bool",
  19672. "nodeType": "ElementaryTypeName",
  19673. "src": "13093:4:50",
  19674. "typeDescriptions": {
  19675. "typeIdentifier": "t_bool",
  19676. "typeString": "bool"
  19677. }
  19678. },
  19679. "visibility": "internal"
  19680. },
  19681. {
  19682. "constant": false,
  19683. "id": 8692,
  19684. "mutability": "mutable",
  19685. "name": "p2",
  19686. "nameLocation": "13116:2:50",
  19687. "nodeType": "VariableDeclaration",
  19688. "scope": 8706,
  19689. "src": "13102:16:50",
  19690. "stateVariable": false,
  19691. "storageLocation": "memory",
  19692. "typeDescriptions": {
  19693. "typeIdentifier": "t_string_memory_ptr",
  19694. "typeString": "string"
  19695. },
  19696. "typeName": {
  19697. "id": 8691,
  19698. "name": "string",
  19699. "nodeType": "ElementaryTypeName",
  19700. "src": "13102:6:50",
  19701. "typeDescriptions": {
  19702. "typeIdentifier": "t_string_storage_ptr",
  19703. "typeString": "string"
  19704. }
  19705. },
  19706. "visibility": "internal"
  19707. }
  19708. ],
  19709. "src": "13074:45:50"
  19710. },
  19711. "returnParameters": {
  19712. "id": 8694,
  19713. "nodeType": "ParameterList",
  19714. "parameters": [],
  19715. "src": "13134:0:50"
  19716. },
  19717. "scope": 15355,
  19718. "stateMutability": "pure",
  19719. "virtual": false,
  19720. "visibility": "internal"
  19721. },
  19722. {
  19723. "id": 8726,
  19724. "nodeType": "FunctionDefinition",
  19725. "src": "13236:157:50",
  19726. "nodes": [],
  19727. "body": {
  19728. "id": 8725,
  19729. "nodeType": "Block",
  19730. "src": "13299:94:50",
  19731. "nodes": [],
  19732. "statements": [
  19733. {
  19734. "expression": {
  19735. "arguments": [
  19736. {
  19737. "arguments": [
  19738. {
  19739. "hexValue": "6c6f6728737472696e672c626f6f6c2c626f6f6c29",
  19740. "id": 8718,
  19741. "isConstant": false,
  19742. "isLValue": false,
  19743. "isPure": true,
  19744. "kind": "string",
  19745. "lValueRequested": false,
  19746. "nodeType": "Literal",
  19747. "src": "13349:23:50",
  19748. "typeDescriptions": {
  19749. "typeIdentifier": "t_stringliteral_850b7ad637241a873b861925ccffb71aaffb030b1df8850f324c9804bc7b443d",
  19750. "typeString": "literal_string \"log(string,bool,bool)\""
  19751. },
  19752. "value": "log(string,bool,bool)"
  19753. },
  19754. {
  19755. "id": 8719,
  19756. "name": "p0",
  19757. "nodeType": "Identifier",
  19758. "overloadedDeclarations": [],
  19759. "referencedDeclaration": 8708,
  19760. "src": "13374:2:50",
  19761. "typeDescriptions": {
  19762. "typeIdentifier": "t_string_memory_ptr",
  19763. "typeString": "string memory"
  19764. }
  19765. },
  19766. {
  19767. "id": 8720,
  19768. "name": "p1",
  19769. "nodeType": "Identifier",
  19770. "overloadedDeclarations": [],
  19771. "referencedDeclaration": 8710,
  19772. "src": "13378:2:50",
  19773. "typeDescriptions": {
  19774. "typeIdentifier": "t_bool",
  19775. "typeString": "bool"
  19776. }
  19777. },
  19778. {
  19779. "id": 8721,
  19780. "name": "p2",
  19781. "nodeType": "Identifier",
  19782. "overloadedDeclarations": [],
  19783. "referencedDeclaration": 8712,
  19784. "src": "13382:2:50",
  19785. "typeDescriptions": {
  19786. "typeIdentifier": "t_bool",
  19787. "typeString": "bool"
  19788. }
  19789. }
  19790. ],
  19791. "expression": {
  19792. "argumentTypes": [
  19793. {
  19794. "typeIdentifier": "t_stringliteral_850b7ad637241a873b861925ccffb71aaffb030b1df8850f324c9804bc7b443d",
  19795. "typeString": "literal_string \"log(string,bool,bool)\""
  19796. },
  19797. {
  19798. "typeIdentifier": "t_string_memory_ptr",
  19799. "typeString": "string memory"
  19800. },
  19801. {
  19802. "typeIdentifier": "t_bool",
  19803. "typeString": "bool"
  19804. },
  19805. {
  19806. "typeIdentifier": "t_bool",
  19807. "typeString": "bool"
  19808. }
  19809. ],
  19810. "expression": {
  19811. "id": 8716,
  19812. "name": "abi",
  19813. "nodeType": "Identifier",
  19814. "overloadedDeclarations": [],
  19815. "referencedDeclaration": -1,
  19816. "src": "13325:3:50",
  19817. "typeDescriptions": {
  19818. "typeIdentifier": "t_magic_abi",
  19819. "typeString": "abi"
  19820. }
  19821. },
  19822. "id": 8717,
  19823. "isConstant": false,
  19824. "isLValue": false,
  19825. "isPure": true,
  19826. "lValueRequested": false,
  19827. "memberLocation": "13329:19:50",
  19828. "memberName": "encodeWithSignature",
  19829. "nodeType": "MemberAccess",
  19830. "src": "13325:23:50",
  19831. "typeDescriptions": {
  19832. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  19833. "typeString": "function (string memory) pure returns (bytes memory)"
  19834. }
  19835. },
  19836. "id": 8722,
  19837. "isConstant": false,
  19838. "isLValue": false,
  19839. "isPure": false,
  19840. "kind": "functionCall",
  19841. "lValueRequested": false,
  19842. "nameLocations": [],
  19843. "names": [],
  19844. "nodeType": "FunctionCall",
  19845. "src": "13325:60:50",
  19846. "tryCall": false,
  19847. "typeDescriptions": {
  19848. "typeIdentifier": "t_bytes_memory_ptr",
  19849. "typeString": "bytes memory"
  19850. }
  19851. }
  19852. ],
  19853. "expression": {
  19854. "argumentTypes": [
  19855. {
  19856. "typeIdentifier": "t_bytes_memory_ptr",
  19857. "typeString": "bytes memory"
  19858. }
  19859. ],
  19860. "id": 8715,
  19861. "name": "_sendLogPayload",
  19862. "nodeType": "Identifier",
  19863. "overloadedDeclarations": [],
  19864. "referencedDeclaration": 7315,
  19865. "src": "13309:15:50",
  19866. "typeDescriptions": {
  19867. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  19868. "typeString": "function (bytes memory) pure"
  19869. }
  19870. },
  19871. "id": 8723,
  19872. "isConstant": false,
  19873. "isLValue": false,
  19874. "isPure": false,
  19875. "kind": "functionCall",
  19876. "lValueRequested": false,
  19877. "nameLocations": [],
  19878. "names": [],
  19879. "nodeType": "FunctionCall",
  19880. "src": "13309:77:50",
  19881. "tryCall": false,
  19882. "typeDescriptions": {
  19883. "typeIdentifier": "t_tuple$__$",
  19884. "typeString": "tuple()"
  19885. }
  19886. },
  19887. "id": 8724,
  19888. "nodeType": "ExpressionStatement",
  19889. "src": "13309:77:50"
  19890. }
  19891. ]
  19892. },
  19893. "implemented": true,
  19894. "kind": "function",
  19895. "modifiers": [],
  19896. "name": "log",
  19897. "nameLocation": "13245:3:50",
  19898. "parameters": {
  19899. "id": 8713,
  19900. "nodeType": "ParameterList",
  19901. "parameters": [
  19902. {
  19903. "constant": false,
  19904. "id": 8708,
  19905. "mutability": "mutable",
  19906. "name": "p0",
  19907. "nameLocation": "13263:2:50",
  19908. "nodeType": "VariableDeclaration",
  19909. "scope": 8726,
  19910. "src": "13249:16:50",
  19911. "stateVariable": false,
  19912. "storageLocation": "memory",
  19913. "typeDescriptions": {
  19914. "typeIdentifier": "t_string_memory_ptr",
  19915. "typeString": "string"
  19916. },
  19917. "typeName": {
  19918. "id": 8707,
  19919. "name": "string",
  19920. "nodeType": "ElementaryTypeName",
  19921. "src": "13249:6:50",
  19922. "typeDescriptions": {
  19923. "typeIdentifier": "t_string_storage_ptr",
  19924. "typeString": "string"
  19925. }
  19926. },
  19927. "visibility": "internal"
  19928. },
  19929. {
  19930. "constant": false,
  19931. "id": 8710,
  19932. "mutability": "mutable",
  19933. "name": "p1",
  19934. "nameLocation": "13272:2:50",
  19935. "nodeType": "VariableDeclaration",
  19936. "scope": 8726,
  19937. "src": "13267:7:50",
  19938. "stateVariable": false,
  19939. "storageLocation": "default",
  19940. "typeDescriptions": {
  19941. "typeIdentifier": "t_bool",
  19942. "typeString": "bool"
  19943. },
  19944. "typeName": {
  19945. "id": 8709,
  19946. "name": "bool",
  19947. "nodeType": "ElementaryTypeName",
  19948. "src": "13267:4:50",
  19949. "typeDescriptions": {
  19950. "typeIdentifier": "t_bool",
  19951. "typeString": "bool"
  19952. }
  19953. },
  19954. "visibility": "internal"
  19955. },
  19956. {
  19957. "constant": false,
  19958. "id": 8712,
  19959. "mutability": "mutable",
  19960. "name": "p2",
  19961. "nameLocation": "13281:2:50",
  19962. "nodeType": "VariableDeclaration",
  19963. "scope": 8726,
  19964. "src": "13276:7:50",
  19965. "stateVariable": false,
  19966. "storageLocation": "default",
  19967. "typeDescriptions": {
  19968. "typeIdentifier": "t_bool",
  19969. "typeString": "bool"
  19970. },
  19971. "typeName": {
  19972. "id": 8711,
  19973. "name": "bool",
  19974. "nodeType": "ElementaryTypeName",
  19975. "src": "13276:4:50",
  19976. "typeDescriptions": {
  19977. "typeIdentifier": "t_bool",
  19978. "typeString": "bool"
  19979. }
  19980. },
  19981. "visibility": "internal"
  19982. }
  19983. ],
  19984. "src": "13248:36:50"
  19985. },
  19986. "returnParameters": {
  19987. "id": 8714,
  19988. "nodeType": "ParameterList",
  19989. "parameters": [],
  19990. "src": "13299:0:50"
  19991. },
  19992. "scope": 15355,
  19993. "stateMutability": "pure",
  19994. "virtual": false,
  19995. "visibility": "internal"
  19996. },
  19997. {
  19998. "id": 8746,
  19999. "nodeType": "FunctionDefinition",
  20000. "src": "13399:163:50",
  20001. "nodes": [],
  20002. "body": {
  20003. "id": 8745,
  20004. "nodeType": "Block",
  20005. "src": "13465:97:50",
  20006. "nodes": [],
  20007. "statements": [
  20008. {
  20009. "expression": {
  20010. "arguments": [
  20011. {
  20012. "arguments": [
  20013. {
  20014. "hexValue": "6c6f6728737472696e672c626f6f6c2c6164647265737329",
  20015. "id": 8738,
  20016. "isConstant": false,
  20017. "isLValue": false,
  20018. "isPure": true,
  20019. "kind": "string",
  20020. "lValueRequested": false,
  20021. "nodeType": "Literal",
  20022. "src": "13515:26:50",
  20023. "typeDescriptions": {
  20024. "typeIdentifier": "t_stringliteral_932bbb385d479707ff387e3bb2d8968a7b4115e938510c531aa15b50507fc27f",
  20025. "typeString": "literal_string \"log(string,bool,address)\""
  20026. },
  20027. "value": "log(string,bool,address)"
  20028. },
  20029. {
  20030. "id": 8739,
  20031. "name": "p0",
  20032. "nodeType": "Identifier",
  20033. "overloadedDeclarations": [],
  20034. "referencedDeclaration": 8728,
  20035. "src": "13543:2:50",
  20036. "typeDescriptions": {
  20037. "typeIdentifier": "t_string_memory_ptr",
  20038. "typeString": "string memory"
  20039. }
  20040. },
  20041. {
  20042. "id": 8740,
  20043. "name": "p1",
  20044. "nodeType": "Identifier",
  20045. "overloadedDeclarations": [],
  20046. "referencedDeclaration": 8730,
  20047. "src": "13547:2:50",
  20048. "typeDescriptions": {
  20049. "typeIdentifier": "t_bool",
  20050. "typeString": "bool"
  20051. }
  20052. },
  20053. {
  20054. "id": 8741,
  20055. "name": "p2",
  20056. "nodeType": "Identifier",
  20057. "overloadedDeclarations": [],
  20058. "referencedDeclaration": 8732,
  20059. "src": "13551:2:50",
  20060. "typeDescriptions": {
  20061. "typeIdentifier": "t_address",
  20062. "typeString": "address"
  20063. }
  20064. }
  20065. ],
  20066. "expression": {
  20067. "argumentTypes": [
  20068. {
  20069. "typeIdentifier": "t_stringliteral_932bbb385d479707ff387e3bb2d8968a7b4115e938510c531aa15b50507fc27f",
  20070. "typeString": "literal_string \"log(string,bool,address)\""
  20071. },
  20072. {
  20073. "typeIdentifier": "t_string_memory_ptr",
  20074. "typeString": "string memory"
  20075. },
  20076. {
  20077. "typeIdentifier": "t_bool",
  20078. "typeString": "bool"
  20079. },
  20080. {
  20081. "typeIdentifier": "t_address",
  20082. "typeString": "address"
  20083. }
  20084. ],
  20085. "expression": {
  20086. "id": 8736,
  20087. "name": "abi",
  20088. "nodeType": "Identifier",
  20089. "overloadedDeclarations": [],
  20090. "referencedDeclaration": -1,
  20091. "src": "13491:3:50",
  20092. "typeDescriptions": {
  20093. "typeIdentifier": "t_magic_abi",
  20094. "typeString": "abi"
  20095. }
  20096. },
  20097. "id": 8737,
  20098. "isConstant": false,
  20099. "isLValue": false,
  20100. "isPure": true,
  20101. "lValueRequested": false,
  20102. "memberLocation": "13495:19:50",
  20103. "memberName": "encodeWithSignature",
  20104. "nodeType": "MemberAccess",
  20105. "src": "13491:23:50",
  20106. "typeDescriptions": {
  20107. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  20108. "typeString": "function (string memory) pure returns (bytes memory)"
  20109. }
  20110. },
  20111. "id": 8742,
  20112. "isConstant": false,
  20113. "isLValue": false,
  20114. "isPure": false,
  20115. "kind": "functionCall",
  20116. "lValueRequested": false,
  20117. "nameLocations": [],
  20118. "names": [],
  20119. "nodeType": "FunctionCall",
  20120. "src": "13491:63:50",
  20121. "tryCall": false,
  20122. "typeDescriptions": {
  20123. "typeIdentifier": "t_bytes_memory_ptr",
  20124. "typeString": "bytes memory"
  20125. }
  20126. }
  20127. ],
  20128. "expression": {
  20129. "argumentTypes": [
  20130. {
  20131. "typeIdentifier": "t_bytes_memory_ptr",
  20132. "typeString": "bytes memory"
  20133. }
  20134. ],
  20135. "id": 8735,
  20136. "name": "_sendLogPayload",
  20137. "nodeType": "Identifier",
  20138. "overloadedDeclarations": [],
  20139. "referencedDeclaration": 7315,
  20140. "src": "13475:15:50",
  20141. "typeDescriptions": {
  20142. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  20143. "typeString": "function (bytes memory) pure"
  20144. }
  20145. },
  20146. "id": 8743,
  20147. "isConstant": false,
  20148. "isLValue": false,
  20149. "isPure": false,
  20150. "kind": "functionCall",
  20151. "lValueRequested": false,
  20152. "nameLocations": [],
  20153. "names": [],
  20154. "nodeType": "FunctionCall",
  20155. "src": "13475:80:50",
  20156. "tryCall": false,
  20157. "typeDescriptions": {
  20158. "typeIdentifier": "t_tuple$__$",
  20159. "typeString": "tuple()"
  20160. }
  20161. },
  20162. "id": 8744,
  20163. "nodeType": "ExpressionStatement",
  20164. "src": "13475:80:50"
  20165. }
  20166. ]
  20167. },
  20168. "implemented": true,
  20169. "kind": "function",
  20170. "modifiers": [],
  20171. "name": "log",
  20172. "nameLocation": "13408:3:50",
  20173. "parameters": {
  20174. "id": 8733,
  20175. "nodeType": "ParameterList",
  20176. "parameters": [
  20177. {
  20178. "constant": false,
  20179. "id": 8728,
  20180. "mutability": "mutable",
  20181. "name": "p0",
  20182. "nameLocation": "13426:2:50",
  20183. "nodeType": "VariableDeclaration",
  20184. "scope": 8746,
  20185. "src": "13412:16:50",
  20186. "stateVariable": false,
  20187. "storageLocation": "memory",
  20188. "typeDescriptions": {
  20189. "typeIdentifier": "t_string_memory_ptr",
  20190. "typeString": "string"
  20191. },
  20192. "typeName": {
  20193. "id": 8727,
  20194. "name": "string",
  20195. "nodeType": "ElementaryTypeName",
  20196. "src": "13412:6:50",
  20197. "typeDescriptions": {
  20198. "typeIdentifier": "t_string_storage_ptr",
  20199. "typeString": "string"
  20200. }
  20201. },
  20202. "visibility": "internal"
  20203. },
  20204. {
  20205. "constant": false,
  20206. "id": 8730,
  20207. "mutability": "mutable",
  20208. "name": "p1",
  20209. "nameLocation": "13435:2:50",
  20210. "nodeType": "VariableDeclaration",
  20211. "scope": 8746,
  20212. "src": "13430:7:50",
  20213. "stateVariable": false,
  20214. "storageLocation": "default",
  20215. "typeDescriptions": {
  20216. "typeIdentifier": "t_bool",
  20217. "typeString": "bool"
  20218. },
  20219. "typeName": {
  20220. "id": 8729,
  20221. "name": "bool",
  20222. "nodeType": "ElementaryTypeName",
  20223. "src": "13430:4:50",
  20224. "typeDescriptions": {
  20225. "typeIdentifier": "t_bool",
  20226. "typeString": "bool"
  20227. }
  20228. },
  20229. "visibility": "internal"
  20230. },
  20231. {
  20232. "constant": false,
  20233. "id": 8732,
  20234. "mutability": "mutable",
  20235. "name": "p2",
  20236. "nameLocation": "13447:2:50",
  20237. "nodeType": "VariableDeclaration",
  20238. "scope": 8746,
  20239. "src": "13439:10:50",
  20240. "stateVariable": false,
  20241. "storageLocation": "default",
  20242. "typeDescriptions": {
  20243. "typeIdentifier": "t_address",
  20244. "typeString": "address"
  20245. },
  20246. "typeName": {
  20247. "id": 8731,
  20248. "name": "address",
  20249. "nodeType": "ElementaryTypeName",
  20250. "src": "13439:7:50",
  20251. "stateMutability": "nonpayable",
  20252. "typeDescriptions": {
  20253. "typeIdentifier": "t_address",
  20254. "typeString": "address"
  20255. }
  20256. },
  20257. "visibility": "internal"
  20258. }
  20259. ],
  20260. "src": "13411:39:50"
  20261. },
  20262. "returnParameters": {
  20263. "id": 8734,
  20264. "nodeType": "ParameterList",
  20265. "parameters": [],
  20266. "src": "13465:0:50"
  20267. },
  20268. "scope": 15355,
  20269. "stateMutability": "pure",
  20270. "virtual": false,
  20271. "visibility": "internal"
  20272. },
  20273. {
  20274. "id": 8766,
  20275. "nodeType": "FunctionDefinition",
  20276. "src": "13568:169:50",
  20277. "nodes": [],
  20278. "body": {
  20279. "id": 8765,
  20280. "nodeType": "Block",
  20281. "src": "13637:100:50",
  20282. "nodes": [],
  20283. "statements": [
  20284. {
  20285. "expression": {
  20286. "arguments": [
  20287. {
  20288. "arguments": [
  20289. {
  20290. "hexValue": "6c6f6728737472696e672c616464726573732c75696e7432353629",
  20291. "id": 8758,
  20292. "isConstant": false,
  20293. "isLValue": false,
  20294. "isPure": true,
  20295. "kind": "string",
  20296. "lValueRequested": false,
  20297. "nodeType": "Literal",
  20298. "src": "13687:29:50",
  20299. "typeDescriptions": {
  20300. "typeIdentifier": "t_stringliteral_0d26b92533630e908cb95a1b2ed09291c6aa98f8da7094a2325f8c86cd45e5e4",
  20301. "typeString": "literal_string \"log(string,address,uint256)\""
  20302. },
  20303. "value": "log(string,address,uint256)"
  20304. },
  20305. {
  20306. "id": 8759,
  20307. "name": "p0",
  20308. "nodeType": "Identifier",
  20309. "overloadedDeclarations": [],
  20310. "referencedDeclaration": 8748,
  20311. "src": "13718:2:50",
  20312. "typeDescriptions": {
  20313. "typeIdentifier": "t_string_memory_ptr",
  20314. "typeString": "string memory"
  20315. }
  20316. },
  20317. {
  20318. "id": 8760,
  20319. "name": "p1",
  20320. "nodeType": "Identifier",
  20321. "overloadedDeclarations": [],
  20322. "referencedDeclaration": 8750,
  20323. "src": "13722:2:50",
  20324. "typeDescriptions": {
  20325. "typeIdentifier": "t_address",
  20326. "typeString": "address"
  20327. }
  20328. },
  20329. {
  20330. "id": 8761,
  20331. "name": "p2",
  20332. "nodeType": "Identifier",
  20333. "overloadedDeclarations": [],
  20334. "referencedDeclaration": 8752,
  20335. "src": "13726:2:50",
  20336. "typeDescriptions": {
  20337. "typeIdentifier": "t_uint256",
  20338. "typeString": "uint256"
  20339. }
  20340. }
  20341. ],
  20342. "expression": {
  20343. "argumentTypes": [
  20344. {
  20345. "typeIdentifier": "t_stringliteral_0d26b92533630e908cb95a1b2ed09291c6aa98f8da7094a2325f8c86cd45e5e4",
  20346. "typeString": "literal_string \"log(string,address,uint256)\""
  20347. },
  20348. {
  20349. "typeIdentifier": "t_string_memory_ptr",
  20350. "typeString": "string memory"
  20351. },
  20352. {
  20353. "typeIdentifier": "t_address",
  20354. "typeString": "address"
  20355. },
  20356. {
  20357. "typeIdentifier": "t_uint256",
  20358. "typeString": "uint256"
  20359. }
  20360. ],
  20361. "expression": {
  20362. "id": 8756,
  20363. "name": "abi",
  20364. "nodeType": "Identifier",
  20365. "overloadedDeclarations": [],
  20366. "referencedDeclaration": -1,
  20367. "src": "13663:3:50",
  20368. "typeDescriptions": {
  20369. "typeIdentifier": "t_magic_abi",
  20370. "typeString": "abi"
  20371. }
  20372. },
  20373. "id": 8757,
  20374. "isConstant": false,
  20375. "isLValue": false,
  20376. "isPure": true,
  20377. "lValueRequested": false,
  20378. "memberLocation": "13667:19:50",
  20379. "memberName": "encodeWithSignature",
  20380. "nodeType": "MemberAccess",
  20381. "src": "13663:23:50",
  20382. "typeDescriptions": {
  20383. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  20384. "typeString": "function (string memory) pure returns (bytes memory)"
  20385. }
  20386. },
  20387. "id": 8762,
  20388. "isConstant": false,
  20389. "isLValue": false,
  20390. "isPure": false,
  20391. "kind": "functionCall",
  20392. "lValueRequested": false,
  20393. "nameLocations": [],
  20394. "names": [],
  20395. "nodeType": "FunctionCall",
  20396. "src": "13663:66:50",
  20397. "tryCall": false,
  20398. "typeDescriptions": {
  20399. "typeIdentifier": "t_bytes_memory_ptr",
  20400. "typeString": "bytes memory"
  20401. }
  20402. }
  20403. ],
  20404. "expression": {
  20405. "argumentTypes": [
  20406. {
  20407. "typeIdentifier": "t_bytes_memory_ptr",
  20408. "typeString": "bytes memory"
  20409. }
  20410. ],
  20411. "id": 8755,
  20412. "name": "_sendLogPayload",
  20413. "nodeType": "Identifier",
  20414. "overloadedDeclarations": [],
  20415. "referencedDeclaration": 7315,
  20416. "src": "13647:15:50",
  20417. "typeDescriptions": {
  20418. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  20419. "typeString": "function (bytes memory) pure"
  20420. }
  20421. },
  20422. "id": 8763,
  20423. "isConstant": false,
  20424. "isLValue": false,
  20425. "isPure": false,
  20426. "kind": "functionCall",
  20427. "lValueRequested": false,
  20428. "nameLocations": [],
  20429. "names": [],
  20430. "nodeType": "FunctionCall",
  20431. "src": "13647:83:50",
  20432. "tryCall": false,
  20433. "typeDescriptions": {
  20434. "typeIdentifier": "t_tuple$__$",
  20435. "typeString": "tuple()"
  20436. }
  20437. },
  20438. "id": 8764,
  20439. "nodeType": "ExpressionStatement",
  20440. "src": "13647:83:50"
  20441. }
  20442. ]
  20443. },
  20444. "implemented": true,
  20445. "kind": "function",
  20446. "modifiers": [],
  20447. "name": "log",
  20448. "nameLocation": "13577:3:50",
  20449. "parameters": {
  20450. "id": 8753,
  20451. "nodeType": "ParameterList",
  20452. "parameters": [
  20453. {
  20454. "constant": false,
  20455. "id": 8748,
  20456. "mutability": "mutable",
  20457. "name": "p0",
  20458. "nameLocation": "13595:2:50",
  20459. "nodeType": "VariableDeclaration",
  20460. "scope": 8766,
  20461. "src": "13581:16:50",
  20462. "stateVariable": false,
  20463. "storageLocation": "memory",
  20464. "typeDescriptions": {
  20465. "typeIdentifier": "t_string_memory_ptr",
  20466. "typeString": "string"
  20467. },
  20468. "typeName": {
  20469. "id": 8747,
  20470. "name": "string",
  20471. "nodeType": "ElementaryTypeName",
  20472. "src": "13581:6:50",
  20473. "typeDescriptions": {
  20474. "typeIdentifier": "t_string_storage_ptr",
  20475. "typeString": "string"
  20476. }
  20477. },
  20478. "visibility": "internal"
  20479. },
  20480. {
  20481. "constant": false,
  20482. "id": 8750,
  20483. "mutability": "mutable",
  20484. "name": "p1",
  20485. "nameLocation": "13607:2:50",
  20486. "nodeType": "VariableDeclaration",
  20487. "scope": 8766,
  20488. "src": "13599:10:50",
  20489. "stateVariable": false,
  20490. "storageLocation": "default",
  20491. "typeDescriptions": {
  20492. "typeIdentifier": "t_address",
  20493. "typeString": "address"
  20494. },
  20495. "typeName": {
  20496. "id": 8749,
  20497. "name": "address",
  20498. "nodeType": "ElementaryTypeName",
  20499. "src": "13599:7:50",
  20500. "stateMutability": "nonpayable",
  20501. "typeDescriptions": {
  20502. "typeIdentifier": "t_address",
  20503. "typeString": "address"
  20504. }
  20505. },
  20506. "visibility": "internal"
  20507. },
  20508. {
  20509. "constant": false,
  20510. "id": 8752,
  20511. "mutability": "mutable",
  20512. "name": "p2",
  20513. "nameLocation": "13619:2:50",
  20514. "nodeType": "VariableDeclaration",
  20515. "scope": 8766,
  20516. "src": "13611:10:50",
  20517. "stateVariable": false,
  20518. "storageLocation": "default",
  20519. "typeDescriptions": {
  20520. "typeIdentifier": "t_uint256",
  20521. "typeString": "uint256"
  20522. },
  20523. "typeName": {
  20524. "id": 8751,
  20525. "name": "uint256",
  20526. "nodeType": "ElementaryTypeName",
  20527. "src": "13611:7:50",
  20528. "typeDescriptions": {
  20529. "typeIdentifier": "t_uint256",
  20530. "typeString": "uint256"
  20531. }
  20532. },
  20533. "visibility": "internal"
  20534. }
  20535. ],
  20536. "src": "13580:42:50"
  20537. },
  20538. "returnParameters": {
  20539. "id": 8754,
  20540. "nodeType": "ParameterList",
  20541. "parameters": [],
  20542. "src": "13637:0:50"
  20543. },
  20544. "scope": 15355,
  20545. "stateMutability": "pure",
  20546. "virtual": false,
  20547. "visibility": "internal"
  20548. },
  20549. {
  20550. "id": 8786,
  20551. "nodeType": "FunctionDefinition",
  20552. "src": "13743:174:50",
  20553. "nodes": [],
  20554. "body": {
  20555. "id": 8785,
  20556. "nodeType": "Block",
  20557. "src": "13818:99:50",
  20558. "nodes": [],
  20559. "statements": [
  20560. {
  20561. "expression": {
  20562. "arguments": [
  20563. {
  20564. "arguments": [
  20565. {
  20566. "hexValue": "6c6f6728737472696e672c616464726573732c737472696e6729",
  20567. "id": 8778,
  20568. "isConstant": false,
  20569. "isLValue": false,
  20570. "isPure": true,
  20571. "kind": "string",
  20572. "lValueRequested": false,
  20573. "nodeType": "Literal",
  20574. "src": "13868:28:50",
  20575. "typeDescriptions": {
  20576. "typeIdentifier": "t_stringliteral_e0e9ad4f87059a51cce5555e129ca819f7e5d52e9c65a4e175882207ee47d634",
  20577. "typeString": "literal_string \"log(string,address,string)\""
  20578. },
  20579. "value": "log(string,address,string)"
  20580. },
  20581. {
  20582. "id": 8779,
  20583. "name": "p0",
  20584. "nodeType": "Identifier",
  20585. "overloadedDeclarations": [],
  20586. "referencedDeclaration": 8768,
  20587. "src": "13898:2:50",
  20588. "typeDescriptions": {
  20589. "typeIdentifier": "t_string_memory_ptr",
  20590. "typeString": "string memory"
  20591. }
  20592. },
  20593. {
  20594. "id": 8780,
  20595. "name": "p1",
  20596. "nodeType": "Identifier",
  20597. "overloadedDeclarations": [],
  20598. "referencedDeclaration": 8770,
  20599. "src": "13902:2:50",
  20600. "typeDescriptions": {
  20601. "typeIdentifier": "t_address",
  20602. "typeString": "address"
  20603. }
  20604. },
  20605. {
  20606. "id": 8781,
  20607. "name": "p2",
  20608. "nodeType": "Identifier",
  20609. "overloadedDeclarations": [],
  20610. "referencedDeclaration": 8772,
  20611. "src": "13906:2:50",
  20612. "typeDescriptions": {
  20613. "typeIdentifier": "t_string_memory_ptr",
  20614. "typeString": "string memory"
  20615. }
  20616. }
  20617. ],
  20618. "expression": {
  20619. "argumentTypes": [
  20620. {
  20621. "typeIdentifier": "t_stringliteral_e0e9ad4f87059a51cce5555e129ca819f7e5d52e9c65a4e175882207ee47d634",
  20622. "typeString": "literal_string \"log(string,address,string)\""
  20623. },
  20624. {
  20625. "typeIdentifier": "t_string_memory_ptr",
  20626. "typeString": "string memory"
  20627. },
  20628. {
  20629. "typeIdentifier": "t_address",
  20630. "typeString": "address"
  20631. },
  20632. {
  20633. "typeIdentifier": "t_string_memory_ptr",
  20634. "typeString": "string memory"
  20635. }
  20636. ],
  20637. "expression": {
  20638. "id": 8776,
  20639. "name": "abi",
  20640. "nodeType": "Identifier",
  20641. "overloadedDeclarations": [],
  20642. "referencedDeclaration": -1,
  20643. "src": "13844:3:50",
  20644. "typeDescriptions": {
  20645. "typeIdentifier": "t_magic_abi",
  20646. "typeString": "abi"
  20647. }
  20648. },
  20649. "id": 8777,
  20650. "isConstant": false,
  20651. "isLValue": false,
  20652. "isPure": true,
  20653. "lValueRequested": false,
  20654. "memberLocation": "13848:19:50",
  20655. "memberName": "encodeWithSignature",
  20656. "nodeType": "MemberAccess",
  20657. "src": "13844:23:50",
  20658. "typeDescriptions": {
  20659. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  20660. "typeString": "function (string memory) pure returns (bytes memory)"
  20661. }
  20662. },
  20663. "id": 8782,
  20664. "isConstant": false,
  20665. "isLValue": false,
  20666. "isPure": false,
  20667. "kind": "functionCall",
  20668. "lValueRequested": false,
  20669. "nameLocations": [],
  20670. "names": [],
  20671. "nodeType": "FunctionCall",
  20672. "src": "13844:65:50",
  20673. "tryCall": false,
  20674. "typeDescriptions": {
  20675. "typeIdentifier": "t_bytes_memory_ptr",
  20676. "typeString": "bytes memory"
  20677. }
  20678. }
  20679. ],
  20680. "expression": {
  20681. "argumentTypes": [
  20682. {
  20683. "typeIdentifier": "t_bytes_memory_ptr",
  20684. "typeString": "bytes memory"
  20685. }
  20686. ],
  20687. "id": 8775,
  20688. "name": "_sendLogPayload",
  20689. "nodeType": "Identifier",
  20690. "overloadedDeclarations": [],
  20691. "referencedDeclaration": 7315,
  20692. "src": "13828:15:50",
  20693. "typeDescriptions": {
  20694. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  20695. "typeString": "function (bytes memory) pure"
  20696. }
  20697. },
  20698. "id": 8783,
  20699. "isConstant": false,
  20700. "isLValue": false,
  20701. "isPure": false,
  20702. "kind": "functionCall",
  20703. "lValueRequested": false,
  20704. "nameLocations": [],
  20705. "names": [],
  20706. "nodeType": "FunctionCall",
  20707. "src": "13828:82:50",
  20708. "tryCall": false,
  20709. "typeDescriptions": {
  20710. "typeIdentifier": "t_tuple$__$",
  20711. "typeString": "tuple()"
  20712. }
  20713. },
  20714. "id": 8784,
  20715. "nodeType": "ExpressionStatement",
  20716. "src": "13828:82:50"
  20717. }
  20718. ]
  20719. },
  20720. "implemented": true,
  20721. "kind": "function",
  20722. "modifiers": [],
  20723. "name": "log",
  20724. "nameLocation": "13752:3:50",
  20725. "parameters": {
  20726. "id": 8773,
  20727. "nodeType": "ParameterList",
  20728. "parameters": [
  20729. {
  20730. "constant": false,
  20731. "id": 8768,
  20732. "mutability": "mutable",
  20733. "name": "p0",
  20734. "nameLocation": "13770:2:50",
  20735. "nodeType": "VariableDeclaration",
  20736. "scope": 8786,
  20737. "src": "13756:16:50",
  20738. "stateVariable": false,
  20739. "storageLocation": "memory",
  20740. "typeDescriptions": {
  20741. "typeIdentifier": "t_string_memory_ptr",
  20742. "typeString": "string"
  20743. },
  20744. "typeName": {
  20745. "id": 8767,
  20746. "name": "string",
  20747. "nodeType": "ElementaryTypeName",
  20748. "src": "13756:6:50",
  20749. "typeDescriptions": {
  20750. "typeIdentifier": "t_string_storage_ptr",
  20751. "typeString": "string"
  20752. }
  20753. },
  20754. "visibility": "internal"
  20755. },
  20756. {
  20757. "constant": false,
  20758. "id": 8770,
  20759. "mutability": "mutable",
  20760. "name": "p1",
  20761. "nameLocation": "13782:2:50",
  20762. "nodeType": "VariableDeclaration",
  20763. "scope": 8786,
  20764. "src": "13774:10:50",
  20765. "stateVariable": false,
  20766. "storageLocation": "default",
  20767. "typeDescriptions": {
  20768. "typeIdentifier": "t_address",
  20769. "typeString": "address"
  20770. },
  20771. "typeName": {
  20772. "id": 8769,
  20773. "name": "address",
  20774. "nodeType": "ElementaryTypeName",
  20775. "src": "13774:7:50",
  20776. "stateMutability": "nonpayable",
  20777. "typeDescriptions": {
  20778. "typeIdentifier": "t_address",
  20779. "typeString": "address"
  20780. }
  20781. },
  20782. "visibility": "internal"
  20783. },
  20784. {
  20785. "constant": false,
  20786. "id": 8772,
  20787. "mutability": "mutable",
  20788. "name": "p2",
  20789. "nameLocation": "13800:2:50",
  20790. "nodeType": "VariableDeclaration",
  20791. "scope": 8786,
  20792. "src": "13786:16:50",
  20793. "stateVariable": false,
  20794. "storageLocation": "memory",
  20795. "typeDescriptions": {
  20796. "typeIdentifier": "t_string_memory_ptr",
  20797. "typeString": "string"
  20798. },
  20799. "typeName": {
  20800. "id": 8771,
  20801. "name": "string",
  20802. "nodeType": "ElementaryTypeName",
  20803. "src": "13786:6:50",
  20804. "typeDescriptions": {
  20805. "typeIdentifier": "t_string_storage_ptr",
  20806. "typeString": "string"
  20807. }
  20808. },
  20809. "visibility": "internal"
  20810. }
  20811. ],
  20812. "src": "13755:48:50"
  20813. },
  20814. "returnParameters": {
  20815. "id": 8774,
  20816. "nodeType": "ParameterList",
  20817. "parameters": [],
  20818. "src": "13818:0:50"
  20819. },
  20820. "scope": 15355,
  20821. "stateMutability": "pure",
  20822. "virtual": false,
  20823. "visibility": "internal"
  20824. },
  20825. {
  20826. "id": 8806,
  20827. "nodeType": "FunctionDefinition",
  20828. "src": "13923:163:50",
  20829. "nodes": [],
  20830. "body": {
  20831. "id": 8805,
  20832. "nodeType": "Block",
  20833. "src": "13989:97:50",
  20834. "nodes": [],
  20835. "statements": [
  20836. {
  20837. "expression": {
  20838. "arguments": [
  20839. {
  20840. "arguments": [
  20841. {
  20842. "hexValue": "6c6f6728737472696e672c616464726573732c626f6f6c29",
  20843. "id": 8798,
  20844. "isConstant": false,
  20845. "isLValue": false,
  20846. "isPure": true,
  20847. "kind": "string",
  20848. "lValueRequested": false,
  20849. "nodeType": "Literal",
  20850. "src": "14039:26:50",
  20851. "typeDescriptions": {
  20852. "typeIdentifier": "t_stringliteral_c91d5ed4480e0b3323f998bcee9594aa98173c7324b015a4713a7c8429afd0b8",
  20853. "typeString": "literal_string \"log(string,address,bool)\""
  20854. },
  20855. "value": "log(string,address,bool)"
  20856. },
  20857. {
  20858. "id": 8799,
  20859. "name": "p0",
  20860. "nodeType": "Identifier",
  20861. "overloadedDeclarations": [],
  20862. "referencedDeclaration": 8788,
  20863. "src": "14067:2:50",
  20864. "typeDescriptions": {
  20865. "typeIdentifier": "t_string_memory_ptr",
  20866. "typeString": "string memory"
  20867. }
  20868. },
  20869. {
  20870. "id": 8800,
  20871. "name": "p1",
  20872. "nodeType": "Identifier",
  20873. "overloadedDeclarations": [],
  20874. "referencedDeclaration": 8790,
  20875. "src": "14071:2:50",
  20876. "typeDescriptions": {
  20877. "typeIdentifier": "t_address",
  20878. "typeString": "address"
  20879. }
  20880. },
  20881. {
  20882. "id": 8801,
  20883. "name": "p2",
  20884. "nodeType": "Identifier",
  20885. "overloadedDeclarations": [],
  20886. "referencedDeclaration": 8792,
  20887. "src": "14075:2:50",
  20888. "typeDescriptions": {
  20889. "typeIdentifier": "t_bool",
  20890. "typeString": "bool"
  20891. }
  20892. }
  20893. ],
  20894. "expression": {
  20895. "argumentTypes": [
  20896. {
  20897. "typeIdentifier": "t_stringliteral_c91d5ed4480e0b3323f998bcee9594aa98173c7324b015a4713a7c8429afd0b8",
  20898. "typeString": "literal_string \"log(string,address,bool)\""
  20899. },
  20900. {
  20901. "typeIdentifier": "t_string_memory_ptr",
  20902. "typeString": "string memory"
  20903. },
  20904. {
  20905. "typeIdentifier": "t_address",
  20906. "typeString": "address"
  20907. },
  20908. {
  20909. "typeIdentifier": "t_bool",
  20910. "typeString": "bool"
  20911. }
  20912. ],
  20913. "expression": {
  20914. "id": 8796,
  20915. "name": "abi",
  20916. "nodeType": "Identifier",
  20917. "overloadedDeclarations": [],
  20918. "referencedDeclaration": -1,
  20919. "src": "14015:3:50",
  20920. "typeDescriptions": {
  20921. "typeIdentifier": "t_magic_abi",
  20922. "typeString": "abi"
  20923. }
  20924. },
  20925. "id": 8797,
  20926. "isConstant": false,
  20927. "isLValue": false,
  20928. "isPure": true,
  20929. "lValueRequested": false,
  20930. "memberLocation": "14019:19:50",
  20931. "memberName": "encodeWithSignature",
  20932. "nodeType": "MemberAccess",
  20933. "src": "14015:23:50",
  20934. "typeDescriptions": {
  20935. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  20936. "typeString": "function (string memory) pure returns (bytes memory)"
  20937. }
  20938. },
  20939. "id": 8802,
  20940. "isConstant": false,
  20941. "isLValue": false,
  20942. "isPure": false,
  20943. "kind": "functionCall",
  20944. "lValueRequested": false,
  20945. "nameLocations": [],
  20946. "names": [],
  20947. "nodeType": "FunctionCall",
  20948. "src": "14015:63:50",
  20949. "tryCall": false,
  20950. "typeDescriptions": {
  20951. "typeIdentifier": "t_bytes_memory_ptr",
  20952. "typeString": "bytes memory"
  20953. }
  20954. }
  20955. ],
  20956. "expression": {
  20957. "argumentTypes": [
  20958. {
  20959. "typeIdentifier": "t_bytes_memory_ptr",
  20960. "typeString": "bytes memory"
  20961. }
  20962. ],
  20963. "id": 8795,
  20964. "name": "_sendLogPayload",
  20965. "nodeType": "Identifier",
  20966. "overloadedDeclarations": [],
  20967. "referencedDeclaration": 7315,
  20968. "src": "13999:15:50",
  20969. "typeDescriptions": {
  20970. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  20971. "typeString": "function (bytes memory) pure"
  20972. }
  20973. },
  20974. "id": 8803,
  20975. "isConstant": false,
  20976. "isLValue": false,
  20977. "isPure": false,
  20978. "kind": "functionCall",
  20979. "lValueRequested": false,
  20980. "nameLocations": [],
  20981. "names": [],
  20982. "nodeType": "FunctionCall",
  20983. "src": "13999:80:50",
  20984. "tryCall": false,
  20985. "typeDescriptions": {
  20986. "typeIdentifier": "t_tuple$__$",
  20987. "typeString": "tuple()"
  20988. }
  20989. },
  20990. "id": 8804,
  20991. "nodeType": "ExpressionStatement",
  20992. "src": "13999:80:50"
  20993. }
  20994. ]
  20995. },
  20996. "implemented": true,
  20997. "kind": "function",
  20998. "modifiers": [],
  20999. "name": "log",
  21000. "nameLocation": "13932:3:50",
  21001. "parameters": {
  21002. "id": 8793,
  21003. "nodeType": "ParameterList",
  21004. "parameters": [
  21005. {
  21006. "constant": false,
  21007. "id": 8788,
  21008. "mutability": "mutable",
  21009. "name": "p0",
  21010. "nameLocation": "13950:2:50",
  21011. "nodeType": "VariableDeclaration",
  21012. "scope": 8806,
  21013. "src": "13936:16:50",
  21014. "stateVariable": false,
  21015. "storageLocation": "memory",
  21016. "typeDescriptions": {
  21017. "typeIdentifier": "t_string_memory_ptr",
  21018. "typeString": "string"
  21019. },
  21020. "typeName": {
  21021. "id": 8787,
  21022. "name": "string",
  21023. "nodeType": "ElementaryTypeName",
  21024. "src": "13936:6:50",
  21025. "typeDescriptions": {
  21026. "typeIdentifier": "t_string_storage_ptr",
  21027. "typeString": "string"
  21028. }
  21029. },
  21030. "visibility": "internal"
  21031. },
  21032. {
  21033. "constant": false,
  21034. "id": 8790,
  21035. "mutability": "mutable",
  21036. "name": "p1",
  21037. "nameLocation": "13962:2:50",
  21038. "nodeType": "VariableDeclaration",
  21039. "scope": 8806,
  21040. "src": "13954:10:50",
  21041. "stateVariable": false,
  21042. "storageLocation": "default",
  21043. "typeDescriptions": {
  21044. "typeIdentifier": "t_address",
  21045. "typeString": "address"
  21046. },
  21047. "typeName": {
  21048. "id": 8789,
  21049. "name": "address",
  21050. "nodeType": "ElementaryTypeName",
  21051. "src": "13954:7:50",
  21052. "stateMutability": "nonpayable",
  21053. "typeDescriptions": {
  21054. "typeIdentifier": "t_address",
  21055. "typeString": "address"
  21056. }
  21057. },
  21058. "visibility": "internal"
  21059. },
  21060. {
  21061. "constant": false,
  21062. "id": 8792,
  21063. "mutability": "mutable",
  21064. "name": "p2",
  21065. "nameLocation": "13971:2:50",
  21066. "nodeType": "VariableDeclaration",
  21067. "scope": 8806,
  21068. "src": "13966:7:50",
  21069. "stateVariable": false,
  21070. "storageLocation": "default",
  21071. "typeDescriptions": {
  21072. "typeIdentifier": "t_bool",
  21073. "typeString": "bool"
  21074. },
  21075. "typeName": {
  21076. "id": 8791,
  21077. "name": "bool",
  21078. "nodeType": "ElementaryTypeName",
  21079. "src": "13966:4:50",
  21080. "typeDescriptions": {
  21081. "typeIdentifier": "t_bool",
  21082. "typeString": "bool"
  21083. }
  21084. },
  21085. "visibility": "internal"
  21086. }
  21087. ],
  21088. "src": "13935:39:50"
  21089. },
  21090. "returnParameters": {
  21091. "id": 8794,
  21092. "nodeType": "ParameterList",
  21093. "parameters": [],
  21094. "src": "13989:0:50"
  21095. },
  21096. "scope": 15355,
  21097. "stateMutability": "pure",
  21098. "virtual": false,
  21099. "visibility": "internal"
  21100. },
  21101. {
  21102. "id": 8826,
  21103. "nodeType": "FunctionDefinition",
  21104. "src": "14092:169:50",
  21105. "nodes": [],
  21106. "body": {
  21107. "id": 8825,
  21108. "nodeType": "Block",
  21109. "src": "14161:100:50",
  21110. "nodes": [],
  21111. "statements": [
  21112. {
  21113. "expression": {
  21114. "arguments": [
  21115. {
  21116. "arguments": [
  21117. {
  21118. "hexValue": "6c6f6728737472696e672c616464726573732c6164647265737329",
  21119. "id": 8818,
  21120. "isConstant": false,
  21121. "isLValue": false,
  21122. "isPure": true,
  21123. "kind": "string",
  21124. "lValueRequested": false,
  21125. "nodeType": "Literal",
  21126. "src": "14211:29:50",
  21127. "typeDescriptions": {
  21128. "typeIdentifier": "t_stringliteral_fcec75e0902c9d61eded5d9f2eed16d5b0f2cd255fe6fa77733f59e1063823e8",
  21129. "typeString": "literal_string \"log(string,address,address)\""
  21130. },
  21131. "value": "log(string,address,address)"
  21132. },
  21133. {
  21134. "id": 8819,
  21135. "name": "p0",
  21136. "nodeType": "Identifier",
  21137. "overloadedDeclarations": [],
  21138. "referencedDeclaration": 8808,
  21139. "src": "14242:2:50",
  21140. "typeDescriptions": {
  21141. "typeIdentifier": "t_string_memory_ptr",
  21142. "typeString": "string memory"
  21143. }
  21144. },
  21145. {
  21146. "id": 8820,
  21147. "name": "p1",
  21148. "nodeType": "Identifier",
  21149. "overloadedDeclarations": [],
  21150. "referencedDeclaration": 8810,
  21151. "src": "14246:2:50",
  21152. "typeDescriptions": {
  21153. "typeIdentifier": "t_address",
  21154. "typeString": "address"
  21155. }
  21156. },
  21157. {
  21158. "id": 8821,
  21159. "name": "p2",
  21160. "nodeType": "Identifier",
  21161. "overloadedDeclarations": [],
  21162. "referencedDeclaration": 8812,
  21163. "src": "14250:2:50",
  21164. "typeDescriptions": {
  21165. "typeIdentifier": "t_address",
  21166. "typeString": "address"
  21167. }
  21168. }
  21169. ],
  21170. "expression": {
  21171. "argumentTypes": [
  21172. {
  21173. "typeIdentifier": "t_stringliteral_fcec75e0902c9d61eded5d9f2eed16d5b0f2cd255fe6fa77733f59e1063823e8",
  21174. "typeString": "literal_string \"log(string,address,address)\""
  21175. },
  21176. {
  21177. "typeIdentifier": "t_string_memory_ptr",
  21178. "typeString": "string memory"
  21179. },
  21180. {
  21181. "typeIdentifier": "t_address",
  21182. "typeString": "address"
  21183. },
  21184. {
  21185. "typeIdentifier": "t_address",
  21186. "typeString": "address"
  21187. }
  21188. ],
  21189. "expression": {
  21190. "id": 8816,
  21191. "name": "abi",
  21192. "nodeType": "Identifier",
  21193. "overloadedDeclarations": [],
  21194. "referencedDeclaration": -1,
  21195. "src": "14187:3:50",
  21196. "typeDescriptions": {
  21197. "typeIdentifier": "t_magic_abi",
  21198. "typeString": "abi"
  21199. }
  21200. },
  21201. "id": 8817,
  21202. "isConstant": false,
  21203. "isLValue": false,
  21204. "isPure": true,
  21205. "lValueRequested": false,
  21206. "memberLocation": "14191:19:50",
  21207. "memberName": "encodeWithSignature",
  21208. "nodeType": "MemberAccess",
  21209. "src": "14187:23:50",
  21210. "typeDescriptions": {
  21211. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  21212. "typeString": "function (string memory) pure returns (bytes memory)"
  21213. }
  21214. },
  21215. "id": 8822,
  21216. "isConstant": false,
  21217. "isLValue": false,
  21218. "isPure": false,
  21219. "kind": "functionCall",
  21220. "lValueRequested": false,
  21221. "nameLocations": [],
  21222. "names": [],
  21223. "nodeType": "FunctionCall",
  21224. "src": "14187:66:50",
  21225. "tryCall": false,
  21226. "typeDescriptions": {
  21227. "typeIdentifier": "t_bytes_memory_ptr",
  21228. "typeString": "bytes memory"
  21229. }
  21230. }
  21231. ],
  21232. "expression": {
  21233. "argumentTypes": [
  21234. {
  21235. "typeIdentifier": "t_bytes_memory_ptr",
  21236. "typeString": "bytes memory"
  21237. }
  21238. ],
  21239. "id": 8815,
  21240. "name": "_sendLogPayload",
  21241. "nodeType": "Identifier",
  21242. "overloadedDeclarations": [],
  21243. "referencedDeclaration": 7315,
  21244. "src": "14171:15:50",
  21245. "typeDescriptions": {
  21246. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  21247. "typeString": "function (bytes memory) pure"
  21248. }
  21249. },
  21250. "id": 8823,
  21251. "isConstant": false,
  21252. "isLValue": false,
  21253. "isPure": false,
  21254. "kind": "functionCall",
  21255. "lValueRequested": false,
  21256. "nameLocations": [],
  21257. "names": [],
  21258. "nodeType": "FunctionCall",
  21259. "src": "14171:83:50",
  21260. "tryCall": false,
  21261. "typeDescriptions": {
  21262. "typeIdentifier": "t_tuple$__$",
  21263. "typeString": "tuple()"
  21264. }
  21265. },
  21266. "id": 8824,
  21267. "nodeType": "ExpressionStatement",
  21268. "src": "14171:83:50"
  21269. }
  21270. ]
  21271. },
  21272. "implemented": true,
  21273. "kind": "function",
  21274. "modifiers": [],
  21275. "name": "log",
  21276. "nameLocation": "14101:3:50",
  21277. "parameters": {
  21278. "id": 8813,
  21279. "nodeType": "ParameterList",
  21280. "parameters": [
  21281. {
  21282. "constant": false,
  21283. "id": 8808,
  21284. "mutability": "mutable",
  21285. "name": "p0",
  21286. "nameLocation": "14119:2:50",
  21287. "nodeType": "VariableDeclaration",
  21288. "scope": 8826,
  21289. "src": "14105:16:50",
  21290. "stateVariable": false,
  21291. "storageLocation": "memory",
  21292. "typeDescriptions": {
  21293. "typeIdentifier": "t_string_memory_ptr",
  21294. "typeString": "string"
  21295. },
  21296. "typeName": {
  21297. "id": 8807,
  21298. "name": "string",
  21299. "nodeType": "ElementaryTypeName",
  21300. "src": "14105:6:50",
  21301. "typeDescriptions": {
  21302. "typeIdentifier": "t_string_storage_ptr",
  21303. "typeString": "string"
  21304. }
  21305. },
  21306. "visibility": "internal"
  21307. },
  21308. {
  21309. "constant": false,
  21310. "id": 8810,
  21311. "mutability": "mutable",
  21312. "name": "p1",
  21313. "nameLocation": "14131:2:50",
  21314. "nodeType": "VariableDeclaration",
  21315. "scope": 8826,
  21316. "src": "14123:10:50",
  21317. "stateVariable": false,
  21318. "storageLocation": "default",
  21319. "typeDescriptions": {
  21320. "typeIdentifier": "t_address",
  21321. "typeString": "address"
  21322. },
  21323. "typeName": {
  21324. "id": 8809,
  21325. "name": "address",
  21326. "nodeType": "ElementaryTypeName",
  21327. "src": "14123:7:50",
  21328. "stateMutability": "nonpayable",
  21329. "typeDescriptions": {
  21330. "typeIdentifier": "t_address",
  21331. "typeString": "address"
  21332. }
  21333. },
  21334. "visibility": "internal"
  21335. },
  21336. {
  21337. "constant": false,
  21338. "id": 8812,
  21339. "mutability": "mutable",
  21340. "name": "p2",
  21341. "nameLocation": "14143:2:50",
  21342. "nodeType": "VariableDeclaration",
  21343. "scope": 8826,
  21344. "src": "14135:10:50",
  21345. "stateVariable": false,
  21346. "storageLocation": "default",
  21347. "typeDescriptions": {
  21348. "typeIdentifier": "t_address",
  21349. "typeString": "address"
  21350. },
  21351. "typeName": {
  21352. "id": 8811,
  21353. "name": "address",
  21354. "nodeType": "ElementaryTypeName",
  21355. "src": "14135:7:50",
  21356. "stateMutability": "nonpayable",
  21357. "typeDescriptions": {
  21358. "typeIdentifier": "t_address",
  21359. "typeString": "address"
  21360. }
  21361. },
  21362. "visibility": "internal"
  21363. }
  21364. ],
  21365. "src": "14104:42:50"
  21366. },
  21367. "returnParameters": {
  21368. "id": 8814,
  21369. "nodeType": "ParameterList",
  21370. "parameters": [],
  21371. "src": "14161:0:50"
  21372. },
  21373. "scope": 15355,
  21374. "stateMutability": "pure",
  21375. "virtual": false,
  21376. "visibility": "internal"
  21377. },
  21378. {
  21379. "id": 8846,
  21380. "nodeType": "FunctionDefinition",
  21381. "src": "14267:158:50",
  21382. "nodes": [],
  21383. "body": {
  21384. "id": 8845,
  21385. "nodeType": "Block",
  21386. "src": "14327:98:50",
  21387. "nodes": [],
  21388. "statements": [
  21389. {
  21390. "expression": {
  21391. "arguments": [
  21392. {
  21393. "arguments": [
  21394. {
  21395. "hexValue": "6c6f6728626f6f6c2c75696e743235362c75696e7432353629",
  21396. "id": 8838,
  21397. "isConstant": false,
  21398. "isLValue": false,
  21399. "isPure": true,
  21400. "kind": "string",
  21401. "lValueRequested": false,
  21402. "nodeType": "Literal",
  21403. "src": "14377:27:50",
  21404. "typeDescriptions": {
  21405. "typeIdentifier": "t_stringliteral_371033677da72158a60d6dc6ec9fa4683ad37ad854670ba3fcf814603cf8bb28",
  21406. "typeString": "literal_string \"log(bool,uint256,uint256)\""
  21407. },
  21408. "value": "log(bool,uint256,uint256)"
  21409. },
  21410. {
  21411. "id": 8839,
  21412. "name": "p0",
  21413. "nodeType": "Identifier",
  21414. "overloadedDeclarations": [],
  21415. "referencedDeclaration": 8828,
  21416. "src": "14406:2:50",
  21417. "typeDescriptions": {
  21418. "typeIdentifier": "t_bool",
  21419. "typeString": "bool"
  21420. }
  21421. },
  21422. {
  21423. "id": 8840,
  21424. "name": "p1",
  21425. "nodeType": "Identifier",
  21426. "overloadedDeclarations": [],
  21427. "referencedDeclaration": 8830,
  21428. "src": "14410:2:50",
  21429. "typeDescriptions": {
  21430. "typeIdentifier": "t_uint256",
  21431. "typeString": "uint256"
  21432. }
  21433. },
  21434. {
  21435. "id": 8841,
  21436. "name": "p2",
  21437. "nodeType": "Identifier",
  21438. "overloadedDeclarations": [],
  21439. "referencedDeclaration": 8832,
  21440. "src": "14414:2:50",
  21441. "typeDescriptions": {
  21442. "typeIdentifier": "t_uint256",
  21443. "typeString": "uint256"
  21444. }
  21445. }
  21446. ],
  21447. "expression": {
  21448. "argumentTypes": [
  21449. {
  21450. "typeIdentifier": "t_stringliteral_371033677da72158a60d6dc6ec9fa4683ad37ad854670ba3fcf814603cf8bb28",
  21451. "typeString": "literal_string \"log(bool,uint256,uint256)\""
  21452. },
  21453. {
  21454. "typeIdentifier": "t_bool",
  21455. "typeString": "bool"
  21456. },
  21457. {
  21458. "typeIdentifier": "t_uint256",
  21459. "typeString": "uint256"
  21460. },
  21461. {
  21462. "typeIdentifier": "t_uint256",
  21463. "typeString": "uint256"
  21464. }
  21465. ],
  21466. "expression": {
  21467. "id": 8836,
  21468. "name": "abi",
  21469. "nodeType": "Identifier",
  21470. "overloadedDeclarations": [],
  21471. "referencedDeclaration": -1,
  21472. "src": "14353:3:50",
  21473. "typeDescriptions": {
  21474. "typeIdentifier": "t_magic_abi",
  21475. "typeString": "abi"
  21476. }
  21477. },
  21478. "id": 8837,
  21479. "isConstant": false,
  21480. "isLValue": false,
  21481. "isPure": true,
  21482. "lValueRequested": false,
  21483. "memberLocation": "14357:19:50",
  21484. "memberName": "encodeWithSignature",
  21485. "nodeType": "MemberAccess",
  21486. "src": "14353:23:50",
  21487. "typeDescriptions": {
  21488. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  21489. "typeString": "function (string memory) pure returns (bytes memory)"
  21490. }
  21491. },
  21492. "id": 8842,
  21493. "isConstant": false,
  21494. "isLValue": false,
  21495. "isPure": false,
  21496. "kind": "functionCall",
  21497. "lValueRequested": false,
  21498. "nameLocations": [],
  21499. "names": [],
  21500. "nodeType": "FunctionCall",
  21501. "src": "14353:64:50",
  21502. "tryCall": false,
  21503. "typeDescriptions": {
  21504. "typeIdentifier": "t_bytes_memory_ptr",
  21505. "typeString": "bytes memory"
  21506. }
  21507. }
  21508. ],
  21509. "expression": {
  21510. "argumentTypes": [
  21511. {
  21512. "typeIdentifier": "t_bytes_memory_ptr",
  21513. "typeString": "bytes memory"
  21514. }
  21515. ],
  21516. "id": 8835,
  21517. "name": "_sendLogPayload",
  21518. "nodeType": "Identifier",
  21519. "overloadedDeclarations": [],
  21520. "referencedDeclaration": 7315,
  21521. "src": "14337:15:50",
  21522. "typeDescriptions": {
  21523. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  21524. "typeString": "function (bytes memory) pure"
  21525. }
  21526. },
  21527. "id": 8843,
  21528. "isConstant": false,
  21529. "isLValue": false,
  21530. "isPure": false,
  21531. "kind": "functionCall",
  21532. "lValueRequested": false,
  21533. "nameLocations": [],
  21534. "names": [],
  21535. "nodeType": "FunctionCall",
  21536. "src": "14337:81:50",
  21537. "tryCall": false,
  21538. "typeDescriptions": {
  21539. "typeIdentifier": "t_tuple$__$",
  21540. "typeString": "tuple()"
  21541. }
  21542. },
  21543. "id": 8844,
  21544. "nodeType": "ExpressionStatement",
  21545. "src": "14337:81:50"
  21546. }
  21547. ]
  21548. },
  21549. "implemented": true,
  21550. "kind": "function",
  21551. "modifiers": [],
  21552. "name": "log",
  21553. "nameLocation": "14276:3:50",
  21554. "parameters": {
  21555. "id": 8833,
  21556. "nodeType": "ParameterList",
  21557. "parameters": [
  21558. {
  21559. "constant": false,
  21560. "id": 8828,
  21561. "mutability": "mutable",
  21562. "name": "p0",
  21563. "nameLocation": "14285:2:50",
  21564. "nodeType": "VariableDeclaration",
  21565. "scope": 8846,
  21566. "src": "14280:7:50",
  21567. "stateVariable": false,
  21568. "storageLocation": "default",
  21569. "typeDescriptions": {
  21570. "typeIdentifier": "t_bool",
  21571. "typeString": "bool"
  21572. },
  21573. "typeName": {
  21574. "id": 8827,
  21575. "name": "bool",
  21576. "nodeType": "ElementaryTypeName",
  21577. "src": "14280:4:50",
  21578. "typeDescriptions": {
  21579. "typeIdentifier": "t_bool",
  21580. "typeString": "bool"
  21581. }
  21582. },
  21583. "visibility": "internal"
  21584. },
  21585. {
  21586. "constant": false,
  21587. "id": 8830,
  21588. "mutability": "mutable",
  21589. "name": "p1",
  21590. "nameLocation": "14297:2:50",
  21591. "nodeType": "VariableDeclaration",
  21592. "scope": 8846,
  21593. "src": "14289:10:50",
  21594. "stateVariable": false,
  21595. "storageLocation": "default",
  21596. "typeDescriptions": {
  21597. "typeIdentifier": "t_uint256",
  21598. "typeString": "uint256"
  21599. },
  21600. "typeName": {
  21601. "id": 8829,
  21602. "name": "uint256",
  21603. "nodeType": "ElementaryTypeName",
  21604. "src": "14289:7:50",
  21605. "typeDescriptions": {
  21606. "typeIdentifier": "t_uint256",
  21607. "typeString": "uint256"
  21608. }
  21609. },
  21610. "visibility": "internal"
  21611. },
  21612. {
  21613. "constant": false,
  21614. "id": 8832,
  21615. "mutability": "mutable",
  21616. "name": "p2",
  21617. "nameLocation": "14309:2:50",
  21618. "nodeType": "VariableDeclaration",
  21619. "scope": 8846,
  21620. "src": "14301:10:50",
  21621. "stateVariable": false,
  21622. "storageLocation": "default",
  21623. "typeDescriptions": {
  21624. "typeIdentifier": "t_uint256",
  21625. "typeString": "uint256"
  21626. },
  21627. "typeName": {
  21628. "id": 8831,
  21629. "name": "uint256",
  21630. "nodeType": "ElementaryTypeName",
  21631. "src": "14301:7:50",
  21632. "typeDescriptions": {
  21633. "typeIdentifier": "t_uint256",
  21634. "typeString": "uint256"
  21635. }
  21636. },
  21637. "visibility": "internal"
  21638. }
  21639. ],
  21640. "src": "14279:33:50"
  21641. },
  21642. "returnParameters": {
  21643. "id": 8834,
  21644. "nodeType": "ParameterList",
  21645. "parameters": [],
  21646. "src": "14327:0:50"
  21647. },
  21648. "scope": 15355,
  21649. "stateMutability": "pure",
  21650. "virtual": false,
  21651. "visibility": "internal"
  21652. },
  21653. {
  21654. "id": 8866,
  21655. "nodeType": "FunctionDefinition",
  21656. "src": "14431:163:50",
  21657. "nodes": [],
  21658. "body": {
  21659. "id": 8865,
  21660. "nodeType": "Block",
  21661. "src": "14497:97:50",
  21662. "nodes": [],
  21663. "statements": [
  21664. {
  21665. "expression": {
  21666. "arguments": [
  21667. {
  21668. "arguments": [
  21669. {
  21670. "hexValue": "6c6f6728626f6f6c2c75696e743235362c737472696e6729",
  21671. "id": 8858,
  21672. "isConstant": false,
  21673. "isLValue": false,
  21674. "isPure": true,
  21675. "kind": "string",
  21676. "lValueRequested": false,
  21677. "nodeType": "Literal",
  21678. "src": "14547:26:50",
  21679. "typeDescriptions": {
  21680. "typeIdentifier": "t_stringliteral_c3fc3970359ec5bcd4a409af812c658e77b7983043c9e7299db566fbd8131447",
  21681. "typeString": "literal_string \"log(bool,uint256,string)\""
  21682. },
  21683. "value": "log(bool,uint256,string)"
  21684. },
  21685. {
  21686. "id": 8859,
  21687. "name": "p0",
  21688. "nodeType": "Identifier",
  21689. "overloadedDeclarations": [],
  21690. "referencedDeclaration": 8848,
  21691. "src": "14575:2:50",
  21692. "typeDescriptions": {
  21693. "typeIdentifier": "t_bool",
  21694. "typeString": "bool"
  21695. }
  21696. },
  21697. {
  21698. "id": 8860,
  21699. "name": "p1",
  21700. "nodeType": "Identifier",
  21701. "overloadedDeclarations": [],
  21702. "referencedDeclaration": 8850,
  21703. "src": "14579:2:50",
  21704. "typeDescriptions": {
  21705. "typeIdentifier": "t_uint256",
  21706. "typeString": "uint256"
  21707. }
  21708. },
  21709. {
  21710. "id": 8861,
  21711. "name": "p2",
  21712. "nodeType": "Identifier",
  21713. "overloadedDeclarations": [],
  21714. "referencedDeclaration": 8852,
  21715. "src": "14583:2:50",
  21716. "typeDescriptions": {
  21717. "typeIdentifier": "t_string_memory_ptr",
  21718. "typeString": "string memory"
  21719. }
  21720. }
  21721. ],
  21722. "expression": {
  21723. "argumentTypes": [
  21724. {
  21725. "typeIdentifier": "t_stringliteral_c3fc3970359ec5bcd4a409af812c658e77b7983043c9e7299db566fbd8131447",
  21726. "typeString": "literal_string \"log(bool,uint256,string)\""
  21727. },
  21728. {
  21729. "typeIdentifier": "t_bool",
  21730. "typeString": "bool"
  21731. },
  21732. {
  21733. "typeIdentifier": "t_uint256",
  21734. "typeString": "uint256"
  21735. },
  21736. {
  21737. "typeIdentifier": "t_string_memory_ptr",
  21738. "typeString": "string memory"
  21739. }
  21740. ],
  21741. "expression": {
  21742. "id": 8856,
  21743. "name": "abi",
  21744. "nodeType": "Identifier",
  21745. "overloadedDeclarations": [],
  21746. "referencedDeclaration": -1,
  21747. "src": "14523:3:50",
  21748. "typeDescriptions": {
  21749. "typeIdentifier": "t_magic_abi",
  21750. "typeString": "abi"
  21751. }
  21752. },
  21753. "id": 8857,
  21754. "isConstant": false,
  21755. "isLValue": false,
  21756. "isPure": true,
  21757. "lValueRequested": false,
  21758. "memberLocation": "14527:19:50",
  21759. "memberName": "encodeWithSignature",
  21760. "nodeType": "MemberAccess",
  21761. "src": "14523:23:50",
  21762. "typeDescriptions": {
  21763. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  21764. "typeString": "function (string memory) pure returns (bytes memory)"
  21765. }
  21766. },
  21767. "id": 8862,
  21768. "isConstant": false,
  21769. "isLValue": false,
  21770. "isPure": false,
  21771. "kind": "functionCall",
  21772. "lValueRequested": false,
  21773. "nameLocations": [],
  21774. "names": [],
  21775. "nodeType": "FunctionCall",
  21776. "src": "14523:63:50",
  21777. "tryCall": false,
  21778. "typeDescriptions": {
  21779. "typeIdentifier": "t_bytes_memory_ptr",
  21780. "typeString": "bytes memory"
  21781. }
  21782. }
  21783. ],
  21784. "expression": {
  21785. "argumentTypes": [
  21786. {
  21787. "typeIdentifier": "t_bytes_memory_ptr",
  21788. "typeString": "bytes memory"
  21789. }
  21790. ],
  21791. "id": 8855,
  21792. "name": "_sendLogPayload",
  21793. "nodeType": "Identifier",
  21794. "overloadedDeclarations": [],
  21795. "referencedDeclaration": 7315,
  21796. "src": "14507:15:50",
  21797. "typeDescriptions": {
  21798. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  21799. "typeString": "function (bytes memory) pure"
  21800. }
  21801. },
  21802. "id": 8863,
  21803. "isConstant": false,
  21804. "isLValue": false,
  21805. "isPure": false,
  21806. "kind": "functionCall",
  21807. "lValueRequested": false,
  21808. "nameLocations": [],
  21809. "names": [],
  21810. "nodeType": "FunctionCall",
  21811. "src": "14507:80:50",
  21812. "tryCall": false,
  21813. "typeDescriptions": {
  21814. "typeIdentifier": "t_tuple$__$",
  21815. "typeString": "tuple()"
  21816. }
  21817. },
  21818. "id": 8864,
  21819. "nodeType": "ExpressionStatement",
  21820. "src": "14507:80:50"
  21821. }
  21822. ]
  21823. },
  21824. "implemented": true,
  21825. "kind": "function",
  21826. "modifiers": [],
  21827. "name": "log",
  21828. "nameLocation": "14440:3:50",
  21829. "parameters": {
  21830. "id": 8853,
  21831. "nodeType": "ParameterList",
  21832. "parameters": [
  21833. {
  21834. "constant": false,
  21835. "id": 8848,
  21836. "mutability": "mutable",
  21837. "name": "p0",
  21838. "nameLocation": "14449:2:50",
  21839. "nodeType": "VariableDeclaration",
  21840. "scope": 8866,
  21841. "src": "14444:7:50",
  21842. "stateVariable": false,
  21843. "storageLocation": "default",
  21844. "typeDescriptions": {
  21845. "typeIdentifier": "t_bool",
  21846. "typeString": "bool"
  21847. },
  21848. "typeName": {
  21849. "id": 8847,
  21850. "name": "bool",
  21851. "nodeType": "ElementaryTypeName",
  21852. "src": "14444:4:50",
  21853. "typeDescriptions": {
  21854. "typeIdentifier": "t_bool",
  21855. "typeString": "bool"
  21856. }
  21857. },
  21858. "visibility": "internal"
  21859. },
  21860. {
  21861. "constant": false,
  21862. "id": 8850,
  21863. "mutability": "mutable",
  21864. "name": "p1",
  21865. "nameLocation": "14461:2:50",
  21866. "nodeType": "VariableDeclaration",
  21867. "scope": 8866,
  21868. "src": "14453:10:50",
  21869. "stateVariable": false,
  21870. "storageLocation": "default",
  21871. "typeDescriptions": {
  21872. "typeIdentifier": "t_uint256",
  21873. "typeString": "uint256"
  21874. },
  21875. "typeName": {
  21876. "id": 8849,
  21877. "name": "uint256",
  21878. "nodeType": "ElementaryTypeName",
  21879. "src": "14453:7:50",
  21880. "typeDescriptions": {
  21881. "typeIdentifier": "t_uint256",
  21882. "typeString": "uint256"
  21883. }
  21884. },
  21885. "visibility": "internal"
  21886. },
  21887. {
  21888. "constant": false,
  21889. "id": 8852,
  21890. "mutability": "mutable",
  21891. "name": "p2",
  21892. "nameLocation": "14479:2:50",
  21893. "nodeType": "VariableDeclaration",
  21894. "scope": 8866,
  21895. "src": "14465:16:50",
  21896. "stateVariable": false,
  21897. "storageLocation": "memory",
  21898. "typeDescriptions": {
  21899. "typeIdentifier": "t_string_memory_ptr",
  21900. "typeString": "string"
  21901. },
  21902. "typeName": {
  21903. "id": 8851,
  21904. "name": "string",
  21905. "nodeType": "ElementaryTypeName",
  21906. "src": "14465:6:50",
  21907. "typeDescriptions": {
  21908. "typeIdentifier": "t_string_storage_ptr",
  21909. "typeString": "string"
  21910. }
  21911. },
  21912. "visibility": "internal"
  21913. }
  21914. ],
  21915. "src": "14443:39:50"
  21916. },
  21917. "returnParameters": {
  21918. "id": 8854,
  21919. "nodeType": "ParameterList",
  21920. "parameters": [],
  21921. "src": "14497:0:50"
  21922. },
  21923. "scope": 15355,
  21924. "stateMutability": "pure",
  21925. "virtual": false,
  21926. "visibility": "internal"
  21927. },
  21928. {
  21929. "id": 8886,
  21930. "nodeType": "FunctionDefinition",
  21931. "src": "14600:152:50",
  21932. "nodes": [],
  21933. "body": {
  21934. "id": 8885,
  21935. "nodeType": "Block",
  21936. "src": "14657:95:50",
  21937. "nodes": [],
  21938. "statements": [
  21939. {
  21940. "expression": {
  21941. "arguments": [
  21942. {
  21943. "arguments": [
  21944. {
  21945. "hexValue": "6c6f6728626f6f6c2c75696e743235362c626f6f6c29",
  21946. "id": 8878,
  21947. "isConstant": false,
  21948. "isLValue": false,
  21949. "isPure": true,
  21950. "kind": "string",
  21951. "lValueRequested": false,
  21952. "nodeType": "Literal",
  21953. "src": "14707:24:50",
  21954. "typeDescriptions": {
  21955. "typeIdentifier": "t_stringliteral_e8defba9dac8a3ed4ad0f711b733171fd223b5d127b3485540d69bec05995a26",
  21956. "typeString": "literal_string \"log(bool,uint256,bool)\""
  21957. },
  21958. "value": "log(bool,uint256,bool)"
  21959. },
  21960. {
  21961. "id": 8879,
  21962. "name": "p0",
  21963. "nodeType": "Identifier",
  21964. "overloadedDeclarations": [],
  21965. "referencedDeclaration": 8868,
  21966. "src": "14733:2:50",
  21967. "typeDescriptions": {
  21968. "typeIdentifier": "t_bool",
  21969. "typeString": "bool"
  21970. }
  21971. },
  21972. {
  21973. "id": 8880,
  21974. "name": "p1",
  21975. "nodeType": "Identifier",
  21976. "overloadedDeclarations": [],
  21977. "referencedDeclaration": 8870,
  21978. "src": "14737:2:50",
  21979. "typeDescriptions": {
  21980. "typeIdentifier": "t_uint256",
  21981. "typeString": "uint256"
  21982. }
  21983. },
  21984. {
  21985. "id": 8881,
  21986. "name": "p2",
  21987. "nodeType": "Identifier",
  21988. "overloadedDeclarations": [],
  21989. "referencedDeclaration": 8872,
  21990. "src": "14741:2:50",
  21991. "typeDescriptions": {
  21992. "typeIdentifier": "t_bool",
  21993. "typeString": "bool"
  21994. }
  21995. }
  21996. ],
  21997. "expression": {
  21998. "argumentTypes": [
  21999. {
  22000. "typeIdentifier": "t_stringliteral_e8defba9dac8a3ed4ad0f711b733171fd223b5d127b3485540d69bec05995a26",
  22001. "typeString": "literal_string \"log(bool,uint256,bool)\""
  22002. },
  22003. {
  22004. "typeIdentifier": "t_bool",
  22005. "typeString": "bool"
  22006. },
  22007. {
  22008. "typeIdentifier": "t_uint256",
  22009. "typeString": "uint256"
  22010. },
  22011. {
  22012. "typeIdentifier": "t_bool",
  22013. "typeString": "bool"
  22014. }
  22015. ],
  22016. "expression": {
  22017. "id": 8876,
  22018. "name": "abi",
  22019. "nodeType": "Identifier",
  22020. "overloadedDeclarations": [],
  22021. "referencedDeclaration": -1,
  22022. "src": "14683:3:50",
  22023. "typeDescriptions": {
  22024. "typeIdentifier": "t_magic_abi",
  22025. "typeString": "abi"
  22026. }
  22027. },
  22028. "id": 8877,
  22029. "isConstant": false,
  22030. "isLValue": false,
  22031. "isPure": true,
  22032. "lValueRequested": false,
  22033. "memberLocation": "14687:19:50",
  22034. "memberName": "encodeWithSignature",
  22035. "nodeType": "MemberAccess",
  22036. "src": "14683:23:50",
  22037. "typeDescriptions": {
  22038. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  22039. "typeString": "function (string memory) pure returns (bytes memory)"
  22040. }
  22041. },
  22042. "id": 8882,
  22043. "isConstant": false,
  22044. "isLValue": false,
  22045. "isPure": false,
  22046. "kind": "functionCall",
  22047. "lValueRequested": false,
  22048. "nameLocations": [],
  22049. "names": [],
  22050. "nodeType": "FunctionCall",
  22051. "src": "14683:61:50",
  22052. "tryCall": false,
  22053. "typeDescriptions": {
  22054. "typeIdentifier": "t_bytes_memory_ptr",
  22055. "typeString": "bytes memory"
  22056. }
  22057. }
  22058. ],
  22059. "expression": {
  22060. "argumentTypes": [
  22061. {
  22062. "typeIdentifier": "t_bytes_memory_ptr",
  22063. "typeString": "bytes memory"
  22064. }
  22065. ],
  22066. "id": 8875,
  22067. "name": "_sendLogPayload",
  22068. "nodeType": "Identifier",
  22069. "overloadedDeclarations": [],
  22070. "referencedDeclaration": 7315,
  22071. "src": "14667:15:50",
  22072. "typeDescriptions": {
  22073. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  22074. "typeString": "function (bytes memory) pure"
  22075. }
  22076. },
  22077. "id": 8883,
  22078. "isConstant": false,
  22079. "isLValue": false,
  22080. "isPure": false,
  22081. "kind": "functionCall",
  22082. "lValueRequested": false,
  22083. "nameLocations": [],
  22084. "names": [],
  22085. "nodeType": "FunctionCall",
  22086. "src": "14667:78:50",
  22087. "tryCall": false,
  22088. "typeDescriptions": {
  22089. "typeIdentifier": "t_tuple$__$",
  22090. "typeString": "tuple()"
  22091. }
  22092. },
  22093. "id": 8884,
  22094. "nodeType": "ExpressionStatement",
  22095. "src": "14667:78:50"
  22096. }
  22097. ]
  22098. },
  22099. "implemented": true,
  22100. "kind": "function",
  22101. "modifiers": [],
  22102. "name": "log",
  22103. "nameLocation": "14609:3:50",
  22104. "parameters": {
  22105. "id": 8873,
  22106. "nodeType": "ParameterList",
  22107. "parameters": [
  22108. {
  22109. "constant": false,
  22110. "id": 8868,
  22111. "mutability": "mutable",
  22112. "name": "p0",
  22113. "nameLocation": "14618:2:50",
  22114. "nodeType": "VariableDeclaration",
  22115. "scope": 8886,
  22116. "src": "14613:7:50",
  22117. "stateVariable": false,
  22118. "storageLocation": "default",
  22119. "typeDescriptions": {
  22120. "typeIdentifier": "t_bool",
  22121. "typeString": "bool"
  22122. },
  22123. "typeName": {
  22124. "id": 8867,
  22125. "name": "bool",
  22126. "nodeType": "ElementaryTypeName",
  22127. "src": "14613:4:50",
  22128. "typeDescriptions": {
  22129. "typeIdentifier": "t_bool",
  22130. "typeString": "bool"
  22131. }
  22132. },
  22133. "visibility": "internal"
  22134. },
  22135. {
  22136. "constant": false,
  22137. "id": 8870,
  22138. "mutability": "mutable",
  22139. "name": "p1",
  22140. "nameLocation": "14630:2:50",
  22141. "nodeType": "VariableDeclaration",
  22142. "scope": 8886,
  22143. "src": "14622:10:50",
  22144. "stateVariable": false,
  22145. "storageLocation": "default",
  22146. "typeDescriptions": {
  22147. "typeIdentifier": "t_uint256",
  22148. "typeString": "uint256"
  22149. },
  22150. "typeName": {
  22151. "id": 8869,
  22152. "name": "uint256",
  22153. "nodeType": "ElementaryTypeName",
  22154. "src": "14622:7:50",
  22155. "typeDescriptions": {
  22156. "typeIdentifier": "t_uint256",
  22157. "typeString": "uint256"
  22158. }
  22159. },
  22160. "visibility": "internal"
  22161. },
  22162. {
  22163. "constant": false,
  22164. "id": 8872,
  22165. "mutability": "mutable",
  22166. "name": "p2",
  22167. "nameLocation": "14639:2:50",
  22168. "nodeType": "VariableDeclaration",
  22169. "scope": 8886,
  22170. "src": "14634:7:50",
  22171. "stateVariable": false,
  22172. "storageLocation": "default",
  22173. "typeDescriptions": {
  22174. "typeIdentifier": "t_bool",
  22175. "typeString": "bool"
  22176. },
  22177. "typeName": {
  22178. "id": 8871,
  22179. "name": "bool",
  22180. "nodeType": "ElementaryTypeName",
  22181. "src": "14634:4:50",
  22182. "typeDescriptions": {
  22183. "typeIdentifier": "t_bool",
  22184. "typeString": "bool"
  22185. }
  22186. },
  22187. "visibility": "internal"
  22188. }
  22189. ],
  22190. "src": "14612:30:50"
  22191. },
  22192. "returnParameters": {
  22193. "id": 8874,
  22194. "nodeType": "ParameterList",
  22195. "parameters": [],
  22196. "src": "14657:0:50"
  22197. },
  22198. "scope": 15355,
  22199. "stateMutability": "pure",
  22200. "virtual": false,
  22201. "visibility": "internal"
  22202. },
  22203. {
  22204. "id": 8906,
  22205. "nodeType": "FunctionDefinition",
  22206. "src": "14758:158:50",
  22207. "nodes": [],
  22208. "body": {
  22209. "id": 8905,
  22210. "nodeType": "Block",
  22211. "src": "14818:98:50",
  22212. "nodes": [],
  22213. "statements": [
  22214. {
  22215. "expression": {
  22216. "arguments": [
  22217. {
  22218. "arguments": [
  22219. {
  22220. "hexValue": "6c6f6728626f6f6c2c75696e743235362c6164647265737329",
  22221. "id": 8898,
  22222. "isConstant": false,
  22223. "isLValue": false,
  22224. "isPure": true,
  22225. "kind": "string",
  22226. "lValueRequested": false,
  22227. "nodeType": "Literal",
  22228. "src": "14868:27:50",
  22229. "typeDescriptions": {
  22230. "typeIdentifier": "t_stringliteral_088ef9d2f4d01d13401423c19b7f189200a7ad3f567d9e20f37299f94f92f574",
  22231. "typeString": "literal_string \"log(bool,uint256,address)\""
  22232. },
  22233. "value": "log(bool,uint256,address)"
  22234. },
  22235. {
  22236. "id": 8899,
  22237. "name": "p0",
  22238. "nodeType": "Identifier",
  22239. "overloadedDeclarations": [],
  22240. "referencedDeclaration": 8888,
  22241. "src": "14897:2:50",
  22242. "typeDescriptions": {
  22243. "typeIdentifier": "t_bool",
  22244. "typeString": "bool"
  22245. }
  22246. },
  22247. {
  22248. "id": 8900,
  22249. "name": "p1",
  22250. "nodeType": "Identifier",
  22251. "overloadedDeclarations": [],
  22252. "referencedDeclaration": 8890,
  22253. "src": "14901:2:50",
  22254. "typeDescriptions": {
  22255. "typeIdentifier": "t_uint256",
  22256. "typeString": "uint256"
  22257. }
  22258. },
  22259. {
  22260. "id": 8901,
  22261. "name": "p2",
  22262. "nodeType": "Identifier",
  22263. "overloadedDeclarations": [],
  22264. "referencedDeclaration": 8892,
  22265. "src": "14905:2:50",
  22266. "typeDescriptions": {
  22267. "typeIdentifier": "t_address",
  22268. "typeString": "address"
  22269. }
  22270. }
  22271. ],
  22272. "expression": {
  22273. "argumentTypes": [
  22274. {
  22275. "typeIdentifier": "t_stringliteral_088ef9d2f4d01d13401423c19b7f189200a7ad3f567d9e20f37299f94f92f574",
  22276. "typeString": "literal_string \"log(bool,uint256,address)\""
  22277. },
  22278. {
  22279. "typeIdentifier": "t_bool",
  22280. "typeString": "bool"
  22281. },
  22282. {
  22283. "typeIdentifier": "t_uint256",
  22284. "typeString": "uint256"
  22285. },
  22286. {
  22287. "typeIdentifier": "t_address",
  22288. "typeString": "address"
  22289. }
  22290. ],
  22291. "expression": {
  22292. "id": 8896,
  22293. "name": "abi",
  22294. "nodeType": "Identifier",
  22295. "overloadedDeclarations": [],
  22296. "referencedDeclaration": -1,
  22297. "src": "14844:3:50",
  22298. "typeDescriptions": {
  22299. "typeIdentifier": "t_magic_abi",
  22300. "typeString": "abi"
  22301. }
  22302. },
  22303. "id": 8897,
  22304. "isConstant": false,
  22305. "isLValue": false,
  22306. "isPure": true,
  22307. "lValueRequested": false,
  22308. "memberLocation": "14848:19:50",
  22309. "memberName": "encodeWithSignature",
  22310. "nodeType": "MemberAccess",
  22311. "src": "14844:23:50",
  22312. "typeDescriptions": {
  22313. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  22314. "typeString": "function (string memory) pure returns (bytes memory)"
  22315. }
  22316. },
  22317. "id": 8902,
  22318. "isConstant": false,
  22319. "isLValue": false,
  22320. "isPure": false,
  22321. "kind": "functionCall",
  22322. "lValueRequested": false,
  22323. "nameLocations": [],
  22324. "names": [],
  22325. "nodeType": "FunctionCall",
  22326. "src": "14844:64:50",
  22327. "tryCall": false,
  22328. "typeDescriptions": {
  22329. "typeIdentifier": "t_bytes_memory_ptr",
  22330. "typeString": "bytes memory"
  22331. }
  22332. }
  22333. ],
  22334. "expression": {
  22335. "argumentTypes": [
  22336. {
  22337. "typeIdentifier": "t_bytes_memory_ptr",
  22338. "typeString": "bytes memory"
  22339. }
  22340. ],
  22341. "id": 8895,
  22342. "name": "_sendLogPayload",
  22343. "nodeType": "Identifier",
  22344. "overloadedDeclarations": [],
  22345. "referencedDeclaration": 7315,
  22346. "src": "14828:15:50",
  22347. "typeDescriptions": {
  22348. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  22349. "typeString": "function (bytes memory) pure"
  22350. }
  22351. },
  22352. "id": 8903,
  22353. "isConstant": false,
  22354. "isLValue": false,
  22355. "isPure": false,
  22356. "kind": "functionCall",
  22357. "lValueRequested": false,
  22358. "nameLocations": [],
  22359. "names": [],
  22360. "nodeType": "FunctionCall",
  22361. "src": "14828:81:50",
  22362. "tryCall": false,
  22363. "typeDescriptions": {
  22364. "typeIdentifier": "t_tuple$__$",
  22365. "typeString": "tuple()"
  22366. }
  22367. },
  22368. "id": 8904,
  22369. "nodeType": "ExpressionStatement",
  22370. "src": "14828:81:50"
  22371. }
  22372. ]
  22373. },
  22374. "implemented": true,
  22375. "kind": "function",
  22376. "modifiers": [],
  22377. "name": "log",
  22378. "nameLocation": "14767:3:50",
  22379. "parameters": {
  22380. "id": 8893,
  22381. "nodeType": "ParameterList",
  22382. "parameters": [
  22383. {
  22384. "constant": false,
  22385. "id": 8888,
  22386. "mutability": "mutable",
  22387. "name": "p0",
  22388. "nameLocation": "14776:2:50",
  22389. "nodeType": "VariableDeclaration",
  22390. "scope": 8906,
  22391. "src": "14771:7:50",
  22392. "stateVariable": false,
  22393. "storageLocation": "default",
  22394. "typeDescriptions": {
  22395. "typeIdentifier": "t_bool",
  22396. "typeString": "bool"
  22397. },
  22398. "typeName": {
  22399. "id": 8887,
  22400. "name": "bool",
  22401. "nodeType": "ElementaryTypeName",
  22402. "src": "14771:4:50",
  22403. "typeDescriptions": {
  22404. "typeIdentifier": "t_bool",
  22405. "typeString": "bool"
  22406. }
  22407. },
  22408. "visibility": "internal"
  22409. },
  22410. {
  22411. "constant": false,
  22412. "id": 8890,
  22413. "mutability": "mutable",
  22414. "name": "p1",
  22415. "nameLocation": "14788:2:50",
  22416. "nodeType": "VariableDeclaration",
  22417. "scope": 8906,
  22418. "src": "14780:10:50",
  22419. "stateVariable": false,
  22420. "storageLocation": "default",
  22421. "typeDescriptions": {
  22422. "typeIdentifier": "t_uint256",
  22423. "typeString": "uint256"
  22424. },
  22425. "typeName": {
  22426. "id": 8889,
  22427. "name": "uint256",
  22428. "nodeType": "ElementaryTypeName",
  22429. "src": "14780:7:50",
  22430. "typeDescriptions": {
  22431. "typeIdentifier": "t_uint256",
  22432. "typeString": "uint256"
  22433. }
  22434. },
  22435. "visibility": "internal"
  22436. },
  22437. {
  22438. "constant": false,
  22439. "id": 8892,
  22440. "mutability": "mutable",
  22441. "name": "p2",
  22442. "nameLocation": "14800:2:50",
  22443. "nodeType": "VariableDeclaration",
  22444. "scope": 8906,
  22445. "src": "14792:10:50",
  22446. "stateVariable": false,
  22447. "storageLocation": "default",
  22448. "typeDescriptions": {
  22449. "typeIdentifier": "t_address",
  22450. "typeString": "address"
  22451. },
  22452. "typeName": {
  22453. "id": 8891,
  22454. "name": "address",
  22455. "nodeType": "ElementaryTypeName",
  22456. "src": "14792:7:50",
  22457. "stateMutability": "nonpayable",
  22458. "typeDescriptions": {
  22459. "typeIdentifier": "t_address",
  22460. "typeString": "address"
  22461. }
  22462. },
  22463. "visibility": "internal"
  22464. }
  22465. ],
  22466. "src": "14770:33:50"
  22467. },
  22468. "returnParameters": {
  22469. "id": 8894,
  22470. "nodeType": "ParameterList",
  22471. "parameters": [],
  22472. "src": "14818:0:50"
  22473. },
  22474. "scope": 15355,
  22475. "stateMutability": "pure",
  22476. "virtual": false,
  22477. "visibility": "internal"
  22478. },
  22479. {
  22480. "id": 8926,
  22481. "nodeType": "FunctionDefinition",
  22482. "src": "14922:163:50",
  22483. "nodes": [],
  22484. "body": {
  22485. "id": 8925,
  22486. "nodeType": "Block",
  22487. "src": "14988:97:50",
  22488. "nodes": [],
  22489. "statements": [
  22490. {
  22491. "expression": {
  22492. "arguments": [
  22493. {
  22494. "arguments": [
  22495. {
  22496. "hexValue": "6c6f6728626f6f6c2c737472696e672c75696e7432353629",
  22497. "id": 8918,
  22498. "isConstant": false,
  22499. "isLValue": false,
  22500. "isPure": true,
  22501. "kind": "string",
  22502. "lValueRequested": false,
  22503. "nodeType": "Literal",
  22504. "src": "15038:26:50",
  22505. "typeDescriptions": {
  22506. "typeIdentifier": "t_stringliteral_1093ee11e671928331708700100b356c86a8494f33b170ddcffd95462a0adf64",
  22507. "typeString": "literal_string \"log(bool,string,uint256)\""
  22508. },
  22509. "value": "log(bool,string,uint256)"
  22510. },
  22511. {
  22512. "id": 8919,
  22513. "name": "p0",
  22514. "nodeType": "Identifier",
  22515. "overloadedDeclarations": [],
  22516. "referencedDeclaration": 8908,
  22517. "src": "15066:2:50",
  22518. "typeDescriptions": {
  22519. "typeIdentifier": "t_bool",
  22520. "typeString": "bool"
  22521. }
  22522. },
  22523. {
  22524. "id": 8920,
  22525. "name": "p1",
  22526. "nodeType": "Identifier",
  22527. "overloadedDeclarations": [],
  22528. "referencedDeclaration": 8910,
  22529. "src": "15070:2:50",
  22530. "typeDescriptions": {
  22531. "typeIdentifier": "t_string_memory_ptr",
  22532. "typeString": "string memory"
  22533. }
  22534. },
  22535. {
  22536. "id": 8921,
  22537. "name": "p2",
  22538. "nodeType": "Identifier",
  22539. "overloadedDeclarations": [],
  22540. "referencedDeclaration": 8912,
  22541. "src": "15074:2:50",
  22542. "typeDescriptions": {
  22543. "typeIdentifier": "t_uint256",
  22544. "typeString": "uint256"
  22545. }
  22546. }
  22547. ],
  22548. "expression": {
  22549. "argumentTypes": [
  22550. {
  22551. "typeIdentifier": "t_stringliteral_1093ee11e671928331708700100b356c86a8494f33b170ddcffd95462a0adf64",
  22552. "typeString": "literal_string \"log(bool,string,uint256)\""
  22553. },
  22554. {
  22555. "typeIdentifier": "t_bool",
  22556. "typeString": "bool"
  22557. },
  22558. {
  22559. "typeIdentifier": "t_string_memory_ptr",
  22560. "typeString": "string memory"
  22561. },
  22562. {
  22563. "typeIdentifier": "t_uint256",
  22564. "typeString": "uint256"
  22565. }
  22566. ],
  22567. "expression": {
  22568. "id": 8916,
  22569. "name": "abi",
  22570. "nodeType": "Identifier",
  22571. "overloadedDeclarations": [],
  22572. "referencedDeclaration": -1,
  22573. "src": "15014:3:50",
  22574. "typeDescriptions": {
  22575. "typeIdentifier": "t_magic_abi",
  22576. "typeString": "abi"
  22577. }
  22578. },
  22579. "id": 8917,
  22580. "isConstant": false,
  22581. "isLValue": false,
  22582. "isPure": true,
  22583. "lValueRequested": false,
  22584. "memberLocation": "15018:19:50",
  22585. "memberName": "encodeWithSignature",
  22586. "nodeType": "MemberAccess",
  22587. "src": "15014:23:50",
  22588. "typeDescriptions": {
  22589. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  22590. "typeString": "function (string memory) pure returns (bytes memory)"
  22591. }
  22592. },
  22593. "id": 8922,
  22594. "isConstant": false,
  22595. "isLValue": false,
  22596. "isPure": false,
  22597. "kind": "functionCall",
  22598. "lValueRequested": false,
  22599. "nameLocations": [],
  22600. "names": [],
  22601. "nodeType": "FunctionCall",
  22602. "src": "15014:63:50",
  22603. "tryCall": false,
  22604. "typeDescriptions": {
  22605. "typeIdentifier": "t_bytes_memory_ptr",
  22606. "typeString": "bytes memory"
  22607. }
  22608. }
  22609. ],
  22610. "expression": {
  22611. "argumentTypes": [
  22612. {
  22613. "typeIdentifier": "t_bytes_memory_ptr",
  22614. "typeString": "bytes memory"
  22615. }
  22616. ],
  22617. "id": 8915,
  22618. "name": "_sendLogPayload",
  22619. "nodeType": "Identifier",
  22620. "overloadedDeclarations": [],
  22621. "referencedDeclaration": 7315,
  22622. "src": "14998:15:50",
  22623. "typeDescriptions": {
  22624. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  22625. "typeString": "function (bytes memory) pure"
  22626. }
  22627. },
  22628. "id": 8923,
  22629. "isConstant": false,
  22630. "isLValue": false,
  22631. "isPure": false,
  22632. "kind": "functionCall",
  22633. "lValueRequested": false,
  22634. "nameLocations": [],
  22635. "names": [],
  22636. "nodeType": "FunctionCall",
  22637. "src": "14998:80:50",
  22638. "tryCall": false,
  22639. "typeDescriptions": {
  22640. "typeIdentifier": "t_tuple$__$",
  22641. "typeString": "tuple()"
  22642. }
  22643. },
  22644. "id": 8924,
  22645. "nodeType": "ExpressionStatement",
  22646. "src": "14998:80:50"
  22647. }
  22648. ]
  22649. },
  22650. "implemented": true,
  22651. "kind": "function",
  22652. "modifiers": [],
  22653. "name": "log",
  22654. "nameLocation": "14931:3:50",
  22655. "parameters": {
  22656. "id": 8913,
  22657. "nodeType": "ParameterList",
  22658. "parameters": [
  22659. {
  22660. "constant": false,
  22661. "id": 8908,
  22662. "mutability": "mutable",
  22663. "name": "p0",
  22664. "nameLocation": "14940:2:50",
  22665. "nodeType": "VariableDeclaration",
  22666. "scope": 8926,
  22667. "src": "14935:7:50",
  22668. "stateVariable": false,
  22669. "storageLocation": "default",
  22670. "typeDescriptions": {
  22671. "typeIdentifier": "t_bool",
  22672. "typeString": "bool"
  22673. },
  22674. "typeName": {
  22675. "id": 8907,
  22676. "name": "bool",
  22677. "nodeType": "ElementaryTypeName",
  22678. "src": "14935:4:50",
  22679. "typeDescriptions": {
  22680. "typeIdentifier": "t_bool",
  22681. "typeString": "bool"
  22682. }
  22683. },
  22684. "visibility": "internal"
  22685. },
  22686. {
  22687. "constant": false,
  22688. "id": 8910,
  22689. "mutability": "mutable",
  22690. "name": "p1",
  22691. "nameLocation": "14958:2:50",
  22692. "nodeType": "VariableDeclaration",
  22693. "scope": 8926,
  22694. "src": "14944:16:50",
  22695. "stateVariable": false,
  22696. "storageLocation": "memory",
  22697. "typeDescriptions": {
  22698. "typeIdentifier": "t_string_memory_ptr",
  22699. "typeString": "string"
  22700. },
  22701. "typeName": {
  22702. "id": 8909,
  22703. "name": "string",
  22704. "nodeType": "ElementaryTypeName",
  22705. "src": "14944:6:50",
  22706. "typeDescriptions": {
  22707. "typeIdentifier": "t_string_storage_ptr",
  22708. "typeString": "string"
  22709. }
  22710. },
  22711. "visibility": "internal"
  22712. },
  22713. {
  22714. "constant": false,
  22715. "id": 8912,
  22716. "mutability": "mutable",
  22717. "name": "p2",
  22718. "nameLocation": "14970:2:50",
  22719. "nodeType": "VariableDeclaration",
  22720. "scope": 8926,
  22721. "src": "14962:10:50",
  22722. "stateVariable": false,
  22723. "storageLocation": "default",
  22724. "typeDescriptions": {
  22725. "typeIdentifier": "t_uint256",
  22726. "typeString": "uint256"
  22727. },
  22728. "typeName": {
  22729. "id": 8911,
  22730. "name": "uint256",
  22731. "nodeType": "ElementaryTypeName",
  22732. "src": "14962:7:50",
  22733. "typeDescriptions": {
  22734. "typeIdentifier": "t_uint256",
  22735. "typeString": "uint256"
  22736. }
  22737. },
  22738. "visibility": "internal"
  22739. }
  22740. ],
  22741. "src": "14934:39:50"
  22742. },
  22743. "returnParameters": {
  22744. "id": 8914,
  22745. "nodeType": "ParameterList",
  22746. "parameters": [],
  22747. "src": "14988:0:50"
  22748. },
  22749. "scope": 15355,
  22750. "stateMutability": "pure",
  22751. "virtual": false,
  22752. "visibility": "internal"
  22753. },
  22754. {
  22755. "id": 8946,
  22756. "nodeType": "FunctionDefinition",
  22757. "src": "15091:168:50",
  22758. "nodes": [],
  22759. "body": {
  22760. "id": 8945,
  22761. "nodeType": "Block",
  22762. "src": "15163:96:50",
  22763. "nodes": [],
  22764. "statements": [
  22765. {
  22766. "expression": {
  22767. "arguments": [
  22768. {
  22769. "arguments": [
  22770. {
  22771. "hexValue": "6c6f6728626f6f6c2c737472696e672c737472696e6729",
  22772. "id": 8938,
  22773. "isConstant": false,
  22774. "isLValue": false,
  22775. "isPure": true,
  22776. "kind": "string",
  22777. "lValueRequested": false,
  22778. "nodeType": "Literal",
  22779. "src": "15213:25:50",
  22780. "typeDescriptions": {
  22781. "typeIdentifier": "t_stringliteral_b076847f8b4aee0cfbf46ec501532f9f3c85a581aff135287ff8e917c0a39102",
  22782. "typeString": "literal_string \"log(bool,string,string)\""
  22783. },
  22784. "value": "log(bool,string,string)"
  22785. },
  22786. {
  22787. "id": 8939,
  22788. "name": "p0",
  22789. "nodeType": "Identifier",
  22790. "overloadedDeclarations": [],
  22791. "referencedDeclaration": 8928,
  22792. "src": "15240:2:50",
  22793. "typeDescriptions": {
  22794. "typeIdentifier": "t_bool",
  22795. "typeString": "bool"
  22796. }
  22797. },
  22798. {
  22799. "id": 8940,
  22800. "name": "p1",
  22801. "nodeType": "Identifier",
  22802. "overloadedDeclarations": [],
  22803. "referencedDeclaration": 8930,
  22804. "src": "15244:2:50",
  22805. "typeDescriptions": {
  22806. "typeIdentifier": "t_string_memory_ptr",
  22807. "typeString": "string memory"
  22808. }
  22809. },
  22810. {
  22811. "id": 8941,
  22812. "name": "p2",
  22813. "nodeType": "Identifier",
  22814. "overloadedDeclarations": [],
  22815. "referencedDeclaration": 8932,
  22816. "src": "15248:2:50",
  22817. "typeDescriptions": {
  22818. "typeIdentifier": "t_string_memory_ptr",
  22819. "typeString": "string memory"
  22820. }
  22821. }
  22822. ],
  22823. "expression": {
  22824. "argumentTypes": [
  22825. {
  22826. "typeIdentifier": "t_stringliteral_b076847f8b4aee0cfbf46ec501532f9f3c85a581aff135287ff8e917c0a39102",
  22827. "typeString": "literal_string \"log(bool,string,string)\""
  22828. },
  22829. {
  22830. "typeIdentifier": "t_bool",
  22831. "typeString": "bool"
  22832. },
  22833. {
  22834. "typeIdentifier": "t_string_memory_ptr",
  22835. "typeString": "string memory"
  22836. },
  22837. {
  22838. "typeIdentifier": "t_string_memory_ptr",
  22839. "typeString": "string memory"
  22840. }
  22841. ],
  22842. "expression": {
  22843. "id": 8936,
  22844. "name": "abi",
  22845. "nodeType": "Identifier",
  22846. "overloadedDeclarations": [],
  22847. "referencedDeclaration": -1,
  22848. "src": "15189:3:50",
  22849. "typeDescriptions": {
  22850. "typeIdentifier": "t_magic_abi",
  22851. "typeString": "abi"
  22852. }
  22853. },
  22854. "id": 8937,
  22855. "isConstant": false,
  22856. "isLValue": false,
  22857. "isPure": true,
  22858. "lValueRequested": false,
  22859. "memberLocation": "15193:19:50",
  22860. "memberName": "encodeWithSignature",
  22861. "nodeType": "MemberAccess",
  22862. "src": "15189:23:50",
  22863. "typeDescriptions": {
  22864. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  22865. "typeString": "function (string memory) pure returns (bytes memory)"
  22866. }
  22867. },
  22868. "id": 8942,
  22869. "isConstant": false,
  22870. "isLValue": false,
  22871. "isPure": false,
  22872. "kind": "functionCall",
  22873. "lValueRequested": false,
  22874. "nameLocations": [],
  22875. "names": [],
  22876. "nodeType": "FunctionCall",
  22877. "src": "15189:62:50",
  22878. "tryCall": false,
  22879. "typeDescriptions": {
  22880. "typeIdentifier": "t_bytes_memory_ptr",
  22881. "typeString": "bytes memory"
  22882. }
  22883. }
  22884. ],
  22885. "expression": {
  22886. "argumentTypes": [
  22887. {
  22888. "typeIdentifier": "t_bytes_memory_ptr",
  22889. "typeString": "bytes memory"
  22890. }
  22891. ],
  22892. "id": 8935,
  22893. "name": "_sendLogPayload",
  22894. "nodeType": "Identifier",
  22895. "overloadedDeclarations": [],
  22896. "referencedDeclaration": 7315,
  22897. "src": "15173:15:50",
  22898. "typeDescriptions": {
  22899. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  22900. "typeString": "function (bytes memory) pure"
  22901. }
  22902. },
  22903. "id": 8943,
  22904. "isConstant": false,
  22905. "isLValue": false,
  22906. "isPure": false,
  22907. "kind": "functionCall",
  22908. "lValueRequested": false,
  22909. "nameLocations": [],
  22910. "names": [],
  22911. "nodeType": "FunctionCall",
  22912. "src": "15173:79:50",
  22913. "tryCall": false,
  22914. "typeDescriptions": {
  22915. "typeIdentifier": "t_tuple$__$",
  22916. "typeString": "tuple()"
  22917. }
  22918. },
  22919. "id": 8944,
  22920. "nodeType": "ExpressionStatement",
  22921. "src": "15173:79:50"
  22922. }
  22923. ]
  22924. },
  22925. "implemented": true,
  22926. "kind": "function",
  22927. "modifiers": [],
  22928. "name": "log",
  22929. "nameLocation": "15100:3:50",
  22930. "parameters": {
  22931. "id": 8933,
  22932. "nodeType": "ParameterList",
  22933. "parameters": [
  22934. {
  22935. "constant": false,
  22936. "id": 8928,
  22937. "mutability": "mutable",
  22938. "name": "p0",
  22939. "nameLocation": "15109:2:50",
  22940. "nodeType": "VariableDeclaration",
  22941. "scope": 8946,
  22942. "src": "15104:7:50",
  22943. "stateVariable": false,
  22944. "storageLocation": "default",
  22945. "typeDescriptions": {
  22946. "typeIdentifier": "t_bool",
  22947. "typeString": "bool"
  22948. },
  22949. "typeName": {
  22950. "id": 8927,
  22951. "name": "bool",
  22952. "nodeType": "ElementaryTypeName",
  22953. "src": "15104:4:50",
  22954. "typeDescriptions": {
  22955. "typeIdentifier": "t_bool",
  22956. "typeString": "bool"
  22957. }
  22958. },
  22959. "visibility": "internal"
  22960. },
  22961. {
  22962. "constant": false,
  22963. "id": 8930,
  22964. "mutability": "mutable",
  22965. "name": "p1",
  22966. "nameLocation": "15127:2:50",
  22967. "nodeType": "VariableDeclaration",
  22968. "scope": 8946,
  22969. "src": "15113:16:50",
  22970. "stateVariable": false,
  22971. "storageLocation": "memory",
  22972. "typeDescriptions": {
  22973. "typeIdentifier": "t_string_memory_ptr",
  22974. "typeString": "string"
  22975. },
  22976. "typeName": {
  22977. "id": 8929,
  22978. "name": "string",
  22979. "nodeType": "ElementaryTypeName",
  22980. "src": "15113:6:50",
  22981. "typeDescriptions": {
  22982. "typeIdentifier": "t_string_storage_ptr",
  22983. "typeString": "string"
  22984. }
  22985. },
  22986. "visibility": "internal"
  22987. },
  22988. {
  22989. "constant": false,
  22990. "id": 8932,
  22991. "mutability": "mutable",
  22992. "name": "p2",
  22993. "nameLocation": "15145:2:50",
  22994. "nodeType": "VariableDeclaration",
  22995. "scope": 8946,
  22996. "src": "15131:16:50",
  22997. "stateVariable": false,
  22998. "storageLocation": "memory",
  22999. "typeDescriptions": {
  23000. "typeIdentifier": "t_string_memory_ptr",
  23001. "typeString": "string"
  23002. },
  23003. "typeName": {
  23004. "id": 8931,
  23005. "name": "string",
  23006. "nodeType": "ElementaryTypeName",
  23007. "src": "15131:6:50",
  23008. "typeDescriptions": {
  23009. "typeIdentifier": "t_string_storage_ptr",
  23010. "typeString": "string"
  23011. }
  23012. },
  23013. "visibility": "internal"
  23014. }
  23015. ],
  23016. "src": "15103:45:50"
  23017. },
  23018. "returnParameters": {
  23019. "id": 8934,
  23020. "nodeType": "ParameterList",
  23021. "parameters": [],
  23022. "src": "15163:0:50"
  23023. },
  23024. "scope": 15355,
  23025. "stateMutability": "pure",
  23026. "virtual": false,
  23027. "visibility": "internal"
  23028. },
  23029. {
  23030. "id": 8966,
  23031. "nodeType": "FunctionDefinition",
  23032. "src": "15265:157:50",
  23033. "nodes": [],
  23034. "body": {
  23035. "id": 8965,
  23036. "nodeType": "Block",
  23037. "src": "15328:94:50",
  23038. "nodes": [],
  23039. "statements": [
  23040. {
  23041. "expression": {
  23042. "arguments": [
  23043. {
  23044. "arguments": [
  23045. {
  23046. "hexValue": "6c6f6728626f6f6c2c737472696e672c626f6f6c29",
  23047. "id": 8958,
  23048. "isConstant": false,
  23049. "isLValue": false,
  23050. "isPure": true,
  23051. "kind": "string",
  23052. "lValueRequested": false,
  23053. "nodeType": "Literal",
  23054. "src": "15378:23:50",
  23055. "typeDescriptions": {
  23056. "typeIdentifier": "t_stringliteral_dbb4c2477dacc98e0e5b96fd6ca6bf0ae1f82dd042439d9f53f8d963bef43eaa",
  23057. "typeString": "literal_string \"log(bool,string,bool)\""
  23058. },
  23059. "value": "log(bool,string,bool)"
  23060. },
  23061. {
  23062. "id": 8959,
  23063. "name": "p0",
  23064. "nodeType": "Identifier",
  23065. "overloadedDeclarations": [],
  23066. "referencedDeclaration": 8948,
  23067. "src": "15403:2:50",
  23068. "typeDescriptions": {
  23069. "typeIdentifier": "t_bool",
  23070. "typeString": "bool"
  23071. }
  23072. },
  23073. {
  23074. "id": 8960,
  23075. "name": "p1",
  23076. "nodeType": "Identifier",
  23077. "overloadedDeclarations": [],
  23078. "referencedDeclaration": 8950,
  23079. "src": "15407:2:50",
  23080. "typeDescriptions": {
  23081. "typeIdentifier": "t_string_memory_ptr",
  23082. "typeString": "string memory"
  23083. }
  23084. },
  23085. {
  23086. "id": 8961,
  23087. "name": "p2",
  23088. "nodeType": "Identifier",
  23089. "overloadedDeclarations": [],
  23090. "referencedDeclaration": 8952,
  23091. "src": "15411:2:50",
  23092. "typeDescriptions": {
  23093. "typeIdentifier": "t_bool",
  23094. "typeString": "bool"
  23095. }
  23096. }
  23097. ],
  23098. "expression": {
  23099. "argumentTypes": [
  23100. {
  23101. "typeIdentifier": "t_stringliteral_dbb4c2477dacc98e0e5b96fd6ca6bf0ae1f82dd042439d9f53f8d963bef43eaa",
  23102. "typeString": "literal_string \"log(bool,string,bool)\""
  23103. },
  23104. {
  23105. "typeIdentifier": "t_bool",
  23106. "typeString": "bool"
  23107. },
  23108. {
  23109. "typeIdentifier": "t_string_memory_ptr",
  23110. "typeString": "string memory"
  23111. },
  23112. {
  23113. "typeIdentifier": "t_bool",
  23114. "typeString": "bool"
  23115. }
  23116. ],
  23117. "expression": {
  23118. "id": 8956,
  23119. "name": "abi",
  23120. "nodeType": "Identifier",
  23121. "overloadedDeclarations": [],
  23122. "referencedDeclaration": -1,
  23123. "src": "15354:3:50",
  23124. "typeDescriptions": {
  23125. "typeIdentifier": "t_magic_abi",
  23126. "typeString": "abi"
  23127. }
  23128. },
  23129. "id": 8957,
  23130. "isConstant": false,
  23131. "isLValue": false,
  23132. "isPure": true,
  23133. "lValueRequested": false,
  23134. "memberLocation": "15358:19:50",
  23135. "memberName": "encodeWithSignature",
  23136. "nodeType": "MemberAccess",
  23137. "src": "15354:23:50",
  23138. "typeDescriptions": {
  23139. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  23140. "typeString": "function (string memory) pure returns (bytes memory)"
  23141. }
  23142. },
  23143. "id": 8962,
  23144. "isConstant": false,
  23145. "isLValue": false,
  23146. "isPure": false,
  23147. "kind": "functionCall",
  23148. "lValueRequested": false,
  23149. "nameLocations": [],
  23150. "names": [],
  23151. "nodeType": "FunctionCall",
  23152. "src": "15354:60:50",
  23153. "tryCall": false,
  23154. "typeDescriptions": {
  23155. "typeIdentifier": "t_bytes_memory_ptr",
  23156. "typeString": "bytes memory"
  23157. }
  23158. }
  23159. ],
  23160. "expression": {
  23161. "argumentTypes": [
  23162. {
  23163. "typeIdentifier": "t_bytes_memory_ptr",
  23164. "typeString": "bytes memory"
  23165. }
  23166. ],
  23167. "id": 8955,
  23168. "name": "_sendLogPayload",
  23169. "nodeType": "Identifier",
  23170. "overloadedDeclarations": [],
  23171. "referencedDeclaration": 7315,
  23172. "src": "15338:15:50",
  23173. "typeDescriptions": {
  23174. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  23175. "typeString": "function (bytes memory) pure"
  23176. }
  23177. },
  23178. "id": 8963,
  23179. "isConstant": false,
  23180. "isLValue": false,
  23181. "isPure": false,
  23182. "kind": "functionCall",
  23183. "lValueRequested": false,
  23184. "nameLocations": [],
  23185. "names": [],
  23186. "nodeType": "FunctionCall",
  23187. "src": "15338:77:50",
  23188. "tryCall": false,
  23189. "typeDescriptions": {
  23190. "typeIdentifier": "t_tuple$__$",
  23191. "typeString": "tuple()"
  23192. }
  23193. },
  23194. "id": 8964,
  23195. "nodeType": "ExpressionStatement",
  23196. "src": "15338:77:50"
  23197. }
  23198. ]
  23199. },
  23200. "implemented": true,
  23201. "kind": "function",
  23202. "modifiers": [],
  23203. "name": "log",
  23204. "nameLocation": "15274:3:50",
  23205. "parameters": {
  23206. "id": 8953,
  23207. "nodeType": "ParameterList",
  23208. "parameters": [
  23209. {
  23210. "constant": false,
  23211. "id": 8948,
  23212. "mutability": "mutable",
  23213. "name": "p0",
  23214. "nameLocation": "15283:2:50",
  23215. "nodeType": "VariableDeclaration",
  23216. "scope": 8966,
  23217. "src": "15278:7:50",
  23218. "stateVariable": false,
  23219. "storageLocation": "default",
  23220. "typeDescriptions": {
  23221. "typeIdentifier": "t_bool",
  23222. "typeString": "bool"
  23223. },
  23224. "typeName": {
  23225. "id": 8947,
  23226. "name": "bool",
  23227. "nodeType": "ElementaryTypeName",
  23228. "src": "15278:4:50",
  23229. "typeDescriptions": {
  23230. "typeIdentifier": "t_bool",
  23231. "typeString": "bool"
  23232. }
  23233. },
  23234. "visibility": "internal"
  23235. },
  23236. {
  23237. "constant": false,
  23238. "id": 8950,
  23239. "mutability": "mutable",
  23240. "name": "p1",
  23241. "nameLocation": "15301:2:50",
  23242. "nodeType": "VariableDeclaration",
  23243. "scope": 8966,
  23244. "src": "15287:16:50",
  23245. "stateVariable": false,
  23246. "storageLocation": "memory",
  23247. "typeDescriptions": {
  23248. "typeIdentifier": "t_string_memory_ptr",
  23249. "typeString": "string"
  23250. },
  23251. "typeName": {
  23252. "id": 8949,
  23253. "name": "string",
  23254. "nodeType": "ElementaryTypeName",
  23255. "src": "15287:6:50",
  23256. "typeDescriptions": {
  23257. "typeIdentifier": "t_string_storage_ptr",
  23258. "typeString": "string"
  23259. }
  23260. },
  23261. "visibility": "internal"
  23262. },
  23263. {
  23264. "constant": false,
  23265. "id": 8952,
  23266. "mutability": "mutable",
  23267. "name": "p2",
  23268. "nameLocation": "15310:2:50",
  23269. "nodeType": "VariableDeclaration",
  23270. "scope": 8966,
  23271. "src": "15305:7:50",
  23272. "stateVariable": false,
  23273. "storageLocation": "default",
  23274. "typeDescriptions": {
  23275. "typeIdentifier": "t_bool",
  23276. "typeString": "bool"
  23277. },
  23278. "typeName": {
  23279. "id": 8951,
  23280. "name": "bool",
  23281. "nodeType": "ElementaryTypeName",
  23282. "src": "15305:4:50",
  23283. "typeDescriptions": {
  23284. "typeIdentifier": "t_bool",
  23285. "typeString": "bool"
  23286. }
  23287. },
  23288. "visibility": "internal"
  23289. }
  23290. ],
  23291. "src": "15277:36:50"
  23292. },
  23293. "returnParameters": {
  23294. "id": 8954,
  23295. "nodeType": "ParameterList",
  23296. "parameters": [],
  23297. "src": "15328:0:50"
  23298. },
  23299. "scope": 15355,
  23300. "stateMutability": "pure",
  23301. "virtual": false,
  23302. "visibility": "internal"
  23303. },
  23304. {
  23305. "id": 8986,
  23306. "nodeType": "FunctionDefinition",
  23307. "src": "15428:163:50",
  23308. "nodes": [],
  23309. "body": {
  23310. "id": 8985,
  23311. "nodeType": "Block",
  23312. "src": "15494:97:50",
  23313. "nodes": [],
  23314. "statements": [
  23315. {
  23316. "expression": {
  23317. "arguments": [
  23318. {
  23319. "arguments": [
  23320. {
  23321. "hexValue": "6c6f6728626f6f6c2c737472696e672c6164647265737329",
  23322. "id": 8978,
  23323. "isConstant": false,
  23324. "isLValue": false,
  23325. "isPure": true,
  23326. "kind": "string",
  23327. "lValueRequested": false,
  23328. "nodeType": "Literal",
  23329. "src": "15544:26:50",
  23330. "typeDescriptions": {
  23331. "typeIdentifier": "t_stringliteral_9591b953c9b1d0af9d1e3bc0f6ea9aa5b0e1af8c702f85b36e21b9b2d7e4da79",
  23332. "typeString": "literal_string \"log(bool,string,address)\""
  23333. },
  23334. "value": "log(bool,string,address)"
  23335. },
  23336. {
  23337. "id": 8979,
  23338. "name": "p0",
  23339. "nodeType": "Identifier",
  23340. "overloadedDeclarations": [],
  23341. "referencedDeclaration": 8968,
  23342. "src": "15572:2:50",
  23343. "typeDescriptions": {
  23344. "typeIdentifier": "t_bool",
  23345. "typeString": "bool"
  23346. }
  23347. },
  23348. {
  23349. "id": 8980,
  23350. "name": "p1",
  23351. "nodeType": "Identifier",
  23352. "overloadedDeclarations": [],
  23353. "referencedDeclaration": 8970,
  23354. "src": "15576:2:50",
  23355. "typeDescriptions": {
  23356. "typeIdentifier": "t_string_memory_ptr",
  23357. "typeString": "string memory"
  23358. }
  23359. },
  23360. {
  23361. "id": 8981,
  23362. "name": "p2",
  23363. "nodeType": "Identifier",
  23364. "overloadedDeclarations": [],
  23365. "referencedDeclaration": 8972,
  23366. "src": "15580:2:50",
  23367. "typeDescriptions": {
  23368. "typeIdentifier": "t_address",
  23369. "typeString": "address"
  23370. }
  23371. }
  23372. ],
  23373. "expression": {
  23374. "argumentTypes": [
  23375. {
  23376. "typeIdentifier": "t_stringliteral_9591b953c9b1d0af9d1e3bc0f6ea9aa5b0e1af8c702f85b36e21b9b2d7e4da79",
  23377. "typeString": "literal_string \"log(bool,string,address)\""
  23378. },
  23379. {
  23380. "typeIdentifier": "t_bool",
  23381. "typeString": "bool"
  23382. },
  23383. {
  23384. "typeIdentifier": "t_string_memory_ptr",
  23385. "typeString": "string memory"
  23386. },
  23387. {
  23388. "typeIdentifier": "t_address",
  23389. "typeString": "address"
  23390. }
  23391. ],
  23392. "expression": {
  23393. "id": 8976,
  23394. "name": "abi",
  23395. "nodeType": "Identifier",
  23396. "overloadedDeclarations": [],
  23397. "referencedDeclaration": -1,
  23398. "src": "15520:3:50",
  23399. "typeDescriptions": {
  23400. "typeIdentifier": "t_magic_abi",
  23401. "typeString": "abi"
  23402. }
  23403. },
  23404. "id": 8977,
  23405. "isConstant": false,
  23406. "isLValue": false,
  23407. "isPure": true,
  23408. "lValueRequested": false,
  23409. "memberLocation": "15524:19:50",
  23410. "memberName": "encodeWithSignature",
  23411. "nodeType": "MemberAccess",
  23412. "src": "15520:23:50",
  23413. "typeDescriptions": {
  23414. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  23415. "typeString": "function (string memory) pure returns (bytes memory)"
  23416. }
  23417. },
  23418. "id": 8982,
  23419. "isConstant": false,
  23420. "isLValue": false,
  23421. "isPure": false,
  23422. "kind": "functionCall",
  23423. "lValueRequested": false,
  23424. "nameLocations": [],
  23425. "names": [],
  23426. "nodeType": "FunctionCall",
  23427. "src": "15520:63:50",
  23428. "tryCall": false,
  23429. "typeDescriptions": {
  23430. "typeIdentifier": "t_bytes_memory_ptr",
  23431. "typeString": "bytes memory"
  23432. }
  23433. }
  23434. ],
  23435. "expression": {
  23436. "argumentTypes": [
  23437. {
  23438. "typeIdentifier": "t_bytes_memory_ptr",
  23439. "typeString": "bytes memory"
  23440. }
  23441. ],
  23442. "id": 8975,
  23443. "name": "_sendLogPayload",
  23444. "nodeType": "Identifier",
  23445. "overloadedDeclarations": [],
  23446. "referencedDeclaration": 7315,
  23447. "src": "15504:15:50",
  23448. "typeDescriptions": {
  23449. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  23450. "typeString": "function (bytes memory) pure"
  23451. }
  23452. },
  23453. "id": 8983,
  23454. "isConstant": false,
  23455. "isLValue": false,
  23456. "isPure": false,
  23457. "kind": "functionCall",
  23458. "lValueRequested": false,
  23459. "nameLocations": [],
  23460. "names": [],
  23461. "nodeType": "FunctionCall",
  23462. "src": "15504:80:50",
  23463. "tryCall": false,
  23464. "typeDescriptions": {
  23465. "typeIdentifier": "t_tuple$__$",
  23466. "typeString": "tuple()"
  23467. }
  23468. },
  23469. "id": 8984,
  23470. "nodeType": "ExpressionStatement",
  23471. "src": "15504:80:50"
  23472. }
  23473. ]
  23474. },
  23475. "implemented": true,
  23476. "kind": "function",
  23477. "modifiers": [],
  23478. "name": "log",
  23479. "nameLocation": "15437:3:50",
  23480. "parameters": {
  23481. "id": 8973,
  23482. "nodeType": "ParameterList",
  23483. "parameters": [
  23484. {
  23485. "constant": false,
  23486. "id": 8968,
  23487. "mutability": "mutable",
  23488. "name": "p0",
  23489. "nameLocation": "15446:2:50",
  23490. "nodeType": "VariableDeclaration",
  23491. "scope": 8986,
  23492. "src": "15441:7:50",
  23493. "stateVariable": false,
  23494. "storageLocation": "default",
  23495. "typeDescriptions": {
  23496. "typeIdentifier": "t_bool",
  23497. "typeString": "bool"
  23498. },
  23499. "typeName": {
  23500. "id": 8967,
  23501. "name": "bool",
  23502. "nodeType": "ElementaryTypeName",
  23503. "src": "15441:4:50",
  23504. "typeDescriptions": {
  23505. "typeIdentifier": "t_bool",
  23506. "typeString": "bool"
  23507. }
  23508. },
  23509. "visibility": "internal"
  23510. },
  23511. {
  23512. "constant": false,
  23513. "id": 8970,
  23514. "mutability": "mutable",
  23515. "name": "p1",
  23516. "nameLocation": "15464:2:50",
  23517. "nodeType": "VariableDeclaration",
  23518. "scope": 8986,
  23519. "src": "15450:16:50",
  23520. "stateVariable": false,
  23521. "storageLocation": "memory",
  23522. "typeDescriptions": {
  23523. "typeIdentifier": "t_string_memory_ptr",
  23524. "typeString": "string"
  23525. },
  23526. "typeName": {
  23527. "id": 8969,
  23528. "name": "string",
  23529. "nodeType": "ElementaryTypeName",
  23530. "src": "15450:6:50",
  23531. "typeDescriptions": {
  23532. "typeIdentifier": "t_string_storage_ptr",
  23533. "typeString": "string"
  23534. }
  23535. },
  23536. "visibility": "internal"
  23537. },
  23538. {
  23539. "constant": false,
  23540. "id": 8972,
  23541. "mutability": "mutable",
  23542. "name": "p2",
  23543. "nameLocation": "15476:2:50",
  23544. "nodeType": "VariableDeclaration",
  23545. "scope": 8986,
  23546. "src": "15468:10:50",
  23547. "stateVariable": false,
  23548. "storageLocation": "default",
  23549. "typeDescriptions": {
  23550. "typeIdentifier": "t_address",
  23551. "typeString": "address"
  23552. },
  23553. "typeName": {
  23554. "id": 8971,
  23555. "name": "address",
  23556. "nodeType": "ElementaryTypeName",
  23557. "src": "15468:7:50",
  23558. "stateMutability": "nonpayable",
  23559. "typeDescriptions": {
  23560. "typeIdentifier": "t_address",
  23561. "typeString": "address"
  23562. }
  23563. },
  23564. "visibility": "internal"
  23565. }
  23566. ],
  23567. "src": "15440:39:50"
  23568. },
  23569. "returnParameters": {
  23570. "id": 8974,
  23571. "nodeType": "ParameterList",
  23572. "parameters": [],
  23573. "src": "15494:0:50"
  23574. },
  23575. "scope": 15355,
  23576. "stateMutability": "pure",
  23577. "virtual": false,
  23578. "visibility": "internal"
  23579. },
  23580. {
  23581. "id": 9006,
  23582. "nodeType": "FunctionDefinition",
  23583. "src": "15597:152:50",
  23584. "nodes": [],
  23585. "body": {
  23586. "id": 9005,
  23587. "nodeType": "Block",
  23588. "src": "15654:95:50",
  23589. "nodes": [],
  23590. "statements": [
  23591. {
  23592. "expression": {
  23593. "arguments": [
  23594. {
  23595. "arguments": [
  23596. {
  23597. "hexValue": "6c6f6728626f6f6c2c626f6f6c2c75696e7432353629",
  23598. "id": 8998,
  23599. "isConstant": false,
  23600. "isLValue": false,
  23601. "isPure": true,
  23602. "kind": "string",
  23603. "lValueRequested": false,
  23604. "nodeType": "Literal",
  23605. "src": "15704:24:50",
  23606. "typeDescriptions": {
  23607. "typeIdentifier": "t_stringliteral_12f216023a0243e7ece19b75fc4619b59ea663e0aefdf2e4b1faa16a9fa3a211",
  23608. "typeString": "literal_string \"log(bool,bool,uint256)\""
  23609. },
  23610. "value": "log(bool,bool,uint256)"
  23611. },
  23612. {
  23613. "id": 8999,
  23614. "name": "p0",
  23615. "nodeType": "Identifier",
  23616. "overloadedDeclarations": [],
  23617. "referencedDeclaration": 8988,
  23618. "src": "15730:2:50",
  23619. "typeDescriptions": {
  23620. "typeIdentifier": "t_bool",
  23621. "typeString": "bool"
  23622. }
  23623. },
  23624. {
  23625. "id": 9000,
  23626. "name": "p1",
  23627. "nodeType": "Identifier",
  23628. "overloadedDeclarations": [],
  23629. "referencedDeclaration": 8990,
  23630. "src": "15734:2:50",
  23631. "typeDescriptions": {
  23632. "typeIdentifier": "t_bool",
  23633. "typeString": "bool"
  23634. }
  23635. },
  23636. {
  23637. "id": 9001,
  23638. "name": "p2",
  23639. "nodeType": "Identifier",
  23640. "overloadedDeclarations": [],
  23641. "referencedDeclaration": 8992,
  23642. "src": "15738:2:50",
  23643. "typeDescriptions": {
  23644. "typeIdentifier": "t_uint256",
  23645. "typeString": "uint256"
  23646. }
  23647. }
  23648. ],
  23649. "expression": {
  23650. "argumentTypes": [
  23651. {
  23652. "typeIdentifier": "t_stringliteral_12f216023a0243e7ece19b75fc4619b59ea663e0aefdf2e4b1faa16a9fa3a211",
  23653. "typeString": "literal_string \"log(bool,bool,uint256)\""
  23654. },
  23655. {
  23656. "typeIdentifier": "t_bool",
  23657. "typeString": "bool"
  23658. },
  23659. {
  23660. "typeIdentifier": "t_bool",
  23661. "typeString": "bool"
  23662. },
  23663. {
  23664. "typeIdentifier": "t_uint256",
  23665. "typeString": "uint256"
  23666. }
  23667. ],
  23668. "expression": {
  23669. "id": 8996,
  23670. "name": "abi",
  23671. "nodeType": "Identifier",
  23672. "overloadedDeclarations": [],
  23673. "referencedDeclaration": -1,
  23674. "src": "15680:3:50",
  23675. "typeDescriptions": {
  23676. "typeIdentifier": "t_magic_abi",
  23677. "typeString": "abi"
  23678. }
  23679. },
  23680. "id": 8997,
  23681. "isConstant": false,
  23682. "isLValue": false,
  23683. "isPure": true,
  23684. "lValueRequested": false,
  23685. "memberLocation": "15684:19:50",
  23686. "memberName": "encodeWithSignature",
  23687. "nodeType": "MemberAccess",
  23688. "src": "15680:23:50",
  23689. "typeDescriptions": {
  23690. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  23691. "typeString": "function (string memory) pure returns (bytes memory)"
  23692. }
  23693. },
  23694. "id": 9002,
  23695. "isConstant": false,
  23696. "isLValue": false,
  23697. "isPure": false,
  23698. "kind": "functionCall",
  23699. "lValueRequested": false,
  23700. "nameLocations": [],
  23701. "names": [],
  23702. "nodeType": "FunctionCall",
  23703. "src": "15680:61:50",
  23704. "tryCall": false,
  23705. "typeDescriptions": {
  23706. "typeIdentifier": "t_bytes_memory_ptr",
  23707. "typeString": "bytes memory"
  23708. }
  23709. }
  23710. ],
  23711. "expression": {
  23712. "argumentTypes": [
  23713. {
  23714. "typeIdentifier": "t_bytes_memory_ptr",
  23715. "typeString": "bytes memory"
  23716. }
  23717. ],
  23718. "id": 8995,
  23719. "name": "_sendLogPayload",
  23720. "nodeType": "Identifier",
  23721. "overloadedDeclarations": [],
  23722. "referencedDeclaration": 7315,
  23723. "src": "15664:15:50",
  23724. "typeDescriptions": {
  23725. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  23726. "typeString": "function (bytes memory) pure"
  23727. }
  23728. },
  23729. "id": 9003,
  23730. "isConstant": false,
  23731. "isLValue": false,
  23732. "isPure": false,
  23733. "kind": "functionCall",
  23734. "lValueRequested": false,
  23735. "nameLocations": [],
  23736. "names": [],
  23737. "nodeType": "FunctionCall",
  23738. "src": "15664:78:50",
  23739. "tryCall": false,
  23740. "typeDescriptions": {
  23741. "typeIdentifier": "t_tuple$__$",
  23742. "typeString": "tuple()"
  23743. }
  23744. },
  23745. "id": 9004,
  23746. "nodeType": "ExpressionStatement",
  23747. "src": "15664:78:50"
  23748. }
  23749. ]
  23750. },
  23751. "implemented": true,
  23752. "kind": "function",
  23753. "modifiers": [],
  23754. "name": "log",
  23755. "nameLocation": "15606:3:50",
  23756. "parameters": {
  23757. "id": 8993,
  23758. "nodeType": "ParameterList",
  23759. "parameters": [
  23760. {
  23761. "constant": false,
  23762. "id": 8988,
  23763. "mutability": "mutable",
  23764. "name": "p0",
  23765. "nameLocation": "15615:2:50",
  23766. "nodeType": "VariableDeclaration",
  23767. "scope": 9006,
  23768. "src": "15610:7:50",
  23769. "stateVariable": false,
  23770. "storageLocation": "default",
  23771. "typeDescriptions": {
  23772. "typeIdentifier": "t_bool",
  23773. "typeString": "bool"
  23774. },
  23775. "typeName": {
  23776. "id": 8987,
  23777. "name": "bool",
  23778. "nodeType": "ElementaryTypeName",
  23779. "src": "15610:4:50",
  23780. "typeDescriptions": {
  23781. "typeIdentifier": "t_bool",
  23782. "typeString": "bool"
  23783. }
  23784. },
  23785. "visibility": "internal"
  23786. },
  23787. {
  23788. "constant": false,
  23789. "id": 8990,
  23790. "mutability": "mutable",
  23791. "name": "p1",
  23792. "nameLocation": "15624:2:50",
  23793. "nodeType": "VariableDeclaration",
  23794. "scope": 9006,
  23795. "src": "15619:7:50",
  23796. "stateVariable": false,
  23797. "storageLocation": "default",
  23798. "typeDescriptions": {
  23799. "typeIdentifier": "t_bool",
  23800. "typeString": "bool"
  23801. },
  23802. "typeName": {
  23803. "id": 8989,
  23804. "name": "bool",
  23805. "nodeType": "ElementaryTypeName",
  23806. "src": "15619:4:50",
  23807. "typeDescriptions": {
  23808. "typeIdentifier": "t_bool",
  23809. "typeString": "bool"
  23810. }
  23811. },
  23812. "visibility": "internal"
  23813. },
  23814. {
  23815. "constant": false,
  23816. "id": 8992,
  23817. "mutability": "mutable",
  23818. "name": "p2",
  23819. "nameLocation": "15636:2:50",
  23820. "nodeType": "VariableDeclaration",
  23821. "scope": 9006,
  23822. "src": "15628:10:50",
  23823. "stateVariable": false,
  23824. "storageLocation": "default",
  23825. "typeDescriptions": {
  23826. "typeIdentifier": "t_uint256",
  23827. "typeString": "uint256"
  23828. },
  23829. "typeName": {
  23830. "id": 8991,
  23831. "name": "uint256",
  23832. "nodeType": "ElementaryTypeName",
  23833. "src": "15628:7:50",
  23834. "typeDescriptions": {
  23835. "typeIdentifier": "t_uint256",
  23836. "typeString": "uint256"
  23837. }
  23838. },
  23839. "visibility": "internal"
  23840. }
  23841. ],
  23842. "src": "15609:30:50"
  23843. },
  23844. "returnParameters": {
  23845. "id": 8994,
  23846. "nodeType": "ParameterList",
  23847. "parameters": [],
  23848. "src": "15654:0:50"
  23849. },
  23850. "scope": 15355,
  23851. "stateMutability": "pure",
  23852. "virtual": false,
  23853. "visibility": "internal"
  23854. },
  23855. {
  23856. "id": 9026,
  23857. "nodeType": "FunctionDefinition",
  23858. "src": "15755:157:50",
  23859. "nodes": [],
  23860. "body": {
  23861. "id": 9025,
  23862. "nodeType": "Block",
  23863. "src": "15818:94:50",
  23864. "nodes": [],
  23865. "statements": [
  23866. {
  23867. "expression": {
  23868. "arguments": [
  23869. {
  23870. "arguments": [
  23871. {
  23872. "hexValue": "6c6f6728626f6f6c2c626f6f6c2c737472696e6729",
  23873. "id": 9018,
  23874. "isConstant": false,
  23875. "isLValue": false,
  23876. "isPure": true,
  23877. "kind": "string",
  23878. "lValueRequested": false,
  23879. "nodeType": "Literal",
  23880. "src": "15868:23:50",
  23881. "typeDescriptions": {
  23882. "typeIdentifier": "t_stringliteral_2555fa465662416fc443b21c515f245dc550a66f7c658773f7bd7ad91c82f2cc",
  23883. "typeString": "literal_string \"log(bool,bool,string)\""
  23884. },
  23885. "value": "log(bool,bool,string)"
  23886. },
  23887. {
  23888. "id": 9019,
  23889. "name": "p0",
  23890. "nodeType": "Identifier",
  23891. "overloadedDeclarations": [],
  23892. "referencedDeclaration": 9008,
  23893. "src": "15893:2:50",
  23894. "typeDescriptions": {
  23895. "typeIdentifier": "t_bool",
  23896. "typeString": "bool"
  23897. }
  23898. },
  23899. {
  23900. "id": 9020,
  23901. "name": "p1",
  23902. "nodeType": "Identifier",
  23903. "overloadedDeclarations": [],
  23904. "referencedDeclaration": 9010,
  23905. "src": "15897:2:50",
  23906. "typeDescriptions": {
  23907. "typeIdentifier": "t_bool",
  23908. "typeString": "bool"
  23909. }
  23910. },
  23911. {
  23912. "id": 9021,
  23913. "name": "p2",
  23914. "nodeType": "Identifier",
  23915. "overloadedDeclarations": [],
  23916. "referencedDeclaration": 9012,
  23917. "src": "15901:2:50",
  23918. "typeDescriptions": {
  23919. "typeIdentifier": "t_string_memory_ptr",
  23920. "typeString": "string memory"
  23921. }
  23922. }
  23923. ],
  23924. "expression": {
  23925. "argumentTypes": [
  23926. {
  23927. "typeIdentifier": "t_stringliteral_2555fa465662416fc443b21c515f245dc550a66f7c658773f7bd7ad91c82f2cc",
  23928. "typeString": "literal_string \"log(bool,bool,string)\""
  23929. },
  23930. {
  23931. "typeIdentifier": "t_bool",
  23932. "typeString": "bool"
  23933. },
  23934. {
  23935. "typeIdentifier": "t_bool",
  23936. "typeString": "bool"
  23937. },
  23938. {
  23939. "typeIdentifier": "t_string_memory_ptr",
  23940. "typeString": "string memory"
  23941. }
  23942. ],
  23943. "expression": {
  23944. "id": 9016,
  23945. "name": "abi",
  23946. "nodeType": "Identifier",
  23947. "overloadedDeclarations": [],
  23948. "referencedDeclaration": -1,
  23949. "src": "15844:3:50",
  23950. "typeDescriptions": {
  23951. "typeIdentifier": "t_magic_abi",
  23952. "typeString": "abi"
  23953. }
  23954. },
  23955. "id": 9017,
  23956. "isConstant": false,
  23957. "isLValue": false,
  23958. "isPure": true,
  23959. "lValueRequested": false,
  23960. "memberLocation": "15848:19:50",
  23961. "memberName": "encodeWithSignature",
  23962. "nodeType": "MemberAccess",
  23963. "src": "15844:23:50",
  23964. "typeDescriptions": {
  23965. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  23966. "typeString": "function (string memory) pure returns (bytes memory)"
  23967. }
  23968. },
  23969. "id": 9022,
  23970. "isConstant": false,
  23971. "isLValue": false,
  23972. "isPure": false,
  23973. "kind": "functionCall",
  23974. "lValueRequested": false,
  23975. "nameLocations": [],
  23976. "names": [],
  23977. "nodeType": "FunctionCall",
  23978. "src": "15844:60:50",
  23979. "tryCall": false,
  23980. "typeDescriptions": {
  23981. "typeIdentifier": "t_bytes_memory_ptr",
  23982. "typeString": "bytes memory"
  23983. }
  23984. }
  23985. ],
  23986. "expression": {
  23987. "argumentTypes": [
  23988. {
  23989. "typeIdentifier": "t_bytes_memory_ptr",
  23990. "typeString": "bytes memory"
  23991. }
  23992. ],
  23993. "id": 9015,
  23994. "name": "_sendLogPayload",
  23995. "nodeType": "Identifier",
  23996. "overloadedDeclarations": [],
  23997. "referencedDeclaration": 7315,
  23998. "src": "15828:15:50",
  23999. "typeDescriptions": {
  24000. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  24001. "typeString": "function (bytes memory) pure"
  24002. }
  24003. },
  24004. "id": 9023,
  24005. "isConstant": false,
  24006. "isLValue": false,
  24007. "isPure": false,
  24008. "kind": "functionCall",
  24009. "lValueRequested": false,
  24010. "nameLocations": [],
  24011. "names": [],
  24012. "nodeType": "FunctionCall",
  24013. "src": "15828:77:50",
  24014. "tryCall": false,
  24015. "typeDescriptions": {
  24016. "typeIdentifier": "t_tuple$__$",
  24017. "typeString": "tuple()"
  24018. }
  24019. },
  24020. "id": 9024,
  24021. "nodeType": "ExpressionStatement",
  24022. "src": "15828:77:50"
  24023. }
  24024. ]
  24025. },
  24026. "implemented": true,
  24027. "kind": "function",
  24028. "modifiers": [],
  24029. "name": "log",
  24030. "nameLocation": "15764:3:50",
  24031. "parameters": {
  24032. "id": 9013,
  24033. "nodeType": "ParameterList",
  24034. "parameters": [
  24035. {
  24036. "constant": false,
  24037. "id": 9008,
  24038. "mutability": "mutable",
  24039. "name": "p0",
  24040. "nameLocation": "15773:2:50",
  24041. "nodeType": "VariableDeclaration",
  24042. "scope": 9026,
  24043. "src": "15768:7:50",
  24044. "stateVariable": false,
  24045. "storageLocation": "default",
  24046. "typeDescriptions": {
  24047. "typeIdentifier": "t_bool",
  24048. "typeString": "bool"
  24049. },
  24050. "typeName": {
  24051. "id": 9007,
  24052. "name": "bool",
  24053. "nodeType": "ElementaryTypeName",
  24054. "src": "15768:4:50",
  24055. "typeDescriptions": {
  24056. "typeIdentifier": "t_bool",
  24057. "typeString": "bool"
  24058. }
  24059. },
  24060. "visibility": "internal"
  24061. },
  24062. {
  24063. "constant": false,
  24064. "id": 9010,
  24065. "mutability": "mutable",
  24066. "name": "p1",
  24067. "nameLocation": "15782:2:50",
  24068. "nodeType": "VariableDeclaration",
  24069. "scope": 9026,
  24070. "src": "15777:7:50",
  24071. "stateVariable": false,
  24072. "storageLocation": "default",
  24073. "typeDescriptions": {
  24074. "typeIdentifier": "t_bool",
  24075. "typeString": "bool"
  24076. },
  24077. "typeName": {
  24078. "id": 9009,
  24079. "name": "bool",
  24080. "nodeType": "ElementaryTypeName",
  24081. "src": "15777:4:50",
  24082. "typeDescriptions": {
  24083. "typeIdentifier": "t_bool",
  24084. "typeString": "bool"
  24085. }
  24086. },
  24087. "visibility": "internal"
  24088. },
  24089. {
  24090. "constant": false,
  24091. "id": 9012,
  24092. "mutability": "mutable",
  24093. "name": "p2",
  24094. "nameLocation": "15800:2:50",
  24095. "nodeType": "VariableDeclaration",
  24096. "scope": 9026,
  24097. "src": "15786:16:50",
  24098. "stateVariable": false,
  24099. "storageLocation": "memory",
  24100. "typeDescriptions": {
  24101. "typeIdentifier": "t_string_memory_ptr",
  24102. "typeString": "string"
  24103. },
  24104. "typeName": {
  24105. "id": 9011,
  24106. "name": "string",
  24107. "nodeType": "ElementaryTypeName",
  24108. "src": "15786:6:50",
  24109. "typeDescriptions": {
  24110. "typeIdentifier": "t_string_storage_ptr",
  24111. "typeString": "string"
  24112. }
  24113. },
  24114. "visibility": "internal"
  24115. }
  24116. ],
  24117. "src": "15767:36:50"
  24118. },
  24119. "returnParameters": {
  24120. "id": 9014,
  24121. "nodeType": "ParameterList",
  24122. "parameters": [],
  24123. "src": "15818:0:50"
  24124. },
  24125. "scope": 15355,
  24126. "stateMutability": "pure",
  24127. "virtual": false,
  24128. "visibility": "internal"
  24129. },
  24130. {
  24131. "id": 9046,
  24132. "nodeType": "FunctionDefinition",
  24133. "src": "15918:146:50",
  24134. "nodes": [],
  24135. "body": {
  24136. "id": 9045,
  24137. "nodeType": "Block",
  24138. "src": "15972:92:50",
  24139. "nodes": [],
  24140. "statements": [
  24141. {
  24142. "expression": {
  24143. "arguments": [
  24144. {
  24145. "arguments": [
  24146. {
  24147. "hexValue": "6c6f6728626f6f6c2c626f6f6c2c626f6f6c29",
  24148. "id": 9038,
  24149. "isConstant": false,
  24150. "isLValue": false,
  24151. "isPure": true,
  24152. "kind": "string",
  24153. "lValueRequested": false,
  24154. "nodeType": "Literal",
  24155. "src": "16022:21:50",
  24156. "typeDescriptions": {
  24157. "typeIdentifier": "t_stringliteral_50709698278bb02f656e4ac53a2ae8ef0ec4064d340360a5fa4d933e9a742590",
  24158. "typeString": "literal_string \"log(bool,bool,bool)\""
  24159. },
  24160. "value": "log(bool,bool,bool)"
  24161. },
  24162. {
  24163. "id": 9039,
  24164. "name": "p0",
  24165. "nodeType": "Identifier",
  24166. "overloadedDeclarations": [],
  24167. "referencedDeclaration": 9028,
  24168. "src": "16045:2:50",
  24169. "typeDescriptions": {
  24170. "typeIdentifier": "t_bool",
  24171. "typeString": "bool"
  24172. }
  24173. },
  24174. {
  24175. "id": 9040,
  24176. "name": "p1",
  24177. "nodeType": "Identifier",
  24178. "overloadedDeclarations": [],
  24179. "referencedDeclaration": 9030,
  24180. "src": "16049:2:50",
  24181. "typeDescriptions": {
  24182. "typeIdentifier": "t_bool",
  24183. "typeString": "bool"
  24184. }
  24185. },
  24186. {
  24187. "id": 9041,
  24188. "name": "p2",
  24189. "nodeType": "Identifier",
  24190. "overloadedDeclarations": [],
  24191. "referencedDeclaration": 9032,
  24192. "src": "16053:2:50",
  24193. "typeDescriptions": {
  24194. "typeIdentifier": "t_bool",
  24195. "typeString": "bool"
  24196. }
  24197. }
  24198. ],
  24199. "expression": {
  24200. "argumentTypes": [
  24201. {
  24202. "typeIdentifier": "t_stringliteral_50709698278bb02f656e4ac53a2ae8ef0ec4064d340360a5fa4d933e9a742590",
  24203. "typeString": "literal_string \"log(bool,bool,bool)\""
  24204. },
  24205. {
  24206. "typeIdentifier": "t_bool",
  24207. "typeString": "bool"
  24208. },
  24209. {
  24210. "typeIdentifier": "t_bool",
  24211. "typeString": "bool"
  24212. },
  24213. {
  24214. "typeIdentifier": "t_bool",
  24215. "typeString": "bool"
  24216. }
  24217. ],
  24218. "expression": {
  24219. "id": 9036,
  24220. "name": "abi",
  24221. "nodeType": "Identifier",
  24222. "overloadedDeclarations": [],
  24223. "referencedDeclaration": -1,
  24224. "src": "15998:3:50",
  24225. "typeDescriptions": {
  24226. "typeIdentifier": "t_magic_abi",
  24227. "typeString": "abi"
  24228. }
  24229. },
  24230. "id": 9037,
  24231. "isConstant": false,
  24232. "isLValue": false,
  24233. "isPure": true,
  24234. "lValueRequested": false,
  24235. "memberLocation": "16002:19:50",
  24236. "memberName": "encodeWithSignature",
  24237. "nodeType": "MemberAccess",
  24238. "src": "15998:23:50",
  24239. "typeDescriptions": {
  24240. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  24241. "typeString": "function (string memory) pure returns (bytes memory)"
  24242. }
  24243. },
  24244. "id": 9042,
  24245. "isConstant": false,
  24246. "isLValue": false,
  24247. "isPure": false,
  24248. "kind": "functionCall",
  24249. "lValueRequested": false,
  24250. "nameLocations": [],
  24251. "names": [],
  24252. "nodeType": "FunctionCall",
  24253. "src": "15998:58:50",
  24254. "tryCall": false,
  24255. "typeDescriptions": {
  24256. "typeIdentifier": "t_bytes_memory_ptr",
  24257. "typeString": "bytes memory"
  24258. }
  24259. }
  24260. ],
  24261. "expression": {
  24262. "argumentTypes": [
  24263. {
  24264. "typeIdentifier": "t_bytes_memory_ptr",
  24265. "typeString": "bytes memory"
  24266. }
  24267. ],
  24268. "id": 9035,
  24269. "name": "_sendLogPayload",
  24270. "nodeType": "Identifier",
  24271. "overloadedDeclarations": [],
  24272. "referencedDeclaration": 7315,
  24273. "src": "15982:15:50",
  24274. "typeDescriptions": {
  24275. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  24276. "typeString": "function (bytes memory) pure"
  24277. }
  24278. },
  24279. "id": 9043,
  24280. "isConstant": false,
  24281. "isLValue": false,
  24282. "isPure": false,
  24283. "kind": "functionCall",
  24284. "lValueRequested": false,
  24285. "nameLocations": [],
  24286. "names": [],
  24287. "nodeType": "FunctionCall",
  24288. "src": "15982:75:50",
  24289. "tryCall": false,
  24290. "typeDescriptions": {
  24291. "typeIdentifier": "t_tuple$__$",
  24292. "typeString": "tuple()"
  24293. }
  24294. },
  24295. "id": 9044,
  24296. "nodeType": "ExpressionStatement",
  24297. "src": "15982:75:50"
  24298. }
  24299. ]
  24300. },
  24301. "implemented": true,
  24302. "kind": "function",
  24303. "modifiers": [],
  24304. "name": "log",
  24305. "nameLocation": "15927:3:50",
  24306. "parameters": {
  24307. "id": 9033,
  24308. "nodeType": "ParameterList",
  24309. "parameters": [
  24310. {
  24311. "constant": false,
  24312. "id": 9028,
  24313. "mutability": "mutable",
  24314. "name": "p0",
  24315. "nameLocation": "15936:2:50",
  24316. "nodeType": "VariableDeclaration",
  24317. "scope": 9046,
  24318. "src": "15931:7:50",
  24319. "stateVariable": false,
  24320. "storageLocation": "default",
  24321. "typeDescriptions": {
  24322. "typeIdentifier": "t_bool",
  24323. "typeString": "bool"
  24324. },
  24325. "typeName": {
  24326. "id": 9027,
  24327. "name": "bool",
  24328. "nodeType": "ElementaryTypeName",
  24329. "src": "15931:4:50",
  24330. "typeDescriptions": {
  24331. "typeIdentifier": "t_bool",
  24332. "typeString": "bool"
  24333. }
  24334. },
  24335. "visibility": "internal"
  24336. },
  24337. {
  24338. "constant": false,
  24339. "id": 9030,
  24340. "mutability": "mutable",
  24341. "name": "p1",
  24342. "nameLocation": "15945:2:50",
  24343. "nodeType": "VariableDeclaration",
  24344. "scope": 9046,
  24345. "src": "15940:7:50",
  24346. "stateVariable": false,
  24347. "storageLocation": "default",
  24348. "typeDescriptions": {
  24349. "typeIdentifier": "t_bool",
  24350. "typeString": "bool"
  24351. },
  24352. "typeName": {
  24353. "id": 9029,
  24354. "name": "bool",
  24355. "nodeType": "ElementaryTypeName",
  24356. "src": "15940:4:50",
  24357. "typeDescriptions": {
  24358. "typeIdentifier": "t_bool",
  24359. "typeString": "bool"
  24360. }
  24361. },
  24362. "visibility": "internal"
  24363. },
  24364. {
  24365. "constant": false,
  24366. "id": 9032,
  24367. "mutability": "mutable",
  24368. "name": "p2",
  24369. "nameLocation": "15954:2:50",
  24370. "nodeType": "VariableDeclaration",
  24371. "scope": 9046,
  24372. "src": "15949:7:50",
  24373. "stateVariable": false,
  24374. "storageLocation": "default",
  24375. "typeDescriptions": {
  24376. "typeIdentifier": "t_bool",
  24377. "typeString": "bool"
  24378. },
  24379. "typeName": {
  24380. "id": 9031,
  24381. "name": "bool",
  24382. "nodeType": "ElementaryTypeName",
  24383. "src": "15949:4:50",
  24384. "typeDescriptions": {
  24385. "typeIdentifier": "t_bool",
  24386. "typeString": "bool"
  24387. }
  24388. },
  24389. "visibility": "internal"
  24390. }
  24391. ],
  24392. "src": "15930:27:50"
  24393. },
  24394. "returnParameters": {
  24395. "id": 9034,
  24396. "nodeType": "ParameterList",
  24397. "parameters": [],
  24398. "src": "15972:0:50"
  24399. },
  24400. "scope": 15355,
  24401. "stateMutability": "pure",
  24402. "virtual": false,
  24403. "visibility": "internal"
  24404. },
  24405. {
  24406. "id": 9066,
  24407. "nodeType": "FunctionDefinition",
  24408. "src": "16070:152:50",
  24409. "nodes": [],
  24410. "body": {
  24411. "id": 9065,
  24412. "nodeType": "Block",
  24413. "src": "16127:95:50",
  24414. "nodes": [],
  24415. "statements": [
  24416. {
  24417. "expression": {
  24418. "arguments": [
  24419. {
  24420. "arguments": [
  24421. {
  24422. "hexValue": "6c6f6728626f6f6c2c626f6f6c2c6164647265737329",
  24423. "id": 9058,
  24424. "isConstant": false,
  24425. "isLValue": false,
  24426. "isPure": true,
  24427. "kind": "string",
  24428. "lValueRequested": false,
  24429. "nodeType": "Literal",
  24430. "src": "16177:24:50",
  24431. "typeDescriptions": {
  24432. "typeIdentifier": "t_stringliteral_1078f68da6ddbbe80f829fe8d54d1f2c6347e1ee4ec5a2a7a3a330ada9eccf81",
  24433. "typeString": "literal_string \"log(bool,bool,address)\""
  24434. },
  24435. "value": "log(bool,bool,address)"
  24436. },
  24437. {
  24438. "id": 9059,
  24439. "name": "p0",
  24440. "nodeType": "Identifier",
  24441. "overloadedDeclarations": [],
  24442. "referencedDeclaration": 9048,
  24443. "src": "16203:2:50",
  24444. "typeDescriptions": {
  24445. "typeIdentifier": "t_bool",
  24446. "typeString": "bool"
  24447. }
  24448. },
  24449. {
  24450. "id": 9060,
  24451. "name": "p1",
  24452. "nodeType": "Identifier",
  24453. "overloadedDeclarations": [],
  24454. "referencedDeclaration": 9050,
  24455. "src": "16207:2:50",
  24456. "typeDescriptions": {
  24457. "typeIdentifier": "t_bool",
  24458. "typeString": "bool"
  24459. }
  24460. },
  24461. {
  24462. "id": 9061,
  24463. "name": "p2",
  24464. "nodeType": "Identifier",
  24465. "overloadedDeclarations": [],
  24466. "referencedDeclaration": 9052,
  24467. "src": "16211:2:50",
  24468. "typeDescriptions": {
  24469. "typeIdentifier": "t_address",
  24470. "typeString": "address"
  24471. }
  24472. }
  24473. ],
  24474. "expression": {
  24475. "argumentTypes": [
  24476. {
  24477. "typeIdentifier": "t_stringliteral_1078f68da6ddbbe80f829fe8d54d1f2c6347e1ee4ec5a2a7a3a330ada9eccf81",
  24478. "typeString": "literal_string \"log(bool,bool,address)\""
  24479. },
  24480. {
  24481. "typeIdentifier": "t_bool",
  24482. "typeString": "bool"
  24483. },
  24484. {
  24485. "typeIdentifier": "t_bool",
  24486. "typeString": "bool"
  24487. },
  24488. {
  24489. "typeIdentifier": "t_address",
  24490. "typeString": "address"
  24491. }
  24492. ],
  24493. "expression": {
  24494. "id": 9056,
  24495. "name": "abi",
  24496. "nodeType": "Identifier",
  24497. "overloadedDeclarations": [],
  24498. "referencedDeclaration": -1,
  24499. "src": "16153:3:50",
  24500. "typeDescriptions": {
  24501. "typeIdentifier": "t_magic_abi",
  24502. "typeString": "abi"
  24503. }
  24504. },
  24505. "id": 9057,
  24506. "isConstant": false,
  24507. "isLValue": false,
  24508. "isPure": true,
  24509. "lValueRequested": false,
  24510. "memberLocation": "16157:19:50",
  24511. "memberName": "encodeWithSignature",
  24512. "nodeType": "MemberAccess",
  24513. "src": "16153:23:50",
  24514. "typeDescriptions": {
  24515. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  24516. "typeString": "function (string memory) pure returns (bytes memory)"
  24517. }
  24518. },
  24519. "id": 9062,
  24520. "isConstant": false,
  24521. "isLValue": false,
  24522. "isPure": false,
  24523. "kind": "functionCall",
  24524. "lValueRequested": false,
  24525. "nameLocations": [],
  24526. "names": [],
  24527. "nodeType": "FunctionCall",
  24528. "src": "16153:61:50",
  24529. "tryCall": false,
  24530. "typeDescriptions": {
  24531. "typeIdentifier": "t_bytes_memory_ptr",
  24532. "typeString": "bytes memory"
  24533. }
  24534. }
  24535. ],
  24536. "expression": {
  24537. "argumentTypes": [
  24538. {
  24539. "typeIdentifier": "t_bytes_memory_ptr",
  24540. "typeString": "bytes memory"
  24541. }
  24542. ],
  24543. "id": 9055,
  24544. "name": "_sendLogPayload",
  24545. "nodeType": "Identifier",
  24546. "overloadedDeclarations": [],
  24547. "referencedDeclaration": 7315,
  24548. "src": "16137:15:50",
  24549. "typeDescriptions": {
  24550. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  24551. "typeString": "function (bytes memory) pure"
  24552. }
  24553. },
  24554. "id": 9063,
  24555. "isConstant": false,
  24556. "isLValue": false,
  24557. "isPure": false,
  24558. "kind": "functionCall",
  24559. "lValueRequested": false,
  24560. "nameLocations": [],
  24561. "names": [],
  24562. "nodeType": "FunctionCall",
  24563. "src": "16137:78:50",
  24564. "tryCall": false,
  24565. "typeDescriptions": {
  24566. "typeIdentifier": "t_tuple$__$",
  24567. "typeString": "tuple()"
  24568. }
  24569. },
  24570. "id": 9064,
  24571. "nodeType": "ExpressionStatement",
  24572. "src": "16137:78:50"
  24573. }
  24574. ]
  24575. },
  24576. "implemented": true,
  24577. "kind": "function",
  24578. "modifiers": [],
  24579. "name": "log",
  24580. "nameLocation": "16079:3:50",
  24581. "parameters": {
  24582. "id": 9053,
  24583. "nodeType": "ParameterList",
  24584. "parameters": [
  24585. {
  24586. "constant": false,
  24587. "id": 9048,
  24588. "mutability": "mutable",
  24589. "name": "p0",
  24590. "nameLocation": "16088:2:50",
  24591. "nodeType": "VariableDeclaration",
  24592. "scope": 9066,
  24593. "src": "16083:7:50",
  24594. "stateVariable": false,
  24595. "storageLocation": "default",
  24596. "typeDescriptions": {
  24597. "typeIdentifier": "t_bool",
  24598. "typeString": "bool"
  24599. },
  24600. "typeName": {
  24601. "id": 9047,
  24602. "name": "bool",
  24603. "nodeType": "ElementaryTypeName",
  24604. "src": "16083:4:50",
  24605. "typeDescriptions": {
  24606. "typeIdentifier": "t_bool",
  24607. "typeString": "bool"
  24608. }
  24609. },
  24610. "visibility": "internal"
  24611. },
  24612. {
  24613. "constant": false,
  24614. "id": 9050,
  24615. "mutability": "mutable",
  24616. "name": "p1",
  24617. "nameLocation": "16097:2:50",
  24618. "nodeType": "VariableDeclaration",
  24619. "scope": 9066,
  24620. "src": "16092:7:50",
  24621. "stateVariable": false,
  24622. "storageLocation": "default",
  24623. "typeDescriptions": {
  24624. "typeIdentifier": "t_bool",
  24625. "typeString": "bool"
  24626. },
  24627. "typeName": {
  24628. "id": 9049,
  24629. "name": "bool",
  24630. "nodeType": "ElementaryTypeName",
  24631. "src": "16092:4:50",
  24632. "typeDescriptions": {
  24633. "typeIdentifier": "t_bool",
  24634. "typeString": "bool"
  24635. }
  24636. },
  24637. "visibility": "internal"
  24638. },
  24639. {
  24640. "constant": false,
  24641. "id": 9052,
  24642. "mutability": "mutable",
  24643. "name": "p2",
  24644. "nameLocation": "16109:2:50",
  24645. "nodeType": "VariableDeclaration",
  24646. "scope": 9066,
  24647. "src": "16101:10:50",
  24648. "stateVariable": false,
  24649. "storageLocation": "default",
  24650. "typeDescriptions": {
  24651. "typeIdentifier": "t_address",
  24652. "typeString": "address"
  24653. },
  24654. "typeName": {
  24655. "id": 9051,
  24656. "name": "address",
  24657. "nodeType": "ElementaryTypeName",
  24658. "src": "16101:7:50",
  24659. "stateMutability": "nonpayable",
  24660. "typeDescriptions": {
  24661. "typeIdentifier": "t_address",
  24662. "typeString": "address"
  24663. }
  24664. },
  24665. "visibility": "internal"
  24666. }
  24667. ],
  24668. "src": "16082:30:50"
  24669. },
  24670. "returnParameters": {
  24671. "id": 9054,
  24672. "nodeType": "ParameterList",
  24673. "parameters": [],
  24674. "src": "16127:0:50"
  24675. },
  24676. "scope": 15355,
  24677. "stateMutability": "pure",
  24678. "virtual": false,
  24679. "visibility": "internal"
  24680. },
  24681. {
  24682. "id": 9086,
  24683. "nodeType": "FunctionDefinition",
  24684. "src": "16228:158:50",
  24685. "nodes": [],
  24686. "body": {
  24687. "id": 9085,
  24688. "nodeType": "Block",
  24689. "src": "16288:98:50",
  24690. "nodes": [],
  24691. "statements": [
  24692. {
  24693. "expression": {
  24694. "arguments": [
  24695. {
  24696. "arguments": [
  24697. {
  24698. "hexValue": "6c6f6728626f6f6c2c616464726573732c75696e7432353629",
  24699. "id": 9078,
  24700. "isConstant": false,
  24701. "isLValue": false,
  24702. "isPure": true,
  24703. "kind": "string",
  24704. "lValueRequested": false,
  24705. "nodeType": "Literal",
  24706. "src": "16338:27:50",
  24707. "typeDescriptions": {
  24708. "typeIdentifier": "t_stringliteral_5f7b9afb4f9ee9df3fee50155d0accfa23536f443bcbc89ec11f75df422d05ac",
  24709. "typeString": "literal_string \"log(bool,address,uint256)\""
  24710. },
  24711. "value": "log(bool,address,uint256)"
  24712. },
  24713. {
  24714. "id": 9079,
  24715. "name": "p0",
  24716. "nodeType": "Identifier",
  24717. "overloadedDeclarations": [],
  24718. "referencedDeclaration": 9068,
  24719. "src": "16367:2:50",
  24720. "typeDescriptions": {
  24721. "typeIdentifier": "t_bool",
  24722. "typeString": "bool"
  24723. }
  24724. },
  24725. {
  24726. "id": 9080,
  24727. "name": "p1",
  24728. "nodeType": "Identifier",
  24729. "overloadedDeclarations": [],
  24730. "referencedDeclaration": 9070,
  24731. "src": "16371:2:50",
  24732. "typeDescriptions": {
  24733. "typeIdentifier": "t_address",
  24734. "typeString": "address"
  24735. }
  24736. },
  24737. {
  24738. "id": 9081,
  24739. "name": "p2",
  24740. "nodeType": "Identifier",
  24741. "overloadedDeclarations": [],
  24742. "referencedDeclaration": 9072,
  24743. "src": "16375:2:50",
  24744. "typeDescriptions": {
  24745. "typeIdentifier": "t_uint256",
  24746. "typeString": "uint256"
  24747. }
  24748. }
  24749. ],
  24750. "expression": {
  24751. "argumentTypes": [
  24752. {
  24753. "typeIdentifier": "t_stringliteral_5f7b9afb4f9ee9df3fee50155d0accfa23536f443bcbc89ec11f75df422d05ac",
  24754. "typeString": "literal_string \"log(bool,address,uint256)\""
  24755. },
  24756. {
  24757. "typeIdentifier": "t_bool",
  24758. "typeString": "bool"
  24759. },
  24760. {
  24761. "typeIdentifier": "t_address",
  24762. "typeString": "address"
  24763. },
  24764. {
  24765. "typeIdentifier": "t_uint256",
  24766. "typeString": "uint256"
  24767. }
  24768. ],
  24769. "expression": {
  24770. "id": 9076,
  24771. "name": "abi",
  24772. "nodeType": "Identifier",
  24773. "overloadedDeclarations": [],
  24774. "referencedDeclaration": -1,
  24775. "src": "16314:3:50",
  24776. "typeDescriptions": {
  24777. "typeIdentifier": "t_magic_abi",
  24778. "typeString": "abi"
  24779. }
  24780. },
  24781. "id": 9077,
  24782. "isConstant": false,
  24783. "isLValue": false,
  24784. "isPure": true,
  24785. "lValueRequested": false,
  24786. "memberLocation": "16318:19:50",
  24787. "memberName": "encodeWithSignature",
  24788. "nodeType": "MemberAccess",
  24789. "src": "16314:23:50",
  24790. "typeDescriptions": {
  24791. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  24792. "typeString": "function (string memory) pure returns (bytes memory)"
  24793. }
  24794. },
  24795. "id": 9082,
  24796. "isConstant": false,
  24797. "isLValue": false,
  24798. "isPure": false,
  24799. "kind": "functionCall",
  24800. "lValueRequested": false,
  24801. "nameLocations": [],
  24802. "names": [],
  24803. "nodeType": "FunctionCall",
  24804. "src": "16314:64:50",
  24805. "tryCall": false,
  24806. "typeDescriptions": {
  24807. "typeIdentifier": "t_bytes_memory_ptr",
  24808. "typeString": "bytes memory"
  24809. }
  24810. }
  24811. ],
  24812. "expression": {
  24813. "argumentTypes": [
  24814. {
  24815. "typeIdentifier": "t_bytes_memory_ptr",
  24816. "typeString": "bytes memory"
  24817. }
  24818. ],
  24819. "id": 9075,
  24820. "name": "_sendLogPayload",
  24821. "nodeType": "Identifier",
  24822. "overloadedDeclarations": [],
  24823. "referencedDeclaration": 7315,
  24824. "src": "16298:15:50",
  24825. "typeDescriptions": {
  24826. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  24827. "typeString": "function (bytes memory) pure"
  24828. }
  24829. },
  24830. "id": 9083,
  24831. "isConstant": false,
  24832. "isLValue": false,
  24833. "isPure": false,
  24834. "kind": "functionCall",
  24835. "lValueRequested": false,
  24836. "nameLocations": [],
  24837. "names": [],
  24838. "nodeType": "FunctionCall",
  24839. "src": "16298:81:50",
  24840. "tryCall": false,
  24841. "typeDescriptions": {
  24842. "typeIdentifier": "t_tuple$__$",
  24843. "typeString": "tuple()"
  24844. }
  24845. },
  24846. "id": 9084,
  24847. "nodeType": "ExpressionStatement",
  24848. "src": "16298:81:50"
  24849. }
  24850. ]
  24851. },
  24852. "implemented": true,
  24853. "kind": "function",
  24854. "modifiers": [],
  24855. "name": "log",
  24856. "nameLocation": "16237:3:50",
  24857. "parameters": {
  24858. "id": 9073,
  24859. "nodeType": "ParameterList",
  24860. "parameters": [
  24861. {
  24862. "constant": false,
  24863. "id": 9068,
  24864. "mutability": "mutable",
  24865. "name": "p0",
  24866. "nameLocation": "16246:2:50",
  24867. "nodeType": "VariableDeclaration",
  24868. "scope": 9086,
  24869. "src": "16241:7:50",
  24870. "stateVariable": false,
  24871. "storageLocation": "default",
  24872. "typeDescriptions": {
  24873. "typeIdentifier": "t_bool",
  24874. "typeString": "bool"
  24875. },
  24876. "typeName": {
  24877. "id": 9067,
  24878. "name": "bool",
  24879. "nodeType": "ElementaryTypeName",
  24880. "src": "16241:4:50",
  24881. "typeDescriptions": {
  24882. "typeIdentifier": "t_bool",
  24883. "typeString": "bool"
  24884. }
  24885. },
  24886. "visibility": "internal"
  24887. },
  24888. {
  24889. "constant": false,
  24890. "id": 9070,
  24891. "mutability": "mutable",
  24892. "name": "p1",
  24893. "nameLocation": "16258:2:50",
  24894. "nodeType": "VariableDeclaration",
  24895. "scope": 9086,
  24896. "src": "16250:10:50",
  24897. "stateVariable": false,
  24898. "storageLocation": "default",
  24899. "typeDescriptions": {
  24900. "typeIdentifier": "t_address",
  24901. "typeString": "address"
  24902. },
  24903. "typeName": {
  24904. "id": 9069,
  24905. "name": "address",
  24906. "nodeType": "ElementaryTypeName",
  24907. "src": "16250:7:50",
  24908. "stateMutability": "nonpayable",
  24909. "typeDescriptions": {
  24910. "typeIdentifier": "t_address",
  24911. "typeString": "address"
  24912. }
  24913. },
  24914. "visibility": "internal"
  24915. },
  24916. {
  24917. "constant": false,
  24918. "id": 9072,
  24919. "mutability": "mutable",
  24920. "name": "p2",
  24921. "nameLocation": "16270:2:50",
  24922. "nodeType": "VariableDeclaration",
  24923. "scope": 9086,
  24924. "src": "16262:10:50",
  24925. "stateVariable": false,
  24926. "storageLocation": "default",
  24927. "typeDescriptions": {
  24928. "typeIdentifier": "t_uint256",
  24929. "typeString": "uint256"
  24930. },
  24931. "typeName": {
  24932. "id": 9071,
  24933. "name": "uint256",
  24934. "nodeType": "ElementaryTypeName",
  24935. "src": "16262:7:50",
  24936. "typeDescriptions": {
  24937. "typeIdentifier": "t_uint256",
  24938. "typeString": "uint256"
  24939. }
  24940. },
  24941. "visibility": "internal"
  24942. }
  24943. ],
  24944. "src": "16240:33:50"
  24945. },
  24946. "returnParameters": {
  24947. "id": 9074,
  24948. "nodeType": "ParameterList",
  24949. "parameters": [],
  24950. "src": "16288:0:50"
  24951. },
  24952. "scope": 15355,
  24953. "stateMutability": "pure",
  24954. "virtual": false,
  24955. "visibility": "internal"
  24956. },
  24957. {
  24958. "id": 9106,
  24959. "nodeType": "FunctionDefinition",
  24960. "src": "16392:163:50",
  24961. "nodes": [],
  24962. "body": {
  24963. "id": 9105,
  24964. "nodeType": "Block",
  24965. "src": "16458:97:50",
  24966. "nodes": [],
  24967. "statements": [
  24968. {
  24969. "expression": {
  24970. "arguments": [
  24971. {
  24972. "arguments": [
  24973. {
  24974. "hexValue": "6c6f6728626f6f6c2c616464726573732c737472696e6729",
  24975. "id": 9098,
  24976. "isConstant": false,
  24977. "isLValue": false,
  24978. "isPure": true,
  24979. "kind": "string",
  24980. "lValueRequested": false,
  24981. "nodeType": "Literal",
  24982. "src": "16508:26:50",
  24983. "typeDescriptions": {
  24984. "typeIdentifier": "t_stringliteral_de9a927090b15ed84eefc0c471675a23ce67fd75011b1652fe17ca2dd0dcd06d",
  24985. "typeString": "literal_string \"log(bool,address,string)\""
  24986. },
  24987. "value": "log(bool,address,string)"
  24988. },
  24989. {
  24990. "id": 9099,
  24991. "name": "p0",
  24992. "nodeType": "Identifier",
  24993. "overloadedDeclarations": [],
  24994. "referencedDeclaration": 9088,
  24995. "src": "16536:2:50",
  24996. "typeDescriptions": {
  24997. "typeIdentifier": "t_bool",
  24998. "typeString": "bool"
  24999. }
  25000. },
  25001. {
  25002. "id": 9100,
  25003. "name": "p1",
  25004. "nodeType": "Identifier",
  25005. "overloadedDeclarations": [],
  25006. "referencedDeclaration": 9090,
  25007. "src": "16540:2:50",
  25008. "typeDescriptions": {
  25009. "typeIdentifier": "t_address",
  25010. "typeString": "address"
  25011. }
  25012. },
  25013. {
  25014. "id": 9101,
  25015. "name": "p2",
  25016. "nodeType": "Identifier",
  25017. "overloadedDeclarations": [],
  25018. "referencedDeclaration": 9092,
  25019. "src": "16544:2:50",
  25020. "typeDescriptions": {
  25021. "typeIdentifier": "t_string_memory_ptr",
  25022. "typeString": "string memory"
  25023. }
  25024. }
  25025. ],
  25026. "expression": {
  25027. "argumentTypes": [
  25028. {
  25029. "typeIdentifier": "t_stringliteral_de9a927090b15ed84eefc0c471675a23ce67fd75011b1652fe17ca2dd0dcd06d",
  25030. "typeString": "literal_string \"log(bool,address,string)\""
  25031. },
  25032. {
  25033. "typeIdentifier": "t_bool",
  25034. "typeString": "bool"
  25035. },
  25036. {
  25037. "typeIdentifier": "t_address",
  25038. "typeString": "address"
  25039. },
  25040. {
  25041. "typeIdentifier": "t_string_memory_ptr",
  25042. "typeString": "string memory"
  25043. }
  25044. ],
  25045. "expression": {
  25046. "id": 9096,
  25047. "name": "abi",
  25048. "nodeType": "Identifier",
  25049. "overloadedDeclarations": [],
  25050. "referencedDeclaration": -1,
  25051. "src": "16484:3:50",
  25052. "typeDescriptions": {
  25053. "typeIdentifier": "t_magic_abi",
  25054. "typeString": "abi"
  25055. }
  25056. },
  25057. "id": 9097,
  25058. "isConstant": false,
  25059. "isLValue": false,
  25060. "isPure": true,
  25061. "lValueRequested": false,
  25062. "memberLocation": "16488:19:50",
  25063. "memberName": "encodeWithSignature",
  25064. "nodeType": "MemberAccess",
  25065. "src": "16484:23:50",
  25066. "typeDescriptions": {
  25067. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  25068. "typeString": "function (string memory) pure returns (bytes memory)"
  25069. }
  25070. },
  25071. "id": 9102,
  25072. "isConstant": false,
  25073. "isLValue": false,
  25074. "isPure": false,
  25075. "kind": "functionCall",
  25076. "lValueRequested": false,
  25077. "nameLocations": [],
  25078. "names": [],
  25079. "nodeType": "FunctionCall",
  25080. "src": "16484:63:50",
  25081. "tryCall": false,
  25082. "typeDescriptions": {
  25083. "typeIdentifier": "t_bytes_memory_ptr",
  25084. "typeString": "bytes memory"
  25085. }
  25086. }
  25087. ],
  25088. "expression": {
  25089. "argumentTypes": [
  25090. {
  25091. "typeIdentifier": "t_bytes_memory_ptr",
  25092. "typeString": "bytes memory"
  25093. }
  25094. ],
  25095. "id": 9095,
  25096. "name": "_sendLogPayload",
  25097. "nodeType": "Identifier",
  25098. "overloadedDeclarations": [],
  25099. "referencedDeclaration": 7315,
  25100. "src": "16468:15:50",
  25101. "typeDescriptions": {
  25102. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  25103. "typeString": "function (bytes memory) pure"
  25104. }
  25105. },
  25106. "id": 9103,
  25107. "isConstant": false,
  25108. "isLValue": false,
  25109. "isPure": false,
  25110. "kind": "functionCall",
  25111. "lValueRequested": false,
  25112. "nameLocations": [],
  25113. "names": [],
  25114. "nodeType": "FunctionCall",
  25115. "src": "16468:80:50",
  25116. "tryCall": false,
  25117. "typeDescriptions": {
  25118. "typeIdentifier": "t_tuple$__$",
  25119. "typeString": "tuple()"
  25120. }
  25121. },
  25122. "id": 9104,
  25123. "nodeType": "ExpressionStatement",
  25124. "src": "16468:80:50"
  25125. }
  25126. ]
  25127. },
  25128. "implemented": true,
  25129. "kind": "function",
  25130. "modifiers": [],
  25131. "name": "log",
  25132. "nameLocation": "16401:3:50",
  25133. "parameters": {
  25134. "id": 9093,
  25135. "nodeType": "ParameterList",
  25136. "parameters": [
  25137. {
  25138. "constant": false,
  25139. "id": 9088,
  25140. "mutability": "mutable",
  25141. "name": "p0",
  25142. "nameLocation": "16410:2:50",
  25143. "nodeType": "VariableDeclaration",
  25144. "scope": 9106,
  25145. "src": "16405:7:50",
  25146. "stateVariable": false,
  25147. "storageLocation": "default",
  25148. "typeDescriptions": {
  25149. "typeIdentifier": "t_bool",
  25150. "typeString": "bool"
  25151. },
  25152. "typeName": {
  25153. "id": 9087,
  25154. "name": "bool",
  25155. "nodeType": "ElementaryTypeName",
  25156. "src": "16405:4:50",
  25157. "typeDescriptions": {
  25158. "typeIdentifier": "t_bool",
  25159. "typeString": "bool"
  25160. }
  25161. },
  25162. "visibility": "internal"
  25163. },
  25164. {
  25165. "constant": false,
  25166. "id": 9090,
  25167. "mutability": "mutable",
  25168. "name": "p1",
  25169. "nameLocation": "16422:2:50",
  25170. "nodeType": "VariableDeclaration",
  25171. "scope": 9106,
  25172. "src": "16414:10:50",
  25173. "stateVariable": false,
  25174. "storageLocation": "default",
  25175. "typeDescriptions": {
  25176. "typeIdentifier": "t_address",
  25177. "typeString": "address"
  25178. },
  25179. "typeName": {
  25180. "id": 9089,
  25181. "name": "address",
  25182. "nodeType": "ElementaryTypeName",
  25183. "src": "16414:7:50",
  25184. "stateMutability": "nonpayable",
  25185. "typeDescriptions": {
  25186. "typeIdentifier": "t_address",
  25187. "typeString": "address"
  25188. }
  25189. },
  25190. "visibility": "internal"
  25191. },
  25192. {
  25193. "constant": false,
  25194. "id": 9092,
  25195. "mutability": "mutable",
  25196. "name": "p2",
  25197. "nameLocation": "16440:2:50",
  25198. "nodeType": "VariableDeclaration",
  25199. "scope": 9106,
  25200. "src": "16426:16:50",
  25201. "stateVariable": false,
  25202. "storageLocation": "memory",
  25203. "typeDescriptions": {
  25204. "typeIdentifier": "t_string_memory_ptr",
  25205. "typeString": "string"
  25206. },
  25207. "typeName": {
  25208. "id": 9091,
  25209. "name": "string",
  25210. "nodeType": "ElementaryTypeName",
  25211. "src": "16426:6:50",
  25212. "typeDescriptions": {
  25213. "typeIdentifier": "t_string_storage_ptr",
  25214. "typeString": "string"
  25215. }
  25216. },
  25217. "visibility": "internal"
  25218. }
  25219. ],
  25220. "src": "16404:39:50"
  25221. },
  25222. "returnParameters": {
  25223. "id": 9094,
  25224. "nodeType": "ParameterList",
  25225. "parameters": [],
  25226. "src": "16458:0:50"
  25227. },
  25228. "scope": 15355,
  25229. "stateMutability": "pure",
  25230. "virtual": false,
  25231. "visibility": "internal"
  25232. },
  25233. {
  25234. "id": 9126,
  25235. "nodeType": "FunctionDefinition",
  25236. "src": "16561:152:50",
  25237. "nodes": [],
  25238. "body": {
  25239. "id": 9125,
  25240. "nodeType": "Block",
  25241. "src": "16618:95:50",
  25242. "nodes": [],
  25243. "statements": [
  25244. {
  25245. "expression": {
  25246. "arguments": [
  25247. {
  25248. "arguments": [
  25249. {
  25250. "hexValue": "6c6f6728626f6f6c2c616464726573732c626f6f6c29",
  25251. "id": 9118,
  25252. "isConstant": false,
  25253. "isLValue": false,
  25254. "isPure": true,
  25255. "kind": "string",
  25256. "lValueRequested": false,
  25257. "nodeType": "Literal",
  25258. "src": "16668:24:50",
  25259. "typeDescriptions": {
  25260. "typeIdentifier": "t_stringliteral_18c9c746c9d0e38e4dc234ee76e678bbaa4e473eca3dce0969637d7f01e4a908",
  25261. "typeString": "literal_string \"log(bool,address,bool)\""
  25262. },
  25263. "value": "log(bool,address,bool)"
  25264. },
  25265. {
  25266. "id": 9119,
  25267. "name": "p0",
  25268. "nodeType": "Identifier",
  25269. "overloadedDeclarations": [],
  25270. "referencedDeclaration": 9108,
  25271. "src": "16694:2:50",
  25272. "typeDescriptions": {
  25273. "typeIdentifier": "t_bool",
  25274. "typeString": "bool"
  25275. }
  25276. },
  25277. {
  25278. "id": 9120,
  25279. "name": "p1",
  25280. "nodeType": "Identifier",
  25281. "overloadedDeclarations": [],
  25282. "referencedDeclaration": 9110,
  25283. "src": "16698:2:50",
  25284. "typeDescriptions": {
  25285. "typeIdentifier": "t_address",
  25286. "typeString": "address"
  25287. }
  25288. },
  25289. {
  25290. "id": 9121,
  25291. "name": "p2",
  25292. "nodeType": "Identifier",
  25293. "overloadedDeclarations": [],
  25294. "referencedDeclaration": 9112,
  25295. "src": "16702:2:50",
  25296. "typeDescriptions": {
  25297. "typeIdentifier": "t_bool",
  25298. "typeString": "bool"
  25299. }
  25300. }
  25301. ],
  25302. "expression": {
  25303. "argumentTypes": [
  25304. {
  25305. "typeIdentifier": "t_stringliteral_18c9c746c9d0e38e4dc234ee76e678bbaa4e473eca3dce0969637d7f01e4a908",
  25306. "typeString": "literal_string \"log(bool,address,bool)\""
  25307. },
  25308. {
  25309. "typeIdentifier": "t_bool",
  25310. "typeString": "bool"
  25311. },
  25312. {
  25313. "typeIdentifier": "t_address",
  25314. "typeString": "address"
  25315. },
  25316. {
  25317. "typeIdentifier": "t_bool",
  25318. "typeString": "bool"
  25319. }
  25320. ],
  25321. "expression": {
  25322. "id": 9116,
  25323. "name": "abi",
  25324. "nodeType": "Identifier",
  25325. "overloadedDeclarations": [],
  25326. "referencedDeclaration": -1,
  25327. "src": "16644:3:50",
  25328. "typeDescriptions": {
  25329. "typeIdentifier": "t_magic_abi",
  25330. "typeString": "abi"
  25331. }
  25332. },
  25333. "id": 9117,
  25334. "isConstant": false,
  25335. "isLValue": false,
  25336. "isPure": true,
  25337. "lValueRequested": false,
  25338. "memberLocation": "16648:19:50",
  25339. "memberName": "encodeWithSignature",
  25340. "nodeType": "MemberAccess",
  25341. "src": "16644:23:50",
  25342. "typeDescriptions": {
  25343. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  25344. "typeString": "function (string memory) pure returns (bytes memory)"
  25345. }
  25346. },
  25347. "id": 9122,
  25348. "isConstant": false,
  25349. "isLValue": false,
  25350. "isPure": false,
  25351. "kind": "functionCall",
  25352. "lValueRequested": false,
  25353. "nameLocations": [],
  25354. "names": [],
  25355. "nodeType": "FunctionCall",
  25356. "src": "16644:61:50",
  25357. "tryCall": false,
  25358. "typeDescriptions": {
  25359. "typeIdentifier": "t_bytes_memory_ptr",
  25360. "typeString": "bytes memory"
  25361. }
  25362. }
  25363. ],
  25364. "expression": {
  25365. "argumentTypes": [
  25366. {
  25367. "typeIdentifier": "t_bytes_memory_ptr",
  25368. "typeString": "bytes memory"
  25369. }
  25370. ],
  25371. "id": 9115,
  25372. "name": "_sendLogPayload",
  25373. "nodeType": "Identifier",
  25374. "overloadedDeclarations": [],
  25375. "referencedDeclaration": 7315,
  25376. "src": "16628:15:50",
  25377. "typeDescriptions": {
  25378. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  25379. "typeString": "function (bytes memory) pure"
  25380. }
  25381. },
  25382. "id": 9123,
  25383. "isConstant": false,
  25384. "isLValue": false,
  25385. "isPure": false,
  25386. "kind": "functionCall",
  25387. "lValueRequested": false,
  25388. "nameLocations": [],
  25389. "names": [],
  25390. "nodeType": "FunctionCall",
  25391. "src": "16628:78:50",
  25392. "tryCall": false,
  25393. "typeDescriptions": {
  25394. "typeIdentifier": "t_tuple$__$",
  25395. "typeString": "tuple()"
  25396. }
  25397. },
  25398. "id": 9124,
  25399. "nodeType": "ExpressionStatement",
  25400. "src": "16628:78:50"
  25401. }
  25402. ]
  25403. },
  25404. "implemented": true,
  25405. "kind": "function",
  25406. "modifiers": [],
  25407. "name": "log",
  25408. "nameLocation": "16570:3:50",
  25409. "parameters": {
  25410. "id": 9113,
  25411. "nodeType": "ParameterList",
  25412. "parameters": [
  25413. {
  25414. "constant": false,
  25415. "id": 9108,
  25416. "mutability": "mutable",
  25417. "name": "p0",
  25418. "nameLocation": "16579:2:50",
  25419. "nodeType": "VariableDeclaration",
  25420. "scope": 9126,
  25421. "src": "16574:7:50",
  25422. "stateVariable": false,
  25423. "storageLocation": "default",
  25424. "typeDescriptions": {
  25425. "typeIdentifier": "t_bool",
  25426. "typeString": "bool"
  25427. },
  25428. "typeName": {
  25429. "id": 9107,
  25430. "name": "bool",
  25431. "nodeType": "ElementaryTypeName",
  25432. "src": "16574:4:50",
  25433. "typeDescriptions": {
  25434. "typeIdentifier": "t_bool",
  25435. "typeString": "bool"
  25436. }
  25437. },
  25438. "visibility": "internal"
  25439. },
  25440. {
  25441. "constant": false,
  25442. "id": 9110,
  25443. "mutability": "mutable",
  25444. "name": "p1",
  25445. "nameLocation": "16591:2:50",
  25446. "nodeType": "VariableDeclaration",
  25447. "scope": 9126,
  25448. "src": "16583:10:50",
  25449. "stateVariable": false,
  25450. "storageLocation": "default",
  25451. "typeDescriptions": {
  25452. "typeIdentifier": "t_address",
  25453. "typeString": "address"
  25454. },
  25455. "typeName": {
  25456. "id": 9109,
  25457. "name": "address",
  25458. "nodeType": "ElementaryTypeName",
  25459. "src": "16583:7:50",
  25460. "stateMutability": "nonpayable",
  25461. "typeDescriptions": {
  25462. "typeIdentifier": "t_address",
  25463. "typeString": "address"
  25464. }
  25465. },
  25466. "visibility": "internal"
  25467. },
  25468. {
  25469. "constant": false,
  25470. "id": 9112,
  25471. "mutability": "mutable",
  25472. "name": "p2",
  25473. "nameLocation": "16600:2:50",
  25474. "nodeType": "VariableDeclaration",
  25475. "scope": 9126,
  25476. "src": "16595:7:50",
  25477. "stateVariable": false,
  25478. "storageLocation": "default",
  25479. "typeDescriptions": {
  25480. "typeIdentifier": "t_bool",
  25481. "typeString": "bool"
  25482. },
  25483. "typeName": {
  25484. "id": 9111,
  25485. "name": "bool",
  25486. "nodeType": "ElementaryTypeName",
  25487. "src": "16595:4:50",
  25488. "typeDescriptions": {
  25489. "typeIdentifier": "t_bool",
  25490. "typeString": "bool"
  25491. }
  25492. },
  25493. "visibility": "internal"
  25494. }
  25495. ],
  25496. "src": "16573:30:50"
  25497. },
  25498. "returnParameters": {
  25499. "id": 9114,
  25500. "nodeType": "ParameterList",
  25501. "parameters": [],
  25502. "src": "16618:0:50"
  25503. },
  25504. "scope": 15355,
  25505. "stateMutability": "pure",
  25506. "virtual": false,
  25507. "visibility": "internal"
  25508. },
  25509. {
  25510. "id": 9146,
  25511. "nodeType": "FunctionDefinition",
  25512. "src": "16719:158:50",
  25513. "nodes": [],
  25514. "body": {
  25515. "id": 9145,
  25516. "nodeType": "Block",
  25517. "src": "16779:98:50",
  25518. "nodes": [],
  25519. "statements": [
  25520. {
  25521. "expression": {
  25522. "arguments": [
  25523. {
  25524. "arguments": [
  25525. {
  25526. "hexValue": "6c6f6728626f6f6c2c616464726573732c6164647265737329",
  25527. "id": 9138,
  25528. "isConstant": false,
  25529. "isLValue": false,
  25530. "isPure": true,
  25531. "kind": "string",
  25532. "lValueRequested": false,
  25533. "nodeType": "Literal",
  25534. "src": "16829:27:50",
  25535. "typeDescriptions": {
  25536. "typeIdentifier": "t_stringliteral_d2763667477f08a6a3f8ce84e1cc1aeb5e67ee2996f5f36e8939da2b8b8f0265",
  25537. "typeString": "literal_string \"log(bool,address,address)\""
  25538. },
  25539. "value": "log(bool,address,address)"
  25540. },
  25541. {
  25542. "id": 9139,
  25543. "name": "p0",
  25544. "nodeType": "Identifier",
  25545. "overloadedDeclarations": [],
  25546. "referencedDeclaration": 9128,
  25547. "src": "16858:2:50",
  25548. "typeDescriptions": {
  25549. "typeIdentifier": "t_bool",
  25550. "typeString": "bool"
  25551. }
  25552. },
  25553. {
  25554. "id": 9140,
  25555. "name": "p1",
  25556. "nodeType": "Identifier",
  25557. "overloadedDeclarations": [],
  25558. "referencedDeclaration": 9130,
  25559. "src": "16862:2:50",
  25560. "typeDescriptions": {
  25561. "typeIdentifier": "t_address",
  25562. "typeString": "address"
  25563. }
  25564. },
  25565. {
  25566. "id": 9141,
  25567. "name": "p2",
  25568. "nodeType": "Identifier",
  25569. "overloadedDeclarations": [],
  25570. "referencedDeclaration": 9132,
  25571. "src": "16866:2:50",
  25572. "typeDescriptions": {
  25573. "typeIdentifier": "t_address",
  25574. "typeString": "address"
  25575. }
  25576. }
  25577. ],
  25578. "expression": {
  25579. "argumentTypes": [
  25580. {
  25581. "typeIdentifier": "t_stringliteral_d2763667477f08a6a3f8ce84e1cc1aeb5e67ee2996f5f36e8939da2b8b8f0265",
  25582. "typeString": "literal_string \"log(bool,address,address)\""
  25583. },
  25584. {
  25585. "typeIdentifier": "t_bool",
  25586. "typeString": "bool"
  25587. },
  25588. {
  25589. "typeIdentifier": "t_address",
  25590. "typeString": "address"
  25591. },
  25592. {
  25593. "typeIdentifier": "t_address",
  25594. "typeString": "address"
  25595. }
  25596. ],
  25597. "expression": {
  25598. "id": 9136,
  25599. "name": "abi",
  25600. "nodeType": "Identifier",
  25601. "overloadedDeclarations": [],
  25602. "referencedDeclaration": -1,
  25603. "src": "16805:3:50",
  25604. "typeDescriptions": {
  25605. "typeIdentifier": "t_magic_abi",
  25606. "typeString": "abi"
  25607. }
  25608. },
  25609. "id": 9137,
  25610. "isConstant": false,
  25611. "isLValue": false,
  25612. "isPure": true,
  25613. "lValueRequested": false,
  25614. "memberLocation": "16809:19:50",
  25615. "memberName": "encodeWithSignature",
  25616. "nodeType": "MemberAccess",
  25617. "src": "16805:23:50",
  25618. "typeDescriptions": {
  25619. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  25620. "typeString": "function (string memory) pure returns (bytes memory)"
  25621. }
  25622. },
  25623. "id": 9142,
  25624. "isConstant": false,
  25625. "isLValue": false,
  25626. "isPure": false,
  25627. "kind": "functionCall",
  25628. "lValueRequested": false,
  25629. "nameLocations": [],
  25630. "names": [],
  25631. "nodeType": "FunctionCall",
  25632. "src": "16805:64:50",
  25633. "tryCall": false,
  25634. "typeDescriptions": {
  25635. "typeIdentifier": "t_bytes_memory_ptr",
  25636. "typeString": "bytes memory"
  25637. }
  25638. }
  25639. ],
  25640. "expression": {
  25641. "argumentTypes": [
  25642. {
  25643. "typeIdentifier": "t_bytes_memory_ptr",
  25644. "typeString": "bytes memory"
  25645. }
  25646. ],
  25647. "id": 9135,
  25648. "name": "_sendLogPayload",
  25649. "nodeType": "Identifier",
  25650. "overloadedDeclarations": [],
  25651. "referencedDeclaration": 7315,
  25652. "src": "16789:15:50",
  25653. "typeDescriptions": {
  25654. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  25655. "typeString": "function (bytes memory) pure"
  25656. }
  25657. },
  25658. "id": 9143,
  25659. "isConstant": false,
  25660. "isLValue": false,
  25661. "isPure": false,
  25662. "kind": "functionCall",
  25663. "lValueRequested": false,
  25664. "nameLocations": [],
  25665. "names": [],
  25666. "nodeType": "FunctionCall",
  25667. "src": "16789:81:50",
  25668. "tryCall": false,
  25669. "typeDescriptions": {
  25670. "typeIdentifier": "t_tuple$__$",
  25671. "typeString": "tuple()"
  25672. }
  25673. },
  25674. "id": 9144,
  25675. "nodeType": "ExpressionStatement",
  25676. "src": "16789:81:50"
  25677. }
  25678. ]
  25679. },
  25680. "implemented": true,
  25681. "kind": "function",
  25682. "modifiers": [],
  25683. "name": "log",
  25684. "nameLocation": "16728:3:50",
  25685. "parameters": {
  25686. "id": 9133,
  25687. "nodeType": "ParameterList",
  25688. "parameters": [
  25689. {
  25690. "constant": false,
  25691. "id": 9128,
  25692. "mutability": "mutable",
  25693. "name": "p0",
  25694. "nameLocation": "16737:2:50",
  25695. "nodeType": "VariableDeclaration",
  25696. "scope": 9146,
  25697. "src": "16732:7:50",
  25698. "stateVariable": false,
  25699. "storageLocation": "default",
  25700. "typeDescriptions": {
  25701. "typeIdentifier": "t_bool",
  25702. "typeString": "bool"
  25703. },
  25704. "typeName": {
  25705. "id": 9127,
  25706. "name": "bool",
  25707. "nodeType": "ElementaryTypeName",
  25708. "src": "16732:4:50",
  25709. "typeDescriptions": {
  25710. "typeIdentifier": "t_bool",
  25711. "typeString": "bool"
  25712. }
  25713. },
  25714. "visibility": "internal"
  25715. },
  25716. {
  25717. "constant": false,
  25718. "id": 9130,
  25719. "mutability": "mutable",
  25720. "name": "p1",
  25721. "nameLocation": "16749:2:50",
  25722. "nodeType": "VariableDeclaration",
  25723. "scope": 9146,
  25724. "src": "16741:10:50",
  25725. "stateVariable": false,
  25726. "storageLocation": "default",
  25727. "typeDescriptions": {
  25728. "typeIdentifier": "t_address",
  25729. "typeString": "address"
  25730. },
  25731. "typeName": {
  25732. "id": 9129,
  25733. "name": "address",
  25734. "nodeType": "ElementaryTypeName",
  25735. "src": "16741:7:50",
  25736. "stateMutability": "nonpayable",
  25737. "typeDescriptions": {
  25738. "typeIdentifier": "t_address",
  25739. "typeString": "address"
  25740. }
  25741. },
  25742. "visibility": "internal"
  25743. },
  25744. {
  25745. "constant": false,
  25746. "id": 9132,
  25747. "mutability": "mutable",
  25748. "name": "p2",
  25749. "nameLocation": "16761:2:50",
  25750. "nodeType": "VariableDeclaration",
  25751. "scope": 9146,
  25752. "src": "16753:10:50",
  25753. "stateVariable": false,
  25754. "storageLocation": "default",
  25755. "typeDescriptions": {
  25756. "typeIdentifier": "t_address",
  25757. "typeString": "address"
  25758. },
  25759. "typeName": {
  25760. "id": 9131,
  25761. "name": "address",
  25762. "nodeType": "ElementaryTypeName",
  25763. "src": "16753:7:50",
  25764. "stateMutability": "nonpayable",
  25765. "typeDescriptions": {
  25766. "typeIdentifier": "t_address",
  25767. "typeString": "address"
  25768. }
  25769. },
  25770. "visibility": "internal"
  25771. }
  25772. ],
  25773. "src": "16731:33:50"
  25774. },
  25775. "returnParameters": {
  25776. "id": 9134,
  25777. "nodeType": "ParameterList",
  25778. "parameters": [],
  25779. "src": "16779:0:50"
  25780. },
  25781. "scope": 15355,
  25782. "stateMutability": "pure",
  25783. "virtual": false,
  25784. "visibility": "internal"
  25785. },
  25786. {
  25787. "id": 9166,
  25788. "nodeType": "FunctionDefinition",
  25789. "src": "16883:164:50",
  25790. "nodes": [],
  25791. "body": {
  25792. "id": 9165,
  25793. "nodeType": "Block",
  25794. "src": "16946:101:50",
  25795. "nodes": [],
  25796. "statements": [
  25797. {
  25798. "expression": {
  25799. "arguments": [
  25800. {
  25801. "arguments": [
  25802. {
  25803. "hexValue": "6c6f6728616464726573732c75696e743235362c75696e7432353629",
  25804. "id": 9158,
  25805. "isConstant": false,
  25806. "isLValue": false,
  25807. "isPure": true,
  25808. "kind": "string",
  25809. "lValueRequested": false,
  25810. "nodeType": "Literal",
  25811. "src": "16996:30:50",
  25812. "typeDescriptions": {
  25813. "typeIdentifier": "t_stringliteral_b69bcaf6823fa467c87c127df102001d1ca4e8a6dc08cab8aa1e5ab4a0ae8c76",
  25814. "typeString": "literal_string \"log(address,uint256,uint256)\""
  25815. },
  25816. "value": "log(address,uint256,uint256)"
  25817. },
  25818. {
  25819. "id": 9159,
  25820. "name": "p0",
  25821. "nodeType": "Identifier",
  25822. "overloadedDeclarations": [],
  25823. "referencedDeclaration": 9148,
  25824. "src": "17028:2:50",
  25825. "typeDescriptions": {
  25826. "typeIdentifier": "t_address",
  25827. "typeString": "address"
  25828. }
  25829. },
  25830. {
  25831. "id": 9160,
  25832. "name": "p1",
  25833. "nodeType": "Identifier",
  25834. "overloadedDeclarations": [],
  25835. "referencedDeclaration": 9150,
  25836. "src": "17032:2:50",
  25837. "typeDescriptions": {
  25838. "typeIdentifier": "t_uint256",
  25839. "typeString": "uint256"
  25840. }
  25841. },
  25842. {
  25843. "id": 9161,
  25844. "name": "p2",
  25845. "nodeType": "Identifier",
  25846. "overloadedDeclarations": [],
  25847. "referencedDeclaration": 9152,
  25848. "src": "17036:2:50",
  25849. "typeDescriptions": {
  25850. "typeIdentifier": "t_uint256",
  25851. "typeString": "uint256"
  25852. }
  25853. }
  25854. ],
  25855. "expression": {
  25856. "argumentTypes": [
  25857. {
  25858. "typeIdentifier": "t_stringliteral_b69bcaf6823fa467c87c127df102001d1ca4e8a6dc08cab8aa1e5ab4a0ae8c76",
  25859. "typeString": "literal_string \"log(address,uint256,uint256)\""
  25860. },
  25861. {
  25862. "typeIdentifier": "t_address",
  25863. "typeString": "address"
  25864. },
  25865. {
  25866. "typeIdentifier": "t_uint256",
  25867. "typeString": "uint256"
  25868. },
  25869. {
  25870. "typeIdentifier": "t_uint256",
  25871. "typeString": "uint256"
  25872. }
  25873. ],
  25874. "expression": {
  25875. "id": 9156,
  25876. "name": "abi",
  25877. "nodeType": "Identifier",
  25878. "overloadedDeclarations": [],
  25879. "referencedDeclaration": -1,
  25880. "src": "16972:3:50",
  25881. "typeDescriptions": {
  25882. "typeIdentifier": "t_magic_abi",
  25883. "typeString": "abi"
  25884. }
  25885. },
  25886. "id": 9157,
  25887. "isConstant": false,
  25888. "isLValue": false,
  25889. "isPure": true,
  25890. "lValueRequested": false,
  25891. "memberLocation": "16976:19:50",
  25892. "memberName": "encodeWithSignature",
  25893. "nodeType": "MemberAccess",
  25894. "src": "16972:23:50",
  25895. "typeDescriptions": {
  25896. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  25897. "typeString": "function (string memory) pure returns (bytes memory)"
  25898. }
  25899. },
  25900. "id": 9162,
  25901. "isConstant": false,
  25902. "isLValue": false,
  25903. "isPure": false,
  25904. "kind": "functionCall",
  25905. "lValueRequested": false,
  25906. "nameLocations": [],
  25907. "names": [],
  25908. "nodeType": "FunctionCall",
  25909. "src": "16972:67:50",
  25910. "tryCall": false,
  25911. "typeDescriptions": {
  25912. "typeIdentifier": "t_bytes_memory_ptr",
  25913. "typeString": "bytes memory"
  25914. }
  25915. }
  25916. ],
  25917. "expression": {
  25918. "argumentTypes": [
  25919. {
  25920. "typeIdentifier": "t_bytes_memory_ptr",
  25921. "typeString": "bytes memory"
  25922. }
  25923. ],
  25924. "id": 9155,
  25925. "name": "_sendLogPayload",
  25926. "nodeType": "Identifier",
  25927. "overloadedDeclarations": [],
  25928. "referencedDeclaration": 7315,
  25929. "src": "16956:15:50",
  25930. "typeDescriptions": {
  25931. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  25932. "typeString": "function (bytes memory) pure"
  25933. }
  25934. },
  25935. "id": 9163,
  25936. "isConstant": false,
  25937. "isLValue": false,
  25938. "isPure": false,
  25939. "kind": "functionCall",
  25940. "lValueRequested": false,
  25941. "nameLocations": [],
  25942. "names": [],
  25943. "nodeType": "FunctionCall",
  25944. "src": "16956:84:50",
  25945. "tryCall": false,
  25946. "typeDescriptions": {
  25947. "typeIdentifier": "t_tuple$__$",
  25948. "typeString": "tuple()"
  25949. }
  25950. },
  25951. "id": 9164,
  25952. "nodeType": "ExpressionStatement",
  25953. "src": "16956:84:50"
  25954. }
  25955. ]
  25956. },
  25957. "implemented": true,
  25958. "kind": "function",
  25959. "modifiers": [],
  25960. "name": "log",
  25961. "nameLocation": "16892:3:50",
  25962. "parameters": {
  25963. "id": 9153,
  25964. "nodeType": "ParameterList",
  25965. "parameters": [
  25966. {
  25967. "constant": false,
  25968. "id": 9148,
  25969. "mutability": "mutable",
  25970. "name": "p0",
  25971. "nameLocation": "16904:2:50",
  25972. "nodeType": "VariableDeclaration",
  25973. "scope": 9166,
  25974. "src": "16896:10:50",
  25975. "stateVariable": false,
  25976. "storageLocation": "default",
  25977. "typeDescriptions": {
  25978. "typeIdentifier": "t_address",
  25979. "typeString": "address"
  25980. },
  25981. "typeName": {
  25982. "id": 9147,
  25983. "name": "address",
  25984. "nodeType": "ElementaryTypeName",
  25985. "src": "16896:7:50",
  25986. "stateMutability": "nonpayable",
  25987. "typeDescriptions": {
  25988. "typeIdentifier": "t_address",
  25989. "typeString": "address"
  25990. }
  25991. },
  25992. "visibility": "internal"
  25993. },
  25994. {
  25995. "constant": false,
  25996. "id": 9150,
  25997. "mutability": "mutable",
  25998. "name": "p1",
  25999. "nameLocation": "16916:2:50",
  26000. "nodeType": "VariableDeclaration",
  26001. "scope": 9166,
  26002. "src": "16908:10:50",
  26003. "stateVariable": false,
  26004. "storageLocation": "default",
  26005. "typeDescriptions": {
  26006. "typeIdentifier": "t_uint256",
  26007. "typeString": "uint256"
  26008. },
  26009. "typeName": {
  26010. "id": 9149,
  26011. "name": "uint256",
  26012. "nodeType": "ElementaryTypeName",
  26013. "src": "16908:7:50",
  26014. "typeDescriptions": {
  26015. "typeIdentifier": "t_uint256",
  26016. "typeString": "uint256"
  26017. }
  26018. },
  26019. "visibility": "internal"
  26020. },
  26021. {
  26022. "constant": false,
  26023. "id": 9152,
  26024. "mutability": "mutable",
  26025. "name": "p2",
  26026. "nameLocation": "16928:2:50",
  26027. "nodeType": "VariableDeclaration",
  26028. "scope": 9166,
  26029. "src": "16920:10:50",
  26030. "stateVariable": false,
  26031. "storageLocation": "default",
  26032. "typeDescriptions": {
  26033. "typeIdentifier": "t_uint256",
  26034. "typeString": "uint256"
  26035. },
  26036. "typeName": {
  26037. "id": 9151,
  26038. "name": "uint256",
  26039. "nodeType": "ElementaryTypeName",
  26040. "src": "16920:7:50",
  26041. "typeDescriptions": {
  26042. "typeIdentifier": "t_uint256",
  26043. "typeString": "uint256"
  26044. }
  26045. },
  26046. "visibility": "internal"
  26047. }
  26048. ],
  26049. "src": "16895:36:50"
  26050. },
  26051. "returnParameters": {
  26052. "id": 9154,
  26053. "nodeType": "ParameterList",
  26054. "parameters": [],
  26055. "src": "16946:0:50"
  26056. },
  26057. "scope": 15355,
  26058. "stateMutability": "pure",
  26059. "virtual": false,
  26060. "visibility": "internal"
  26061. },
  26062. {
  26063. "id": 9186,
  26064. "nodeType": "FunctionDefinition",
  26065. "src": "17053:169:50",
  26066. "nodes": [],
  26067. "body": {
  26068. "id": 9185,
  26069. "nodeType": "Block",
  26070. "src": "17122:100:50",
  26071. "nodes": [],
  26072. "statements": [
  26073. {
  26074. "expression": {
  26075. "arguments": [
  26076. {
  26077. "arguments": [
  26078. {
  26079. "hexValue": "6c6f6728616464726573732c75696e743235362c737472696e6729",
  26080. "id": 9178,
  26081. "isConstant": false,
  26082. "isLValue": false,
  26083. "isPure": true,
  26084. "kind": "string",
  26085. "lValueRequested": false,
  26086. "nodeType": "Literal",
  26087. "src": "17172:29:50",
  26088. "typeDescriptions": {
  26089. "typeIdentifier": "t_stringliteral_a1f2e8aa7ff0c088860d7b3f0d1dc288d8e8a07808525cc31a5691f1bc0e149d",
  26090. "typeString": "literal_string \"log(address,uint256,string)\""
  26091. },
  26092. "value": "log(address,uint256,string)"
  26093. },
  26094. {
  26095. "id": 9179,
  26096. "name": "p0",
  26097. "nodeType": "Identifier",
  26098. "overloadedDeclarations": [],
  26099. "referencedDeclaration": 9168,
  26100. "src": "17203:2:50",
  26101. "typeDescriptions": {
  26102. "typeIdentifier": "t_address",
  26103. "typeString": "address"
  26104. }
  26105. },
  26106. {
  26107. "id": 9180,
  26108. "name": "p1",
  26109. "nodeType": "Identifier",
  26110. "overloadedDeclarations": [],
  26111. "referencedDeclaration": 9170,
  26112. "src": "17207:2:50",
  26113. "typeDescriptions": {
  26114. "typeIdentifier": "t_uint256",
  26115. "typeString": "uint256"
  26116. }
  26117. },
  26118. {
  26119. "id": 9181,
  26120. "name": "p2",
  26121. "nodeType": "Identifier",
  26122. "overloadedDeclarations": [],
  26123. "referencedDeclaration": 9172,
  26124. "src": "17211:2:50",
  26125. "typeDescriptions": {
  26126. "typeIdentifier": "t_string_memory_ptr",
  26127. "typeString": "string memory"
  26128. }
  26129. }
  26130. ],
  26131. "expression": {
  26132. "argumentTypes": [
  26133. {
  26134. "typeIdentifier": "t_stringliteral_a1f2e8aa7ff0c088860d7b3f0d1dc288d8e8a07808525cc31a5691f1bc0e149d",
  26135. "typeString": "literal_string \"log(address,uint256,string)\""
  26136. },
  26137. {
  26138. "typeIdentifier": "t_address",
  26139. "typeString": "address"
  26140. },
  26141. {
  26142. "typeIdentifier": "t_uint256",
  26143. "typeString": "uint256"
  26144. },
  26145. {
  26146. "typeIdentifier": "t_string_memory_ptr",
  26147. "typeString": "string memory"
  26148. }
  26149. ],
  26150. "expression": {
  26151. "id": 9176,
  26152. "name": "abi",
  26153. "nodeType": "Identifier",
  26154. "overloadedDeclarations": [],
  26155. "referencedDeclaration": -1,
  26156. "src": "17148:3:50",
  26157. "typeDescriptions": {
  26158. "typeIdentifier": "t_magic_abi",
  26159. "typeString": "abi"
  26160. }
  26161. },
  26162. "id": 9177,
  26163. "isConstant": false,
  26164. "isLValue": false,
  26165. "isPure": true,
  26166. "lValueRequested": false,
  26167. "memberLocation": "17152:19:50",
  26168. "memberName": "encodeWithSignature",
  26169. "nodeType": "MemberAccess",
  26170. "src": "17148:23:50",
  26171. "typeDescriptions": {
  26172. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  26173. "typeString": "function (string memory) pure returns (bytes memory)"
  26174. }
  26175. },
  26176. "id": 9182,
  26177. "isConstant": false,
  26178. "isLValue": false,
  26179. "isPure": false,
  26180. "kind": "functionCall",
  26181. "lValueRequested": false,
  26182. "nameLocations": [],
  26183. "names": [],
  26184. "nodeType": "FunctionCall",
  26185. "src": "17148:66:50",
  26186. "tryCall": false,
  26187. "typeDescriptions": {
  26188. "typeIdentifier": "t_bytes_memory_ptr",
  26189. "typeString": "bytes memory"
  26190. }
  26191. }
  26192. ],
  26193. "expression": {
  26194. "argumentTypes": [
  26195. {
  26196. "typeIdentifier": "t_bytes_memory_ptr",
  26197. "typeString": "bytes memory"
  26198. }
  26199. ],
  26200. "id": 9175,
  26201. "name": "_sendLogPayload",
  26202. "nodeType": "Identifier",
  26203. "overloadedDeclarations": [],
  26204. "referencedDeclaration": 7315,
  26205. "src": "17132:15:50",
  26206. "typeDescriptions": {
  26207. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  26208. "typeString": "function (bytes memory) pure"
  26209. }
  26210. },
  26211. "id": 9183,
  26212. "isConstant": false,
  26213. "isLValue": false,
  26214. "isPure": false,
  26215. "kind": "functionCall",
  26216. "lValueRequested": false,
  26217. "nameLocations": [],
  26218. "names": [],
  26219. "nodeType": "FunctionCall",
  26220. "src": "17132:83:50",
  26221. "tryCall": false,
  26222. "typeDescriptions": {
  26223. "typeIdentifier": "t_tuple$__$",
  26224. "typeString": "tuple()"
  26225. }
  26226. },
  26227. "id": 9184,
  26228. "nodeType": "ExpressionStatement",
  26229. "src": "17132:83:50"
  26230. }
  26231. ]
  26232. },
  26233. "implemented": true,
  26234. "kind": "function",
  26235. "modifiers": [],
  26236. "name": "log",
  26237. "nameLocation": "17062:3:50",
  26238. "parameters": {
  26239. "id": 9173,
  26240. "nodeType": "ParameterList",
  26241. "parameters": [
  26242. {
  26243. "constant": false,
  26244. "id": 9168,
  26245. "mutability": "mutable",
  26246. "name": "p0",
  26247. "nameLocation": "17074:2:50",
  26248. "nodeType": "VariableDeclaration",
  26249. "scope": 9186,
  26250. "src": "17066:10:50",
  26251. "stateVariable": false,
  26252. "storageLocation": "default",
  26253. "typeDescriptions": {
  26254. "typeIdentifier": "t_address",
  26255. "typeString": "address"
  26256. },
  26257. "typeName": {
  26258. "id": 9167,
  26259. "name": "address",
  26260. "nodeType": "ElementaryTypeName",
  26261. "src": "17066:7:50",
  26262. "stateMutability": "nonpayable",
  26263. "typeDescriptions": {
  26264. "typeIdentifier": "t_address",
  26265. "typeString": "address"
  26266. }
  26267. },
  26268. "visibility": "internal"
  26269. },
  26270. {
  26271. "constant": false,
  26272. "id": 9170,
  26273. "mutability": "mutable",
  26274. "name": "p1",
  26275. "nameLocation": "17086:2:50",
  26276. "nodeType": "VariableDeclaration",
  26277. "scope": 9186,
  26278. "src": "17078:10:50",
  26279. "stateVariable": false,
  26280. "storageLocation": "default",
  26281. "typeDescriptions": {
  26282. "typeIdentifier": "t_uint256",
  26283. "typeString": "uint256"
  26284. },
  26285. "typeName": {
  26286. "id": 9169,
  26287. "name": "uint256",
  26288. "nodeType": "ElementaryTypeName",
  26289. "src": "17078:7:50",
  26290. "typeDescriptions": {
  26291. "typeIdentifier": "t_uint256",
  26292. "typeString": "uint256"
  26293. }
  26294. },
  26295. "visibility": "internal"
  26296. },
  26297. {
  26298. "constant": false,
  26299. "id": 9172,
  26300. "mutability": "mutable",
  26301. "name": "p2",
  26302. "nameLocation": "17104:2:50",
  26303. "nodeType": "VariableDeclaration",
  26304. "scope": 9186,
  26305. "src": "17090:16:50",
  26306. "stateVariable": false,
  26307. "storageLocation": "memory",
  26308. "typeDescriptions": {
  26309. "typeIdentifier": "t_string_memory_ptr",
  26310. "typeString": "string"
  26311. },
  26312. "typeName": {
  26313. "id": 9171,
  26314. "name": "string",
  26315. "nodeType": "ElementaryTypeName",
  26316. "src": "17090:6:50",
  26317. "typeDescriptions": {
  26318. "typeIdentifier": "t_string_storage_ptr",
  26319. "typeString": "string"
  26320. }
  26321. },
  26322. "visibility": "internal"
  26323. }
  26324. ],
  26325. "src": "17065:42:50"
  26326. },
  26327. "returnParameters": {
  26328. "id": 9174,
  26329. "nodeType": "ParameterList",
  26330. "parameters": [],
  26331. "src": "17122:0:50"
  26332. },
  26333. "scope": 15355,
  26334. "stateMutability": "pure",
  26335. "virtual": false,
  26336. "visibility": "internal"
  26337. },
  26338. {
  26339. "id": 9206,
  26340. "nodeType": "FunctionDefinition",
  26341. "src": "17228:158:50",
  26342. "nodes": [],
  26343. "body": {
  26344. "id": 9205,
  26345. "nodeType": "Block",
  26346. "src": "17288:98:50",
  26347. "nodes": [],
  26348. "statements": [
  26349. {
  26350. "expression": {
  26351. "arguments": [
  26352. {
  26353. "arguments": [
  26354. {
  26355. "hexValue": "6c6f6728616464726573732c75696e743235362c626f6f6c29",
  26356. "id": 9198,
  26357. "isConstant": false,
  26358. "isLValue": false,
  26359. "isPure": true,
  26360. "kind": "string",
  26361. "lValueRequested": false,
  26362. "nodeType": "Literal",
  26363. "src": "17338:27:50",
  26364. "typeDescriptions": {
  26365. "typeIdentifier": "t_stringliteral_678209a8f42181c670dc624bae130f552678a896a5cb06db485524796aca1390",
  26366. "typeString": "literal_string \"log(address,uint256,bool)\""
  26367. },
  26368. "value": "log(address,uint256,bool)"
  26369. },
  26370. {
  26371. "id": 9199,
  26372. "name": "p0",
  26373. "nodeType": "Identifier",
  26374. "overloadedDeclarations": [],
  26375. "referencedDeclaration": 9188,
  26376. "src": "17367:2:50",
  26377. "typeDescriptions": {
  26378. "typeIdentifier": "t_address",
  26379. "typeString": "address"
  26380. }
  26381. },
  26382. {
  26383. "id": 9200,
  26384. "name": "p1",
  26385. "nodeType": "Identifier",
  26386. "overloadedDeclarations": [],
  26387. "referencedDeclaration": 9190,
  26388. "src": "17371:2:50",
  26389. "typeDescriptions": {
  26390. "typeIdentifier": "t_uint256",
  26391. "typeString": "uint256"
  26392. }
  26393. },
  26394. {
  26395. "id": 9201,
  26396. "name": "p2",
  26397. "nodeType": "Identifier",
  26398. "overloadedDeclarations": [],
  26399. "referencedDeclaration": 9192,
  26400. "src": "17375:2:50",
  26401. "typeDescriptions": {
  26402. "typeIdentifier": "t_bool",
  26403. "typeString": "bool"
  26404. }
  26405. }
  26406. ],
  26407. "expression": {
  26408. "argumentTypes": [
  26409. {
  26410. "typeIdentifier": "t_stringliteral_678209a8f42181c670dc624bae130f552678a896a5cb06db485524796aca1390",
  26411. "typeString": "literal_string \"log(address,uint256,bool)\""
  26412. },
  26413. {
  26414. "typeIdentifier": "t_address",
  26415. "typeString": "address"
  26416. },
  26417. {
  26418. "typeIdentifier": "t_uint256",
  26419. "typeString": "uint256"
  26420. },
  26421. {
  26422. "typeIdentifier": "t_bool",
  26423. "typeString": "bool"
  26424. }
  26425. ],
  26426. "expression": {
  26427. "id": 9196,
  26428. "name": "abi",
  26429. "nodeType": "Identifier",
  26430. "overloadedDeclarations": [],
  26431. "referencedDeclaration": -1,
  26432. "src": "17314:3:50",
  26433. "typeDescriptions": {
  26434. "typeIdentifier": "t_magic_abi",
  26435. "typeString": "abi"
  26436. }
  26437. },
  26438. "id": 9197,
  26439. "isConstant": false,
  26440. "isLValue": false,
  26441. "isPure": true,
  26442. "lValueRequested": false,
  26443. "memberLocation": "17318:19:50",
  26444. "memberName": "encodeWithSignature",
  26445. "nodeType": "MemberAccess",
  26446. "src": "17314:23:50",
  26447. "typeDescriptions": {
  26448. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  26449. "typeString": "function (string memory) pure returns (bytes memory)"
  26450. }
  26451. },
  26452. "id": 9202,
  26453. "isConstant": false,
  26454. "isLValue": false,
  26455. "isPure": false,
  26456. "kind": "functionCall",
  26457. "lValueRequested": false,
  26458. "nameLocations": [],
  26459. "names": [],
  26460. "nodeType": "FunctionCall",
  26461. "src": "17314:64:50",
  26462. "tryCall": false,
  26463. "typeDescriptions": {
  26464. "typeIdentifier": "t_bytes_memory_ptr",
  26465. "typeString": "bytes memory"
  26466. }
  26467. }
  26468. ],
  26469. "expression": {
  26470. "argumentTypes": [
  26471. {
  26472. "typeIdentifier": "t_bytes_memory_ptr",
  26473. "typeString": "bytes memory"
  26474. }
  26475. ],
  26476. "id": 9195,
  26477. "name": "_sendLogPayload",
  26478. "nodeType": "Identifier",
  26479. "overloadedDeclarations": [],
  26480. "referencedDeclaration": 7315,
  26481. "src": "17298:15:50",
  26482. "typeDescriptions": {
  26483. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  26484. "typeString": "function (bytes memory) pure"
  26485. }
  26486. },
  26487. "id": 9203,
  26488. "isConstant": false,
  26489. "isLValue": false,
  26490. "isPure": false,
  26491. "kind": "functionCall",
  26492. "lValueRequested": false,
  26493. "nameLocations": [],
  26494. "names": [],
  26495. "nodeType": "FunctionCall",
  26496. "src": "17298:81:50",
  26497. "tryCall": false,
  26498. "typeDescriptions": {
  26499. "typeIdentifier": "t_tuple$__$",
  26500. "typeString": "tuple()"
  26501. }
  26502. },
  26503. "id": 9204,
  26504. "nodeType": "ExpressionStatement",
  26505. "src": "17298:81:50"
  26506. }
  26507. ]
  26508. },
  26509. "implemented": true,
  26510. "kind": "function",
  26511. "modifiers": [],
  26512. "name": "log",
  26513. "nameLocation": "17237:3:50",
  26514. "parameters": {
  26515. "id": 9193,
  26516. "nodeType": "ParameterList",
  26517. "parameters": [
  26518. {
  26519. "constant": false,
  26520. "id": 9188,
  26521. "mutability": "mutable",
  26522. "name": "p0",
  26523. "nameLocation": "17249:2:50",
  26524. "nodeType": "VariableDeclaration",
  26525. "scope": 9206,
  26526. "src": "17241:10:50",
  26527. "stateVariable": false,
  26528. "storageLocation": "default",
  26529. "typeDescriptions": {
  26530. "typeIdentifier": "t_address",
  26531. "typeString": "address"
  26532. },
  26533. "typeName": {
  26534. "id": 9187,
  26535. "name": "address",
  26536. "nodeType": "ElementaryTypeName",
  26537. "src": "17241:7:50",
  26538. "stateMutability": "nonpayable",
  26539. "typeDescriptions": {
  26540. "typeIdentifier": "t_address",
  26541. "typeString": "address"
  26542. }
  26543. },
  26544. "visibility": "internal"
  26545. },
  26546. {
  26547. "constant": false,
  26548. "id": 9190,
  26549. "mutability": "mutable",
  26550. "name": "p1",
  26551. "nameLocation": "17261:2:50",
  26552. "nodeType": "VariableDeclaration",
  26553. "scope": 9206,
  26554. "src": "17253:10:50",
  26555. "stateVariable": false,
  26556. "storageLocation": "default",
  26557. "typeDescriptions": {
  26558. "typeIdentifier": "t_uint256",
  26559. "typeString": "uint256"
  26560. },
  26561. "typeName": {
  26562. "id": 9189,
  26563. "name": "uint256",
  26564. "nodeType": "ElementaryTypeName",
  26565. "src": "17253:7:50",
  26566. "typeDescriptions": {
  26567. "typeIdentifier": "t_uint256",
  26568. "typeString": "uint256"
  26569. }
  26570. },
  26571. "visibility": "internal"
  26572. },
  26573. {
  26574. "constant": false,
  26575. "id": 9192,
  26576. "mutability": "mutable",
  26577. "name": "p2",
  26578. "nameLocation": "17270:2:50",
  26579. "nodeType": "VariableDeclaration",
  26580. "scope": 9206,
  26581. "src": "17265:7:50",
  26582. "stateVariable": false,
  26583. "storageLocation": "default",
  26584. "typeDescriptions": {
  26585. "typeIdentifier": "t_bool",
  26586. "typeString": "bool"
  26587. },
  26588. "typeName": {
  26589. "id": 9191,
  26590. "name": "bool",
  26591. "nodeType": "ElementaryTypeName",
  26592. "src": "17265:4:50",
  26593. "typeDescriptions": {
  26594. "typeIdentifier": "t_bool",
  26595. "typeString": "bool"
  26596. }
  26597. },
  26598. "visibility": "internal"
  26599. }
  26600. ],
  26601. "src": "17240:33:50"
  26602. },
  26603. "returnParameters": {
  26604. "id": 9194,
  26605. "nodeType": "ParameterList",
  26606. "parameters": [],
  26607. "src": "17288:0:50"
  26608. },
  26609. "scope": 15355,
  26610. "stateMutability": "pure",
  26611. "virtual": false,
  26612. "visibility": "internal"
  26613. },
  26614. {
  26615. "id": 9226,
  26616. "nodeType": "FunctionDefinition",
  26617. "src": "17392:164:50",
  26618. "nodes": [],
  26619. "body": {
  26620. "id": 9225,
  26621. "nodeType": "Block",
  26622. "src": "17455:101:50",
  26623. "nodes": [],
  26624. "statements": [
  26625. {
  26626. "expression": {
  26627. "arguments": [
  26628. {
  26629. "arguments": [
  26630. {
  26631. "hexValue": "6c6f6728616464726573732c75696e743235362c6164647265737329",
  26632. "id": 9218,
  26633. "isConstant": false,
  26634. "isLValue": false,
  26635. "isPure": true,
  26636. "kind": "string",
  26637. "lValueRequested": false,
  26638. "nodeType": "Literal",
  26639. "src": "17505:30:50",
  26640. "typeDescriptions": {
  26641. "typeIdentifier": "t_stringliteral_7bc0d848840f8a2b7df87b30af9a8d9856aea86658fd890c9e8abce72cda0b36",
  26642. "typeString": "literal_string \"log(address,uint256,address)\""
  26643. },
  26644. "value": "log(address,uint256,address)"
  26645. },
  26646. {
  26647. "id": 9219,
  26648. "name": "p0",
  26649. "nodeType": "Identifier",
  26650. "overloadedDeclarations": [],
  26651. "referencedDeclaration": 9208,
  26652. "src": "17537:2:50",
  26653. "typeDescriptions": {
  26654. "typeIdentifier": "t_address",
  26655. "typeString": "address"
  26656. }
  26657. },
  26658. {
  26659. "id": 9220,
  26660. "name": "p1",
  26661. "nodeType": "Identifier",
  26662. "overloadedDeclarations": [],
  26663. "referencedDeclaration": 9210,
  26664. "src": "17541:2:50",
  26665. "typeDescriptions": {
  26666. "typeIdentifier": "t_uint256",
  26667. "typeString": "uint256"
  26668. }
  26669. },
  26670. {
  26671. "id": 9221,
  26672. "name": "p2",
  26673. "nodeType": "Identifier",
  26674. "overloadedDeclarations": [],
  26675. "referencedDeclaration": 9212,
  26676. "src": "17545:2:50",
  26677. "typeDescriptions": {
  26678. "typeIdentifier": "t_address",
  26679. "typeString": "address"
  26680. }
  26681. }
  26682. ],
  26683. "expression": {
  26684. "argumentTypes": [
  26685. {
  26686. "typeIdentifier": "t_stringliteral_7bc0d848840f8a2b7df87b30af9a8d9856aea86658fd890c9e8abce72cda0b36",
  26687. "typeString": "literal_string \"log(address,uint256,address)\""
  26688. },
  26689. {
  26690. "typeIdentifier": "t_address",
  26691. "typeString": "address"
  26692. },
  26693. {
  26694. "typeIdentifier": "t_uint256",
  26695. "typeString": "uint256"
  26696. },
  26697. {
  26698. "typeIdentifier": "t_address",
  26699. "typeString": "address"
  26700. }
  26701. ],
  26702. "expression": {
  26703. "id": 9216,
  26704. "name": "abi",
  26705. "nodeType": "Identifier",
  26706. "overloadedDeclarations": [],
  26707. "referencedDeclaration": -1,
  26708. "src": "17481:3:50",
  26709. "typeDescriptions": {
  26710. "typeIdentifier": "t_magic_abi",
  26711. "typeString": "abi"
  26712. }
  26713. },
  26714. "id": 9217,
  26715. "isConstant": false,
  26716. "isLValue": false,
  26717. "isPure": true,
  26718. "lValueRequested": false,
  26719. "memberLocation": "17485:19:50",
  26720. "memberName": "encodeWithSignature",
  26721. "nodeType": "MemberAccess",
  26722. "src": "17481:23:50",
  26723. "typeDescriptions": {
  26724. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  26725. "typeString": "function (string memory) pure returns (bytes memory)"
  26726. }
  26727. },
  26728. "id": 9222,
  26729. "isConstant": false,
  26730. "isLValue": false,
  26731. "isPure": false,
  26732. "kind": "functionCall",
  26733. "lValueRequested": false,
  26734. "nameLocations": [],
  26735. "names": [],
  26736. "nodeType": "FunctionCall",
  26737. "src": "17481:67:50",
  26738. "tryCall": false,
  26739. "typeDescriptions": {
  26740. "typeIdentifier": "t_bytes_memory_ptr",
  26741. "typeString": "bytes memory"
  26742. }
  26743. }
  26744. ],
  26745. "expression": {
  26746. "argumentTypes": [
  26747. {
  26748. "typeIdentifier": "t_bytes_memory_ptr",
  26749. "typeString": "bytes memory"
  26750. }
  26751. ],
  26752. "id": 9215,
  26753. "name": "_sendLogPayload",
  26754. "nodeType": "Identifier",
  26755. "overloadedDeclarations": [],
  26756. "referencedDeclaration": 7315,
  26757. "src": "17465:15:50",
  26758. "typeDescriptions": {
  26759. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  26760. "typeString": "function (bytes memory) pure"
  26761. }
  26762. },
  26763. "id": 9223,
  26764. "isConstant": false,
  26765. "isLValue": false,
  26766. "isPure": false,
  26767. "kind": "functionCall",
  26768. "lValueRequested": false,
  26769. "nameLocations": [],
  26770. "names": [],
  26771. "nodeType": "FunctionCall",
  26772. "src": "17465:84:50",
  26773. "tryCall": false,
  26774. "typeDescriptions": {
  26775. "typeIdentifier": "t_tuple$__$",
  26776. "typeString": "tuple()"
  26777. }
  26778. },
  26779. "id": 9224,
  26780. "nodeType": "ExpressionStatement",
  26781. "src": "17465:84:50"
  26782. }
  26783. ]
  26784. },
  26785. "implemented": true,
  26786. "kind": "function",
  26787. "modifiers": [],
  26788. "name": "log",
  26789. "nameLocation": "17401:3:50",
  26790. "parameters": {
  26791. "id": 9213,
  26792. "nodeType": "ParameterList",
  26793. "parameters": [
  26794. {
  26795. "constant": false,
  26796. "id": 9208,
  26797. "mutability": "mutable",
  26798. "name": "p0",
  26799. "nameLocation": "17413:2:50",
  26800. "nodeType": "VariableDeclaration",
  26801. "scope": 9226,
  26802. "src": "17405:10:50",
  26803. "stateVariable": false,
  26804. "storageLocation": "default",
  26805. "typeDescriptions": {
  26806. "typeIdentifier": "t_address",
  26807. "typeString": "address"
  26808. },
  26809. "typeName": {
  26810. "id": 9207,
  26811. "name": "address",
  26812. "nodeType": "ElementaryTypeName",
  26813. "src": "17405:7:50",
  26814. "stateMutability": "nonpayable",
  26815. "typeDescriptions": {
  26816. "typeIdentifier": "t_address",
  26817. "typeString": "address"
  26818. }
  26819. },
  26820. "visibility": "internal"
  26821. },
  26822. {
  26823. "constant": false,
  26824. "id": 9210,
  26825. "mutability": "mutable",
  26826. "name": "p1",
  26827. "nameLocation": "17425:2:50",
  26828. "nodeType": "VariableDeclaration",
  26829. "scope": 9226,
  26830. "src": "17417:10:50",
  26831. "stateVariable": false,
  26832. "storageLocation": "default",
  26833. "typeDescriptions": {
  26834. "typeIdentifier": "t_uint256",
  26835. "typeString": "uint256"
  26836. },
  26837. "typeName": {
  26838. "id": 9209,
  26839. "name": "uint256",
  26840. "nodeType": "ElementaryTypeName",
  26841. "src": "17417:7:50",
  26842. "typeDescriptions": {
  26843. "typeIdentifier": "t_uint256",
  26844. "typeString": "uint256"
  26845. }
  26846. },
  26847. "visibility": "internal"
  26848. },
  26849. {
  26850. "constant": false,
  26851. "id": 9212,
  26852. "mutability": "mutable",
  26853. "name": "p2",
  26854. "nameLocation": "17437:2:50",
  26855. "nodeType": "VariableDeclaration",
  26856. "scope": 9226,
  26857. "src": "17429:10:50",
  26858. "stateVariable": false,
  26859. "storageLocation": "default",
  26860. "typeDescriptions": {
  26861. "typeIdentifier": "t_address",
  26862. "typeString": "address"
  26863. },
  26864. "typeName": {
  26865. "id": 9211,
  26866. "name": "address",
  26867. "nodeType": "ElementaryTypeName",
  26868. "src": "17429:7:50",
  26869. "stateMutability": "nonpayable",
  26870. "typeDescriptions": {
  26871. "typeIdentifier": "t_address",
  26872. "typeString": "address"
  26873. }
  26874. },
  26875. "visibility": "internal"
  26876. }
  26877. ],
  26878. "src": "17404:36:50"
  26879. },
  26880. "returnParameters": {
  26881. "id": 9214,
  26882. "nodeType": "ParameterList",
  26883. "parameters": [],
  26884. "src": "17455:0:50"
  26885. },
  26886. "scope": 15355,
  26887. "stateMutability": "pure",
  26888. "virtual": false,
  26889. "visibility": "internal"
  26890. },
  26891. {
  26892. "id": 9246,
  26893. "nodeType": "FunctionDefinition",
  26894. "src": "17562:169:50",
  26895. "nodes": [],
  26896. "body": {
  26897. "id": 9245,
  26898. "nodeType": "Block",
  26899. "src": "17631:100:50",
  26900. "nodes": [],
  26901. "statements": [
  26902. {
  26903. "expression": {
  26904. "arguments": [
  26905. {
  26906. "arguments": [
  26907. {
  26908. "hexValue": "6c6f6728616464726573732c737472696e672c75696e7432353629",
  26909. "id": 9238,
  26910. "isConstant": false,
  26911. "isLValue": false,
  26912. "isPure": true,
  26913. "kind": "string",
  26914. "lValueRequested": false,
  26915. "nodeType": "Literal",
  26916. "src": "17681:29:50",
  26917. "typeDescriptions": {
  26918. "typeIdentifier": "t_stringliteral_67dd6ff15de5c635b9900811039f919659774d9843a07b7bcdfb1b54315e9200",
  26919. "typeString": "literal_string \"log(address,string,uint256)\""
  26920. },
  26921. "value": "log(address,string,uint256)"
  26922. },
  26923. {
  26924. "id": 9239,
  26925. "name": "p0",
  26926. "nodeType": "Identifier",
  26927. "overloadedDeclarations": [],
  26928. "referencedDeclaration": 9228,
  26929. "src": "17712:2:50",
  26930. "typeDescriptions": {
  26931. "typeIdentifier": "t_address",
  26932. "typeString": "address"
  26933. }
  26934. },
  26935. {
  26936. "id": 9240,
  26937. "name": "p1",
  26938. "nodeType": "Identifier",
  26939. "overloadedDeclarations": [],
  26940. "referencedDeclaration": 9230,
  26941. "src": "17716:2:50",
  26942. "typeDescriptions": {
  26943. "typeIdentifier": "t_string_memory_ptr",
  26944. "typeString": "string memory"
  26945. }
  26946. },
  26947. {
  26948. "id": 9241,
  26949. "name": "p2",
  26950. "nodeType": "Identifier",
  26951. "overloadedDeclarations": [],
  26952. "referencedDeclaration": 9232,
  26953. "src": "17720:2:50",
  26954. "typeDescriptions": {
  26955. "typeIdentifier": "t_uint256",
  26956. "typeString": "uint256"
  26957. }
  26958. }
  26959. ],
  26960. "expression": {
  26961. "argumentTypes": [
  26962. {
  26963. "typeIdentifier": "t_stringliteral_67dd6ff15de5c635b9900811039f919659774d9843a07b7bcdfb1b54315e9200",
  26964. "typeString": "literal_string \"log(address,string,uint256)\""
  26965. },
  26966. {
  26967. "typeIdentifier": "t_address",
  26968. "typeString": "address"
  26969. },
  26970. {
  26971. "typeIdentifier": "t_string_memory_ptr",
  26972. "typeString": "string memory"
  26973. },
  26974. {
  26975. "typeIdentifier": "t_uint256",
  26976. "typeString": "uint256"
  26977. }
  26978. ],
  26979. "expression": {
  26980. "id": 9236,
  26981. "name": "abi",
  26982. "nodeType": "Identifier",
  26983. "overloadedDeclarations": [],
  26984. "referencedDeclaration": -1,
  26985. "src": "17657:3:50",
  26986. "typeDescriptions": {
  26987. "typeIdentifier": "t_magic_abi",
  26988. "typeString": "abi"
  26989. }
  26990. },
  26991. "id": 9237,
  26992. "isConstant": false,
  26993. "isLValue": false,
  26994. "isPure": true,
  26995. "lValueRequested": false,
  26996. "memberLocation": "17661:19:50",
  26997. "memberName": "encodeWithSignature",
  26998. "nodeType": "MemberAccess",
  26999. "src": "17657:23:50",
  27000. "typeDescriptions": {
  27001. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  27002. "typeString": "function (string memory) pure returns (bytes memory)"
  27003. }
  27004. },
  27005. "id": 9242,
  27006. "isConstant": false,
  27007. "isLValue": false,
  27008. "isPure": false,
  27009. "kind": "functionCall",
  27010. "lValueRequested": false,
  27011. "nameLocations": [],
  27012. "names": [],
  27013. "nodeType": "FunctionCall",
  27014. "src": "17657:66:50",
  27015. "tryCall": false,
  27016. "typeDescriptions": {
  27017. "typeIdentifier": "t_bytes_memory_ptr",
  27018. "typeString": "bytes memory"
  27019. }
  27020. }
  27021. ],
  27022. "expression": {
  27023. "argumentTypes": [
  27024. {
  27025. "typeIdentifier": "t_bytes_memory_ptr",
  27026. "typeString": "bytes memory"
  27027. }
  27028. ],
  27029. "id": 9235,
  27030. "name": "_sendLogPayload",
  27031. "nodeType": "Identifier",
  27032. "overloadedDeclarations": [],
  27033. "referencedDeclaration": 7315,
  27034. "src": "17641:15:50",
  27035. "typeDescriptions": {
  27036. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  27037. "typeString": "function (bytes memory) pure"
  27038. }
  27039. },
  27040. "id": 9243,
  27041. "isConstant": false,
  27042. "isLValue": false,
  27043. "isPure": false,
  27044. "kind": "functionCall",
  27045. "lValueRequested": false,
  27046. "nameLocations": [],
  27047. "names": [],
  27048. "nodeType": "FunctionCall",
  27049. "src": "17641:83:50",
  27050. "tryCall": false,
  27051. "typeDescriptions": {
  27052. "typeIdentifier": "t_tuple$__$",
  27053. "typeString": "tuple()"
  27054. }
  27055. },
  27056. "id": 9244,
  27057. "nodeType": "ExpressionStatement",
  27058. "src": "17641:83:50"
  27059. }
  27060. ]
  27061. },
  27062. "implemented": true,
  27063. "kind": "function",
  27064. "modifiers": [],
  27065. "name": "log",
  27066. "nameLocation": "17571:3:50",
  27067. "parameters": {
  27068. "id": 9233,
  27069. "nodeType": "ParameterList",
  27070. "parameters": [
  27071. {
  27072. "constant": false,
  27073. "id": 9228,
  27074. "mutability": "mutable",
  27075. "name": "p0",
  27076. "nameLocation": "17583:2:50",
  27077. "nodeType": "VariableDeclaration",
  27078. "scope": 9246,
  27079. "src": "17575:10:50",
  27080. "stateVariable": false,
  27081. "storageLocation": "default",
  27082. "typeDescriptions": {
  27083. "typeIdentifier": "t_address",
  27084. "typeString": "address"
  27085. },
  27086. "typeName": {
  27087. "id": 9227,
  27088. "name": "address",
  27089. "nodeType": "ElementaryTypeName",
  27090. "src": "17575:7:50",
  27091. "stateMutability": "nonpayable",
  27092. "typeDescriptions": {
  27093. "typeIdentifier": "t_address",
  27094. "typeString": "address"
  27095. }
  27096. },
  27097. "visibility": "internal"
  27098. },
  27099. {
  27100. "constant": false,
  27101. "id": 9230,
  27102. "mutability": "mutable",
  27103. "name": "p1",
  27104. "nameLocation": "17601:2:50",
  27105. "nodeType": "VariableDeclaration",
  27106. "scope": 9246,
  27107. "src": "17587:16:50",
  27108. "stateVariable": false,
  27109. "storageLocation": "memory",
  27110. "typeDescriptions": {
  27111. "typeIdentifier": "t_string_memory_ptr",
  27112. "typeString": "string"
  27113. },
  27114. "typeName": {
  27115. "id": 9229,
  27116. "name": "string",
  27117. "nodeType": "ElementaryTypeName",
  27118. "src": "17587:6:50",
  27119. "typeDescriptions": {
  27120. "typeIdentifier": "t_string_storage_ptr",
  27121. "typeString": "string"
  27122. }
  27123. },
  27124. "visibility": "internal"
  27125. },
  27126. {
  27127. "constant": false,
  27128. "id": 9232,
  27129. "mutability": "mutable",
  27130. "name": "p2",
  27131. "nameLocation": "17613:2:50",
  27132. "nodeType": "VariableDeclaration",
  27133. "scope": 9246,
  27134. "src": "17605:10:50",
  27135. "stateVariable": false,
  27136. "storageLocation": "default",
  27137. "typeDescriptions": {
  27138. "typeIdentifier": "t_uint256",
  27139. "typeString": "uint256"
  27140. },
  27141. "typeName": {
  27142. "id": 9231,
  27143. "name": "uint256",
  27144. "nodeType": "ElementaryTypeName",
  27145. "src": "17605:7:50",
  27146. "typeDescriptions": {
  27147. "typeIdentifier": "t_uint256",
  27148. "typeString": "uint256"
  27149. }
  27150. },
  27151. "visibility": "internal"
  27152. }
  27153. ],
  27154. "src": "17574:42:50"
  27155. },
  27156. "returnParameters": {
  27157. "id": 9234,
  27158. "nodeType": "ParameterList",
  27159. "parameters": [],
  27160. "src": "17631:0:50"
  27161. },
  27162. "scope": 15355,
  27163. "stateMutability": "pure",
  27164. "virtual": false,
  27165. "visibility": "internal"
  27166. },
  27167. {
  27168. "id": 9266,
  27169. "nodeType": "FunctionDefinition",
  27170. "src": "17737:174:50",
  27171. "nodes": [],
  27172. "body": {
  27173. "id": 9265,
  27174. "nodeType": "Block",
  27175. "src": "17812:99:50",
  27176. "nodes": [],
  27177. "statements": [
  27178. {
  27179. "expression": {
  27180. "arguments": [
  27181. {
  27182. "arguments": [
  27183. {
  27184. "hexValue": "6c6f6728616464726573732c737472696e672c737472696e6729",
  27185. "id": 9258,
  27186. "isConstant": false,
  27187. "isLValue": false,
  27188. "isPure": true,
  27189. "kind": "string",
  27190. "lValueRequested": false,
  27191. "nodeType": "Literal",
  27192. "src": "17862:28:50",
  27193. "typeDescriptions": {
  27194. "typeIdentifier": "t_stringliteral_fb77226597c11cd0c52945168d7176a06b9af41edea6a51823db111f35573158",
  27195. "typeString": "literal_string \"log(address,string,string)\""
  27196. },
  27197. "value": "log(address,string,string)"
  27198. },
  27199. {
  27200. "id": 9259,
  27201. "name": "p0",
  27202. "nodeType": "Identifier",
  27203. "overloadedDeclarations": [],
  27204. "referencedDeclaration": 9248,
  27205. "src": "17892:2:50",
  27206. "typeDescriptions": {
  27207. "typeIdentifier": "t_address",
  27208. "typeString": "address"
  27209. }
  27210. },
  27211. {
  27212. "id": 9260,
  27213. "name": "p1",
  27214. "nodeType": "Identifier",
  27215. "overloadedDeclarations": [],
  27216. "referencedDeclaration": 9250,
  27217. "src": "17896:2:50",
  27218. "typeDescriptions": {
  27219. "typeIdentifier": "t_string_memory_ptr",
  27220. "typeString": "string memory"
  27221. }
  27222. },
  27223. {
  27224. "id": 9261,
  27225. "name": "p2",
  27226. "nodeType": "Identifier",
  27227. "overloadedDeclarations": [],
  27228. "referencedDeclaration": 9252,
  27229. "src": "17900:2:50",
  27230. "typeDescriptions": {
  27231. "typeIdentifier": "t_string_memory_ptr",
  27232. "typeString": "string memory"
  27233. }
  27234. }
  27235. ],
  27236. "expression": {
  27237. "argumentTypes": [
  27238. {
  27239. "typeIdentifier": "t_stringliteral_fb77226597c11cd0c52945168d7176a06b9af41edea6a51823db111f35573158",
  27240. "typeString": "literal_string \"log(address,string,string)\""
  27241. },
  27242. {
  27243. "typeIdentifier": "t_address",
  27244. "typeString": "address"
  27245. },
  27246. {
  27247. "typeIdentifier": "t_string_memory_ptr",
  27248. "typeString": "string memory"
  27249. },
  27250. {
  27251. "typeIdentifier": "t_string_memory_ptr",
  27252. "typeString": "string memory"
  27253. }
  27254. ],
  27255. "expression": {
  27256. "id": 9256,
  27257. "name": "abi",
  27258. "nodeType": "Identifier",
  27259. "overloadedDeclarations": [],
  27260. "referencedDeclaration": -1,
  27261. "src": "17838:3:50",
  27262. "typeDescriptions": {
  27263. "typeIdentifier": "t_magic_abi",
  27264. "typeString": "abi"
  27265. }
  27266. },
  27267. "id": 9257,
  27268. "isConstant": false,
  27269. "isLValue": false,
  27270. "isPure": true,
  27271. "lValueRequested": false,
  27272. "memberLocation": "17842:19:50",
  27273. "memberName": "encodeWithSignature",
  27274. "nodeType": "MemberAccess",
  27275. "src": "17838:23:50",
  27276. "typeDescriptions": {
  27277. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  27278. "typeString": "function (string memory) pure returns (bytes memory)"
  27279. }
  27280. },
  27281. "id": 9262,
  27282. "isConstant": false,
  27283. "isLValue": false,
  27284. "isPure": false,
  27285. "kind": "functionCall",
  27286. "lValueRequested": false,
  27287. "nameLocations": [],
  27288. "names": [],
  27289. "nodeType": "FunctionCall",
  27290. "src": "17838:65:50",
  27291. "tryCall": false,
  27292. "typeDescriptions": {
  27293. "typeIdentifier": "t_bytes_memory_ptr",
  27294. "typeString": "bytes memory"
  27295. }
  27296. }
  27297. ],
  27298. "expression": {
  27299. "argumentTypes": [
  27300. {
  27301. "typeIdentifier": "t_bytes_memory_ptr",
  27302. "typeString": "bytes memory"
  27303. }
  27304. ],
  27305. "id": 9255,
  27306. "name": "_sendLogPayload",
  27307. "nodeType": "Identifier",
  27308. "overloadedDeclarations": [],
  27309. "referencedDeclaration": 7315,
  27310. "src": "17822:15:50",
  27311. "typeDescriptions": {
  27312. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  27313. "typeString": "function (bytes memory) pure"
  27314. }
  27315. },
  27316. "id": 9263,
  27317. "isConstant": false,
  27318. "isLValue": false,
  27319. "isPure": false,
  27320. "kind": "functionCall",
  27321. "lValueRequested": false,
  27322. "nameLocations": [],
  27323. "names": [],
  27324. "nodeType": "FunctionCall",
  27325. "src": "17822:82:50",
  27326. "tryCall": false,
  27327. "typeDescriptions": {
  27328. "typeIdentifier": "t_tuple$__$",
  27329. "typeString": "tuple()"
  27330. }
  27331. },
  27332. "id": 9264,
  27333. "nodeType": "ExpressionStatement",
  27334. "src": "17822:82:50"
  27335. }
  27336. ]
  27337. },
  27338. "implemented": true,
  27339. "kind": "function",
  27340. "modifiers": [],
  27341. "name": "log",
  27342. "nameLocation": "17746:3:50",
  27343. "parameters": {
  27344. "id": 9253,
  27345. "nodeType": "ParameterList",
  27346. "parameters": [
  27347. {
  27348. "constant": false,
  27349. "id": 9248,
  27350. "mutability": "mutable",
  27351. "name": "p0",
  27352. "nameLocation": "17758:2:50",
  27353. "nodeType": "VariableDeclaration",
  27354. "scope": 9266,
  27355. "src": "17750:10:50",
  27356. "stateVariable": false,
  27357. "storageLocation": "default",
  27358. "typeDescriptions": {
  27359. "typeIdentifier": "t_address",
  27360. "typeString": "address"
  27361. },
  27362. "typeName": {
  27363. "id": 9247,
  27364. "name": "address",
  27365. "nodeType": "ElementaryTypeName",
  27366. "src": "17750:7:50",
  27367. "stateMutability": "nonpayable",
  27368. "typeDescriptions": {
  27369. "typeIdentifier": "t_address",
  27370. "typeString": "address"
  27371. }
  27372. },
  27373. "visibility": "internal"
  27374. },
  27375. {
  27376. "constant": false,
  27377. "id": 9250,
  27378. "mutability": "mutable",
  27379. "name": "p1",
  27380. "nameLocation": "17776:2:50",
  27381. "nodeType": "VariableDeclaration",
  27382. "scope": 9266,
  27383. "src": "17762:16:50",
  27384. "stateVariable": false,
  27385. "storageLocation": "memory",
  27386. "typeDescriptions": {
  27387. "typeIdentifier": "t_string_memory_ptr",
  27388. "typeString": "string"
  27389. },
  27390. "typeName": {
  27391. "id": 9249,
  27392. "name": "string",
  27393. "nodeType": "ElementaryTypeName",
  27394. "src": "17762:6:50",
  27395. "typeDescriptions": {
  27396. "typeIdentifier": "t_string_storage_ptr",
  27397. "typeString": "string"
  27398. }
  27399. },
  27400. "visibility": "internal"
  27401. },
  27402. {
  27403. "constant": false,
  27404. "id": 9252,
  27405. "mutability": "mutable",
  27406. "name": "p2",
  27407. "nameLocation": "17794:2:50",
  27408. "nodeType": "VariableDeclaration",
  27409. "scope": 9266,
  27410. "src": "17780:16:50",
  27411. "stateVariable": false,
  27412. "storageLocation": "memory",
  27413. "typeDescriptions": {
  27414. "typeIdentifier": "t_string_memory_ptr",
  27415. "typeString": "string"
  27416. },
  27417. "typeName": {
  27418. "id": 9251,
  27419. "name": "string",
  27420. "nodeType": "ElementaryTypeName",
  27421. "src": "17780:6:50",
  27422. "typeDescriptions": {
  27423. "typeIdentifier": "t_string_storage_ptr",
  27424. "typeString": "string"
  27425. }
  27426. },
  27427. "visibility": "internal"
  27428. }
  27429. ],
  27430. "src": "17749:48:50"
  27431. },
  27432. "returnParameters": {
  27433. "id": 9254,
  27434. "nodeType": "ParameterList",
  27435. "parameters": [],
  27436. "src": "17812:0:50"
  27437. },
  27438. "scope": 15355,
  27439. "stateMutability": "pure",
  27440. "virtual": false,
  27441. "visibility": "internal"
  27442. },
  27443. {
  27444. "id": 9286,
  27445. "nodeType": "FunctionDefinition",
  27446. "src": "17917:163:50",
  27447. "nodes": [],
  27448. "body": {
  27449. "id": 9285,
  27450. "nodeType": "Block",
  27451. "src": "17983:97:50",
  27452. "nodes": [],
  27453. "statements": [
  27454. {
  27455. "expression": {
  27456. "arguments": [
  27457. {
  27458. "arguments": [
  27459. {
  27460. "hexValue": "6c6f6728616464726573732c737472696e672c626f6f6c29",
  27461. "id": 9278,
  27462. "isConstant": false,
  27463. "isLValue": false,
  27464. "isPure": true,
  27465. "kind": "string",
  27466. "lValueRequested": false,
  27467. "nodeType": "Literal",
  27468. "src": "18033:26:50",
  27469. "typeDescriptions": {
  27470. "typeIdentifier": "t_stringliteral_cf020fb14f49566c5748de1f455c699a10a4ed1d7cf32f9adb28d22878df1b96",
  27471. "typeString": "literal_string \"log(address,string,bool)\""
  27472. },
  27473. "value": "log(address,string,bool)"
  27474. },
  27475. {
  27476. "id": 9279,
  27477. "name": "p0",
  27478. "nodeType": "Identifier",
  27479. "overloadedDeclarations": [],
  27480. "referencedDeclaration": 9268,
  27481. "src": "18061:2:50",
  27482. "typeDescriptions": {
  27483. "typeIdentifier": "t_address",
  27484. "typeString": "address"
  27485. }
  27486. },
  27487. {
  27488. "id": 9280,
  27489. "name": "p1",
  27490. "nodeType": "Identifier",
  27491. "overloadedDeclarations": [],
  27492. "referencedDeclaration": 9270,
  27493. "src": "18065:2:50",
  27494. "typeDescriptions": {
  27495. "typeIdentifier": "t_string_memory_ptr",
  27496. "typeString": "string memory"
  27497. }
  27498. },
  27499. {
  27500. "id": 9281,
  27501. "name": "p2",
  27502. "nodeType": "Identifier",
  27503. "overloadedDeclarations": [],
  27504. "referencedDeclaration": 9272,
  27505. "src": "18069:2:50",
  27506. "typeDescriptions": {
  27507. "typeIdentifier": "t_bool",
  27508. "typeString": "bool"
  27509. }
  27510. }
  27511. ],
  27512. "expression": {
  27513. "argumentTypes": [
  27514. {
  27515. "typeIdentifier": "t_stringliteral_cf020fb14f49566c5748de1f455c699a10a4ed1d7cf32f9adb28d22878df1b96",
  27516. "typeString": "literal_string \"log(address,string,bool)\""
  27517. },
  27518. {
  27519. "typeIdentifier": "t_address",
  27520. "typeString": "address"
  27521. },
  27522. {
  27523. "typeIdentifier": "t_string_memory_ptr",
  27524. "typeString": "string memory"
  27525. },
  27526. {
  27527. "typeIdentifier": "t_bool",
  27528. "typeString": "bool"
  27529. }
  27530. ],
  27531. "expression": {
  27532. "id": 9276,
  27533. "name": "abi",
  27534. "nodeType": "Identifier",
  27535. "overloadedDeclarations": [],
  27536. "referencedDeclaration": -1,
  27537. "src": "18009:3:50",
  27538. "typeDescriptions": {
  27539. "typeIdentifier": "t_magic_abi",
  27540. "typeString": "abi"
  27541. }
  27542. },
  27543. "id": 9277,
  27544. "isConstant": false,
  27545. "isLValue": false,
  27546. "isPure": true,
  27547. "lValueRequested": false,
  27548. "memberLocation": "18013:19:50",
  27549. "memberName": "encodeWithSignature",
  27550. "nodeType": "MemberAccess",
  27551. "src": "18009:23:50",
  27552. "typeDescriptions": {
  27553. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  27554. "typeString": "function (string memory) pure returns (bytes memory)"
  27555. }
  27556. },
  27557. "id": 9282,
  27558. "isConstant": false,
  27559. "isLValue": false,
  27560. "isPure": false,
  27561. "kind": "functionCall",
  27562. "lValueRequested": false,
  27563. "nameLocations": [],
  27564. "names": [],
  27565. "nodeType": "FunctionCall",
  27566. "src": "18009:63:50",
  27567. "tryCall": false,
  27568. "typeDescriptions": {
  27569. "typeIdentifier": "t_bytes_memory_ptr",
  27570. "typeString": "bytes memory"
  27571. }
  27572. }
  27573. ],
  27574. "expression": {
  27575. "argumentTypes": [
  27576. {
  27577. "typeIdentifier": "t_bytes_memory_ptr",
  27578. "typeString": "bytes memory"
  27579. }
  27580. ],
  27581. "id": 9275,
  27582. "name": "_sendLogPayload",
  27583. "nodeType": "Identifier",
  27584. "overloadedDeclarations": [],
  27585. "referencedDeclaration": 7315,
  27586. "src": "17993:15:50",
  27587. "typeDescriptions": {
  27588. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  27589. "typeString": "function (bytes memory) pure"
  27590. }
  27591. },
  27592. "id": 9283,
  27593. "isConstant": false,
  27594. "isLValue": false,
  27595. "isPure": false,
  27596. "kind": "functionCall",
  27597. "lValueRequested": false,
  27598. "nameLocations": [],
  27599. "names": [],
  27600. "nodeType": "FunctionCall",
  27601. "src": "17993:80:50",
  27602. "tryCall": false,
  27603. "typeDescriptions": {
  27604. "typeIdentifier": "t_tuple$__$",
  27605. "typeString": "tuple()"
  27606. }
  27607. },
  27608. "id": 9284,
  27609. "nodeType": "ExpressionStatement",
  27610. "src": "17993:80:50"
  27611. }
  27612. ]
  27613. },
  27614. "implemented": true,
  27615. "kind": "function",
  27616. "modifiers": [],
  27617. "name": "log",
  27618. "nameLocation": "17926:3:50",
  27619. "parameters": {
  27620. "id": 9273,
  27621. "nodeType": "ParameterList",
  27622. "parameters": [
  27623. {
  27624. "constant": false,
  27625. "id": 9268,
  27626. "mutability": "mutable",
  27627. "name": "p0",
  27628. "nameLocation": "17938:2:50",
  27629. "nodeType": "VariableDeclaration",
  27630. "scope": 9286,
  27631. "src": "17930:10:50",
  27632. "stateVariable": false,
  27633. "storageLocation": "default",
  27634. "typeDescriptions": {
  27635. "typeIdentifier": "t_address",
  27636. "typeString": "address"
  27637. },
  27638. "typeName": {
  27639. "id": 9267,
  27640. "name": "address",
  27641. "nodeType": "ElementaryTypeName",
  27642. "src": "17930:7:50",
  27643. "stateMutability": "nonpayable",
  27644. "typeDescriptions": {
  27645. "typeIdentifier": "t_address",
  27646. "typeString": "address"
  27647. }
  27648. },
  27649. "visibility": "internal"
  27650. },
  27651. {
  27652. "constant": false,
  27653. "id": 9270,
  27654. "mutability": "mutable",
  27655. "name": "p1",
  27656. "nameLocation": "17956:2:50",
  27657. "nodeType": "VariableDeclaration",
  27658. "scope": 9286,
  27659. "src": "17942:16:50",
  27660. "stateVariable": false,
  27661. "storageLocation": "memory",
  27662. "typeDescriptions": {
  27663. "typeIdentifier": "t_string_memory_ptr",
  27664. "typeString": "string"
  27665. },
  27666. "typeName": {
  27667. "id": 9269,
  27668. "name": "string",
  27669. "nodeType": "ElementaryTypeName",
  27670. "src": "17942:6:50",
  27671. "typeDescriptions": {
  27672. "typeIdentifier": "t_string_storage_ptr",
  27673. "typeString": "string"
  27674. }
  27675. },
  27676. "visibility": "internal"
  27677. },
  27678. {
  27679. "constant": false,
  27680. "id": 9272,
  27681. "mutability": "mutable",
  27682. "name": "p2",
  27683. "nameLocation": "17965:2:50",
  27684. "nodeType": "VariableDeclaration",
  27685. "scope": 9286,
  27686. "src": "17960:7:50",
  27687. "stateVariable": false,
  27688. "storageLocation": "default",
  27689. "typeDescriptions": {
  27690. "typeIdentifier": "t_bool",
  27691. "typeString": "bool"
  27692. },
  27693. "typeName": {
  27694. "id": 9271,
  27695. "name": "bool",
  27696. "nodeType": "ElementaryTypeName",
  27697. "src": "17960:4:50",
  27698. "typeDescriptions": {
  27699. "typeIdentifier": "t_bool",
  27700. "typeString": "bool"
  27701. }
  27702. },
  27703. "visibility": "internal"
  27704. }
  27705. ],
  27706. "src": "17929:39:50"
  27707. },
  27708. "returnParameters": {
  27709. "id": 9274,
  27710. "nodeType": "ParameterList",
  27711. "parameters": [],
  27712. "src": "17983:0:50"
  27713. },
  27714. "scope": 15355,
  27715. "stateMutability": "pure",
  27716. "virtual": false,
  27717. "visibility": "internal"
  27718. },
  27719. {
  27720. "id": 9306,
  27721. "nodeType": "FunctionDefinition",
  27722. "src": "18086:169:50",
  27723. "nodes": [],
  27724. "body": {
  27725. "id": 9305,
  27726. "nodeType": "Block",
  27727. "src": "18155:100:50",
  27728. "nodes": [],
  27729. "statements": [
  27730. {
  27731. "expression": {
  27732. "arguments": [
  27733. {
  27734. "arguments": [
  27735. {
  27736. "hexValue": "6c6f6728616464726573732c737472696e672c6164647265737329",
  27737. "id": 9298,
  27738. "isConstant": false,
  27739. "isLValue": false,
  27740. "isPure": true,
  27741. "kind": "string",
  27742. "lValueRequested": false,
  27743. "nodeType": "Literal",
  27744. "src": "18205:29:50",
  27745. "typeDescriptions": {
  27746. "typeIdentifier": "t_stringliteral_f08744e82875525f1ef885a48453f58e96cac98a5d32bd6d8c38e4977aede231",
  27747. "typeString": "literal_string \"log(address,string,address)\""
  27748. },
  27749. "value": "log(address,string,address)"
  27750. },
  27751. {
  27752. "id": 9299,
  27753. "name": "p0",
  27754. "nodeType": "Identifier",
  27755. "overloadedDeclarations": [],
  27756. "referencedDeclaration": 9288,
  27757. "src": "18236:2:50",
  27758. "typeDescriptions": {
  27759. "typeIdentifier": "t_address",
  27760. "typeString": "address"
  27761. }
  27762. },
  27763. {
  27764. "id": 9300,
  27765. "name": "p1",
  27766. "nodeType": "Identifier",
  27767. "overloadedDeclarations": [],
  27768. "referencedDeclaration": 9290,
  27769. "src": "18240:2:50",
  27770. "typeDescriptions": {
  27771. "typeIdentifier": "t_string_memory_ptr",
  27772. "typeString": "string memory"
  27773. }
  27774. },
  27775. {
  27776. "id": 9301,
  27777. "name": "p2",
  27778. "nodeType": "Identifier",
  27779. "overloadedDeclarations": [],
  27780. "referencedDeclaration": 9292,
  27781. "src": "18244:2:50",
  27782. "typeDescriptions": {
  27783. "typeIdentifier": "t_address",
  27784. "typeString": "address"
  27785. }
  27786. }
  27787. ],
  27788. "expression": {
  27789. "argumentTypes": [
  27790. {
  27791. "typeIdentifier": "t_stringliteral_f08744e82875525f1ef885a48453f58e96cac98a5d32bd6d8c38e4977aede231",
  27792. "typeString": "literal_string \"log(address,string,address)\""
  27793. },
  27794. {
  27795. "typeIdentifier": "t_address",
  27796. "typeString": "address"
  27797. },
  27798. {
  27799. "typeIdentifier": "t_string_memory_ptr",
  27800. "typeString": "string memory"
  27801. },
  27802. {
  27803. "typeIdentifier": "t_address",
  27804. "typeString": "address"
  27805. }
  27806. ],
  27807. "expression": {
  27808. "id": 9296,
  27809. "name": "abi",
  27810. "nodeType": "Identifier",
  27811. "overloadedDeclarations": [],
  27812. "referencedDeclaration": -1,
  27813. "src": "18181:3:50",
  27814. "typeDescriptions": {
  27815. "typeIdentifier": "t_magic_abi",
  27816. "typeString": "abi"
  27817. }
  27818. },
  27819. "id": 9297,
  27820. "isConstant": false,
  27821. "isLValue": false,
  27822. "isPure": true,
  27823. "lValueRequested": false,
  27824. "memberLocation": "18185:19:50",
  27825. "memberName": "encodeWithSignature",
  27826. "nodeType": "MemberAccess",
  27827. "src": "18181:23:50",
  27828. "typeDescriptions": {
  27829. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  27830. "typeString": "function (string memory) pure returns (bytes memory)"
  27831. }
  27832. },
  27833. "id": 9302,
  27834. "isConstant": false,
  27835. "isLValue": false,
  27836. "isPure": false,
  27837. "kind": "functionCall",
  27838. "lValueRequested": false,
  27839. "nameLocations": [],
  27840. "names": [],
  27841. "nodeType": "FunctionCall",
  27842. "src": "18181:66:50",
  27843. "tryCall": false,
  27844. "typeDescriptions": {
  27845. "typeIdentifier": "t_bytes_memory_ptr",
  27846. "typeString": "bytes memory"
  27847. }
  27848. }
  27849. ],
  27850. "expression": {
  27851. "argumentTypes": [
  27852. {
  27853. "typeIdentifier": "t_bytes_memory_ptr",
  27854. "typeString": "bytes memory"
  27855. }
  27856. ],
  27857. "id": 9295,
  27858. "name": "_sendLogPayload",
  27859. "nodeType": "Identifier",
  27860. "overloadedDeclarations": [],
  27861. "referencedDeclaration": 7315,
  27862. "src": "18165:15:50",
  27863. "typeDescriptions": {
  27864. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  27865. "typeString": "function (bytes memory) pure"
  27866. }
  27867. },
  27868. "id": 9303,
  27869. "isConstant": false,
  27870. "isLValue": false,
  27871. "isPure": false,
  27872. "kind": "functionCall",
  27873. "lValueRequested": false,
  27874. "nameLocations": [],
  27875. "names": [],
  27876. "nodeType": "FunctionCall",
  27877. "src": "18165:83:50",
  27878. "tryCall": false,
  27879. "typeDescriptions": {
  27880. "typeIdentifier": "t_tuple$__$",
  27881. "typeString": "tuple()"
  27882. }
  27883. },
  27884. "id": 9304,
  27885. "nodeType": "ExpressionStatement",
  27886. "src": "18165:83:50"
  27887. }
  27888. ]
  27889. },
  27890. "implemented": true,
  27891. "kind": "function",
  27892. "modifiers": [],
  27893. "name": "log",
  27894. "nameLocation": "18095:3:50",
  27895. "parameters": {
  27896. "id": 9293,
  27897. "nodeType": "ParameterList",
  27898. "parameters": [
  27899. {
  27900. "constant": false,
  27901. "id": 9288,
  27902. "mutability": "mutable",
  27903. "name": "p0",
  27904. "nameLocation": "18107:2:50",
  27905. "nodeType": "VariableDeclaration",
  27906. "scope": 9306,
  27907. "src": "18099:10:50",
  27908. "stateVariable": false,
  27909. "storageLocation": "default",
  27910. "typeDescriptions": {
  27911. "typeIdentifier": "t_address",
  27912. "typeString": "address"
  27913. },
  27914. "typeName": {
  27915. "id": 9287,
  27916. "name": "address",
  27917. "nodeType": "ElementaryTypeName",
  27918. "src": "18099:7:50",
  27919. "stateMutability": "nonpayable",
  27920. "typeDescriptions": {
  27921. "typeIdentifier": "t_address",
  27922. "typeString": "address"
  27923. }
  27924. },
  27925. "visibility": "internal"
  27926. },
  27927. {
  27928. "constant": false,
  27929. "id": 9290,
  27930. "mutability": "mutable",
  27931. "name": "p1",
  27932. "nameLocation": "18125:2:50",
  27933. "nodeType": "VariableDeclaration",
  27934. "scope": 9306,
  27935. "src": "18111:16:50",
  27936. "stateVariable": false,
  27937. "storageLocation": "memory",
  27938. "typeDescriptions": {
  27939. "typeIdentifier": "t_string_memory_ptr",
  27940. "typeString": "string"
  27941. },
  27942. "typeName": {
  27943. "id": 9289,
  27944. "name": "string",
  27945. "nodeType": "ElementaryTypeName",
  27946. "src": "18111:6:50",
  27947. "typeDescriptions": {
  27948. "typeIdentifier": "t_string_storage_ptr",
  27949. "typeString": "string"
  27950. }
  27951. },
  27952. "visibility": "internal"
  27953. },
  27954. {
  27955. "constant": false,
  27956. "id": 9292,
  27957. "mutability": "mutable",
  27958. "name": "p2",
  27959. "nameLocation": "18137:2:50",
  27960. "nodeType": "VariableDeclaration",
  27961. "scope": 9306,
  27962. "src": "18129:10:50",
  27963. "stateVariable": false,
  27964. "storageLocation": "default",
  27965. "typeDescriptions": {
  27966. "typeIdentifier": "t_address",
  27967. "typeString": "address"
  27968. },
  27969. "typeName": {
  27970. "id": 9291,
  27971. "name": "address",
  27972. "nodeType": "ElementaryTypeName",
  27973. "src": "18129:7:50",
  27974. "stateMutability": "nonpayable",
  27975. "typeDescriptions": {
  27976. "typeIdentifier": "t_address",
  27977. "typeString": "address"
  27978. }
  27979. },
  27980. "visibility": "internal"
  27981. }
  27982. ],
  27983. "src": "18098:42:50"
  27984. },
  27985. "returnParameters": {
  27986. "id": 9294,
  27987. "nodeType": "ParameterList",
  27988. "parameters": [],
  27989. "src": "18155:0:50"
  27990. },
  27991. "scope": 15355,
  27992. "stateMutability": "pure",
  27993. "virtual": false,
  27994. "visibility": "internal"
  27995. },
  27996. {
  27997. "id": 9326,
  27998. "nodeType": "FunctionDefinition",
  27999. "src": "18261:158:50",
  28000. "nodes": [],
  28001. "body": {
  28002. "id": 9325,
  28003. "nodeType": "Block",
  28004. "src": "18321:98:50",
  28005. "nodes": [],
  28006. "statements": [
  28007. {
  28008. "expression": {
  28009. "arguments": [
  28010. {
  28011. "arguments": [
  28012. {
  28013. "hexValue": "6c6f6728616464726573732c626f6f6c2c75696e7432353629",
  28014. "id": 9318,
  28015. "isConstant": false,
  28016. "isLValue": false,
  28017. "isPure": true,
  28018. "kind": "string",
  28019. "lValueRequested": false,
  28020. "nodeType": "Literal",
  28021. "src": "18371:27:50",
  28022. "typeDescriptions": {
  28023. "typeIdentifier": "t_stringliteral_9c4f99fb8e27f663a71adc9f15ace4bdc959202f3b7faa1c8ca25e5e7e8568f9",
  28024. "typeString": "literal_string \"log(address,bool,uint256)\""
  28025. },
  28026. "value": "log(address,bool,uint256)"
  28027. },
  28028. {
  28029. "id": 9319,
  28030. "name": "p0",
  28031. "nodeType": "Identifier",
  28032. "overloadedDeclarations": [],
  28033. "referencedDeclaration": 9308,
  28034. "src": "18400:2:50",
  28035. "typeDescriptions": {
  28036. "typeIdentifier": "t_address",
  28037. "typeString": "address"
  28038. }
  28039. },
  28040. {
  28041. "id": 9320,
  28042. "name": "p1",
  28043. "nodeType": "Identifier",
  28044. "overloadedDeclarations": [],
  28045. "referencedDeclaration": 9310,
  28046. "src": "18404:2:50",
  28047. "typeDescriptions": {
  28048. "typeIdentifier": "t_bool",
  28049. "typeString": "bool"
  28050. }
  28051. },
  28052. {
  28053. "id": 9321,
  28054. "name": "p2",
  28055. "nodeType": "Identifier",
  28056. "overloadedDeclarations": [],
  28057. "referencedDeclaration": 9312,
  28058. "src": "18408:2:50",
  28059. "typeDescriptions": {
  28060. "typeIdentifier": "t_uint256",
  28061. "typeString": "uint256"
  28062. }
  28063. }
  28064. ],
  28065. "expression": {
  28066. "argumentTypes": [
  28067. {
  28068. "typeIdentifier": "t_stringliteral_9c4f99fb8e27f663a71adc9f15ace4bdc959202f3b7faa1c8ca25e5e7e8568f9",
  28069. "typeString": "literal_string \"log(address,bool,uint256)\""
  28070. },
  28071. {
  28072. "typeIdentifier": "t_address",
  28073. "typeString": "address"
  28074. },
  28075. {
  28076. "typeIdentifier": "t_bool",
  28077. "typeString": "bool"
  28078. },
  28079. {
  28080. "typeIdentifier": "t_uint256",
  28081. "typeString": "uint256"
  28082. }
  28083. ],
  28084. "expression": {
  28085. "id": 9316,
  28086. "name": "abi",
  28087. "nodeType": "Identifier",
  28088. "overloadedDeclarations": [],
  28089. "referencedDeclaration": -1,
  28090. "src": "18347:3:50",
  28091. "typeDescriptions": {
  28092. "typeIdentifier": "t_magic_abi",
  28093. "typeString": "abi"
  28094. }
  28095. },
  28096. "id": 9317,
  28097. "isConstant": false,
  28098. "isLValue": false,
  28099. "isPure": true,
  28100. "lValueRequested": false,
  28101. "memberLocation": "18351:19:50",
  28102. "memberName": "encodeWithSignature",
  28103. "nodeType": "MemberAccess",
  28104. "src": "18347:23:50",
  28105. "typeDescriptions": {
  28106. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  28107. "typeString": "function (string memory) pure returns (bytes memory)"
  28108. }
  28109. },
  28110. "id": 9322,
  28111. "isConstant": false,
  28112. "isLValue": false,
  28113. "isPure": false,
  28114. "kind": "functionCall",
  28115. "lValueRequested": false,
  28116. "nameLocations": [],
  28117. "names": [],
  28118. "nodeType": "FunctionCall",
  28119. "src": "18347:64:50",
  28120. "tryCall": false,
  28121. "typeDescriptions": {
  28122. "typeIdentifier": "t_bytes_memory_ptr",
  28123. "typeString": "bytes memory"
  28124. }
  28125. }
  28126. ],
  28127. "expression": {
  28128. "argumentTypes": [
  28129. {
  28130. "typeIdentifier": "t_bytes_memory_ptr",
  28131. "typeString": "bytes memory"
  28132. }
  28133. ],
  28134. "id": 9315,
  28135. "name": "_sendLogPayload",
  28136. "nodeType": "Identifier",
  28137. "overloadedDeclarations": [],
  28138. "referencedDeclaration": 7315,
  28139. "src": "18331:15:50",
  28140. "typeDescriptions": {
  28141. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  28142. "typeString": "function (bytes memory) pure"
  28143. }
  28144. },
  28145. "id": 9323,
  28146. "isConstant": false,
  28147. "isLValue": false,
  28148. "isPure": false,
  28149. "kind": "functionCall",
  28150. "lValueRequested": false,
  28151. "nameLocations": [],
  28152. "names": [],
  28153. "nodeType": "FunctionCall",
  28154. "src": "18331:81:50",
  28155. "tryCall": false,
  28156. "typeDescriptions": {
  28157. "typeIdentifier": "t_tuple$__$",
  28158. "typeString": "tuple()"
  28159. }
  28160. },
  28161. "id": 9324,
  28162. "nodeType": "ExpressionStatement",
  28163. "src": "18331:81:50"
  28164. }
  28165. ]
  28166. },
  28167. "implemented": true,
  28168. "kind": "function",
  28169. "modifiers": [],
  28170. "name": "log",
  28171. "nameLocation": "18270:3:50",
  28172. "parameters": {
  28173. "id": 9313,
  28174. "nodeType": "ParameterList",
  28175. "parameters": [
  28176. {
  28177. "constant": false,
  28178. "id": 9308,
  28179. "mutability": "mutable",
  28180. "name": "p0",
  28181. "nameLocation": "18282:2:50",
  28182. "nodeType": "VariableDeclaration",
  28183. "scope": 9326,
  28184. "src": "18274:10:50",
  28185. "stateVariable": false,
  28186. "storageLocation": "default",
  28187. "typeDescriptions": {
  28188. "typeIdentifier": "t_address",
  28189. "typeString": "address"
  28190. },
  28191. "typeName": {
  28192. "id": 9307,
  28193. "name": "address",
  28194. "nodeType": "ElementaryTypeName",
  28195. "src": "18274:7:50",
  28196. "stateMutability": "nonpayable",
  28197. "typeDescriptions": {
  28198. "typeIdentifier": "t_address",
  28199. "typeString": "address"
  28200. }
  28201. },
  28202. "visibility": "internal"
  28203. },
  28204. {
  28205. "constant": false,
  28206. "id": 9310,
  28207. "mutability": "mutable",
  28208. "name": "p1",
  28209. "nameLocation": "18291:2:50",
  28210. "nodeType": "VariableDeclaration",
  28211. "scope": 9326,
  28212. "src": "18286:7:50",
  28213. "stateVariable": false,
  28214. "storageLocation": "default",
  28215. "typeDescriptions": {
  28216. "typeIdentifier": "t_bool",
  28217. "typeString": "bool"
  28218. },
  28219. "typeName": {
  28220. "id": 9309,
  28221. "name": "bool",
  28222. "nodeType": "ElementaryTypeName",
  28223. "src": "18286:4:50",
  28224. "typeDescriptions": {
  28225. "typeIdentifier": "t_bool",
  28226. "typeString": "bool"
  28227. }
  28228. },
  28229. "visibility": "internal"
  28230. },
  28231. {
  28232. "constant": false,
  28233. "id": 9312,
  28234. "mutability": "mutable",
  28235. "name": "p2",
  28236. "nameLocation": "18303:2:50",
  28237. "nodeType": "VariableDeclaration",
  28238. "scope": 9326,
  28239. "src": "18295:10:50",
  28240. "stateVariable": false,
  28241. "storageLocation": "default",
  28242. "typeDescriptions": {
  28243. "typeIdentifier": "t_uint256",
  28244. "typeString": "uint256"
  28245. },
  28246. "typeName": {
  28247. "id": 9311,
  28248. "name": "uint256",
  28249. "nodeType": "ElementaryTypeName",
  28250. "src": "18295:7:50",
  28251. "typeDescriptions": {
  28252. "typeIdentifier": "t_uint256",
  28253. "typeString": "uint256"
  28254. }
  28255. },
  28256. "visibility": "internal"
  28257. }
  28258. ],
  28259. "src": "18273:33:50"
  28260. },
  28261. "returnParameters": {
  28262. "id": 9314,
  28263. "nodeType": "ParameterList",
  28264. "parameters": [],
  28265. "src": "18321:0:50"
  28266. },
  28267. "scope": 15355,
  28268. "stateMutability": "pure",
  28269. "virtual": false,
  28270. "visibility": "internal"
  28271. },
  28272. {
  28273. "id": 9346,
  28274. "nodeType": "FunctionDefinition",
  28275. "src": "18425:163:50",
  28276. "nodes": [],
  28277. "body": {
  28278. "id": 9345,
  28279. "nodeType": "Block",
  28280. "src": "18491:97:50",
  28281. "nodes": [],
  28282. "statements": [
  28283. {
  28284. "expression": {
  28285. "arguments": [
  28286. {
  28287. "arguments": [
  28288. {
  28289. "hexValue": "6c6f6728616464726573732c626f6f6c2c737472696e6729",
  28290. "id": 9338,
  28291. "isConstant": false,
  28292. "isLValue": false,
  28293. "isPure": true,
  28294. "kind": "string",
  28295. "lValueRequested": false,
  28296. "nodeType": "Literal",
  28297. "src": "18541:26:50",
  28298. "typeDescriptions": {
  28299. "typeIdentifier": "t_stringliteral_212255cc5ff4a2d867f69451c60f51c24e41784276f4ceffe8ec3af322690750",
  28300. "typeString": "literal_string \"log(address,bool,string)\""
  28301. },
  28302. "value": "log(address,bool,string)"
  28303. },
  28304. {
  28305. "id": 9339,
  28306. "name": "p0",
  28307. "nodeType": "Identifier",
  28308. "overloadedDeclarations": [],
  28309. "referencedDeclaration": 9328,
  28310. "src": "18569:2:50",
  28311. "typeDescriptions": {
  28312. "typeIdentifier": "t_address",
  28313. "typeString": "address"
  28314. }
  28315. },
  28316. {
  28317. "id": 9340,
  28318. "name": "p1",
  28319. "nodeType": "Identifier",
  28320. "overloadedDeclarations": [],
  28321. "referencedDeclaration": 9330,
  28322. "src": "18573:2:50",
  28323. "typeDescriptions": {
  28324. "typeIdentifier": "t_bool",
  28325. "typeString": "bool"
  28326. }
  28327. },
  28328. {
  28329. "id": 9341,
  28330. "name": "p2",
  28331. "nodeType": "Identifier",
  28332. "overloadedDeclarations": [],
  28333. "referencedDeclaration": 9332,
  28334. "src": "18577:2:50",
  28335. "typeDescriptions": {
  28336. "typeIdentifier": "t_string_memory_ptr",
  28337. "typeString": "string memory"
  28338. }
  28339. }
  28340. ],
  28341. "expression": {
  28342. "argumentTypes": [
  28343. {
  28344. "typeIdentifier": "t_stringliteral_212255cc5ff4a2d867f69451c60f51c24e41784276f4ceffe8ec3af322690750",
  28345. "typeString": "literal_string \"log(address,bool,string)\""
  28346. },
  28347. {
  28348. "typeIdentifier": "t_address",
  28349. "typeString": "address"
  28350. },
  28351. {
  28352. "typeIdentifier": "t_bool",
  28353. "typeString": "bool"
  28354. },
  28355. {
  28356. "typeIdentifier": "t_string_memory_ptr",
  28357. "typeString": "string memory"
  28358. }
  28359. ],
  28360. "expression": {
  28361. "id": 9336,
  28362. "name": "abi",
  28363. "nodeType": "Identifier",
  28364. "overloadedDeclarations": [],
  28365. "referencedDeclaration": -1,
  28366. "src": "18517:3:50",
  28367. "typeDescriptions": {
  28368. "typeIdentifier": "t_magic_abi",
  28369. "typeString": "abi"
  28370. }
  28371. },
  28372. "id": 9337,
  28373. "isConstant": false,
  28374. "isLValue": false,
  28375. "isPure": true,
  28376. "lValueRequested": false,
  28377. "memberLocation": "18521:19:50",
  28378. "memberName": "encodeWithSignature",
  28379. "nodeType": "MemberAccess",
  28380. "src": "18517:23:50",
  28381. "typeDescriptions": {
  28382. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  28383. "typeString": "function (string memory) pure returns (bytes memory)"
  28384. }
  28385. },
  28386. "id": 9342,
  28387. "isConstant": false,
  28388. "isLValue": false,
  28389. "isPure": false,
  28390. "kind": "functionCall",
  28391. "lValueRequested": false,
  28392. "nameLocations": [],
  28393. "names": [],
  28394. "nodeType": "FunctionCall",
  28395. "src": "18517:63:50",
  28396. "tryCall": false,
  28397. "typeDescriptions": {
  28398. "typeIdentifier": "t_bytes_memory_ptr",
  28399. "typeString": "bytes memory"
  28400. }
  28401. }
  28402. ],
  28403. "expression": {
  28404. "argumentTypes": [
  28405. {
  28406. "typeIdentifier": "t_bytes_memory_ptr",
  28407. "typeString": "bytes memory"
  28408. }
  28409. ],
  28410. "id": 9335,
  28411. "name": "_sendLogPayload",
  28412. "nodeType": "Identifier",
  28413. "overloadedDeclarations": [],
  28414. "referencedDeclaration": 7315,
  28415. "src": "18501:15:50",
  28416. "typeDescriptions": {
  28417. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  28418. "typeString": "function (bytes memory) pure"
  28419. }
  28420. },
  28421. "id": 9343,
  28422. "isConstant": false,
  28423. "isLValue": false,
  28424. "isPure": false,
  28425. "kind": "functionCall",
  28426. "lValueRequested": false,
  28427. "nameLocations": [],
  28428. "names": [],
  28429. "nodeType": "FunctionCall",
  28430. "src": "18501:80:50",
  28431. "tryCall": false,
  28432. "typeDescriptions": {
  28433. "typeIdentifier": "t_tuple$__$",
  28434. "typeString": "tuple()"
  28435. }
  28436. },
  28437. "id": 9344,
  28438. "nodeType": "ExpressionStatement",
  28439. "src": "18501:80:50"
  28440. }
  28441. ]
  28442. },
  28443. "implemented": true,
  28444. "kind": "function",
  28445. "modifiers": [],
  28446. "name": "log",
  28447. "nameLocation": "18434:3:50",
  28448. "parameters": {
  28449. "id": 9333,
  28450. "nodeType": "ParameterList",
  28451. "parameters": [
  28452. {
  28453. "constant": false,
  28454. "id": 9328,
  28455. "mutability": "mutable",
  28456. "name": "p0",
  28457. "nameLocation": "18446:2:50",
  28458. "nodeType": "VariableDeclaration",
  28459. "scope": 9346,
  28460. "src": "18438:10:50",
  28461. "stateVariable": false,
  28462. "storageLocation": "default",
  28463. "typeDescriptions": {
  28464. "typeIdentifier": "t_address",
  28465. "typeString": "address"
  28466. },
  28467. "typeName": {
  28468. "id": 9327,
  28469. "name": "address",
  28470. "nodeType": "ElementaryTypeName",
  28471. "src": "18438:7:50",
  28472. "stateMutability": "nonpayable",
  28473. "typeDescriptions": {
  28474. "typeIdentifier": "t_address",
  28475. "typeString": "address"
  28476. }
  28477. },
  28478. "visibility": "internal"
  28479. },
  28480. {
  28481. "constant": false,
  28482. "id": 9330,
  28483. "mutability": "mutable",
  28484. "name": "p1",
  28485. "nameLocation": "18455:2:50",
  28486. "nodeType": "VariableDeclaration",
  28487. "scope": 9346,
  28488. "src": "18450:7:50",
  28489. "stateVariable": false,
  28490. "storageLocation": "default",
  28491. "typeDescriptions": {
  28492. "typeIdentifier": "t_bool",
  28493. "typeString": "bool"
  28494. },
  28495. "typeName": {
  28496. "id": 9329,
  28497. "name": "bool",
  28498. "nodeType": "ElementaryTypeName",
  28499. "src": "18450:4:50",
  28500. "typeDescriptions": {
  28501. "typeIdentifier": "t_bool",
  28502. "typeString": "bool"
  28503. }
  28504. },
  28505. "visibility": "internal"
  28506. },
  28507. {
  28508. "constant": false,
  28509. "id": 9332,
  28510. "mutability": "mutable",
  28511. "name": "p2",
  28512. "nameLocation": "18473:2:50",
  28513. "nodeType": "VariableDeclaration",
  28514. "scope": 9346,
  28515. "src": "18459:16:50",
  28516. "stateVariable": false,
  28517. "storageLocation": "memory",
  28518. "typeDescriptions": {
  28519. "typeIdentifier": "t_string_memory_ptr",
  28520. "typeString": "string"
  28521. },
  28522. "typeName": {
  28523. "id": 9331,
  28524. "name": "string",
  28525. "nodeType": "ElementaryTypeName",
  28526. "src": "18459:6:50",
  28527. "typeDescriptions": {
  28528. "typeIdentifier": "t_string_storage_ptr",
  28529. "typeString": "string"
  28530. }
  28531. },
  28532. "visibility": "internal"
  28533. }
  28534. ],
  28535. "src": "18437:39:50"
  28536. },
  28537. "returnParameters": {
  28538. "id": 9334,
  28539. "nodeType": "ParameterList",
  28540. "parameters": [],
  28541. "src": "18491:0:50"
  28542. },
  28543. "scope": 15355,
  28544. "stateMutability": "pure",
  28545. "virtual": false,
  28546. "visibility": "internal"
  28547. },
  28548. {
  28549. "id": 9366,
  28550. "nodeType": "FunctionDefinition",
  28551. "src": "18594:152:50",
  28552. "nodes": [],
  28553. "body": {
  28554. "id": 9365,
  28555. "nodeType": "Block",
  28556. "src": "18651:95:50",
  28557. "nodes": [],
  28558. "statements": [
  28559. {
  28560. "expression": {
  28561. "arguments": [
  28562. {
  28563. "arguments": [
  28564. {
  28565. "hexValue": "6c6f6728616464726573732c626f6f6c2c626f6f6c29",
  28566. "id": 9358,
  28567. "isConstant": false,
  28568. "isLValue": false,
  28569. "isPure": true,
  28570. "kind": "string",
  28571. "lValueRequested": false,
  28572. "nodeType": "Literal",
  28573. "src": "18701:24:50",
  28574. "typeDescriptions": {
  28575. "typeIdentifier": "t_stringliteral_eb830c92a079b46f3abcb83e519f578cffe7387941b6885067265feec096d279",
  28576. "typeString": "literal_string \"log(address,bool,bool)\""
  28577. },
  28578. "value": "log(address,bool,bool)"
  28579. },
  28580. {
  28581. "id": 9359,
  28582. "name": "p0",
  28583. "nodeType": "Identifier",
  28584. "overloadedDeclarations": [],
  28585. "referencedDeclaration": 9348,
  28586. "src": "18727:2:50",
  28587. "typeDescriptions": {
  28588. "typeIdentifier": "t_address",
  28589. "typeString": "address"
  28590. }
  28591. },
  28592. {
  28593. "id": 9360,
  28594. "name": "p1",
  28595. "nodeType": "Identifier",
  28596. "overloadedDeclarations": [],
  28597. "referencedDeclaration": 9350,
  28598. "src": "18731:2:50",
  28599. "typeDescriptions": {
  28600. "typeIdentifier": "t_bool",
  28601. "typeString": "bool"
  28602. }
  28603. },
  28604. {
  28605. "id": 9361,
  28606. "name": "p2",
  28607. "nodeType": "Identifier",
  28608. "overloadedDeclarations": [],
  28609. "referencedDeclaration": 9352,
  28610. "src": "18735:2:50",
  28611. "typeDescriptions": {
  28612. "typeIdentifier": "t_bool",
  28613. "typeString": "bool"
  28614. }
  28615. }
  28616. ],
  28617. "expression": {
  28618. "argumentTypes": [
  28619. {
  28620. "typeIdentifier": "t_stringliteral_eb830c92a079b46f3abcb83e519f578cffe7387941b6885067265feec096d279",
  28621. "typeString": "literal_string \"log(address,bool,bool)\""
  28622. },
  28623. {
  28624. "typeIdentifier": "t_address",
  28625. "typeString": "address"
  28626. },
  28627. {
  28628. "typeIdentifier": "t_bool",
  28629. "typeString": "bool"
  28630. },
  28631. {
  28632. "typeIdentifier": "t_bool",
  28633. "typeString": "bool"
  28634. }
  28635. ],
  28636. "expression": {
  28637. "id": 9356,
  28638. "name": "abi",
  28639. "nodeType": "Identifier",
  28640. "overloadedDeclarations": [],
  28641. "referencedDeclaration": -1,
  28642. "src": "18677:3:50",
  28643. "typeDescriptions": {
  28644. "typeIdentifier": "t_magic_abi",
  28645. "typeString": "abi"
  28646. }
  28647. },
  28648. "id": 9357,
  28649. "isConstant": false,
  28650. "isLValue": false,
  28651. "isPure": true,
  28652. "lValueRequested": false,
  28653. "memberLocation": "18681:19:50",
  28654. "memberName": "encodeWithSignature",
  28655. "nodeType": "MemberAccess",
  28656. "src": "18677:23:50",
  28657. "typeDescriptions": {
  28658. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  28659. "typeString": "function (string memory) pure returns (bytes memory)"
  28660. }
  28661. },
  28662. "id": 9362,
  28663. "isConstant": false,
  28664. "isLValue": false,
  28665. "isPure": false,
  28666. "kind": "functionCall",
  28667. "lValueRequested": false,
  28668. "nameLocations": [],
  28669. "names": [],
  28670. "nodeType": "FunctionCall",
  28671. "src": "18677:61:50",
  28672. "tryCall": false,
  28673. "typeDescriptions": {
  28674. "typeIdentifier": "t_bytes_memory_ptr",
  28675. "typeString": "bytes memory"
  28676. }
  28677. }
  28678. ],
  28679. "expression": {
  28680. "argumentTypes": [
  28681. {
  28682. "typeIdentifier": "t_bytes_memory_ptr",
  28683. "typeString": "bytes memory"
  28684. }
  28685. ],
  28686. "id": 9355,
  28687. "name": "_sendLogPayload",
  28688. "nodeType": "Identifier",
  28689. "overloadedDeclarations": [],
  28690. "referencedDeclaration": 7315,
  28691. "src": "18661:15:50",
  28692. "typeDescriptions": {
  28693. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  28694. "typeString": "function (bytes memory) pure"
  28695. }
  28696. },
  28697. "id": 9363,
  28698. "isConstant": false,
  28699. "isLValue": false,
  28700. "isPure": false,
  28701. "kind": "functionCall",
  28702. "lValueRequested": false,
  28703. "nameLocations": [],
  28704. "names": [],
  28705. "nodeType": "FunctionCall",
  28706. "src": "18661:78:50",
  28707. "tryCall": false,
  28708. "typeDescriptions": {
  28709. "typeIdentifier": "t_tuple$__$",
  28710. "typeString": "tuple()"
  28711. }
  28712. },
  28713. "id": 9364,
  28714. "nodeType": "ExpressionStatement",
  28715. "src": "18661:78:50"
  28716. }
  28717. ]
  28718. },
  28719. "implemented": true,
  28720. "kind": "function",
  28721. "modifiers": [],
  28722. "name": "log",
  28723. "nameLocation": "18603:3:50",
  28724. "parameters": {
  28725. "id": 9353,
  28726. "nodeType": "ParameterList",
  28727. "parameters": [
  28728. {
  28729. "constant": false,
  28730. "id": 9348,
  28731. "mutability": "mutable",
  28732. "name": "p0",
  28733. "nameLocation": "18615:2:50",
  28734. "nodeType": "VariableDeclaration",
  28735. "scope": 9366,
  28736. "src": "18607:10:50",
  28737. "stateVariable": false,
  28738. "storageLocation": "default",
  28739. "typeDescriptions": {
  28740. "typeIdentifier": "t_address",
  28741. "typeString": "address"
  28742. },
  28743. "typeName": {
  28744. "id": 9347,
  28745. "name": "address",
  28746. "nodeType": "ElementaryTypeName",
  28747. "src": "18607:7:50",
  28748. "stateMutability": "nonpayable",
  28749. "typeDescriptions": {
  28750. "typeIdentifier": "t_address",
  28751. "typeString": "address"
  28752. }
  28753. },
  28754. "visibility": "internal"
  28755. },
  28756. {
  28757. "constant": false,
  28758. "id": 9350,
  28759. "mutability": "mutable",
  28760. "name": "p1",
  28761. "nameLocation": "18624:2:50",
  28762. "nodeType": "VariableDeclaration",
  28763. "scope": 9366,
  28764. "src": "18619:7:50",
  28765. "stateVariable": false,
  28766. "storageLocation": "default",
  28767. "typeDescriptions": {
  28768. "typeIdentifier": "t_bool",
  28769. "typeString": "bool"
  28770. },
  28771. "typeName": {
  28772. "id": 9349,
  28773. "name": "bool",
  28774. "nodeType": "ElementaryTypeName",
  28775. "src": "18619:4:50",
  28776. "typeDescriptions": {
  28777. "typeIdentifier": "t_bool",
  28778. "typeString": "bool"
  28779. }
  28780. },
  28781. "visibility": "internal"
  28782. },
  28783. {
  28784. "constant": false,
  28785. "id": 9352,
  28786. "mutability": "mutable",
  28787. "name": "p2",
  28788. "nameLocation": "18633:2:50",
  28789. "nodeType": "VariableDeclaration",
  28790. "scope": 9366,
  28791. "src": "18628:7:50",
  28792. "stateVariable": false,
  28793. "storageLocation": "default",
  28794. "typeDescriptions": {
  28795. "typeIdentifier": "t_bool",
  28796. "typeString": "bool"
  28797. },
  28798. "typeName": {
  28799. "id": 9351,
  28800. "name": "bool",
  28801. "nodeType": "ElementaryTypeName",
  28802. "src": "18628:4:50",
  28803. "typeDescriptions": {
  28804. "typeIdentifier": "t_bool",
  28805. "typeString": "bool"
  28806. }
  28807. },
  28808. "visibility": "internal"
  28809. }
  28810. ],
  28811. "src": "18606:30:50"
  28812. },
  28813. "returnParameters": {
  28814. "id": 9354,
  28815. "nodeType": "ParameterList",
  28816. "parameters": [],
  28817. "src": "18651:0:50"
  28818. },
  28819. "scope": 15355,
  28820. "stateMutability": "pure",
  28821. "virtual": false,
  28822. "visibility": "internal"
  28823. },
  28824. {
  28825. "id": 9386,
  28826. "nodeType": "FunctionDefinition",
  28827. "src": "18752:158:50",
  28828. "nodes": [],
  28829. "body": {
  28830. "id": 9385,
  28831. "nodeType": "Block",
  28832. "src": "18812:98:50",
  28833. "nodes": [],
  28834. "statements": [
  28835. {
  28836. "expression": {
  28837. "arguments": [
  28838. {
  28839. "arguments": [
  28840. {
  28841. "hexValue": "6c6f6728616464726573732c626f6f6c2c6164647265737329",
  28842. "id": 9378,
  28843. "isConstant": false,
  28844. "isLValue": false,
  28845. "isPure": true,
  28846. "kind": "string",
  28847. "lValueRequested": false,
  28848. "nodeType": "Literal",
  28849. "src": "18862:27:50",
  28850. "typeDescriptions": {
  28851. "typeIdentifier": "t_stringliteral_f11699ed537119f000a51ba9fbd5bb55b3990a1a718acbe99659bd1bc84dc18d",
  28852. "typeString": "literal_string \"log(address,bool,address)\""
  28853. },
  28854. "value": "log(address,bool,address)"
  28855. },
  28856. {
  28857. "id": 9379,
  28858. "name": "p0",
  28859. "nodeType": "Identifier",
  28860. "overloadedDeclarations": [],
  28861. "referencedDeclaration": 9368,
  28862. "src": "18891:2:50",
  28863. "typeDescriptions": {
  28864. "typeIdentifier": "t_address",
  28865. "typeString": "address"
  28866. }
  28867. },
  28868. {
  28869. "id": 9380,
  28870. "name": "p1",
  28871. "nodeType": "Identifier",
  28872. "overloadedDeclarations": [],
  28873. "referencedDeclaration": 9370,
  28874. "src": "18895:2:50",
  28875. "typeDescriptions": {
  28876. "typeIdentifier": "t_bool",
  28877. "typeString": "bool"
  28878. }
  28879. },
  28880. {
  28881. "id": 9381,
  28882. "name": "p2",
  28883. "nodeType": "Identifier",
  28884. "overloadedDeclarations": [],
  28885. "referencedDeclaration": 9372,
  28886. "src": "18899:2:50",
  28887. "typeDescriptions": {
  28888. "typeIdentifier": "t_address",
  28889. "typeString": "address"
  28890. }
  28891. }
  28892. ],
  28893. "expression": {
  28894. "argumentTypes": [
  28895. {
  28896. "typeIdentifier": "t_stringliteral_f11699ed537119f000a51ba9fbd5bb55b3990a1a718acbe99659bd1bc84dc18d",
  28897. "typeString": "literal_string \"log(address,bool,address)\""
  28898. },
  28899. {
  28900. "typeIdentifier": "t_address",
  28901. "typeString": "address"
  28902. },
  28903. {
  28904. "typeIdentifier": "t_bool",
  28905. "typeString": "bool"
  28906. },
  28907. {
  28908. "typeIdentifier": "t_address",
  28909. "typeString": "address"
  28910. }
  28911. ],
  28912. "expression": {
  28913. "id": 9376,
  28914. "name": "abi",
  28915. "nodeType": "Identifier",
  28916. "overloadedDeclarations": [],
  28917. "referencedDeclaration": -1,
  28918. "src": "18838:3:50",
  28919. "typeDescriptions": {
  28920. "typeIdentifier": "t_magic_abi",
  28921. "typeString": "abi"
  28922. }
  28923. },
  28924. "id": 9377,
  28925. "isConstant": false,
  28926. "isLValue": false,
  28927. "isPure": true,
  28928. "lValueRequested": false,
  28929. "memberLocation": "18842:19:50",
  28930. "memberName": "encodeWithSignature",
  28931. "nodeType": "MemberAccess",
  28932. "src": "18838:23:50",
  28933. "typeDescriptions": {
  28934. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  28935. "typeString": "function (string memory) pure returns (bytes memory)"
  28936. }
  28937. },
  28938. "id": 9382,
  28939. "isConstant": false,
  28940. "isLValue": false,
  28941. "isPure": false,
  28942. "kind": "functionCall",
  28943. "lValueRequested": false,
  28944. "nameLocations": [],
  28945. "names": [],
  28946. "nodeType": "FunctionCall",
  28947. "src": "18838:64:50",
  28948. "tryCall": false,
  28949. "typeDescriptions": {
  28950. "typeIdentifier": "t_bytes_memory_ptr",
  28951. "typeString": "bytes memory"
  28952. }
  28953. }
  28954. ],
  28955. "expression": {
  28956. "argumentTypes": [
  28957. {
  28958. "typeIdentifier": "t_bytes_memory_ptr",
  28959. "typeString": "bytes memory"
  28960. }
  28961. ],
  28962. "id": 9375,
  28963. "name": "_sendLogPayload",
  28964. "nodeType": "Identifier",
  28965. "overloadedDeclarations": [],
  28966. "referencedDeclaration": 7315,
  28967. "src": "18822:15:50",
  28968. "typeDescriptions": {
  28969. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  28970. "typeString": "function (bytes memory) pure"
  28971. }
  28972. },
  28973. "id": 9383,
  28974. "isConstant": false,
  28975. "isLValue": false,
  28976. "isPure": false,
  28977. "kind": "functionCall",
  28978. "lValueRequested": false,
  28979. "nameLocations": [],
  28980. "names": [],
  28981. "nodeType": "FunctionCall",
  28982. "src": "18822:81:50",
  28983. "tryCall": false,
  28984. "typeDescriptions": {
  28985. "typeIdentifier": "t_tuple$__$",
  28986. "typeString": "tuple()"
  28987. }
  28988. },
  28989. "id": 9384,
  28990. "nodeType": "ExpressionStatement",
  28991. "src": "18822:81:50"
  28992. }
  28993. ]
  28994. },
  28995. "implemented": true,
  28996. "kind": "function",
  28997. "modifiers": [],
  28998. "name": "log",
  28999. "nameLocation": "18761:3:50",
  29000. "parameters": {
  29001. "id": 9373,
  29002. "nodeType": "ParameterList",
  29003. "parameters": [
  29004. {
  29005. "constant": false,
  29006. "id": 9368,
  29007. "mutability": "mutable",
  29008. "name": "p0",
  29009. "nameLocation": "18773:2:50",
  29010. "nodeType": "VariableDeclaration",
  29011. "scope": 9386,
  29012. "src": "18765:10:50",
  29013. "stateVariable": false,
  29014. "storageLocation": "default",
  29015. "typeDescriptions": {
  29016. "typeIdentifier": "t_address",
  29017. "typeString": "address"
  29018. },
  29019. "typeName": {
  29020. "id": 9367,
  29021. "name": "address",
  29022. "nodeType": "ElementaryTypeName",
  29023. "src": "18765:7:50",
  29024. "stateMutability": "nonpayable",
  29025. "typeDescriptions": {
  29026. "typeIdentifier": "t_address",
  29027. "typeString": "address"
  29028. }
  29029. },
  29030. "visibility": "internal"
  29031. },
  29032. {
  29033. "constant": false,
  29034. "id": 9370,
  29035. "mutability": "mutable",
  29036. "name": "p1",
  29037. "nameLocation": "18782:2:50",
  29038. "nodeType": "VariableDeclaration",
  29039. "scope": 9386,
  29040. "src": "18777:7:50",
  29041. "stateVariable": false,
  29042. "storageLocation": "default",
  29043. "typeDescriptions": {
  29044. "typeIdentifier": "t_bool",
  29045. "typeString": "bool"
  29046. },
  29047. "typeName": {
  29048. "id": 9369,
  29049. "name": "bool",
  29050. "nodeType": "ElementaryTypeName",
  29051. "src": "18777:4:50",
  29052. "typeDescriptions": {
  29053. "typeIdentifier": "t_bool",
  29054. "typeString": "bool"
  29055. }
  29056. },
  29057. "visibility": "internal"
  29058. },
  29059. {
  29060. "constant": false,
  29061. "id": 9372,
  29062. "mutability": "mutable",
  29063. "name": "p2",
  29064. "nameLocation": "18794:2:50",
  29065. "nodeType": "VariableDeclaration",
  29066. "scope": 9386,
  29067. "src": "18786:10:50",
  29068. "stateVariable": false,
  29069. "storageLocation": "default",
  29070. "typeDescriptions": {
  29071. "typeIdentifier": "t_address",
  29072. "typeString": "address"
  29073. },
  29074. "typeName": {
  29075. "id": 9371,
  29076. "name": "address",
  29077. "nodeType": "ElementaryTypeName",
  29078. "src": "18786:7:50",
  29079. "stateMutability": "nonpayable",
  29080. "typeDescriptions": {
  29081. "typeIdentifier": "t_address",
  29082. "typeString": "address"
  29083. }
  29084. },
  29085. "visibility": "internal"
  29086. }
  29087. ],
  29088. "src": "18764:33:50"
  29089. },
  29090. "returnParameters": {
  29091. "id": 9374,
  29092. "nodeType": "ParameterList",
  29093. "parameters": [],
  29094. "src": "18812:0:50"
  29095. },
  29096. "scope": 15355,
  29097. "stateMutability": "pure",
  29098. "virtual": false,
  29099. "visibility": "internal"
  29100. },
  29101. {
  29102. "id": 9406,
  29103. "nodeType": "FunctionDefinition",
  29104. "src": "18916:164:50",
  29105. "nodes": [],
  29106. "body": {
  29107. "id": 9405,
  29108. "nodeType": "Block",
  29109. "src": "18979:101:50",
  29110. "nodes": [],
  29111. "statements": [
  29112. {
  29113. "expression": {
  29114. "arguments": [
  29115. {
  29116. "arguments": [
  29117. {
  29118. "hexValue": "6c6f6728616464726573732c616464726573732c75696e7432353629",
  29119. "id": 9398,
  29120. "isConstant": false,
  29121. "isLValue": false,
  29122. "isPure": true,
  29123. "kind": "string",
  29124. "lValueRequested": false,
  29125. "nodeType": "Literal",
  29126. "src": "19029:30:50",
  29127. "typeDescriptions": {
  29128. "typeIdentifier": "t_stringliteral_17fe6185890336f35fbbd1b2962ba4f7207a4a65eb5b7443a7be8a152af930a4",
  29129. "typeString": "literal_string \"log(address,address,uint256)\""
  29130. },
  29131. "value": "log(address,address,uint256)"
  29132. },
  29133. {
  29134. "id": 9399,
  29135. "name": "p0",
  29136. "nodeType": "Identifier",
  29137. "overloadedDeclarations": [],
  29138. "referencedDeclaration": 9388,
  29139. "src": "19061:2:50",
  29140. "typeDescriptions": {
  29141. "typeIdentifier": "t_address",
  29142. "typeString": "address"
  29143. }
  29144. },
  29145. {
  29146. "id": 9400,
  29147. "name": "p1",
  29148. "nodeType": "Identifier",
  29149. "overloadedDeclarations": [],
  29150. "referencedDeclaration": 9390,
  29151. "src": "19065:2:50",
  29152. "typeDescriptions": {
  29153. "typeIdentifier": "t_address",
  29154. "typeString": "address"
  29155. }
  29156. },
  29157. {
  29158. "id": 9401,
  29159. "name": "p2",
  29160. "nodeType": "Identifier",
  29161. "overloadedDeclarations": [],
  29162. "referencedDeclaration": 9392,
  29163. "src": "19069:2:50",
  29164. "typeDescriptions": {
  29165. "typeIdentifier": "t_uint256",
  29166. "typeString": "uint256"
  29167. }
  29168. }
  29169. ],
  29170. "expression": {
  29171. "argumentTypes": [
  29172. {
  29173. "typeIdentifier": "t_stringliteral_17fe6185890336f35fbbd1b2962ba4f7207a4a65eb5b7443a7be8a152af930a4",
  29174. "typeString": "literal_string \"log(address,address,uint256)\""
  29175. },
  29176. {
  29177. "typeIdentifier": "t_address",
  29178. "typeString": "address"
  29179. },
  29180. {
  29181. "typeIdentifier": "t_address",
  29182. "typeString": "address"
  29183. },
  29184. {
  29185. "typeIdentifier": "t_uint256",
  29186. "typeString": "uint256"
  29187. }
  29188. ],
  29189. "expression": {
  29190. "id": 9396,
  29191. "name": "abi",
  29192. "nodeType": "Identifier",
  29193. "overloadedDeclarations": [],
  29194. "referencedDeclaration": -1,
  29195. "src": "19005:3:50",
  29196. "typeDescriptions": {
  29197. "typeIdentifier": "t_magic_abi",
  29198. "typeString": "abi"
  29199. }
  29200. },
  29201. "id": 9397,
  29202. "isConstant": false,
  29203. "isLValue": false,
  29204. "isPure": true,
  29205. "lValueRequested": false,
  29206. "memberLocation": "19009:19:50",
  29207. "memberName": "encodeWithSignature",
  29208. "nodeType": "MemberAccess",
  29209. "src": "19005:23:50",
  29210. "typeDescriptions": {
  29211. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  29212. "typeString": "function (string memory) pure returns (bytes memory)"
  29213. }
  29214. },
  29215. "id": 9402,
  29216. "isConstant": false,
  29217. "isLValue": false,
  29218. "isPure": false,
  29219. "kind": "functionCall",
  29220. "lValueRequested": false,
  29221. "nameLocations": [],
  29222. "names": [],
  29223. "nodeType": "FunctionCall",
  29224. "src": "19005:67:50",
  29225. "tryCall": false,
  29226. "typeDescriptions": {
  29227. "typeIdentifier": "t_bytes_memory_ptr",
  29228. "typeString": "bytes memory"
  29229. }
  29230. }
  29231. ],
  29232. "expression": {
  29233. "argumentTypes": [
  29234. {
  29235. "typeIdentifier": "t_bytes_memory_ptr",
  29236. "typeString": "bytes memory"
  29237. }
  29238. ],
  29239. "id": 9395,
  29240. "name": "_sendLogPayload",
  29241. "nodeType": "Identifier",
  29242. "overloadedDeclarations": [],
  29243. "referencedDeclaration": 7315,
  29244. "src": "18989:15:50",
  29245. "typeDescriptions": {
  29246. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  29247. "typeString": "function (bytes memory) pure"
  29248. }
  29249. },
  29250. "id": 9403,
  29251. "isConstant": false,
  29252. "isLValue": false,
  29253. "isPure": false,
  29254. "kind": "functionCall",
  29255. "lValueRequested": false,
  29256. "nameLocations": [],
  29257. "names": [],
  29258. "nodeType": "FunctionCall",
  29259. "src": "18989:84:50",
  29260. "tryCall": false,
  29261. "typeDescriptions": {
  29262. "typeIdentifier": "t_tuple$__$",
  29263. "typeString": "tuple()"
  29264. }
  29265. },
  29266. "id": 9404,
  29267. "nodeType": "ExpressionStatement",
  29268. "src": "18989:84:50"
  29269. }
  29270. ]
  29271. },
  29272. "implemented": true,
  29273. "kind": "function",
  29274. "modifiers": [],
  29275. "name": "log",
  29276. "nameLocation": "18925:3:50",
  29277. "parameters": {
  29278. "id": 9393,
  29279. "nodeType": "ParameterList",
  29280. "parameters": [
  29281. {
  29282. "constant": false,
  29283. "id": 9388,
  29284. "mutability": "mutable",
  29285. "name": "p0",
  29286. "nameLocation": "18937:2:50",
  29287. "nodeType": "VariableDeclaration",
  29288. "scope": 9406,
  29289. "src": "18929:10:50",
  29290. "stateVariable": false,
  29291. "storageLocation": "default",
  29292. "typeDescriptions": {
  29293. "typeIdentifier": "t_address",
  29294. "typeString": "address"
  29295. },
  29296. "typeName": {
  29297. "id": 9387,
  29298. "name": "address",
  29299. "nodeType": "ElementaryTypeName",
  29300. "src": "18929:7:50",
  29301. "stateMutability": "nonpayable",
  29302. "typeDescriptions": {
  29303. "typeIdentifier": "t_address",
  29304. "typeString": "address"
  29305. }
  29306. },
  29307. "visibility": "internal"
  29308. },
  29309. {
  29310. "constant": false,
  29311. "id": 9390,
  29312. "mutability": "mutable",
  29313. "name": "p1",
  29314. "nameLocation": "18949:2:50",
  29315. "nodeType": "VariableDeclaration",
  29316. "scope": 9406,
  29317. "src": "18941:10:50",
  29318. "stateVariable": false,
  29319. "storageLocation": "default",
  29320. "typeDescriptions": {
  29321. "typeIdentifier": "t_address",
  29322. "typeString": "address"
  29323. },
  29324. "typeName": {
  29325. "id": 9389,
  29326. "name": "address",
  29327. "nodeType": "ElementaryTypeName",
  29328. "src": "18941:7:50",
  29329. "stateMutability": "nonpayable",
  29330. "typeDescriptions": {
  29331. "typeIdentifier": "t_address",
  29332. "typeString": "address"
  29333. }
  29334. },
  29335. "visibility": "internal"
  29336. },
  29337. {
  29338. "constant": false,
  29339. "id": 9392,
  29340. "mutability": "mutable",
  29341. "name": "p2",
  29342. "nameLocation": "18961:2:50",
  29343. "nodeType": "VariableDeclaration",
  29344. "scope": 9406,
  29345. "src": "18953:10:50",
  29346. "stateVariable": false,
  29347. "storageLocation": "default",
  29348. "typeDescriptions": {
  29349. "typeIdentifier": "t_uint256",
  29350. "typeString": "uint256"
  29351. },
  29352. "typeName": {
  29353. "id": 9391,
  29354. "name": "uint256",
  29355. "nodeType": "ElementaryTypeName",
  29356. "src": "18953:7:50",
  29357. "typeDescriptions": {
  29358. "typeIdentifier": "t_uint256",
  29359. "typeString": "uint256"
  29360. }
  29361. },
  29362. "visibility": "internal"
  29363. }
  29364. ],
  29365. "src": "18928:36:50"
  29366. },
  29367. "returnParameters": {
  29368. "id": 9394,
  29369. "nodeType": "ParameterList",
  29370. "parameters": [],
  29371. "src": "18979:0:50"
  29372. },
  29373. "scope": 15355,
  29374. "stateMutability": "pure",
  29375. "virtual": false,
  29376. "visibility": "internal"
  29377. },
  29378. {
  29379. "id": 9426,
  29380. "nodeType": "FunctionDefinition",
  29381. "src": "19086:169:50",
  29382. "nodes": [],
  29383. "body": {
  29384. "id": 9425,
  29385. "nodeType": "Block",
  29386. "src": "19155:100:50",
  29387. "nodes": [],
  29388. "statements": [
  29389. {
  29390. "expression": {
  29391. "arguments": [
  29392. {
  29393. "arguments": [
  29394. {
  29395. "hexValue": "6c6f6728616464726573732c616464726573732c737472696e6729",
  29396. "id": 9418,
  29397. "isConstant": false,
  29398. "isLValue": false,
  29399. "isPure": true,
  29400. "kind": "string",
  29401. "lValueRequested": false,
  29402. "nodeType": "Literal",
  29403. "src": "19205:29:50",
  29404. "typeDescriptions": {
  29405. "typeIdentifier": "t_stringliteral_007150be50a4671a6be318012e9cd2eabb1e1bc8869b45c34abbaa04d81c8eee",
  29406. "typeString": "literal_string \"log(address,address,string)\""
  29407. },
  29408. "value": "log(address,address,string)"
  29409. },
  29410. {
  29411. "id": 9419,
  29412. "name": "p0",
  29413. "nodeType": "Identifier",
  29414. "overloadedDeclarations": [],
  29415. "referencedDeclaration": 9408,
  29416. "src": "19236:2:50",
  29417. "typeDescriptions": {
  29418. "typeIdentifier": "t_address",
  29419. "typeString": "address"
  29420. }
  29421. },
  29422. {
  29423. "id": 9420,
  29424. "name": "p1",
  29425. "nodeType": "Identifier",
  29426. "overloadedDeclarations": [],
  29427. "referencedDeclaration": 9410,
  29428. "src": "19240:2:50",
  29429. "typeDescriptions": {
  29430. "typeIdentifier": "t_address",
  29431. "typeString": "address"
  29432. }
  29433. },
  29434. {
  29435. "id": 9421,
  29436. "name": "p2",
  29437. "nodeType": "Identifier",
  29438. "overloadedDeclarations": [],
  29439. "referencedDeclaration": 9412,
  29440. "src": "19244:2:50",
  29441. "typeDescriptions": {
  29442. "typeIdentifier": "t_string_memory_ptr",
  29443. "typeString": "string memory"
  29444. }
  29445. }
  29446. ],
  29447. "expression": {
  29448. "argumentTypes": [
  29449. {
  29450. "typeIdentifier": "t_stringliteral_007150be50a4671a6be318012e9cd2eabb1e1bc8869b45c34abbaa04d81c8eee",
  29451. "typeString": "literal_string \"log(address,address,string)\""
  29452. },
  29453. {
  29454. "typeIdentifier": "t_address",
  29455. "typeString": "address"
  29456. },
  29457. {
  29458. "typeIdentifier": "t_address",
  29459. "typeString": "address"
  29460. },
  29461. {
  29462. "typeIdentifier": "t_string_memory_ptr",
  29463. "typeString": "string memory"
  29464. }
  29465. ],
  29466. "expression": {
  29467. "id": 9416,
  29468. "name": "abi",
  29469. "nodeType": "Identifier",
  29470. "overloadedDeclarations": [],
  29471. "referencedDeclaration": -1,
  29472. "src": "19181:3:50",
  29473. "typeDescriptions": {
  29474. "typeIdentifier": "t_magic_abi",
  29475. "typeString": "abi"
  29476. }
  29477. },
  29478. "id": 9417,
  29479. "isConstant": false,
  29480. "isLValue": false,
  29481. "isPure": true,
  29482. "lValueRequested": false,
  29483. "memberLocation": "19185:19:50",
  29484. "memberName": "encodeWithSignature",
  29485. "nodeType": "MemberAccess",
  29486. "src": "19181:23:50",
  29487. "typeDescriptions": {
  29488. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  29489. "typeString": "function (string memory) pure returns (bytes memory)"
  29490. }
  29491. },
  29492. "id": 9422,
  29493. "isConstant": false,
  29494. "isLValue": false,
  29495. "isPure": false,
  29496. "kind": "functionCall",
  29497. "lValueRequested": false,
  29498. "nameLocations": [],
  29499. "names": [],
  29500. "nodeType": "FunctionCall",
  29501. "src": "19181:66:50",
  29502. "tryCall": false,
  29503. "typeDescriptions": {
  29504. "typeIdentifier": "t_bytes_memory_ptr",
  29505. "typeString": "bytes memory"
  29506. }
  29507. }
  29508. ],
  29509. "expression": {
  29510. "argumentTypes": [
  29511. {
  29512. "typeIdentifier": "t_bytes_memory_ptr",
  29513. "typeString": "bytes memory"
  29514. }
  29515. ],
  29516. "id": 9415,
  29517. "name": "_sendLogPayload",
  29518. "nodeType": "Identifier",
  29519. "overloadedDeclarations": [],
  29520. "referencedDeclaration": 7315,
  29521. "src": "19165:15:50",
  29522. "typeDescriptions": {
  29523. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  29524. "typeString": "function (bytes memory) pure"
  29525. }
  29526. },
  29527. "id": 9423,
  29528. "isConstant": false,
  29529. "isLValue": false,
  29530. "isPure": false,
  29531. "kind": "functionCall",
  29532. "lValueRequested": false,
  29533. "nameLocations": [],
  29534. "names": [],
  29535. "nodeType": "FunctionCall",
  29536. "src": "19165:83:50",
  29537. "tryCall": false,
  29538. "typeDescriptions": {
  29539. "typeIdentifier": "t_tuple$__$",
  29540. "typeString": "tuple()"
  29541. }
  29542. },
  29543. "id": 9424,
  29544. "nodeType": "ExpressionStatement",
  29545. "src": "19165:83:50"
  29546. }
  29547. ]
  29548. },
  29549. "implemented": true,
  29550. "kind": "function",
  29551. "modifiers": [],
  29552. "name": "log",
  29553. "nameLocation": "19095:3:50",
  29554. "parameters": {
  29555. "id": 9413,
  29556. "nodeType": "ParameterList",
  29557. "parameters": [
  29558. {
  29559. "constant": false,
  29560. "id": 9408,
  29561. "mutability": "mutable",
  29562. "name": "p0",
  29563. "nameLocation": "19107:2:50",
  29564. "nodeType": "VariableDeclaration",
  29565. "scope": 9426,
  29566. "src": "19099:10:50",
  29567. "stateVariable": false,
  29568. "storageLocation": "default",
  29569. "typeDescriptions": {
  29570. "typeIdentifier": "t_address",
  29571. "typeString": "address"
  29572. },
  29573. "typeName": {
  29574. "id": 9407,
  29575. "name": "address",
  29576. "nodeType": "ElementaryTypeName",
  29577. "src": "19099:7:50",
  29578. "stateMutability": "nonpayable",
  29579. "typeDescriptions": {
  29580. "typeIdentifier": "t_address",
  29581. "typeString": "address"
  29582. }
  29583. },
  29584. "visibility": "internal"
  29585. },
  29586. {
  29587. "constant": false,
  29588. "id": 9410,
  29589. "mutability": "mutable",
  29590. "name": "p1",
  29591. "nameLocation": "19119:2:50",
  29592. "nodeType": "VariableDeclaration",
  29593. "scope": 9426,
  29594. "src": "19111:10:50",
  29595. "stateVariable": false,
  29596. "storageLocation": "default",
  29597. "typeDescriptions": {
  29598. "typeIdentifier": "t_address",
  29599. "typeString": "address"
  29600. },
  29601. "typeName": {
  29602. "id": 9409,
  29603. "name": "address",
  29604. "nodeType": "ElementaryTypeName",
  29605. "src": "19111:7:50",
  29606. "stateMutability": "nonpayable",
  29607. "typeDescriptions": {
  29608. "typeIdentifier": "t_address",
  29609. "typeString": "address"
  29610. }
  29611. },
  29612. "visibility": "internal"
  29613. },
  29614. {
  29615. "constant": false,
  29616. "id": 9412,
  29617. "mutability": "mutable",
  29618. "name": "p2",
  29619. "nameLocation": "19137:2:50",
  29620. "nodeType": "VariableDeclaration",
  29621. "scope": 9426,
  29622. "src": "19123:16:50",
  29623. "stateVariable": false,
  29624. "storageLocation": "memory",
  29625. "typeDescriptions": {
  29626. "typeIdentifier": "t_string_memory_ptr",
  29627. "typeString": "string"
  29628. },
  29629. "typeName": {
  29630. "id": 9411,
  29631. "name": "string",
  29632. "nodeType": "ElementaryTypeName",
  29633. "src": "19123:6:50",
  29634. "typeDescriptions": {
  29635. "typeIdentifier": "t_string_storage_ptr",
  29636. "typeString": "string"
  29637. }
  29638. },
  29639. "visibility": "internal"
  29640. }
  29641. ],
  29642. "src": "19098:42:50"
  29643. },
  29644. "returnParameters": {
  29645. "id": 9414,
  29646. "nodeType": "ParameterList",
  29647. "parameters": [],
  29648. "src": "19155:0:50"
  29649. },
  29650. "scope": 15355,
  29651. "stateMutability": "pure",
  29652. "virtual": false,
  29653. "visibility": "internal"
  29654. },
  29655. {
  29656. "id": 9446,
  29657. "nodeType": "FunctionDefinition",
  29658. "src": "19261:158:50",
  29659. "nodes": [],
  29660. "body": {
  29661. "id": 9445,
  29662. "nodeType": "Block",
  29663. "src": "19321:98:50",
  29664. "nodes": [],
  29665. "statements": [
  29666. {
  29667. "expression": {
  29668. "arguments": [
  29669. {
  29670. "arguments": [
  29671. {
  29672. "hexValue": "6c6f6728616464726573732c616464726573732c626f6f6c29",
  29673. "id": 9438,
  29674. "isConstant": false,
  29675. "isLValue": false,
  29676. "isPure": true,
  29677. "kind": "string",
  29678. "lValueRequested": false,
  29679. "nodeType": "Literal",
  29680. "src": "19371:27:50",
  29681. "typeDescriptions": {
  29682. "typeIdentifier": "t_stringliteral_f2a6628622808c8bbef4f3e513ab11e708a8f5073988f2f7988e111aa26586dc",
  29683. "typeString": "literal_string \"log(address,address,bool)\""
  29684. },
  29685. "value": "log(address,address,bool)"
  29686. },
  29687. {
  29688. "id": 9439,
  29689. "name": "p0",
  29690. "nodeType": "Identifier",
  29691. "overloadedDeclarations": [],
  29692. "referencedDeclaration": 9428,
  29693. "src": "19400:2:50",
  29694. "typeDescriptions": {
  29695. "typeIdentifier": "t_address",
  29696. "typeString": "address"
  29697. }
  29698. },
  29699. {
  29700. "id": 9440,
  29701. "name": "p1",
  29702. "nodeType": "Identifier",
  29703. "overloadedDeclarations": [],
  29704. "referencedDeclaration": 9430,
  29705. "src": "19404:2:50",
  29706. "typeDescriptions": {
  29707. "typeIdentifier": "t_address",
  29708. "typeString": "address"
  29709. }
  29710. },
  29711. {
  29712. "id": 9441,
  29713. "name": "p2",
  29714. "nodeType": "Identifier",
  29715. "overloadedDeclarations": [],
  29716. "referencedDeclaration": 9432,
  29717. "src": "19408:2:50",
  29718. "typeDescriptions": {
  29719. "typeIdentifier": "t_bool",
  29720. "typeString": "bool"
  29721. }
  29722. }
  29723. ],
  29724. "expression": {
  29725. "argumentTypes": [
  29726. {
  29727. "typeIdentifier": "t_stringliteral_f2a6628622808c8bbef4f3e513ab11e708a8f5073988f2f7988e111aa26586dc",
  29728. "typeString": "literal_string \"log(address,address,bool)\""
  29729. },
  29730. {
  29731. "typeIdentifier": "t_address",
  29732. "typeString": "address"
  29733. },
  29734. {
  29735. "typeIdentifier": "t_address",
  29736. "typeString": "address"
  29737. },
  29738. {
  29739. "typeIdentifier": "t_bool",
  29740. "typeString": "bool"
  29741. }
  29742. ],
  29743. "expression": {
  29744. "id": 9436,
  29745. "name": "abi",
  29746. "nodeType": "Identifier",
  29747. "overloadedDeclarations": [],
  29748. "referencedDeclaration": -1,
  29749. "src": "19347:3:50",
  29750. "typeDescriptions": {
  29751. "typeIdentifier": "t_magic_abi",
  29752. "typeString": "abi"
  29753. }
  29754. },
  29755. "id": 9437,
  29756. "isConstant": false,
  29757. "isLValue": false,
  29758. "isPure": true,
  29759. "lValueRequested": false,
  29760. "memberLocation": "19351:19:50",
  29761. "memberName": "encodeWithSignature",
  29762. "nodeType": "MemberAccess",
  29763. "src": "19347:23:50",
  29764. "typeDescriptions": {
  29765. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  29766. "typeString": "function (string memory) pure returns (bytes memory)"
  29767. }
  29768. },
  29769. "id": 9442,
  29770. "isConstant": false,
  29771. "isLValue": false,
  29772. "isPure": false,
  29773. "kind": "functionCall",
  29774. "lValueRequested": false,
  29775. "nameLocations": [],
  29776. "names": [],
  29777. "nodeType": "FunctionCall",
  29778. "src": "19347:64:50",
  29779. "tryCall": false,
  29780. "typeDescriptions": {
  29781. "typeIdentifier": "t_bytes_memory_ptr",
  29782. "typeString": "bytes memory"
  29783. }
  29784. }
  29785. ],
  29786. "expression": {
  29787. "argumentTypes": [
  29788. {
  29789. "typeIdentifier": "t_bytes_memory_ptr",
  29790. "typeString": "bytes memory"
  29791. }
  29792. ],
  29793. "id": 9435,
  29794. "name": "_sendLogPayload",
  29795. "nodeType": "Identifier",
  29796. "overloadedDeclarations": [],
  29797. "referencedDeclaration": 7315,
  29798. "src": "19331:15:50",
  29799. "typeDescriptions": {
  29800. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  29801. "typeString": "function (bytes memory) pure"
  29802. }
  29803. },
  29804. "id": 9443,
  29805. "isConstant": false,
  29806. "isLValue": false,
  29807. "isPure": false,
  29808. "kind": "functionCall",
  29809. "lValueRequested": false,
  29810. "nameLocations": [],
  29811. "names": [],
  29812. "nodeType": "FunctionCall",
  29813. "src": "19331:81:50",
  29814. "tryCall": false,
  29815. "typeDescriptions": {
  29816. "typeIdentifier": "t_tuple$__$",
  29817. "typeString": "tuple()"
  29818. }
  29819. },
  29820. "id": 9444,
  29821. "nodeType": "ExpressionStatement",
  29822. "src": "19331:81:50"
  29823. }
  29824. ]
  29825. },
  29826. "implemented": true,
  29827. "kind": "function",
  29828. "modifiers": [],
  29829. "name": "log",
  29830. "nameLocation": "19270:3:50",
  29831. "parameters": {
  29832. "id": 9433,
  29833. "nodeType": "ParameterList",
  29834. "parameters": [
  29835. {
  29836. "constant": false,
  29837. "id": 9428,
  29838. "mutability": "mutable",
  29839. "name": "p0",
  29840. "nameLocation": "19282:2:50",
  29841. "nodeType": "VariableDeclaration",
  29842. "scope": 9446,
  29843. "src": "19274:10:50",
  29844. "stateVariable": false,
  29845. "storageLocation": "default",
  29846. "typeDescriptions": {
  29847. "typeIdentifier": "t_address",
  29848. "typeString": "address"
  29849. },
  29850. "typeName": {
  29851. "id": 9427,
  29852. "name": "address",
  29853. "nodeType": "ElementaryTypeName",
  29854. "src": "19274:7:50",
  29855. "stateMutability": "nonpayable",
  29856. "typeDescriptions": {
  29857. "typeIdentifier": "t_address",
  29858. "typeString": "address"
  29859. }
  29860. },
  29861. "visibility": "internal"
  29862. },
  29863. {
  29864. "constant": false,
  29865. "id": 9430,
  29866. "mutability": "mutable",
  29867. "name": "p1",
  29868. "nameLocation": "19294:2:50",
  29869. "nodeType": "VariableDeclaration",
  29870. "scope": 9446,
  29871. "src": "19286:10:50",
  29872. "stateVariable": false,
  29873. "storageLocation": "default",
  29874. "typeDescriptions": {
  29875. "typeIdentifier": "t_address",
  29876. "typeString": "address"
  29877. },
  29878. "typeName": {
  29879. "id": 9429,
  29880. "name": "address",
  29881. "nodeType": "ElementaryTypeName",
  29882. "src": "19286:7:50",
  29883. "stateMutability": "nonpayable",
  29884. "typeDescriptions": {
  29885. "typeIdentifier": "t_address",
  29886. "typeString": "address"
  29887. }
  29888. },
  29889. "visibility": "internal"
  29890. },
  29891. {
  29892. "constant": false,
  29893. "id": 9432,
  29894. "mutability": "mutable",
  29895. "name": "p2",
  29896. "nameLocation": "19303:2:50",
  29897. "nodeType": "VariableDeclaration",
  29898. "scope": 9446,
  29899. "src": "19298:7:50",
  29900. "stateVariable": false,
  29901. "storageLocation": "default",
  29902. "typeDescriptions": {
  29903. "typeIdentifier": "t_bool",
  29904. "typeString": "bool"
  29905. },
  29906. "typeName": {
  29907. "id": 9431,
  29908. "name": "bool",
  29909. "nodeType": "ElementaryTypeName",
  29910. "src": "19298:4:50",
  29911. "typeDescriptions": {
  29912. "typeIdentifier": "t_bool",
  29913. "typeString": "bool"
  29914. }
  29915. },
  29916. "visibility": "internal"
  29917. }
  29918. ],
  29919. "src": "19273:33:50"
  29920. },
  29921. "returnParameters": {
  29922. "id": 9434,
  29923. "nodeType": "ParameterList",
  29924. "parameters": [],
  29925. "src": "19321:0:50"
  29926. },
  29927. "scope": 15355,
  29928. "stateMutability": "pure",
  29929. "virtual": false,
  29930. "visibility": "internal"
  29931. },
  29932. {
  29933. "id": 9466,
  29934. "nodeType": "FunctionDefinition",
  29935. "src": "19425:164:50",
  29936. "nodes": [],
  29937. "body": {
  29938. "id": 9465,
  29939. "nodeType": "Block",
  29940. "src": "19488:101:50",
  29941. "nodes": [],
  29942. "statements": [
  29943. {
  29944. "expression": {
  29945. "arguments": [
  29946. {
  29947. "arguments": [
  29948. {
  29949. "hexValue": "6c6f6728616464726573732c616464726573732c6164647265737329",
  29950. "id": 9458,
  29951. "isConstant": false,
  29952. "isLValue": false,
  29953. "isPure": true,
  29954. "kind": "string",
  29955. "lValueRequested": false,
  29956. "nodeType": "Literal",
  29957. "src": "19538:30:50",
  29958. "typeDescriptions": {
  29959. "typeIdentifier": "t_stringliteral_018c84c25fb680b5bcd4e1ab1848682497c9dd3b635564a91c36ce3d1414c830",
  29960. "typeString": "literal_string \"log(address,address,address)\""
  29961. },
  29962. "value": "log(address,address,address)"
  29963. },
  29964. {
  29965. "id": 9459,
  29966. "name": "p0",
  29967. "nodeType": "Identifier",
  29968. "overloadedDeclarations": [],
  29969. "referencedDeclaration": 9448,
  29970. "src": "19570:2:50",
  29971. "typeDescriptions": {
  29972. "typeIdentifier": "t_address",
  29973. "typeString": "address"
  29974. }
  29975. },
  29976. {
  29977. "id": 9460,
  29978. "name": "p1",
  29979. "nodeType": "Identifier",
  29980. "overloadedDeclarations": [],
  29981. "referencedDeclaration": 9450,
  29982. "src": "19574:2:50",
  29983. "typeDescriptions": {
  29984. "typeIdentifier": "t_address",
  29985. "typeString": "address"
  29986. }
  29987. },
  29988. {
  29989. "id": 9461,
  29990. "name": "p2",
  29991. "nodeType": "Identifier",
  29992. "overloadedDeclarations": [],
  29993. "referencedDeclaration": 9452,
  29994. "src": "19578:2:50",
  29995. "typeDescriptions": {
  29996. "typeIdentifier": "t_address",
  29997. "typeString": "address"
  29998. }
  29999. }
  30000. ],
  30001. "expression": {
  30002. "argumentTypes": [
  30003. {
  30004. "typeIdentifier": "t_stringliteral_018c84c25fb680b5bcd4e1ab1848682497c9dd3b635564a91c36ce3d1414c830",
  30005. "typeString": "literal_string \"log(address,address,address)\""
  30006. },
  30007. {
  30008. "typeIdentifier": "t_address",
  30009. "typeString": "address"
  30010. },
  30011. {
  30012. "typeIdentifier": "t_address",
  30013. "typeString": "address"
  30014. },
  30015. {
  30016. "typeIdentifier": "t_address",
  30017. "typeString": "address"
  30018. }
  30019. ],
  30020. "expression": {
  30021. "id": 9456,
  30022. "name": "abi",
  30023. "nodeType": "Identifier",
  30024. "overloadedDeclarations": [],
  30025. "referencedDeclaration": -1,
  30026. "src": "19514:3:50",
  30027. "typeDescriptions": {
  30028. "typeIdentifier": "t_magic_abi",
  30029. "typeString": "abi"
  30030. }
  30031. },
  30032. "id": 9457,
  30033. "isConstant": false,
  30034. "isLValue": false,
  30035. "isPure": true,
  30036. "lValueRequested": false,
  30037. "memberLocation": "19518:19:50",
  30038. "memberName": "encodeWithSignature",
  30039. "nodeType": "MemberAccess",
  30040. "src": "19514:23:50",
  30041. "typeDescriptions": {
  30042. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  30043. "typeString": "function (string memory) pure returns (bytes memory)"
  30044. }
  30045. },
  30046. "id": 9462,
  30047. "isConstant": false,
  30048. "isLValue": false,
  30049. "isPure": false,
  30050. "kind": "functionCall",
  30051. "lValueRequested": false,
  30052. "nameLocations": [],
  30053. "names": [],
  30054. "nodeType": "FunctionCall",
  30055. "src": "19514:67:50",
  30056. "tryCall": false,
  30057. "typeDescriptions": {
  30058. "typeIdentifier": "t_bytes_memory_ptr",
  30059. "typeString": "bytes memory"
  30060. }
  30061. }
  30062. ],
  30063. "expression": {
  30064. "argumentTypes": [
  30065. {
  30066. "typeIdentifier": "t_bytes_memory_ptr",
  30067. "typeString": "bytes memory"
  30068. }
  30069. ],
  30070. "id": 9455,
  30071. "name": "_sendLogPayload",
  30072. "nodeType": "Identifier",
  30073. "overloadedDeclarations": [],
  30074. "referencedDeclaration": 7315,
  30075. "src": "19498:15:50",
  30076. "typeDescriptions": {
  30077. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  30078. "typeString": "function (bytes memory) pure"
  30079. }
  30080. },
  30081. "id": 9463,
  30082. "isConstant": false,
  30083. "isLValue": false,
  30084. "isPure": false,
  30085. "kind": "functionCall",
  30086. "lValueRequested": false,
  30087. "nameLocations": [],
  30088. "names": [],
  30089. "nodeType": "FunctionCall",
  30090. "src": "19498:84:50",
  30091. "tryCall": false,
  30092. "typeDescriptions": {
  30093. "typeIdentifier": "t_tuple$__$",
  30094. "typeString": "tuple()"
  30095. }
  30096. },
  30097. "id": 9464,
  30098. "nodeType": "ExpressionStatement",
  30099. "src": "19498:84:50"
  30100. }
  30101. ]
  30102. },
  30103. "implemented": true,
  30104. "kind": "function",
  30105. "modifiers": [],
  30106. "name": "log",
  30107. "nameLocation": "19434:3:50",
  30108. "parameters": {
  30109. "id": 9453,
  30110. "nodeType": "ParameterList",
  30111. "parameters": [
  30112. {
  30113. "constant": false,
  30114. "id": 9448,
  30115. "mutability": "mutable",
  30116. "name": "p0",
  30117. "nameLocation": "19446:2:50",
  30118. "nodeType": "VariableDeclaration",
  30119. "scope": 9466,
  30120. "src": "19438:10:50",
  30121. "stateVariable": false,
  30122. "storageLocation": "default",
  30123. "typeDescriptions": {
  30124. "typeIdentifier": "t_address",
  30125. "typeString": "address"
  30126. },
  30127. "typeName": {
  30128. "id": 9447,
  30129. "name": "address",
  30130. "nodeType": "ElementaryTypeName",
  30131. "src": "19438:7:50",
  30132. "stateMutability": "nonpayable",
  30133. "typeDescriptions": {
  30134. "typeIdentifier": "t_address",
  30135. "typeString": "address"
  30136. }
  30137. },
  30138. "visibility": "internal"
  30139. },
  30140. {
  30141. "constant": false,
  30142. "id": 9450,
  30143. "mutability": "mutable",
  30144. "name": "p1",
  30145. "nameLocation": "19458:2:50",
  30146. "nodeType": "VariableDeclaration",
  30147. "scope": 9466,
  30148. "src": "19450:10:50",
  30149. "stateVariable": false,
  30150. "storageLocation": "default",
  30151. "typeDescriptions": {
  30152. "typeIdentifier": "t_address",
  30153. "typeString": "address"
  30154. },
  30155. "typeName": {
  30156. "id": 9449,
  30157. "name": "address",
  30158. "nodeType": "ElementaryTypeName",
  30159. "src": "19450:7:50",
  30160. "stateMutability": "nonpayable",
  30161. "typeDescriptions": {
  30162. "typeIdentifier": "t_address",
  30163. "typeString": "address"
  30164. }
  30165. },
  30166. "visibility": "internal"
  30167. },
  30168. {
  30169. "constant": false,
  30170. "id": 9452,
  30171. "mutability": "mutable",
  30172. "name": "p2",
  30173. "nameLocation": "19470:2:50",
  30174. "nodeType": "VariableDeclaration",
  30175. "scope": 9466,
  30176. "src": "19462:10:50",
  30177. "stateVariable": false,
  30178. "storageLocation": "default",
  30179. "typeDescriptions": {
  30180. "typeIdentifier": "t_address",
  30181. "typeString": "address"
  30182. },
  30183. "typeName": {
  30184. "id": 9451,
  30185. "name": "address",
  30186. "nodeType": "ElementaryTypeName",
  30187. "src": "19462:7:50",
  30188. "stateMutability": "nonpayable",
  30189. "typeDescriptions": {
  30190. "typeIdentifier": "t_address",
  30191. "typeString": "address"
  30192. }
  30193. },
  30194. "visibility": "internal"
  30195. }
  30196. ],
  30197. "src": "19437:36:50"
  30198. },
  30199. "returnParameters": {
  30200. "id": 9454,
  30201. "nodeType": "ParameterList",
  30202. "parameters": [],
  30203. "src": "19488:0:50"
  30204. },
  30205. "scope": 15355,
  30206. "stateMutability": "pure",
  30207. "virtual": false,
  30208. "visibility": "internal"
  30209. },
  30210. {
  30211. "id": 9489,
  30212. "nodeType": "FunctionDefinition",
  30213. "src": "19595:188:50",
  30214. "nodes": [],
  30215. "body": {
  30216. "id": 9488,
  30217. "nodeType": "Block",
  30218. "src": "19670:113:50",
  30219. "nodes": [],
  30220. "statements": [
  30221. {
  30222. "expression": {
  30223. "arguments": [
  30224. {
  30225. "arguments": [
  30226. {
  30227. "hexValue": "6c6f672875696e743235362c75696e743235362c75696e743235362c75696e7432353629",
  30228. "id": 9480,
  30229. "isConstant": false,
  30230. "isLValue": false,
  30231. "isPure": true,
  30232. "kind": "string",
  30233. "lValueRequested": false,
  30234. "nodeType": "Literal",
  30235. "src": "19720:38:50",
  30236. "typeDescriptions": {
  30237. "typeIdentifier": "t_stringliteral_193fb8009d4d1e3c22da0dd831b1e3aed72b8cabd1ebf3967b4ab3c2bbcf1c4f",
  30238. "typeString": "literal_string \"log(uint256,uint256,uint256,uint256)\""
  30239. },
  30240. "value": "log(uint256,uint256,uint256,uint256)"
  30241. },
  30242. {
  30243. "id": 9481,
  30244. "name": "p0",
  30245. "nodeType": "Identifier",
  30246. "overloadedDeclarations": [],
  30247. "referencedDeclaration": 9468,
  30248. "src": "19760:2:50",
  30249. "typeDescriptions": {
  30250. "typeIdentifier": "t_uint256",
  30251. "typeString": "uint256"
  30252. }
  30253. },
  30254. {
  30255. "id": 9482,
  30256. "name": "p1",
  30257. "nodeType": "Identifier",
  30258. "overloadedDeclarations": [],
  30259. "referencedDeclaration": 9470,
  30260. "src": "19764:2:50",
  30261. "typeDescriptions": {
  30262. "typeIdentifier": "t_uint256",
  30263. "typeString": "uint256"
  30264. }
  30265. },
  30266. {
  30267. "id": 9483,
  30268. "name": "p2",
  30269. "nodeType": "Identifier",
  30270. "overloadedDeclarations": [],
  30271. "referencedDeclaration": 9472,
  30272. "src": "19768:2:50",
  30273. "typeDescriptions": {
  30274. "typeIdentifier": "t_uint256",
  30275. "typeString": "uint256"
  30276. }
  30277. },
  30278. {
  30279. "id": 9484,
  30280. "name": "p3",
  30281. "nodeType": "Identifier",
  30282. "overloadedDeclarations": [],
  30283. "referencedDeclaration": 9474,
  30284. "src": "19772:2:50",
  30285. "typeDescriptions": {
  30286. "typeIdentifier": "t_uint256",
  30287. "typeString": "uint256"
  30288. }
  30289. }
  30290. ],
  30291. "expression": {
  30292. "argumentTypes": [
  30293. {
  30294. "typeIdentifier": "t_stringliteral_193fb8009d4d1e3c22da0dd831b1e3aed72b8cabd1ebf3967b4ab3c2bbcf1c4f",
  30295. "typeString": "literal_string \"log(uint256,uint256,uint256,uint256)\""
  30296. },
  30297. {
  30298. "typeIdentifier": "t_uint256",
  30299. "typeString": "uint256"
  30300. },
  30301. {
  30302. "typeIdentifier": "t_uint256",
  30303. "typeString": "uint256"
  30304. },
  30305. {
  30306. "typeIdentifier": "t_uint256",
  30307. "typeString": "uint256"
  30308. },
  30309. {
  30310. "typeIdentifier": "t_uint256",
  30311. "typeString": "uint256"
  30312. }
  30313. ],
  30314. "expression": {
  30315. "id": 9478,
  30316. "name": "abi",
  30317. "nodeType": "Identifier",
  30318. "overloadedDeclarations": [],
  30319. "referencedDeclaration": -1,
  30320. "src": "19696:3:50",
  30321. "typeDescriptions": {
  30322. "typeIdentifier": "t_magic_abi",
  30323. "typeString": "abi"
  30324. }
  30325. },
  30326. "id": 9479,
  30327. "isConstant": false,
  30328. "isLValue": false,
  30329. "isPure": true,
  30330. "lValueRequested": false,
  30331. "memberLocation": "19700:19:50",
  30332. "memberName": "encodeWithSignature",
  30333. "nodeType": "MemberAccess",
  30334. "src": "19696:23:50",
  30335. "typeDescriptions": {
  30336. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  30337. "typeString": "function (string memory) pure returns (bytes memory)"
  30338. }
  30339. },
  30340. "id": 9485,
  30341. "isConstant": false,
  30342. "isLValue": false,
  30343. "isPure": false,
  30344. "kind": "functionCall",
  30345. "lValueRequested": false,
  30346. "nameLocations": [],
  30347. "names": [],
  30348. "nodeType": "FunctionCall",
  30349. "src": "19696:79:50",
  30350. "tryCall": false,
  30351. "typeDescriptions": {
  30352. "typeIdentifier": "t_bytes_memory_ptr",
  30353. "typeString": "bytes memory"
  30354. }
  30355. }
  30356. ],
  30357. "expression": {
  30358. "argumentTypes": [
  30359. {
  30360. "typeIdentifier": "t_bytes_memory_ptr",
  30361. "typeString": "bytes memory"
  30362. }
  30363. ],
  30364. "id": 9477,
  30365. "name": "_sendLogPayload",
  30366. "nodeType": "Identifier",
  30367. "overloadedDeclarations": [],
  30368. "referencedDeclaration": 7315,
  30369. "src": "19680:15:50",
  30370. "typeDescriptions": {
  30371. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  30372. "typeString": "function (bytes memory) pure"
  30373. }
  30374. },
  30375. "id": 9486,
  30376. "isConstant": false,
  30377. "isLValue": false,
  30378. "isPure": false,
  30379. "kind": "functionCall",
  30380. "lValueRequested": false,
  30381. "nameLocations": [],
  30382. "names": [],
  30383. "nodeType": "FunctionCall",
  30384. "src": "19680:96:50",
  30385. "tryCall": false,
  30386. "typeDescriptions": {
  30387. "typeIdentifier": "t_tuple$__$",
  30388. "typeString": "tuple()"
  30389. }
  30390. },
  30391. "id": 9487,
  30392. "nodeType": "ExpressionStatement",
  30393. "src": "19680:96:50"
  30394. }
  30395. ]
  30396. },
  30397. "implemented": true,
  30398. "kind": "function",
  30399. "modifiers": [],
  30400. "name": "log",
  30401. "nameLocation": "19604:3:50",
  30402. "parameters": {
  30403. "id": 9475,
  30404. "nodeType": "ParameterList",
  30405. "parameters": [
  30406. {
  30407. "constant": false,
  30408. "id": 9468,
  30409. "mutability": "mutable",
  30410. "name": "p0",
  30411. "nameLocation": "19616:2:50",
  30412. "nodeType": "VariableDeclaration",
  30413. "scope": 9489,
  30414. "src": "19608:10:50",
  30415. "stateVariable": false,
  30416. "storageLocation": "default",
  30417. "typeDescriptions": {
  30418. "typeIdentifier": "t_uint256",
  30419. "typeString": "uint256"
  30420. },
  30421. "typeName": {
  30422. "id": 9467,
  30423. "name": "uint256",
  30424. "nodeType": "ElementaryTypeName",
  30425. "src": "19608:7:50",
  30426. "typeDescriptions": {
  30427. "typeIdentifier": "t_uint256",
  30428. "typeString": "uint256"
  30429. }
  30430. },
  30431. "visibility": "internal"
  30432. },
  30433. {
  30434. "constant": false,
  30435. "id": 9470,
  30436. "mutability": "mutable",
  30437. "name": "p1",
  30438. "nameLocation": "19628:2:50",
  30439. "nodeType": "VariableDeclaration",
  30440. "scope": 9489,
  30441. "src": "19620:10:50",
  30442. "stateVariable": false,
  30443. "storageLocation": "default",
  30444. "typeDescriptions": {
  30445. "typeIdentifier": "t_uint256",
  30446. "typeString": "uint256"
  30447. },
  30448. "typeName": {
  30449. "id": 9469,
  30450. "name": "uint256",
  30451. "nodeType": "ElementaryTypeName",
  30452. "src": "19620:7:50",
  30453. "typeDescriptions": {
  30454. "typeIdentifier": "t_uint256",
  30455. "typeString": "uint256"
  30456. }
  30457. },
  30458. "visibility": "internal"
  30459. },
  30460. {
  30461. "constant": false,
  30462. "id": 9472,
  30463. "mutability": "mutable",
  30464. "name": "p2",
  30465. "nameLocation": "19640:2:50",
  30466. "nodeType": "VariableDeclaration",
  30467. "scope": 9489,
  30468. "src": "19632:10:50",
  30469. "stateVariable": false,
  30470. "storageLocation": "default",
  30471. "typeDescriptions": {
  30472. "typeIdentifier": "t_uint256",
  30473. "typeString": "uint256"
  30474. },
  30475. "typeName": {
  30476. "id": 9471,
  30477. "name": "uint256",
  30478. "nodeType": "ElementaryTypeName",
  30479. "src": "19632:7:50",
  30480. "typeDescriptions": {
  30481. "typeIdentifier": "t_uint256",
  30482. "typeString": "uint256"
  30483. }
  30484. },
  30485. "visibility": "internal"
  30486. },
  30487. {
  30488. "constant": false,
  30489. "id": 9474,
  30490. "mutability": "mutable",
  30491. "name": "p3",
  30492. "nameLocation": "19652:2:50",
  30493. "nodeType": "VariableDeclaration",
  30494. "scope": 9489,
  30495. "src": "19644:10:50",
  30496. "stateVariable": false,
  30497. "storageLocation": "default",
  30498. "typeDescriptions": {
  30499. "typeIdentifier": "t_uint256",
  30500. "typeString": "uint256"
  30501. },
  30502. "typeName": {
  30503. "id": 9473,
  30504. "name": "uint256",
  30505. "nodeType": "ElementaryTypeName",
  30506. "src": "19644:7:50",
  30507. "typeDescriptions": {
  30508. "typeIdentifier": "t_uint256",
  30509. "typeString": "uint256"
  30510. }
  30511. },
  30512. "visibility": "internal"
  30513. }
  30514. ],
  30515. "src": "19607:48:50"
  30516. },
  30517. "returnParameters": {
  30518. "id": 9476,
  30519. "nodeType": "ParameterList",
  30520. "parameters": [],
  30521. "src": "19670:0:50"
  30522. },
  30523. "scope": 15355,
  30524. "stateMutability": "pure",
  30525. "virtual": false,
  30526. "visibility": "internal"
  30527. },
  30528. {
  30529. "id": 9512,
  30530. "nodeType": "FunctionDefinition",
  30531. "src": "19789:193:50",
  30532. "nodes": [],
  30533. "body": {
  30534. "id": 9511,
  30535. "nodeType": "Block",
  30536. "src": "19870:112:50",
  30537. "nodes": [],
  30538. "statements": [
  30539. {
  30540. "expression": {
  30541. "arguments": [
  30542. {
  30543. "arguments": [
  30544. {
  30545. "hexValue": "6c6f672875696e743235362c75696e743235362c75696e743235362c737472696e6729",
  30546. "id": 9503,
  30547. "isConstant": false,
  30548. "isLValue": false,
  30549. "isPure": true,
  30550. "kind": "string",
  30551. "lValueRequested": false,
  30552. "nodeType": "Literal",
  30553. "src": "19920:37:50",
  30554. "typeDescriptions": {
  30555. "typeIdentifier": "t_stringliteral_59cfcbe3e387f57023dcccd8733484dcb5a23a41a25c4015c01a4e8d3520c4ef",
  30556. "typeString": "literal_string \"log(uint256,uint256,uint256,string)\""
  30557. },
  30558. "value": "log(uint256,uint256,uint256,string)"
  30559. },
  30560. {
  30561. "id": 9504,
  30562. "name": "p0",
  30563. "nodeType": "Identifier",
  30564. "overloadedDeclarations": [],
  30565. "referencedDeclaration": 9491,
  30566. "src": "19959:2:50",
  30567. "typeDescriptions": {
  30568. "typeIdentifier": "t_uint256",
  30569. "typeString": "uint256"
  30570. }
  30571. },
  30572. {
  30573. "id": 9505,
  30574. "name": "p1",
  30575. "nodeType": "Identifier",
  30576. "overloadedDeclarations": [],
  30577. "referencedDeclaration": 9493,
  30578. "src": "19963:2:50",
  30579. "typeDescriptions": {
  30580. "typeIdentifier": "t_uint256",
  30581. "typeString": "uint256"
  30582. }
  30583. },
  30584. {
  30585. "id": 9506,
  30586. "name": "p2",
  30587. "nodeType": "Identifier",
  30588. "overloadedDeclarations": [],
  30589. "referencedDeclaration": 9495,
  30590. "src": "19967:2:50",
  30591. "typeDescriptions": {
  30592. "typeIdentifier": "t_uint256",
  30593. "typeString": "uint256"
  30594. }
  30595. },
  30596. {
  30597. "id": 9507,
  30598. "name": "p3",
  30599. "nodeType": "Identifier",
  30600. "overloadedDeclarations": [],
  30601. "referencedDeclaration": 9497,
  30602. "src": "19971:2:50",
  30603. "typeDescriptions": {
  30604. "typeIdentifier": "t_string_memory_ptr",
  30605. "typeString": "string memory"
  30606. }
  30607. }
  30608. ],
  30609. "expression": {
  30610. "argumentTypes": [
  30611. {
  30612. "typeIdentifier": "t_stringliteral_59cfcbe3e387f57023dcccd8733484dcb5a23a41a25c4015c01a4e8d3520c4ef",
  30613. "typeString": "literal_string \"log(uint256,uint256,uint256,string)\""
  30614. },
  30615. {
  30616. "typeIdentifier": "t_uint256",
  30617. "typeString": "uint256"
  30618. },
  30619. {
  30620. "typeIdentifier": "t_uint256",
  30621. "typeString": "uint256"
  30622. },
  30623. {
  30624. "typeIdentifier": "t_uint256",
  30625. "typeString": "uint256"
  30626. },
  30627. {
  30628. "typeIdentifier": "t_string_memory_ptr",
  30629. "typeString": "string memory"
  30630. }
  30631. ],
  30632. "expression": {
  30633. "id": 9501,
  30634. "name": "abi",
  30635. "nodeType": "Identifier",
  30636. "overloadedDeclarations": [],
  30637. "referencedDeclaration": -1,
  30638. "src": "19896:3:50",
  30639. "typeDescriptions": {
  30640. "typeIdentifier": "t_magic_abi",
  30641. "typeString": "abi"
  30642. }
  30643. },
  30644. "id": 9502,
  30645. "isConstant": false,
  30646. "isLValue": false,
  30647. "isPure": true,
  30648. "lValueRequested": false,
  30649. "memberLocation": "19900:19:50",
  30650. "memberName": "encodeWithSignature",
  30651. "nodeType": "MemberAccess",
  30652. "src": "19896:23:50",
  30653. "typeDescriptions": {
  30654. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  30655. "typeString": "function (string memory) pure returns (bytes memory)"
  30656. }
  30657. },
  30658. "id": 9508,
  30659. "isConstant": false,
  30660. "isLValue": false,
  30661. "isPure": false,
  30662. "kind": "functionCall",
  30663. "lValueRequested": false,
  30664. "nameLocations": [],
  30665. "names": [],
  30666. "nodeType": "FunctionCall",
  30667. "src": "19896:78:50",
  30668. "tryCall": false,
  30669. "typeDescriptions": {
  30670. "typeIdentifier": "t_bytes_memory_ptr",
  30671. "typeString": "bytes memory"
  30672. }
  30673. }
  30674. ],
  30675. "expression": {
  30676. "argumentTypes": [
  30677. {
  30678. "typeIdentifier": "t_bytes_memory_ptr",
  30679. "typeString": "bytes memory"
  30680. }
  30681. ],
  30682. "id": 9500,
  30683. "name": "_sendLogPayload",
  30684. "nodeType": "Identifier",
  30685. "overloadedDeclarations": [],
  30686. "referencedDeclaration": 7315,
  30687. "src": "19880:15:50",
  30688. "typeDescriptions": {
  30689. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  30690. "typeString": "function (bytes memory) pure"
  30691. }
  30692. },
  30693. "id": 9509,
  30694. "isConstant": false,
  30695. "isLValue": false,
  30696. "isPure": false,
  30697. "kind": "functionCall",
  30698. "lValueRequested": false,
  30699. "nameLocations": [],
  30700. "names": [],
  30701. "nodeType": "FunctionCall",
  30702. "src": "19880:95:50",
  30703. "tryCall": false,
  30704. "typeDescriptions": {
  30705. "typeIdentifier": "t_tuple$__$",
  30706. "typeString": "tuple()"
  30707. }
  30708. },
  30709. "id": 9510,
  30710. "nodeType": "ExpressionStatement",
  30711. "src": "19880:95:50"
  30712. }
  30713. ]
  30714. },
  30715. "implemented": true,
  30716. "kind": "function",
  30717. "modifiers": [],
  30718. "name": "log",
  30719. "nameLocation": "19798:3:50",
  30720. "parameters": {
  30721. "id": 9498,
  30722. "nodeType": "ParameterList",
  30723. "parameters": [
  30724. {
  30725. "constant": false,
  30726. "id": 9491,
  30727. "mutability": "mutable",
  30728. "name": "p0",
  30729. "nameLocation": "19810:2:50",
  30730. "nodeType": "VariableDeclaration",
  30731. "scope": 9512,
  30732. "src": "19802:10:50",
  30733. "stateVariable": false,
  30734. "storageLocation": "default",
  30735. "typeDescriptions": {
  30736. "typeIdentifier": "t_uint256",
  30737. "typeString": "uint256"
  30738. },
  30739. "typeName": {
  30740. "id": 9490,
  30741. "name": "uint256",
  30742. "nodeType": "ElementaryTypeName",
  30743. "src": "19802:7:50",
  30744. "typeDescriptions": {
  30745. "typeIdentifier": "t_uint256",
  30746. "typeString": "uint256"
  30747. }
  30748. },
  30749. "visibility": "internal"
  30750. },
  30751. {
  30752. "constant": false,
  30753. "id": 9493,
  30754. "mutability": "mutable",
  30755. "name": "p1",
  30756. "nameLocation": "19822:2:50",
  30757. "nodeType": "VariableDeclaration",
  30758. "scope": 9512,
  30759. "src": "19814:10:50",
  30760. "stateVariable": false,
  30761. "storageLocation": "default",
  30762. "typeDescriptions": {
  30763. "typeIdentifier": "t_uint256",
  30764. "typeString": "uint256"
  30765. },
  30766. "typeName": {
  30767. "id": 9492,
  30768. "name": "uint256",
  30769. "nodeType": "ElementaryTypeName",
  30770. "src": "19814:7:50",
  30771. "typeDescriptions": {
  30772. "typeIdentifier": "t_uint256",
  30773. "typeString": "uint256"
  30774. }
  30775. },
  30776. "visibility": "internal"
  30777. },
  30778. {
  30779. "constant": false,
  30780. "id": 9495,
  30781. "mutability": "mutable",
  30782. "name": "p2",
  30783. "nameLocation": "19834:2:50",
  30784. "nodeType": "VariableDeclaration",
  30785. "scope": 9512,
  30786. "src": "19826:10:50",
  30787. "stateVariable": false,
  30788. "storageLocation": "default",
  30789. "typeDescriptions": {
  30790. "typeIdentifier": "t_uint256",
  30791. "typeString": "uint256"
  30792. },
  30793. "typeName": {
  30794. "id": 9494,
  30795. "name": "uint256",
  30796. "nodeType": "ElementaryTypeName",
  30797. "src": "19826:7:50",
  30798. "typeDescriptions": {
  30799. "typeIdentifier": "t_uint256",
  30800. "typeString": "uint256"
  30801. }
  30802. },
  30803. "visibility": "internal"
  30804. },
  30805. {
  30806. "constant": false,
  30807. "id": 9497,
  30808. "mutability": "mutable",
  30809. "name": "p3",
  30810. "nameLocation": "19852:2:50",
  30811. "nodeType": "VariableDeclaration",
  30812. "scope": 9512,
  30813. "src": "19838:16:50",
  30814. "stateVariable": false,
  30815. "storageLocation": "memory",
  30816. "typeDescriptions": {
  30817. "typeIdentifier": "t_string_memory_ptr",
  30818. "typeString": "string"
  30819. },
  30820. "typeName": {
  30821. "id": 9496,
  30822. "name": "string",
  30823. "nodeType": "ElementaryTypeName",
  30824. "src": "19838:6:50",
  30825. "typeDescriptions": {
  30826. "typeIdentifier": "t_string_storage_ptr",
  30827. "typeString": "string"
  30828. }
  30829. },
  30830. "visibility": "internal"
  30831. }
  30832. ],
  30833. "src": "19801:54:50"
  30834. },
  30835. "returnParameters": {
  30836. "id": 9499,
  30837. "nodeType": "ParameterList",
  30838. "parameters": [],
  30839. "src": "19870:0:50"
  30840. },
  30841. "scope": 15355,
  30842. "stateMutability": "pure",
  30843. "virtual": false,
  30844. "visibility": "internal"
  30845. },
  30846. {
  30847. "id": 9535,
  30848. "nodeType": "FunctionDefinition",
  30849. "src": "19988:182:50",
  30850. "nodes": [],
  30851. "body": {
  30852. "id": 9534,
  30853. "nodeType": "Block",
  30854. "src": "20060:110:50",
  30855. "nodes": [],
  30856. "statements": [
  30857. {
  30858. "expression": {
  30859. "arguments": [
  30860. {
  30861. "arguments": [
  30862. {
  30863. "hexValue": "6c6f672875696e743235362c75696e743235362c75696e743235362c626f6f6c29",
  30864. "id": 9526,
  30865. "isConstant": false,
  30866. "isLValue": false,
  30867. "isPure": true,
  30868. "kind": "string",
  30869. "lValueRequested": false,
  30870. "nodeType": "Literal",
  30871. "src": "20110:35:50",
  30872. "typeDescriptions": {
  30873. "typeIdentifier": "t_stringliteral_c598d18505e9c7404a061484d6144251d0ef342167a57ace85723d498abac8e3",
  30874. "typeString": "literal_string \"log(uint256,uint256,uint256,bool)\""
  30875. },
  30876. "value": "log(uint256,uint256,uint256,bool)"
  30877. },
  30878. {
  30879. "id": 9527,
  30880. "name": "p0",
  30881. "nodeType": "Identifier",
  30882. "overloadedDeclarations": [],
  30883. "referencedDeclaration": 9514,
  30884. "src": "20147:2:50",
  30885. "typeDescriptions": {
  30886. "typeIdentifier": "t_uint256",
  30887. "typeString": "uint256"
  30888. }
  30889. },
  30890. {
  30891. "id": 9528,
  30892. "name": "p1",
  30893. "nodeType": "Identifier",
  30894. "overloadedDeclarations": [],
  30895. "referencedDeclaration": 9516,
  30896. "src": "20151:2:50",
  30897. "typeDescriptions": {
  30898. "typeIdentifier": "t_uint256",
  30899. "typeString": "uint256"
  30900. }
  30901. },
  30902. {
  30903. "id": 9529,
  30904. "name": "p2",
  30905. "nodeType": "Identifier",
  30906. "overloadedDeclarations": [],
  30907. "referencedDeclaration": 9518,
  30908. "src": "20155:2:50",
  30909. "typeDescriptions": {
  30910. "typeIdentifier": "t_uint256",
  30911. "typeString": "uint256"
  30912. }
  30913. },
  30914. {
  30915. "id": 9530,
  30916. "name": "p3",
  30917. "nodeType": "Identifier",
  30918. "overloadedDeclarations": [],
  30919. "referencedDeclaration": 9520,
  30920. "src": "20159:2:50",
  30921. "typeDescriptions": {
  30922. "typeIdentifier": "t_bool",
  30923. "typeString": "bool"
  30924. }
  30925. }
  30926. ],
  30927. "expression": {
  30928. "argumentTypes": [
  30929. {
  30930. "typeIdentifier": "t_stringliteral_c598d18505e9c7404a061484d6144251d0ef342167a57ace85723d498abac8e3",
  30931. "typeString": "literal_string \"log(uint256,uint256,uint256,bool)\""
  30932. },
  30933. {
  30934. "typeIdentifier": "t_uint256",
  30935. "typeString": "uint256"
  30936. },
  30937. {
  30938. "typeIdentifier": "t_uint256",
  30939. "typeString": "uint256"
  30940. },
  30941. {
  30942. "typeIdentifier": "t_uint256",
  30943. "typeString": "uint256"
  30944. },
  30945. {
  30946. "typeIdentifier": "t_bool",
  30947. "typeString": "bool"
  30948. }
  30949. ],
  30950. "expression": {
  30951. "id": 9524,
  30952. "name": "abi",
  30953. "nodeType": "Identifier",
  30954. "overloadedDeclarations": [],
  30955. "referencedDeclaration": -1,
  30956. "src": "20086:3:50",
  30957. "typeDescriptions": {
  30958. "typeIdentifier": "t_magic_abi",
  30959. "typeString": "abi"
  30960. }
  30961. },
  30962. "id": 9525,
  30963. "isConstant": false,
  30964. "isLValue": false,
  30965. "isPure": true,
  30966. "lValueRequested": false,
  30967. "memberLocation": "20090:19:50",
  30968. "memberName": "encodeWithSignature",
  30969. "nodeType": "MemberAccess",
  30970. "src": "20086:23:50",
  30971. "typeDescriptions": {
  30972. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  30973. "typeString": "function (string memory) pure returns (bytes memory)"
  30974. }
  30975. },
  30976. "id": 9531,
  30977. "isConstant": false,
  30978. "isLValue": false,
  30979. "isPure": false,
  30980. "kind": "functionCall",
  30981. "lValueRequested": false,
  30982. "nameLocations": [],
  30983. "names": [],
  30984. "nodeType": "FunctionCall",
  30985. "src": "20086:76:50",
  30986. "tryCall": false,
  30987. "typeDescriptions": {
  30988. "typeIdentifier": "t_bytes_memory_ptr",
  30989. "typeString": "bytes memory"
  30990. }
  30991. }
  30992. ],
  30993. "expression": {
  30994. "argumentTypes": [
  30995. {
  30996. "typeIdentifier": "t_bytes_memory_ptr",
  30997. "typeString": "bytes memory"
  30998. }
  30999. ],
  31000. "id": 9523,
  31001. "name": "_sendLogPayload",
  31002. "nodeType": "Identifier",
  31003. "overloadedDeclarations": [],
  31004. "referencedDeclaration": 7315,
  31005. "src": "20070:15:50",
  31006. "typeDescriptions": {
  31007. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  31008. "typeString": "function (bytes memory) pure"
  31009. }
  31010. },
  31011. "id": 9532,
  31012. "isConstant": false,
  31013. "isLValue": false,
  31014. "isPure": false,
  31015. "kind": "functionCall",
  31016. "lValueRequested": false,
  31017. "nameLocations": [],
  31018. "names": [],
  31019. "nodeType": "FunctionCall",
  31020. "src": "20070:93:50",
  31021. "tryCall": false,
  31022. "typeDescriptions": {
  31023. "typeIdentifier": "t_tuple$__$",
  31024. "typeString": "tuple()"
  31025. }
  31026. },
  31027. "id": 9533,
  31028. "nodeType": "ExpressionStatement",
  31029. "src": "20070:93:50"
  31030. }
  31031. ]
  31032. },
  31033. "implemented": true,
  31034. "kind": "function",
  31035. "modifiers": [],
  31036. "name": "log",
  31037. "nameLocation": "19997:3:50",
  31038. "parameters": {
  31039. "id": 9521,
  31040. "nodeType": "ParameterList",
  31041. "parameters": [
  31042. {
  31043. "constant": false,
  31044. "id": 9514,
  31045. "mutability": "mutable",
  31046. "name": "p0",
  31047. "nameLocation": "20009:2:50",
  31048. "nodeType": "VariableDeclaration",
  31049. "scope": 9535,
  31050. "src": "20001:10:50",
  31051. "stateVariable": false,
  31052. "storageLocation": "default",
  31053. "typeDescriptions": {
  31054. "typeIdentifier": "t_uint256",
  31055. "typeString": "uint256"
  31056. },
  31057. "typeName": {
  31058. "id": 9513,
  31059. "name": "uint256",
  31060. "nodeType": "ElementaryTypeName",
  31061. "src": "20001:7:50",
  31062. "typeDescriptions": {
  31063. "typeIdentifier": "t_uint256",
  31064. "typeString": "uint256"
  31065. }
  31066. },
  31067. "visibility": "internal"
  31068. },
  31069. {
  31070. "constant": false,
  31071. "id": 9516,
  31072. "mutability": "mutable",
  31073. "name": "p1",
  31074. "nameLocation": "20021:2:50",
  31075. "nodeType": "VariableDeclaration",
  31076. "scope": 9535,
  31077. "src": "20013:10:50",
  31078. "stateVariable": false,
  31079. "storageLocation": "default",
  31080. "typeDescriptions": {
  31081. "typeIdentifier": "t_uint256",
  31082. "typeString": "uint256"
  31083. },
  31084. "typeName": {
  31085. "id": 9515,
  31086. "name": "uint256",
  31087. "nodeType": "ElementaryTypeName",
  31088. "src": "20013:7:50",
  31089. "typeDescriptions": {
  31090. "typeIdentifier": "t_uint256",
  31091. "typeString": "uint256"
  31092. }
  31093. },
  31094. "visibility": "internal"
  31095. },
  31096. {
  31097. "constant": false,
  31098. "id": 9518,
  31099. "mutability": "mutable",
  31100. "name": "p2",
  31101. "nameLocation": "20033:2:50",
  31102. "nodeType": "VariableDeclaration",
  31103. "scope": 9535,
  31104. "src": "20025:10:50",
  31105. "stateVariable": false,
  31106. "storageLocation": "default",
  31107. "typeDescriptions": {
  31108. "typeIdentifier": "t_uint256",
  31109. "typeString": "uint256"
  31110. },
  31111. "typeName": {
  31112. "id": 9517,
  31113. "name": "uint256",
  31114. "nodeType": "ElementaryTypeName",
  31115. "src": "20025:7:50",
  31116. "typeDescriptions": {
  31117. "typeIdentifier": "t_uint256",
  31118. "typeString": "uint256"
  31119. }
  31120. },
  31121. "visibility": "internal"
  31122. },
  31123. {
  31124. "constant": false,
  31125. "id": 9520,
  31126. "mutability": "mutable",
  31127. "name": "p3",
  31128. "nameLocation": "20042:2:50",
  31129. "nodeType": "VariableDeclaration",
  31130. "scope": 9535,
  31131. "src": "20037:7:50",
  31132. "stateVariable": false,
  31133. "storageLocation": "default",
  31134. "typeDescriptions": {
  31135. "typeIdentifier": "t_bool",
  31136. "typeString": "bool"
  31137. },
  31138. "typeName": {
  31139. "id": 9519,
  31140. "name": "bool",
  31141. "nodeType": "ElementaryTypeName",
  31142. "src": "20037:4:50",
  31143. "typeDescriptions": {
  31144. "typeIdentifier": "t_bool",
  31145. "typeString": "bool"
  31146. }
  31147. },
  31148. "visibility": "internal"
  31149. }
  31150. ],
  31151. "src": "20000:45:50"
  31152. },
  31153. "returnParameters": {
  31154. "id": 9522,
  31155. "nodeType": "ParameterList",
  31156. "parameters": [],
  31157. "src": "20060:0:50"
  31158. },
  31159. "scope": 15355,
  31160. "stateMutability": "pure",
  31161. "virtual": false,
  31162. "visibility": "internal"
  31163. },
  31164. {
  31165. "id": 9558,
  31166. "nodeType": "FunctionDefinition",
  31167. "src": "20176:188:50",
  31168. "nodes": [],
  31169. "body": {
  31170. "id": 9557,
  31171. "nodeType": "Block",
  31172. "src": "20251:113:50",
  31173. "nodes": [],
  31174. "statements": [
  31175. {
  31176. "expression": {
  31177. "arguments": [
  31178. {
  31179. "arguments": [
  31180. {
  31181. "hexValue": "6c6f672875696e743235362c75696e743235362c75696e743235362c6164647265737329",
  31182. "id": 9549,
  31183. "isConstant": false,
  31184. "isLValue": false,
  31185. "isPure": true,
  31186. "kind": "string",
  31187. "lValueRequested": false,
  31188. "nodeType": "Literal",
  31189. "src": "20301:38:50",
  31190. "typeDescriptions": {
  31191. "typeIdentifier": "t_stringliteral_fa8185afaca325eb459625959e5610b99e97bbcba8d5834d7632610b4f237c79",
  31192. "typeString": "literal_string \"log(uint256,uint256,uint256,address)\""
  31193. },
  31194. "value": "log(uint256,uint256,uint256,address)"
  31195. },
  31196. {
  31197. "id": 9550,
  31198. "name": "p0",
  31199. "nodeType": "Identifier",
  31200. "overloadedDeclarations": [],
  31201. "referencedDeclaration": 9537,
  31202. "src": "20341:2:50",
  31203. "typeDescriptions": {
  31204. "typeIdentifier": "t_uint256",
  31205. "typeString": "uint256"
  31206. }
  31207. },
  31208. {
  31209. "id": 9551,
  31210. "name": "p1",
  31211. "nodeType": "Identifier",
  31212. "overloadedDeclarations": [],
  31213. "referencedDeclaration": 9539,
  31214. "src": "20345:2:50",
  31215. "typeDescriptions": {
  31216. "typeIdentifier": "t_uint256",
  31217. "typeString": "uint256"
  31218. }
  31219. },
  31220. {
  31221. "id": 9552,
  31222. "name": "p2",
  31223. "nodeType": "Identifier",
  31224. "overloadedDeclarations": [],
  31225. "referencedDeclaration": 9541,
  31226. "src": "20349:2:50",
  31227. "typeDescriptions": {
  31228. "typeIdentifier": "t_uint256",
  31229. "typeString": "uint256"
  31230. }
  31231. },
  31232. {
  31233. "id": 9553,
  31234. "name": "p3",
  31235. "nodeType": "Identifier",
  31236. "overloadedDeclarations": [],
  31237. "referencedDeclaration": 9543,
  31238. "src": "20353:2:50",
  31239. "typeDescriptions": {
  31240. "typeIdentifier": "t_address",
  31241. "typeString": "address"
  31242. }
  31243. }
  31244. ],
  31245. "expression": {
  31246. "argumentTypes": [
  31247. {
  31248. "typeIdentifier": "t_stringliteral_fa8185afaca325eb459625959e5610b99e97bbcba8d5834d7632610b4f237c79",
  31249. "typeString": "literal_string \"log(uint256,uint256,uint256,address)\""
  31250. },
  31251. {
  31252. "typeIdentifier": "t_uint256",
  31253. "typeString": "uint256"
  31254. },
  31255. {
  31256. "typeIdentifier": "t_uint256",
  31257. "typeString": "uint256"
  31258. },
  31259. {
  31260. "typeIdentifier": "t_uint256",
  31261. "typeString": "uint256"
  31262. },
  31263. {
  31264. "typeIdentifier": "t_address",
  31265. "typeString": "address"
  31266. }
  31267. ],
  31268. "expression": {
  31269. "id": 9547,
  31270. "name": "abi",
  31271. "nodeType": "Identifier",
  31272. "overloadedDeclarations": [],
  31273. "referencedDeclaration": -1,
  31274. "src": "20277:3:50",
  31275. "typeDescriptions": {
  31276. "typeIdentifier": "t_magic_abi",
  31277. "typeString": "abi"
  31278. }
  31279. },
  31280. "id": 9548,
  31281. "isConstant": false,
  31282. "isLValue": false,
  31283. "isPure": true,
  31284. "lValueRequested": false,
  31285. "memberLocation": "20281:19:50",
  31286. "memberName": "encodeWithSignature",
  31287. "nodeType": "MemberAccess",
  31288. "src": "20277:23:50",
  31289. "typeDescriptions": {
  31290. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  31291. "typeString": "function (string memory) pure returns (bytes memory)"
  31292. }
  31293. },
  31294. "id": 9554,
  31295. "isConstant": false,
  31296. "isLValue": false,
  31297. "isPure": false,
  31298. "kind": "functionCall",
  31299. "lValueRequested": false,
  31300. "nameLocations": [],
  31301. "names": [],
  31302. "nodeType": "FunctionCall",
  31303. "src": "20277:79:50",
  31304. "tryCall": false,
  31305. "typeDescriptions": {
  31306. "typeIdentifier": "t_bytes_memory_ptr",
  31307. "typeString": "bytes memory"
  31308. }
  31309. }
  31310. ],
  31311. "expression": {
  31312. "argumentTypes": [
  31313. {
  31314. "typeIdentifier": "t_bytes_memory_ptr",
  31315. "typeString": "bytes memory"
  31316. }
  31317. ],
  31318. "id": 9546,
  31319. "name": "_sendLogPayload",
  31320. "nodeType": "Identifier",
  31321. "overloadedDeclarations": [],
  31322. "referencedDeclaration": 7315,
  31323. "src": "20261:15:50",
  31324. "typeDescriptions": {
  31325. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  31326. "typeString": "function (bytes memory) pure"
  31327. }
  31328. },
  31329. "id": 9555,
  31330. "isConstant": false,
  31331. "isLValue": false,
  31332. "isPure": false,
  31333. "kind": "functionCall",
  31334. "lValueRequested": false,
  31335. "nameLocations": [],
  31336. "names": [],
  31337. "nodeType": "FunctionCall",
  31338. "src": "20261:96:50",
  31339. "tryCall": false,
  31340. "typeDescriptions": {
  31341. "typeIdentifier": "t_tuple$__$",
  31342. "typeString": "tuple()"
  31343. }
  31344. },
  31345. "id": 9556,
  31346. "nodeType": "ExpressionStatement",
  31347. "src": "20261:96:50"
  31348. }
  31349. ]
  31350. },
  31351. "implemented": true,
  31352. "kind": "function",
  31353. "modifiers": [],
  31354. "name": "log",
  31355. "nameLocation": "20185:3:50",
  31356. "parameters": {
  31357. "id": 9544,
  31358. "nodeType": "ParameterList",
  31359. "parameters": [
  31360. {
  31361. "constant": false,
  31362. "id": 9537,
  31363. "mutability": "mutable",
  31364. "name": "p0",
  31365. "nameLocation": "20197:2:50",
  31366. "nodeType": "VariableDeclaration",
  31367. "scope": 9558,
  31368. "src": "20189:10:50",
  31369. "stateVariable": false,
  31370. "storageLocation": "default",
  31371. "typeDescriptions": {
  31372. "typeIdentifier": "t_uint256",
  31373. "typeString": "uint256"
  31374. },
  31375. "typeName": {
  31376. "id": 9536,
  31377. "name": "uint256",
  31378. "nodeType": "ElementaryTypeName",
  31379. "src": "20189:7:50",
  31380. "typeDescriptions": {
  31381. "typeIdentifier": "t_uint256",
  31382. "typeString": "uint256"
  31383. }
  31384. },
  31385. "visibility": "internal"
  31386. },
  31387. {
  31388. "constant": false,
  31389. "id": 9539,
  31390. "mutability": "mutable",
  31391. "name": "p1",
  31392. "nameLocation": "20209:2:50",
  31393. "nodeType": "VariableDeclaration",
  31394. "scope": 9558,
  31395. "src": "20201:10:50",
  31396. "stateVariable": false,
  31397. "storageLocation": "default",
  31398. "typeDescriptions": {
  31399. "typeIdentifier": "t_uint256",
  31400. "typeString": "uint256"
  31401. },
  31402. "typeName": {
  31403. "id": 9538,
  31404. "name": "uint256",
  31405. "nodeType": "ElementaryTypeName",
  31406. "src": "20201:7:50",
  31407. "typeDescriptions": {
  31408. "typeIdentifier": "t_uint256",
  31409. "typeString": "uint256"
  31410. }
  31411. },
  31412. "visibility": "internal"
  31413. },
  31414. {
  31415. "constant": false,
  31416. "id": 9541,
  31417. "mutability": "mutable",
  31418. "name": "p2",
  31419. "nameLocation": "20221:2:50",
  31420. "nodeType": "VariableDeclaration",
  31421. "scope": 9558,
  31422. "src": "20213:10:50",
  31423. "stateVariable": false,
  31424. "storageLocation": "default",
  31425. "typeDescriptions": {
  31426. "typeIdentifier": "t_uint256",
  31427. "typeString": "uint256"
  31428. },
  31429. "typeName": {
  31430. "id": 9540,
  31431. "name": "uint256",
  31432. "nodeType": "ElementaryTypeName",
  31433. "src": "20213:7:50",
  31434. "typeDescriptions": {
  31435. "typeIdentifier": "t_uint256",
  31436. "typeString": "uint256"
  31437. }
  31438. },
  31439. "visibility": "internal"
  31440. },
  31441. {
  31442. "constant": false,
  31443. "id": 9543,
  31444. "mutability": "mutable",
  31445. "name": "p3",
  31446. "nameLocation": "20233:2:50",
  31447. "nodeType": "VariableDeclaration",
  31448. "scope": 9558,
  31449. "src": "20225:10:50",
  31450. "stateVariable": false,
  31451. "storageLocation": "default",
  31452. "typeDescriptions": {
  31453. "typeIdentifier": "t_address",
  31454. "typeString": "address"
  31455. },
  31456. "typeName": {
  31457. "id": 9542,
  31458. "name": "address",
  31459. "nodeType": "ElementaryTypeName",
  31460. "src": "20225:7:50",
  31461. "stateMutability": "nonpayable",
  31462. "typeDescriptions": {
  31463. "typeIdentifier": "t_address",
  31464. "typeString": "address"
  31465. }
  31466. },
  31467. "visibility": "internal"
  31468. }
  31469. ],
  31470. "src": "20188:48:50"
  31471. },
  31472. "returnParameters": {
  31473. "id": 9545,
  31474. "nodeType": "ParameterList",
  31475. "parameters": [],
  31476. "src": "20251:0:50"
  31477. },
  31478. "scope": 15355,
  31479. "stateMutability": "pure",
  31480. "virtual": false,
  31481. "visibility": "internal"
  31482. },
  31483. {
  31484. "id": 9581,
  31485. "nodeType": "FunctionDefinition",
  31486. "src": "20370:193:50",
  31487. "nodes": [],
  31488. "body": {
  31489. "id": 9580,
  31490. "nodeType": "Block",
  31491. "src": "20451:112:50",
  31492. "nodes": [],
  31493. "statements": [
  31494. {
  31495. "expression": {
  31496. "arguments": [
  31497. {
  31498. "arguments": [
  31499. {
  31500. "hexValue": "6c6f672875696e743235362c75696e743235362c737472696e672c75696e7432353629",
  31501. "id": 9572,
  31502. "isConstant": false,
  31503. "isLValue": false,
  31504. "isPure": true,
  31505. "kind": "string",
  31506. "lValueRequested": false,
  31507. "nodeType": "Literal",
  31508. "src": "20501:37:50",
  31509. "typeDescriptions": {
  31510. "typeIdentifier": "t_stringliteral_5da297eb5acf47b1a9c0089c080d654cc07f2a8c9aa94fc68af26a6405cde114",
  31511. "typeString": "literal_string \"log(uint256,uint256,string,uint256)\""
  31512. },
  31513. "value": "log(uint256,uint256,string,uint256)"
  31514. },
  31515. {
  31516. "id": 9573,
  31517. "name": "p0",
  31518. "nodeType": "Identifier",
  31519. "overloadedDeclarations": [],
  31520. "referencedDeclaration": 9560,
  31521. "src": "20540:2:50",
  31522. "typeDescriptions": {
  31523. "typeIdentifier": "t_uint256",
  31524. "typeString": "uint256"
  31525. }
  31526. },
  31527. {
  31528. "id": 9574,
  31529. "name": "p1",
  31530. "nodeType": "Identifier",
  31531. "overloadedDeclarations": [],
  31532. "referencedDeclaration": 9562,
  31533. "src": "20544:2:50",
  31534. "typeDescriptions": {
  31535. "typeIdentifier": "t_uint256",
  31536. "typeString": "uint256"
  31537. }
  31538. },
  31539. {
  31540. "id": 9575,
  31541. "name": "p2",
  31542. "nodeType": "Identifier",
  31543. "overloadedDeclarations": [],
  31544. "referencedDeclaration": 9564,
  31545. "src": "20548:2:50",
  31546. "typeDescriptions": {
  31547. "typeIdentifier": "t_string_memory_ptr",
  31548. "typeString": "string memory"
  31549. }
  31550. },
  31551. {
  31552. "id": 9576,
  31553. "name": "p3",
  31554. "nodeType": "Identifier",
  31555. "overloadedDeclarations": [],
  31556. "referencedDeclaration": 9566,
  31557. "src": "20552:2:50",
  31558. "typeDescriptions": {
  31559. "typeIdentifier": "t_uint256",
  31560. "typeString": "uint256"
  31561. }
  31562. }
  31563. ],
  31564. "expression": {
  31565. "argumentTypes": [
  31566. {
  31567. "typeIdentifier": "t_stringliteral_5da297eb5acf47b1a9c0089c080d654cc07f2a8c9aa94fc68af26a6405cde114",
  31568. "typeString": "literal_string \"log(uint256,uint256,string,uint256)\""
  31569. },
  31570. {
  31571. "typeIdentifier": "t_uint256",
  31572. "typeString": "uint256"
  31573. },
  31574. {
  31575. "typeIdentifier": "t_uint256",
  31576. "typeString": "uint256"
  31577. },
  31578. {
  31579. "typeIdentifier": "t_string_memory_ptr",
  31580. "typeString": "string memory"
  31581. },
  31582. {
  31583. "typeIdentifier": "t_uint256",
  31584. "typeString": "uint256"
  31585. }
  31586. ],
  31587. "expression": {
  31588. "id": 9570,
  31589. "name": "abi",
  31590. "nodeType": "Identifier",
  31591. "overloadedDeclarations": [],
  31592. "referencedDeclaration": -1,
  31593. "src": "20477:3:50",
  31594. "typeDescriptions": {
  31595. "typeIdentifier": "t_magic_abi",
  31596. "typeString": "abi"
  31597. }
  31598. },
  31599. "id": 9571,
  31600. "isConstant": false,
  31601. "isLValue": false,
  31602. "isPure": true,
  31603. "lValueRequested": false,
  31604. "memberLocation": "20481:19:50",
  31605. "memberName": "encodeWithSignature",
  31606. "nodeType": "MemberAccess",
  31607. "src": "20477:23:50",
  31608. "typeDescriptions": {
  31609. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  31610. "typeString": "function (string memory) pure returns (bytes memory)"
  31611. }
  31612. },
  31613. "id": 9577,
  31614. "isConstant": false,
  31615. "isLValue": false,
  31616. "isPure": false,
  31617. "kind": "functionCall",
  31618. "lValueRequested": false,
  31619. "nameLocations": [],
  31620. "names": [],
  31621. "nodeType": "FunctionCall",
  31622. "src": "20477:78:50",
  31623. "tryCall": false,
  31624. "typeDescriptions": {
  31625. "typeIdentifier": "t_bytes_memory_ptr",
  31626. "typeString": "bytes memory"
  31627. }
  31628. }
  31629. ],
  31630. "expression": {
  31631. "argumentTypes": [
  31632. {
  31633. "typeIdentifier": "t_bytes_memory_ptr",
  31634. "typeString": "bytes memory"
  31635. }
  31636. ],
  31637. "id": 9569,
  31638. "name": "_sendLogPayload",
  31639. "nodeType": "Identifier",
  31640. "overloadedDeclarations": [],
  31641. "referencedDeclaration": 7315,
  31642. "src": "20461:15:50",
  31643. "typeDescriptions": {
  31644. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  31645. "typeString": "function (bytes memory) pure"
  31646. }
  31647. },
  31648. "id": 9578,
  31649. "isConstant": false,
  31650. "isLValue": false,
  31651. "isPure": false,
  31652. "kind": "functionCall",
  31653. "lValueRequested": false,
  31654. "nameLocations": [],
  31655. "names": [],
  31656. "nodeType": "FunctionCall",
  31657. "src": "20461:95:50",
  31658. "tryCall": false,
  31659. "typeDescriptions": {
  31660. "typeIdentifier": "t_tuple$__$",
  31661. "typeString": "tuple()"
  31662. }
  31663. },
  31664. "id": 9579,
  31665. "nodeType": "ExpressionStatement",
  31666. "src": "20461:95:50"
  31667. }
  31668. ]
  31669. },
  31670. "implemented": true,
  31671. "kind": "function",
  31672. "modifiers": [],
  31673. "name": "log",
  31674. "nameLocation": "20379:3:50",
  31675. "parameters": {
  31676. "id": 9567,
  31677. "nodeType": "ParameterList",
  31678. "parameters": [
  31679. {
  31680. "constant": false,
  31681. "id": 9560,
  31682. "mutability": "mutable",
  31683. "name": "p0",
  31684. "nameLocation": "20391:2:50",
  31685. "nodeType": "VariableDeclaration",
  31686. "scope": 9581,
  31687. "src": "20383:10:50",
  31688. "stateVariable": false,
  31689. "storageLocation": "default",
  31690. "typeDescriptions": {
  31691. "typeIdentifier": "t_uint256",
  31692. "typeString": "uint256"
  31693. },
  31694. "typeName": {
  31695. "id": 9559,
  31696. "name": "uint256",
  31697. "nodeType": "ElementaryTypeName",
  31698. "src": "20383:7:50",
  31699. "typeDescriptions": {
  31700. "typeIdentifier": "t_uint256",
  31701. "typeString": "uint256"
  31702. }
  31703. },
  31704. "visibility": "internal"
  31705. },
  31706. {
  31707. "constant": false,
  31708. "id": 9562,
  31709. "mutability": "mutable",
  31710. "name": "p1",
  31711. "nameLocation": "20403:2:50",
  31712. "nodeType": "VariableDeclaration",
  31713. "scope": 9581,
  31714. "src": "20395:10:50",
  31715. "stateVariable": false,
  31716. "storageLocation": "default",
  31717. "typeDescriptions": {
  31718. "typeIdentifier": "t_uint256",
  31719. "typeString": "uint256"
  31720. },
  31721. "typeName": {
  31722. "id": 9561,
  31723. "name": "uint256",
  31724. "nodeType": "ElementaryTypeName",
  31725. "src": "20395:7:50",
  31726. "typeDescriptions": {
  31727. "typeIdentifier": "t_uint256",
  31728. "typeString": "uint256"
  31729. }
  31730. },
  31731. "visibility": "internal"
  31732. },
  31733. {
  31734. "constant": false,
  31735. "id": 9564,
  31736. "mutability": "mutable",
  31737. "name": "p2",
  31738. "nameLocation": "20421:2:50",
  31739. "nodeType": "VariableDeclaration",
  31740. "scope": 9581,
  31741. "src": "20407:16:50",
  31742. "stateVariable": false,
  31743. "storageLocation": "memory",
  31744. "typeDescriptions": {
  31745. "typeIdentifier": "t_string_memory_ptr",
  31746. "typeString": "string"
  31747. },
  31748. "typeName": {
  31749. "id": 9563,
  31750. "name": "string",
  31751. "nodeType": "ElementaryTypeName",
  31752. "src": "20407:6:50",
  31753. "typeDescriptions": {
  31754. "typeIdentifier": "t_string_storage_ptr",
  31755. "typeString": "string"
  31756. }
  31757. },
  31758. "visibility": "internal"
  31759. },
  31760. {
  31761. "constant": false,
  31762. "id": 9566,
  31763. "mutability": "mutable",
  31764. "name": "p3",
  31765. "nameLocation": "20433:2:50",
  31766. "nodeType": "VariableDeclaration",
  31767. "scope": 9581,
  31768. "src": "20425:10:50",
  31769. "stateVariable": false,
  31770. "storageLocation": "default",
  31771. "typeDescriptions": {
  31772. "typeIdentifier": "t_uint256",
  31773. "typeString": "uint256"
  31774. },
  31775. "typeName": {
  31776. "id": 9565,
  31777. "name": "uint256",
  31778. "nodeType": "ElementaryTypeName",
  31779. "src": "20425:7:50",
  31780. "typeDescriptions": {
  31781. "typeIdentifier": "t_uint256",
  31782. "typeString": "uint256"
  31783. }
  31784. },
  31785. "visibility": "internal"
  31786. }
  31787. ],
  31788. "src": "20382:54:50"
  31789. },
  31790. "returnParameters": {
  31791. "id": 9568,
  31792. "nodeType": "ParameterList",
  31793. "parameters": [],
  31794. "src": "20451:0:50"
  31795. },
  31796. "scope": 15355,
  31797. "stateMutability": "pure",
  31798. "virtual": false,
  31799. "visibility": "internal"
  31800. },
  31801. {
  31802. "id": 9604,
  31803. "nodeType": "FunctionDefinition",
  31804. "src": "20569:198:50",
  31805. "nodes": [],
  31806. "body": {
  31807. "id": 9603,
  31808. "nodeType": "Block",
  31809. "src": "20656:111:50",
  31810. "nodes": [],
  31811. "statements": [
  31812. {
  31813. "expression": {
  31814. "arguments": [
  31815. {
  31816. "arguments": [
  31817. {
  31818. "hexValue": "6c6f672875696e743235362c75696e743235362c737472696e672c737472696e6729",
  31819. "id": 9595,
  31820. "isConstant": false,
  31821. "isLValue": false,
  31822. "isPure": true,
  31823. "kind": "string",
  31824. "lValueRequested": false,
  31825. "nodeType": "Literal",
  31826. "src": "20706:36:50",
  31827. "typeDescriptions": {
  31828. "typeIdentifier": "t_stringliteral_27d8afd2525217fff7302dbf79acc81edc09cb300d94f2503a4fb8a8115910e0",
  31829. "typeString": "literal_string \"log(uint256,uint256,string,string)\""
  31830. },
  31831. "value": "log(uint256,uint256,string,string)"
  31832. },
  31833. {
  31834. "id": 9596,
  31835. "name": "p0",
  31836. "nodeType": "Identifier",
  31837. "overloadedDeclarations": [],
  31838. "referencedDeclaration": 9583,
  31839. "src": "20744:2:50",
  31840. "typeDescriptions": {
  31841. "typeIdentifier": "t_uint256",
  31842. "typeString": "uint256"
  31843. }
  31844. },
  31845. {
  31846. "id": 9597,
  31847. "name": "p1",
  31848. "nodeType": "Identifier",
  31849. "overloadedDeclarations": [],
  31850. "referencedDeclaration": 9585,
  31851. "src": "20748:2:50",
  31852. "typeDescriptions": {
  31853. "typeIdentifier": "t_uint256",
  31854. "typeString": "uint256"
  31855. }
  31856. },
  31857. {
  31858. "id": 9598,
  31859. "name": "p2",
  31860. "nodeType": "Identifier",
  31861. "overloadedDeclarations": [],
  31862. "referencedDeclaration": 9587,
  31863. "src": "20752:2:50",
  31864. "typeDescriptions": {
  31865. "typeIdentifier": "t_string_memory_ptr",
  31866. "typeString": "string memory"
  31867. }
  31868. },
  31869. {
  31870. "id": 9599,
  31871. "name": "p3",
  31872. "nodeType": "Identifier",
  31873. "overloadedDeclarations": [],
  31874. "referencedDeclaration": 9589,
  31875. "src": "20756:2:50",
  31876. "typeDescriptions": {
  31877. "typeIdentifier": "t_string_memory_ptr",
  31878. "typeString": "string memory"
  31879. }
  31880. }
  31881. ],
  31882. "expression": {
  31883. "argumentTypes": [
  31884. {
  31885. "typeIdentifier": "t_stringliteral_27d8afd2525217fff7302dbf79acc81edc09cb300d94f2503a4fb8a8115910e0",
  31886. "typeString": "literal_string \"log(uint256,uint256,string,string)\""
  31887. },
  31888. {
  31889. "typeIdentifier": "t_uint256",
  31890. "typeString": "uint256"
  31891. },
  31892. {
  31893. "typeIdentifier": "t_uint256",
  31894. "typeString": "uint256"
  31895. },
  31896. {
  31897. "typeIdentifier": "t_string_memory_ptr",
  31898. "typeString": "string memory"
  31899. },
  31900. {
  31901. "typeIdentifier": "t_string_memory_ptr",
  31902. "typeString": "string memory"
  31903. }
  31904. ],
  31905. "expression": {
  31906. "id": 9593,
  31907. "name": "abi",
  31908. "nodeType": "Identifier",
  31909. "overloadedDeclarations": [],
  31910. "referencedDeclaration": -1,
  31911. "src": "20682:3:50",
  31912. "typeDescriptions": {
  31913. "typeIdentifier": "t_magic_abi",
  31914. "typeString": "abi"
  31915. }
  31916. },
  31917. "id": 9594,
  31918. "isConstant": false,
  31919. "isLValue": false,
  31920. "isPure": true,
  31921. "lValueRequested": false,
  31922. "memberLocation": "20686:19:50",
  31923. "memberName": "encodeWithSignature",
  31924. "nodeType": "MemberAccess",
  31925. "src": "20682:23:50",
  31926. "typeDescriptions": {
  31927. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  31928. "typeString": "function (string memory) pure returns (bytes memory)"
  31929. }
  31930. },
  31931. "id": 9600,
  31932. "isConstant": false,
  31933. "isLValue": false,
  31934. "isPure": false,
  31935. "kind": "functionCall",
  31936. "lValueRequested": false,
  31937. "nameLocations": [],
  31938. "names": [],
  31939. "nodeType": "FunctionCall",
  31940. "src": "20682:77:50",
  31941. "tryCall": false,
  31942. "typeDescriptions": {
  31943. "typeIdentifier": "t_bytes_memory_ptr",
  31944. "typeString": "bytes memory"
  31945. }
  31946. }
  31947. ],
  31948. "expression": {
  31949. "argumentTypes": [
  31950. {
  31951. "typeIdentifier": "t_bytes_memory_ptr",
  31952. "typeString": "bytes memory"
  31953. }
  31954. ],
  31955. "id": 9592,
  31956. "name": "_sendLogPayload",
  31957. "nodeType": "Identifier",
  31958. "overloadedDeclarations": [],
  31959. "referencedDeclaration": 7315,
  31960. "src": "20666:15:50",
  31961. "typeDescriptions": {
  31962. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  31963. "typeString": "function (bytes memory) pure"
  31964. }
  31965. },
  31966. "id": 9601,
  31967. "isConstant": false,
  31968. "isLValue": false,
  31969. "isPure": false,
  31970. "kind": "functionCall",
  31971. "lValueRequested": false,
  31972. "nameLocations": [],
  31973. "names": [],
  31974. "nodeType": "FunctionCall",
  31975. "src": "20666:94:50",
  31976. "tryCall": false,
  31977. "typeDescriptions": {
  31978. "typeIdentifier": "t_tuple$__$",
  31979. "typeString": "tuple()"
  31980. }
  31981. },
  31982. "id": 9602,
  31983. "nodeType": "ExpressionStatement",
  31984. "src": "20666:94:50"
  31985. }
  31986. ]
  31987. },
  31988. "implemented": true,
  31989. "kind": "function",
  31990. "modifiers": [],
  31991. "name": "log",
  31992. "nameLocation": "20578:3:50",
  31993. "parameters": {
  31994. "id": 9590,
  31995. "nodeType": "ParameterList",
  31996. "parameters": [
  31997. {
  31998. "constant": false,
  31999. "id": 9583,
  32000. "mutability": "mutable",
  32001. "name": "p0",
  32002. "nameLocation": "20590:2:50",
  32003. "nodeType": "VariableDeclaration",
  32004. "scope": 9604,
  32005. "src": "20582:10:50",
  32006. "stateVariable": false,
  32007. "storageLocation": "default",
  32008. "typeDescriptions": {
  32009. "typeIdentifier": "t_uint256",
  32010. "typeString": "uint256"
  32011. },
  32012. "typeName": {
  32013. "id": 9582,
  32014. "name": "uint256",
  32015. "nodeType": "ElementaryTypeName",
  32016. "src": "20582:7:50",
  32017. "typeDescriptions": {
  32018. "typeIdentifier": "t_uint256",
  32019. "typeString": "uint256"
  32020. }
  32021. },
  32022. "visibility": "internal"
  32023. },
  32024. {
  32025. "constant": false,
  32026. "id": 9585,
  32027. "mutability": "mutable",
  32028. "name": "p1",
  32029. "nameLocation": "20602:2:50",
  32030. "nodeType": "VariableDeclaration",
  32031. "scope": 9604,
  32032. "src": "20594:10:50",
  32033. "stateVariable": false,
  32034. "storageLocation": "default",
  32035. "typeDescriptions": {
  32036. "typeIdentifier": "t_uint256",
  32037. "typeString": "uint256"
  32038. },
  32039. "typeName": {
  32040. "id": 9584,
  32041. "name": "uint256",
  32042. "nodeType": "ElementaryTypeName",
  32043. "src": "20594:7:50",
  32044. "typeDescriptions": {
  32045. "typeIdentifier": "t_uint256",
  32046. "typeString": "uint256"
  32047. }
  32048. },
  32049. "visibility": "internal"
  32050. },
  32051. {
  32052. "constant": false,
  32053. "id": 9587,
  32054. "mutability": "mutable",
  32055. "name": "p2",
  32056. "nameLocation": "20620:2:50",
  32057. "nodeType": "VariableDeclaration",
  32058. "scope": 9604,
  32059. "src": "20606:16:50",
  32060. "stateVariable": false,
  32061. "storageLocation": "memory",
  32062. "typeDescriptions": {
  32063. "typeIdentifier": "t_string_memory_ptr",
  32064. "typeString": "string"
  32065. },
  32066. "typeName": {
  32067. "id": 9586,
  32068. "name": "string",
  32069. "nodeType": "ElementaryTypeName",
  32070. "src": "20606:6:50",
  32071. "typeDescriptions": {
  32072. "typeIdentifier": "t_string_storage_ptr",
  32073. "typeString": "string"
  32074. }
  32075. },
  32076. "visibility": "internal"
  32077. },
  32078. {
  32079. "constant": false,
  32080. "id": 9589,
  32081. "mutability": "mutable",
  32082. "name": "p3",
  32083. "nameLocation": "20638:2:50",
  32084. "nodeType": "VariableDeclaration",
  32085. "scope": 9604,
  32086. "src": "20624:16:50",
  32087. "stateVariable": false,
  32088. "storageLocation": "memory",
  32089. "typeDescriptions": {
  32090. "typeIdentifier": "t_string_memory_ptr",
  32091. "typeString": "string"
  32092. },
  32093. "typeName": {
  32094. "id": 9588,
  32095. "name": "string",
  32096. "nodeType": "ElementaryTypeName",
  32097. "src": "20624:6:50",
  32098. "typeDescriptions": {
  32099. "typeIdentifier": "t_string_storage_ptr",
  32100. "typeString": "string"
  32101. }
  32102. },
  32103. "visibility": "internal"
  32104. }
  32105. ],
  32106. "src": "20581:60:50"
  32107. },
  32108. "returnParameters": {
  32109. "id": 9591,
  32110. "nodeType": "ParameterList",
  32111. "parameters": [],
  32112. "src": "20656:0:50"
  32113. },
  32114. "scope": 15355,
  32115. "stateMutability": "pure",
  32116. "virtual": false,
  32117. "visibility": "internal"
  32118. },
  32119. {
  32120. "id": 9627,
  32121. "nodeType": "FunctionDefinition",
  32122. "src": "20773:187:50",
  32123. "nodes": [],
  32124. "body": {
  32125. "id": 9626,
  32126. "nodeType": "Block",
  32127. "src": "20851:109:50",
  32128. "nodes": [],
  32129. "statements": [
  32130. {
  32131. "expression": {
  32132. "arguments": [
  32133. {
  32134. "arguments": [
  32135. {
  32136. "hexValue": "6c6f672875696e743235362c75696e743235362c737472696e672c626f6f6c29",
  32137. "id": 9618,
  32138. "isConstant": false,
  32139. "isLValue": false,
  32140. "isPure": true,
  32141. "kind": "string",
  32142. "lValueRequested": false,
  32143. "nodeType": "Literal",
  32144. "src": "20901:34:50",
  32145. "typeDescriptions": {
  32146. "typeIdentifier": "t_stringliteral_7af6ab2578caf14043420c6b292dcb787d09d31b13365d7673f201f9b2e310c9",
  32147. "typeString": "literal_string \"log(uint256,uint256,string,bool)\""
  32148. },
  32149. "value": "log(uint256,uint256,string,bool)"
  32150. },
  32151. {
  32152. "id": 9619,
  32153. "name": "p0",
  32154. "nodeType": "Identifier",
  32155. "overloadedDeclarations": [],
  32156. "referencedDeclaration": 9606,
  32157. "src": "20937:2:50",
  32158. "typeDescriptions": {
  32159. "typeIdentifier": "t_uint256",
  32160. "typeString": "uint256"
  32161. }
  32162. },
  32163. {
  32164. "id": 9620,
  32165. "name": "p1",
  32166. "nodeType": "Identifier",
  32167. "overloadedDeclarations": [],
  32168. "referencedDeclaration": 9608,
  32169. "src": "20941:2:50",
  32170. "typeDescriptions": {
  32171. "typeIdentifier": "t_uint256",
  32172. "typeString": "uint256"
  32173. }
  32174. },
  32175. {
  32176. "id": 9621,
  32177. "name": "p2",
  32178. "nodeType": "Identifier",
  32179. "overloadedDeclarations": [],
  32180. "referencedDeclaration": 9610,
  32181. "src": "20945:2:50",
  32182. "typeDescriptions": {
  32183. "typeIdentifier": "t_string_memory_ptr",
  32184. "typeString": "string memory"
  32185. }
  32186. },
  32187. {
  32188. "id": 9622,
  32189. "name": "p3",
  32190. "nodeType": "Identifier",
  32191. "overloadedDeclarations": [],
  32192. "referencedDeclaration": 9612,
  32193. "src": "20949:2:50",
  32194. "typeDescriptions": {
  32195. "typeIdentifier": "t_bool",
  32196. "typeString": "bool"
  32197. }
  32198. }
  32199. ],
  32200. "expression": {
  32201. "argumentTypes": [
  32202. {
  32203. "typeIdentifier": "t_stringliteral_7af6ab2578caf14043420c6b292dcb787d09d31b13365d7673f201f9b2e310c9",
  32204. "typeString": "literal_string \"log(uint256,uint256,string,bool)\""
  32205. },
  32206. {
  32207. "typeIdentifier": "t_uint256",
  32208. "typeString": "uint256"
  32209. },
  32210. {
  32211. "typeIdentifier": "t_uint256",
  32212. "typeString": "uint256"
  32213. },
  32214. {
  32215. "typeIdentifier": "t_string_memory_ptr",
  32216. "typeString": "string memory"
  32217. },
  32218. {
  32219. "typeIdentifier": "t_bool",
  32220. "typeString": "bool"
  32221. }
  32222. ],
  32223. "expression": {
  32224. "id": 9616,
  32225. "name": "abi",
  32226. "nodeType": "Identifier",
  32227. "overloadedDeclarations": [],
  32228. "referencedDeclaration": -1,
  32229. "src": "20877:3:50",
  32230. "typeDescriptions": {
  32231. "typeIdentifier": "t_magic_abi",
  32232. "typeString": "abi"
  32233. }
  32234. },
  32235. "id": 9617,
  32236. "isConstant": false,
  32237. "isLValue": false,
  32238. "isPure": true,
  32239. "lValueRequested": false,
  32240. "memberLocation": "20881:19:50",
  32241. "memberName": "encodeWithSignature",
  32242. "nodeType": "MemberAccess",
  32243. "src": "20877:23:50",
  32244. "typeDescriptions": {
  32245. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  32246. "typeString": "function (string memory) pure returns (bytes memory)"
  32247. }
  32248. },
  32249. "id": 9623,
  32250. "isConstant": false,
  32251. "isLValue": false,
  32252. "isPure": false,
  32253. "kind": "functionCall",
  32254. "lValueRequested": false,
  32255. "nameLocations": [],
  32256. "names": [],
  32257. "nodeType": "FunctionCall",
  32258. "src": "20877:75:50",
  32259. "tryCall": false,
  32260. "typeDescriptions": {
  32261. "typeIdentifier": "t_bytes_memory_ptr",
  32262. "typeString": "bytes memory"
  32263. }
  32264. }
  32265. ],
  32266. "expression": {
  32267. "argumentTypes": [
  32268. {
  32269. "typeIdentifier": "t_bytes_memory_ptr",
  32270. "typeString": "bytes memory"
  32271. }
  32272. ],
  32273. "id": 9615,
  32274. "name": "_sendLogPayload",
  32275. "nodeType": "Identifier",
  32276. "overloadedDeclarations": [],
  32277. "referencedDeclaration": 7315,
  32278. "src": "20861:15:50",
  32279. "typeDescriptions": {
  32280. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  32281. "typeString": "function (bytes memory) pure"
  32282. }
  32283. },
  32284. "id": 9624,
  32285. "isConstant": false,
  32286. "isLValue": false,
  32287. "isPure": false,
  32288. "kind": "functionCall",
  32289. "lValueRequested": false,
  32290. "nameLocations": [],
  32291. "names": [],
  32292. "nodeType": "FunctionCall",
  32293. "src": "20861:92:50",
  32294. "tryCall": false,
  32295. "typeDescriptions": {
  32296. "typeIdentifier": "t_tuple$__$",
  32297. "typeString": "tuple()"
  32298. }
  32299. },
  32300. "id": 9625,
  32301. "nodeType": "ExpressionStatement",
  32302. "src": "20861:92:50"
  32303. }
  32304. ]
  32305. },
  32306. "implemented": true,
  32307. "kind": "function",
  32308. "modifiers": [],
  32309. "name": "log",
  32310. "nameLocation": "20782:3:50",
  32311. "parameters": {
  32312. "id": 9613,
  32313. "nodeType": "ParameterList",
  32314. "parameters": [
  32315. {
  32316. "constant": false,
  32317. "id": 9606,
  32318. "mutability": "mutable",
  32319. "name": "p0",
  32320. "nameLocation": "20794:2:50",
  32321. "nodeType": "VariableDeclaration",
  32322. "scope": 9627,
  32323. "src": "20786:10:50",
  32324. "stateVariable": false,
  32325. "storageLocation": "default",
  32326. "typeDescriptions": {
  32327. "typeIdentifier": "t_uint256",
  32328. "typeString": "uint256"
  32329. },
  32330. "typeName": {
  32331. "id": 9605,
  32332. "name": "uint256",
  32333. "nodeType": "ElementaryTypeName",
  32334. "src": "20786:7:50",
  32335. "typeDescriptions": {
  32336. "typeIdentifier": "t_uint256",
  32337. "typeString": "uint256"
  32338. }
  32339. },
  32340. "visibility": "internal"
  32341. },
  32342. {
  32343. "constant": false,
  32344. "id": 9608,
  32345. "mutability": "mutable",
  32346. "name": "p1",
  32347. "nameLocation": "20806:2:50",
  32348. "nodeType": "VariableDeclaration",
  32349. "scope": 9627,
  32350. "src": "20798:10:50",
  32351. "stateVariable": false,
  32352. "storageLocation": "default",
  32353. "typeDescriptions": {
  32354. "typeIdentifier": "t_uint256",
  32355. "typeString": "uint256"
  32356. },
  32357. "typeName": {
  32358. "id": 9607,
  32359. "name": "uint256",
  32360. "nodeType": "ElementaryTypeName",
  32361. "src": "20798:7:50",
  32362. "typeDescriptions": {
  32363. "typeIdentifier": "t_uint256",
  32364. "typeString": "uint256"
  32365. }
  32366. },
  32367. "visibility": "internal"
  32368. },
  32369. {
  32370. "constant": false,
  32371. "id": 9610,
  32372. "mutability": "mutable",
  32373. "name": "p2",
  32374. "nameLocation": "20824:2:50",
  32375. "nodeType": "VariableDeclaration",
  32376. "scope": 9627,
  32377. "src": "20810:16:50",
  32378. "stateVariable": false,
  32379. "storageLocation": "memory",
  32380. "typeDescriptions": {
  32381. "typeIdentifier": "t_string_memory_ptr",
  32382. "typeString": "string"
  32383. },
  32384. "typeName": {
  32385. "id": 9609,
  32386. "name": "string",
  32387. "nodeType": "ElementaryTypeName",
  32388. "src": "20810:6:50",
  32389. "typeDescriptions": {
  32390. "typeIdentifier": "t_string_storage_ptr",
  32391. "typeString": "string"
  32392. }
  32393. },
  32394. "visibility": "internal"
  32395. },
  32396. {
  32397. "constant": false,
  32398. "id": 9612,
  32399. "mutability": "mutable",
  32400. "name": "p3",
  32401. "nameLocation": "20833:2:50",
  32402. "nodeType": "VariableDeclaration",
  32403. "scope": 9627,
  32404. "src": "20828:7:50",
  32405. "stateVariable": false,
  32406. "storageLocation": "default",
  32407. "typeDescriptions": {
  32408. "typeIdentifier": "t_bool",
  32409. "typeString": "bool"
  32410. },
  32411. "typeName": {
  32412. "id": 9611,
  32413. "name": "bool",
  32414. "nodeType": "ElementaryTypeName",
  32415. "src": "20828:4:50",
  32416. "typeDescriptions": {
  32417. "typeIdentifier": "t_bool",
  32418. "typeString": "bool"
  32419. }
  32420. },
  32421. "visibility": "internal"
  32422. }
  32423. ],
  32424. "src": "20785:51:50"
  32425. },
  32426. "returnParameters": {
  32427. "id": 9614,
  32428. "nodeType": "ParameterList",
  32429. "parameters": [],
  32430. "src": "20851:0:50"
  32431. },
  32432. "scope": 15355,
  32433. "stateMutability": "pure",
  32434. "virtual": false,
  32435. "visibility": "internal"
  32436. },
  32437. {
  32438. "id": 9650,
  32439. "nodeType": "FunctionDefinition",
  32440. "src": "20966:193:50",
  32441. "nodes": [],
  32442. "body": {
  32443. "id": 9649,
  32444. "nodeType": "Block",
  32445. "src": "21047:112:50",
  32446. "nodes": [],
  32447. "statements": [
  32448. {
  32449. "expression": {
  32450. "arguments": [
  32451. {
  32452. "arguments": [
  32453. {
  32454. "hexValue": "6c6f672875696e743235362c75696e743235362c737472696e672c6164647265737329",
  32455. "id": 9641,
  32456. "isConstant": false,
  32457. "isLValue": false,
  32458. "isPure": true,
  32459. "kind": "string",
  32460. "lValueRequested": false,
  32461. "nodeType": "Literal",
  32462. "src": "21097:37:50",
  32463. "typeDescriptions": {
  32464. "typeIdentifier": "t_stringliteral_42d21db701843c064ab7fb7cddd0cda130fcc29c7289dd90519dfea1322b1a53",
  32465. "typeString": "literal_string \"log(uint256,uint256,string,address)\""
  32466. },
  32467. "value": "log(uint256,uint256,string,address)"
  32468. },
  32469. {
  32470. "id": 9642,
  32471. "name": "p0",
  32472. "nodeType": "Identifier",
  32473. "overloadedDeclarations": [],
  32474. "referencedDeclaration": 9629,
  32475. "src": "21136:2:50",
  32476. "typeDescriptions": {
  32477. "typeIdentifier": "t_uint256",
  32478. "typeString": "uint256"
  32479. }
  32480. },
  32481. {
  32482. "id": 9643,
  32483. "name": "p1",
  32484. "nodeType": "Identifier",
  32485. "overloadedDeclarations": [],
  32486. "referencedDeclaration": 9631,
  32487. "src": "21140:2:50",
  32488. "typeDescriptions": {
  32489. "typeIdentifier": "t_uint256",
  32490. "typeString": "uint256"
  32491. }
  32492. },
  32493. {
  32494. "id": 9644,
  32495. "name": "p2",
  32496. "nodeType": "Identifier",
  32497. "overloadedDeclarations": [],
  32498. "referencedDeclaration": 9633,
  32499. "src": "21144:2:50",
  32500. "typeDescriptions": {
  32501. "typeIdentifier": "t_string_memory_ptr",
  32502. "typeString": "string memory"
  32503. }
  32504. },
  32505. {
  32506. "id": 9645,
  32507. "name": "p3",
  32508. "nodeType": "Identifier",
  32509. "overloadedDeclarations": [],
  32510. "referencedDeclaration": 9635,
  32511. "src": "21148:2:50",
  32512. "typeDescriptions": {
  32513. "typeIdentifier": "t_address",
  32514. "typeString": "address"
  32515. }
  32516. }
  32517. ],
  32518. "expression": {
  32519. "argumentTypes": [
  32520. {
  32521. "typeIdentifier": "t_stringliteral_42d21db701843c064ab7fb7cddd0cda130fcc29c7289dd90519dfea1322b1a53",
  32522. "typeString": "literal_string \"log(uint256,uint256,string,address)\""
  32523. },
  32524. {
  32525. "typeIdentifier": "t_uint256",
  32526. "typeString": "uint256"
  32527. },
  32528. {
  32529. "typeIdentifier": "t_uint256",
  32530. "typeString": "uint256"
  32531. },
  32532. {
  32533. "typeIdentifier": "t_string_memory_ptr",
  32534. "typeString": "string memory"
  32535. },
  32536. {
  32537. "typeIdentifier": "t_address",
  32538. "typeString": "address"
  32539. }
  32540. ],
  32541. "expression": {
  32542. "id": 9639,
  32543. "name": "abi",
  32544. "nodeType": "Identifier",
  32545. "overloadedDeclarations": [],
  32546. "referencedDeclaration": -1,
  32547. "src": "21073:3:50",
  32548. "typeDescriptions": {
  32549. "typeIdentifier": "t_magic_abi",
  32550. "typeString": "abi"
  32551. }
  32552. },
  32553. "id": 9640,
  32554. "isConstant": false,
  32555. "isLValue": false,
  32556. "isPure": true,
  32557. "lValueRequested": false,
  32558. "memberLocation": "21077:19:50",
  32559. "memberName": "encodeWithSignature",
  32560. "nodeType": "MemberAccess",
  32561. "src": "21073:23:50",
  32562. "typeDescriptions": {
  32563. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  32564. "typeString": "function (string memory) pure returns (bytes memory)"
  32565. }
  32566. },
  32567. "id": 9646,
  32568. "isConstant": false,
  32569. "isLValue": false,
  32570. "isPure": false,
  32571. "kind": "functionCall",
  32572. "lValueRequested": false,
  32573. "nameLocations": [],
  32574. "names": [],
  32575. "nodeType": "FunctionCall",
  32576. "src": "21073:78:50",
  32577. "tryCall": false,
  32578. "typeDescriptions": {
  32579. "typeIdentifier": "t_bytes_memory_ptr",
  32580. "typeString": "bytes memory"
  32581. }
  32582. }
  32583. ],
  32584. "expression": {
  32585. "argumentTypes": [
  32586. {
  32587. "typeIdentifier": "t_bytes_memory_ptr",
  32588. "typeString": "bytes memory"
  32589. }
  32590. ],
  32591. "id": 9638,
  32592. "name": "_sendLogPayload",
  32593. "nodeType": "Identifier",
  32594. "overloadedDeclarations": [],
  32595. "referencedDeclaration": 7315,
  32596. "src": "21057:15:50",
  32597. "typeDescriptions": {
  32598. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  32599. "typeString": "function (bytes memory) pure"
  32600. }
  32601. },
  32602. "id": 9647,
  32603. "isConstant": false,
  32604. "isLValue": false,
  32605. "isPure": false,
  32606. "kind": "functionCall",
  32607. "lValueRequested": false,
  32608. "nameLocations": [],
  32609. "names": [],
  32610. "nodeType": "FunctionCall",
  32611. "src": "21057:95:50",
  32612. "tryCall": false,
  32613. "typeDescriptions": {
  32614. "typeIdentifier": "t_tuple$__$",
  32615. "typeString": "tuple()"
  32616. }
  32617. },
  32618. "id": 9648,
  32619. "nodeType": "ExpressionStatement",
  32620. "src": "21057:95:50"
  32621. }
  32622. ]
  32623. },
  32624. "implemented": true,
  32625. "kind": "function",
  32626. "modifiers": [],
  32627. "name": "log",
  32628. "nameLocation": "20975:3:50",
  32629. "parameters": {
  32630. "id": 9636,
  32631. "nodeType": "ParameterList",
  32632. "parameters": [
  32633. {
  32634. "constant": false,
  32635. "id": 9629,
  32636. "mutability": "mutable",
  32637. "name": "p0",
  32638. "nameLocation": "20987:2:50",
  32639. "nodeType": "VariableDeclaration",
  32640. "scope": 9650,
  32641. "src": "20979:10:50",
  32642. "stateVariable": false,
  32643. "storageLocation": "default",
  32644. "typeDescriptions": {
  32645. "typeIdentifier": "t_uint256",
  32646. "typeString": "uint256"
  32647. },
  32648. "typeName": {
  32649. "id": 9628,
  32650. "name": "uint256",
  32651. "nodeType": "ElementaryTypeName",
  32652. "src": "20979:7:50",
  32653. "typeDescriptions": {
  32654. "typeIdentifier": "t_uint256",
  32655. "typeString": "uint256"
  32656. }
  32657. },
  32658. "visibility": "internal"
  32659. },
  32660. {
  32661. "constant": false,
  32662. "id": 9631,
  32663. "mutability": "mutable",
  32664. "name": "p1",
  32665. "nameLocation": "20999:2:50",
  32666. "nodeType": "VariableDeclaration",
  32667. "scope": 9650,
  32668. "src": "20991:10:50",
  32669. "stateVariable": false,
  32670. "storageLocation": "default",
  32671. "typeDescriptions": {
  32672. "typeIdentifier": "t_uint256",
  32673. "typeString": "uint256"
  32674. },
  32675. "typeName": {
  32676. "id": 9630,
  32677. "name": "uint256",
  32678. "nodeType": "ElementaryTypeName",
  32679. "src": "20991:7:50",
  32680. "typeDescriptions": {
  32681. "typeIdentifier": "t_uint256",
  32682. "typeString": "uint256"
  32683. }
  32684. },
  32685. "visibility": "internal"
  32686. },
  32687. {
  32688. "constant": false,
  32689. "id": 9633,
  32690. "mutability": "mutable",
  32691. "name": "p2",
  32692. "nameLocation": "21017:2:50",
  32693. "nodeType": "VariableDeclaration",
  32694. "scope": 9650,
  32695. "src": "21003:16:50",
  32696. "stateVariable": false,
  32697. "storageLocation": "memory",
  32698. "typeDescriptions": {
  32699. "typeIdentifier": "t_string_memory_ptr",
  32700. "typeString": "string"
  32701. },
  32702. "typeName": {
  32703. "id": 9632,
  32704. "name": "string",
  32705. "nodeType": "ElementaryTypeName",
  32706. "src": "21003:6:50",
  32707. "typeDescriptions": {
  32708. "typeIdentifier": "t_string_storage_ptr",
  32709. "typeString": "string"
  32710. }
  32711. },
  32712. "visibility": "internal"
  32713. },
  32714. {
  32715. "constant": false,
  32716. "id": 9635,
  32717. "mutability": "mutable",
  32718. "name": "p3",
  32719. "nameLocation": "21029:2:50",
  32720. "nodeType": "VariableDeclaration",
  32721. "scope": 9650,
  32722. "src": "21021:10:50",
  32723. "stateVariable": false,
  32724. "storageLocation": "default",
  32725. "typeDescriptions": {
  32726. "typeIdentifier": "t_address",
  32727. "typeString": "address"
  32728. },
  32729. "typeName": {
  32730. "id": 9634,
  32731. "name": "address",
  32732. "nodeType": "ElementaryTypeName",
  32733. "src": "21021:7:50",
  32734. "stateMutability": "nonpayable",
  32735. "typeDescriptions": {
  32736. "typeIdentifier": "t_address",
  32737. "typeString": "address"
  32738. }
  32739. },
  32740. "visibility": "internal"
  32741. }
  32742. ],
  32743. "src": "20978:54:50"
  32744. },
  32745. "returnParameters": {
  32746. "id": 9637,
  32747. "nodeType": "ParameterList",
  32748. "parameters": [],
  32749. "src": "21047:0:50"
  32750. },
  32751. "scope": 15355,
  32752. "stateMutability": "pure",
  32753. "virtual": false,
  32754. "visibility": "internal"
  32755. },
  32756. {
  32757. "id": 9673,
  32758. "nodeType": "FunctionDefinition",
  32759. "src": "21165:182:50",
  32760. "nodes": [],
  32761. "body": {
  32762. "id": 9672,
  32763. "nodeType": "Block",
  32764. "src": "21237:110:50",
  32765. "nodes": [],
  32766. "statements": [
  32767. {
  32768. "expression": {
  32769. "arguments": [
  32770. {
  32771. "arguments": [
  32772. {
  32773. "hexValue": "6c6f672875696e743235362c75696e743235362c626f6f6c2c75696e7432353629",
  32774. "id": 9664,
  32775. "isConstant": false,
  32776. "isLValue": false,
  32777. "isPure": true,
  32778. "kind": "string",
  32779. "lValueRequested": false,
  32780. "nodeType": "Literal",
  32781. "src": "21287:35:50",
  32782. "typeDescriptions": {
  32783. "typeIdentifier": "t_stringliteral_eb7f6fd2c2005d3f08b2528135265cced621d1abf62716b05a9b62bc732577fd",
  32784. "typeString": "literal_string \"log(uint256,uint256,bool,uint256)\""
  32785. },
  32786. "value": "log(uint256,uint256,bool,uint256)"
  32787. },
  32788. {
  32789. "id": 9665,
  32790. "name": "p0",
  32791. "nodeType": "Identifier",
  32792. "overloadedDeclarations": [],
  32793. "referencedDeclaration": 9652,
  32794. "src": "21324:2:50",
  32795. "typeDescriptions": {
  32796. "typeIdentifier": "t_uint256",
  32797. "typeString": "uint256"
  32798. }
  32799. },
  32800. {
  32801. "id": 9666,
  32802. "name": "p1",
  32803. "nodeType": "Identifier",
  32804. "overloadedDeclarations": [],
  32805. "referencedDeclaration": 9654,
  32806. "src": "21328:2:50",
  32807. "typeDescriptions": {
  32808. "typeIdentifier": "t_uint256",
  32809. "typeString": "uint256"
  32810. }
  32811. },
  32812. {
  32813. "id": 9667,
  32814. "name": "p2",
  32815. "nodeType": "Identifier",
  32816. "overloadedDeclarations": [],
  32817. "referencedDeclaration": 9656,
  32818. "src": "21332:2:50",
  32819. "typeDescriptions": {
  32820. "typeIdentifier": "t_bool",
  32821. "typeString": "bool"
  32822. }
  32823. },
  32824. {
  32825. "id": 9668,
  32826. "name": "p3",
  32827. "nodeType": "Identifier",
  32828. "overloadedDeclarations": [],
  32829. "referencedDeclaration": 9658,
  32830. "src": "21336:2:50",
  32831. "typeDescriptions": {
  32832. "typeIdentifier": "t_uint256",
  32833. "typeString": "uint256"
  32834. }
  32835. }
  32836. ],
  32837. "expression": {
  32838. "argumentTypes": [
  32839. {
  32840. "typeIdentifier": "t_stringliteral_eb7f6fd2c2005d3f08b2528135265cced621d1abf62716b05a9b62bc732577fd",
  32841. "typeString": "literal_string \"log(uint256,uint256,bool,uint256)\""
  32842. },
  32843. {
  32844. "typeIdentifier": "t_uint256",
  32845. "typeString": "uint256"
  32846. },
  32847. {
  32848. "typeIdentifier": "t_uint256",
  32849. "typeString": "uint256"
  32850. },
  32851. {
  32852. "typeIdentifier": "t_bool",
  32853. "typeString": "bool"
  32854. },
  32855. {
  32856. "typeIdentifier": "t_uint256",
  32857. "typeString": "uint256"
  32858. }
  32859. ],
  32860. "expression": {
  32861. "id": 9662,
  32862. "name": "abi",
  32863. "nodeType": "Identifier",
  32864. "overloadedDeclarations": [],
  32865. "referencedDeclaration": -1,
  32866. "src": "21263:3:50",
  32867. "typeDescriptions": {
  32868. "typeIdentifier": "t_magic_abi",
  32869. "typeString": "abi"
  32870. }
  32871. },
  32872. "id": 9663,
  32873. "isConstant": false,
  32874. "isLValue": false,
  32875. "isPure": true,
  32876. "lValueRequested": false,
  32877. "memberLocation": "21267:19:50",
  32878. "memberName": "encodeWithSignature",
  32879. "nodeType": "MemberAccess",
  32880. "src": "21263:23:50",
  32881. "typeDescriptions": {
  32882. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  32883. "typeString": "function (string memory) pure returns (bytes memory)"
  32884. }
  32885. },
  32886. "id": 9669,
  32887. "isConstant": false,
  32888. "isLValue": false,
  32889. "isPure": false,
  32890. "kind": "functionCall",
  32891. "lValueRequested": false,
  32892. "nameLocations": [],
  32893. "names": [],
  32894. "nodeType": "FunctionCall",
  32895. "src": "21263:76:50",
  32896. "tryCall": false,
  32897. "typeDescriptions": {
  32898. "typeIdentifier": "t_bytes_memory_ptr",
  32899. "typeString": "bytes memory"
  32900. }
  32901. }
  32902. ],
  32903. "expression": {
  32904. "argumentTypes": [
  32905. {
  32906. "typeIdentifier": "t_bytes_memory_ptr",
  32907. "typeString": "bytes memory"
  32908. }
  32909. ],
  32910. "id": 9661,
  32911. "name": "_sendLogPayload",
  32912. "nodeType": "Identifier",
  32913. "overloadedDeclarations": [],
  32914. "referencedDeclaration": 7315,
  32915. "src": "21247:15:50",
  32916. "typeDescriptions": {
  32917. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  32918. "typeString": "function (bytes memory) pure"
  32919. }
  32920. },
  32921. "id": 9670,
  32922. "isConstant": false,
  32923. "isLValue": false,
  32924. "isPure": false,
  32925. "kind": "functionCall",
  32926. "lValueRequested": false,
  32927. "nameLocations": [],
  32928. "names": [],
  32929. "nodeType": "FunctionCall",
  32930. "src": "21247:93:50",
  32931. "tryCall": false,
  32932. "typeDescriptions": {
  32933. "typeIdentifier": "t_tuple$__$",
  32934. "typeString": "tuple()"
  32935. }
  32936. },
  32937. "id": 9671,
  32938. "nodeType": "ExpressionStatement",
  32939. "src": "21247:93:50"
  32940. }
  32941. ]
  32942. },
  32943. "implemented": true,
  32944. "kind": "function",
  32945. "modifiers": [],
  32946. "name": "log",
  32947. "nameLocation": "21174:3:50",
  32948. "parameters": {
  32949. "id": 9659,
  32950. "nodeType": "ParameterList",
  32951. "parameters": [
  32952. {
  32953. "constant": false,
  32954. "id": 9652,
  32955. "mutability": "mutable",
  32956. "name": "p0",
  32957. "nameLocation": "21186:2:50",
  32958. "nodeType": "VariableDeclaration",
  32959. "scope": 9673,
  32960. "src": "21178:10:50",
  32961. "stateVariable": false,
  32962. "storageLocation": "default",
  32963. "typeDescriptions": {
  32964. "typeIdentifier": "t_uint256",
  32965. "typeString": "uint256"
  32966. },
  32967. "typeName": {
  32968. "id": 9651,
  32969. "name": "uint256",
  32970. "nodeType": "ElementaryTypeName",
  32971. "src": "21178:7:50",
  32972. "typeDescriptions": {
  32973. "typeIdentifier": "t_uint256",
  32974. "typeString": "uint256"
  32975. }
  32976. },
  32977. "visibility": "internal"
  32978. },
  32979. {
  32980. "constant": false,
  32981. "id": 9654,
  32982. "mutability": "mutable",
  32983. "name": "p1",
  32984. "nameLocation": "21198:2:50",
  32985. "nodeType": "VariableDeclaration",
  32986. "scope": 9673,
  32987. "src": "21190:10:50",
  32988. "stateVariable": false,
  32989. "storageLocation": "default",
  32990. "typeDescriptions": {
  32991. "typeIdentifier": "t_uint256",
  32992. "typeString": "uint256"
  32993. },
  32994. "typeName": {
  32995. "id": 9653,
  32996. "name": "uint256",
  32997. "nodeType": "ElementaryTypeName",
  32998. "src": "21190:7:50",
  32999. "typeDescriptions": {
  33000. "typeIdentifier": "t_uint256",
  33001. "typeString": "uint256"
  33002. }
  33003. },
  33004. "visibility": "internal"
  33005. },
  33006. {
  33007. "constant": false,
  33008. "id": 9656,
  33009. "mutability": "mutable",
  33010. "name": "p2",
  33011. "nameLocation": "21207:2:50",
  33012. "nodeType": "VariableDeclaration",
  33013. "scope": 9673,
  33014. "src": "21202:7:50",
  33015. "stateVariable": false,
  33016. "storageLocation": "default",
  33017. "typeDescriptions": {
  33018. "typeIdentifier": "t_bool",
  33019. "typeString": "bool"
  33020. },
  33021. "typeName": {
  33022. "id": 9655,
  33023. "name": "bool",
  33024. "nodeType": "ElementaryTypeName",
  33025. "src": "21202:4:50",
  33026. "typeDescriptions": {
  33027. "typeIdentifier": "t_bool",
  33028. "typeString": "bool"
  33029. }
  33030. },
  33031. "visibility": "internal"
  33032. },
  33033. {
  33034. "constant": false,
  33035. "id": 9658,
  33036. "mutability": "mutable",
  33037. "name": "p3",
  33038. "nameLocation": "21219:2:50",
  33039. "nodeType": "VariableDeclaration",
  33040. "scope": 9673,
  33041. "src": "21211:10:50",
  33042. "stateVariable": false,
  33043. "storageLocation": "default",
  33044. "typeDescriptions": {
  33045. "typeIdentifier": "t_uint256",
  33046. "typeString": "uint256"
  33047. },
  33048. "typeName": {
  33049. "id": 9657,
  33050. "name": "uint256",
  33051. "nodeType": "ElementaryTypeName",
  33052. "src": "21211:7:50",
  33053. "typeDescriptions": {
  33054. "typeIdentifier": "t_uint256",
  33055. "typeString": "uint256"
  33056. }
  33057. },
  33058. "visibility": "internal"
  33059. }
  33060. ],
  33061. "src": "21177:45:50"
  33062. },
  33063. "returnParameters": {
  33064. "id": 9660,
  33065. "nodeType": "ParameterList",
  33066. "parameters": [],
  33067. "src": "21237:0:50"
  33068. },
  33069. "scope": 15355,
  33070. "stateMutability": "pure",
  33071. "virtual": false,
  33072. "visibility": "internal"
  33073. },
  33074. {
  33075. "id": 9696,
  33076. "nodeType": "FunctionDefinition",
  33077. "src": "21353:187:50",
  33078. "nodes": [],
  33079. "body": {
  33080. "id": 9695,
  33081. "nodeType": "Block",
  33082. "src": "21431:109:50",
  33083. "nodes": [],
  33084. "statements": [
  33085. {
  33086. "expression": {
  33087. "arguments": [
  33088. {
  33089. "arguments": [
  33090. {
  33091. "hexValue": "6c6f672875696e743235362c75696e743235362c626f6f6c2c737472696e6729",
  33092. "id": 9687,
  33093. "isConstant": false,
  33094. "isLValue": false,
  33095. "isPure": true,
  33096. "kind": "string",
  33097. "lValueRequested": false,
  33098. "nodeType": "Literal",
  33099. "src": "21481:34:50",
  33100. "typeDescriptions": {
  33101. "typeIdentifier": "t_stringliteral_a5b4fc99467445b3de47079da2d48b3031bb8d3adcbee781cbdca55596f1414a",
  33102. "typeString": "literal_string \"log(uint256,uint256,bool,string)\""
  33103. },
  33104. "value": "log(uint256,uint256,bool,string)"
  33105. },
  33106. {
  33107. "id": 9688,
  33108. "name": "p0",
  33109. "nodeType": "Identifier",
  33110. "overloadedDeclarations": [],
  33111. "referencedDeclaration": 9675,
  33112. "src": "21517:2:50",
  33113. "typeDescriptions": {
  33114. "typeIdentifier": "t_uint256",
  33115. "typeString": "uint256"
  33116. }
  33117. },
  33118. {
  33119. "id": 9689,
  33120. "name": "p1",
  33121. "nodeType": "Identifier",
  33122. "overloadedDeclarations": [],
  33123. "referencedDeclaration": 9677,
  33124. "src": "21521:2:50",
  33125. "typeDescriptions": {
  33126. "typeIdentifier": "t_uint256",
  33127. "typeString": "uint256"
  33128. }
  33129. },
  33130. {
  33131. "id": 9690,
  33132. "name": "p2",
  33133. "nodeType": "Identifier",
  33134. "overloadedDeclarations": [],
  33135. "referencedDeclaration": 9679,
  33136. "src": "21525:2:50",
  33137. "typeDescriptions": {
  33138. "typeIdentifier": "t_bool",
  33139. "typeString": "bool"
  33140. }
  33141. },
  33142. {
  33143. "id": 9691,
  33144. "name": "p3",
  33145. "nodeType": "Identifier",
  33146. "overloadedDeclarations": [],
  33147. "referencedDeclaration": 9681,
  33148. "src": "21529:2:50",
  33149. "typeDescriptions": {
  33150. "typeIdentifier": "t_string_memory_ptr",
  33151. "typeString": "string memory"
  33152. }
  33153. }
  33154. ],
  33155. "expression": {
  33156. "argumentTypes": [
  33157. {
  33158. "typeIdentifier": "t_stringliteral_a5b4fc99467445b3de47079da2d48b3031bb8d3adcbee781cbdca55596f1414a",
  33159. "typeString": "literal_string \"log(uint256,uint256,bool,string)\""
  33160. },
  33161. {
  33162. "typeIdentifier": "t_uint256",
  33163. "typeString": "uint256"
  33164. },
  33165. {
  33166. "typeIdentifier": "t_uint256",
  33167. "typeString": "uint256"
  33168. },
  33169. {
  33170. "typeIdentifier": "t_bool",
  33171. "typeString": "bool"
  33172. },
  33173. {
  33174. "typeIdentifier": "t_string_memory_ptr",
  33175. "typeString": "string memory"
  33176. }
  33177. ],
  33178. "expression": {
  33179. "id": 9685,
  33180. "name": "abi",
  33181. "nodeType": "Identifier",
  33182. "overloadedDeclarations": [],
  33183. "referencedDeclaration": -1,
  33184. "src": "21457:3:50",
  33185. "typeDescriptions": {
  33186. "typeIdentifier": "t_magic_abi",
  33187. "typeString": "abi"
  33188. }
  33189. },
  33190. "id": 9686,
  33191. "isConstant": false,
  33192. "isLValue": false,
  33193. "isPure": true,
  33194. "lValueRequested": false,
  33195. "memberLocation": "21461:19:50",
  33196. "memberName": "encodeWithSignature",
  33197. "nodeType": "MemberAccess",
  33198. "src": "21457:23:50",
  33199. "typeDescriptions": {
  33200. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  33201. "typeString": "function (string memory) pure returns (bytes memory)"
  33202. }
  33203. },
  33204. "id": 9692,
  33205. "isConstant": false,
  33206. "isLValue": false,
  33207. "isPure": false,
  33208. "kind": "functionCall",
  33209. "lValueRequested": false,
  33210. "nameLocations": [],
  33211. "names": [],
  33212. "nodeType": "FunctionCall",
  33213. "src": "21457:75:50",
  33214. "tryCall": false,
  33215. "typeDescriptions": {
  33216. "typeIdentifier": "t_bytes_memory_ptr",
  33217. "typeString": "bytes memory"
  33218. }
  33219. }
  33220. ],
  33221. "expression": {
  33222. "argumentTypes": [
  33223. {
  33224. "typeIdentifier": "t_bytes_memory_ptr",
  33225. "typeString": "bytes memory"
  33226. }
  33227. ],
  33228. "id": 9684,
  33229. "name": "_sendLogPayload",
  33230. "nodeType": "Identifier",
  33231. "overloadedDeclarations": [],
  33232. "referencedDeclaration": 7315,
  33233. "src": "21441:15:50",
  33234. "typeDescriptions": {
  33235. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  33236. "typeString": "function (bytes memory) pure"
  33237. }
  33238. },
  33239. "id": 9693,
  33240. "isConstant": false,
  33241. "isLValue": false,
  33242. "isPure": false,
  33243. "kind": "functionCall",
  33244. "lValueRequested": false,
  33245. "nameLocations": [],
  33246. "names": [],
  33247. "nodeType": "FunctionCall",
  33248. "src": "21441:92:50",
  33249. "tryCall": false,
  33250. "typeDescriptions": {
  33251. "typeIdentifier": "t_tuple$__$",
  33252. "typeString": "tuple()"
  33253. }
  33254. },
  33255. "id": 9694,
  33256. "nodeType": "ExpressionStatement",
  33257. "src": "21441:92:50"
  33258. }
  33259. ]
  33260. },
  33261. "implemented": true,
  33262. "kind": "function",
  33263. "modifiers": [],
  33264. "name": "log",
  33265. "nameLocation": "21362:3:50",
  33266. "parameters": {
  33267. "id": 9682,
  33268. "nodeType": "ParameterList",
  33269. "parameters": [
  33270. {
  33271. "constant": false,
  33272. "id": 9675,
  33273. "mutability": "mutable",
  33274. "name": "p0",
  33275. "nameLocation": "21374:2:50",
  33276. "nodeType": "VariableDeclaration",
  33277. "scope": 9696,
  33278. "src": "21366:10:50",
  33279. "stateVariable": false,
  33280. "storageLocation": "default",
  33281. "typeDescriptions": {
  33282. "typeIdentifier": "t_uint256",
  33283. "typeString": "uint256"
  33284. },
  33285. "typeName": {
  33286. "id": 9674,
  33287. "name": "uint256",
  33288. "nodeType": "ElementaryTypeName",
  33289. "src": "21366:7:50",
  33290. "typeDescriptions": {
  33291. "typeIdentifier": "t_uint256",
  33292. "typeString": "uint256"
  33293. }
  33294. },
  33295. "visibility": "internal"
  33296. },
  33297. {
  33298. "constant": false,
  33299. "id": 9677,
  33300. "mutability": "mutable",
  33301. "name": "p1",
  33302. "nameLocation": "21386:2:50",
  33303. "nodeType": "VariableDeclaration",
  33304. "scope": 9696,
  33305. "src": "21378:10:50",
  33306. "stateVariable": false,
  33307. "storageLocation": "default",
  33308. "typeDescriptions": {
  33309. "typeIdentifier": "t_uint256",
  33310. "typeString": "uint256"
  33311. },
  33312. "typeName": {
  33313. "id": 9676,
  33314. "name": "uint256",
  33315. "nodeType": "ElementaryTypeName",
  33316. "src": "21378:7:50",
  33317. "typeDescriptions": {
  33318. "typeIdentifier": "t_uint256",
  33319. "typeString": "uint256"
  33320. }
  33321. },
  33322. "visibility": "internal"
  33323. },
  33324. {
  33325. "constant": false,
  33326. "id": 9679,
  33327. "mutability": "mutable",
  33328. "name": "p2",
  33329. "nameLocation": "21395:2:50",
  33330. "nodeType": "VariableDeclaration",
  33331. "scope": 9696,
  33332. "src": "21390:7:50",
  33333. "stateVariable": false,
  33334. "storageLocation": "default",
  33335. "typeDescriptions": {
  33336. "typeIdentifier": "t_bool",
  33337. "typeString": "bool"
  33338. },
  33339. "typeName": {
  33340. "id": 9678,
  33341. "name": "bool",
  33342. "nodeType": "ElementaryTypeName",
  33343. "src": "21390:4:50",
  33344. "typeDescriptions": {
  33345. "typeIdentifier": "t_bool",
  33346. "typeString": "bool"
  33347. }
  33348. },
  33349. "visibility": "internal"
  33350. },
  33351. {
  33352. "constant": false,
  33353. "id": 9681,
  33354. "mutability": "mutable",
  33355. "name": "p3",
  33356. "nameLocation": "21413:2:50",
  33357. "nodeType": "VariableDeclaration",
  33358. "scope": 9696,
  33359. "src": "21399:16:50",
  33360. "stateVariable": false,
  33361. "storageLocation": "memory",
  33362. "typeDescriptions": {
  33363. "typeIdentifier": "t_string_memory_ptr",
  33364. "typeString": "string"
  33365. },
  33366. "typeName": {
  33367. "id": 9680,
  33368. "name": "string",
  33369. "nodeType": "ElementaryTypeName",
  33370. "src": "21399:6:50",
  33371. "typeDescriptions": {
  33372. "typeIdentifier": "t_string_storage_ptr",
  33373. "typeString": "string"
  33374. }
  33375. },
  33376. "visibility": "internal"
  33377. }
  33378. ],
  33379. "src": "21365:51:50"
  33380. },
  33381. "returnParameters": {
  33382. "id": 9683,
  33383. "nodeType": "ParameterList",
  33384. "parameters": [],
  33385. "src": "21431:0:50"
  33386. },
  33387. "scope": 15355,
  33388. "stateMutability": "pure",
  33389. "virtual": false,
  33390. "visibility": "internal"
  33391. },
  33392. {
  33393. "id": 9719,
  33394. "nodeType": "FunctionDefinition",
  33395. "src": "21546:176:50",
  33396. "nodes": [],
  33397. "body": {
  33398. "id": 9718,
  33399. "nodeType": "Block",
  33400. "src": "21615:107:50",
  33401. "nodes": [],
  33402. "statements": [
  33403. {
  33404. "expression": {
  33405. "arguments": [
  33406. {
  33407. "arguments": [
  33408. {
  33409. "hexValue": "6c6f672875696e743235362c75696e743235362c626f6f6c2c626f6f6c29",
  33410. "id": 9710,
  33411. "isConstant": false,
  33412. "isLValue": false,
  33413. "isPure": true,
  33414. "kind": "string",
  33415. "lValueRequested": false,
  33416. "nodeType": "Literal",
  33417. "src": "21665:32:50",
  33418. "typeDescriptions": {
  33419. "typeIdentifier": "t_stringliteral_ab085ae680de5118cde80cb5e8cb1f7383786238f1394e82b7ab82553a0dd7fe",
  33420. "typeString": "literal_string \"log(uint256,uint256,bool,bool)\""
  33421. },
  33422. "value": "log(uint256,uint256,bool,bool)"
  33423. },
  33424. {
  33425. "id": 9711,
  33426. "name": "p0",
  33427. "nodeType": "Identifier",
  33428. "overloadedDeclarations": [],
  33429. "referencedDeclaration": 9698,
  33430. "src": "21699:2:50",
  33431. "typeDescriptions": {
  33432. "typeIdentifier": "t_uint256",
  33433. "typeString": "uint256"
  33434. }
  33435. },
  33436. {
  33437. "id": 9712,
  33438. "name": "p1",
  33439. "nodeType": "Identifier",
  33440. "overloadedDeclarations": [],
  33441. "referencedDeclaration": 9700,
  33442. "src": "21703:2:50",
  33443. "typeDescriptions": {
  33444. "typeIdentifier": "t_uint256",
  33445. "typeString": "uint256"
  33446. }
  33447. },
  33448. {
  33449. "id": 9713,
  33450. "name": "p2",
  33451. "nodeType": "Identifier",
  33452. "overloadedDeclarations": [],
  33453. "referencedDeclaration": 9702,
  33454. "src": "21707:2:50",
  33455. "typeDescriptions": {
  33456. "typeIdentifier": "t_bool",
  33457. "typeString": "bool"
  33458. }
  33459. },
  33460. {
  33461. "id": 9714,
  33462. "name": "p3",
  33463. "nodeType": "Identifier",
  33464. "overloadedDeclarations": [],
  33465. "referencedDeclaration": 9704,
  33466. "src": "21711:2:50",
  33467. "typeDescriptions": {
  33468. "typeIdentifier": "t_bool",
  33469. "typeString": "bool"
  33470. }
  33471. }
  33472. ],
  33473. "expression": {
  33474. "argumentTypes": [
  33475. {
  33476. "typeIdentifier": "t_stringliteral_ab085ae680de5118cde80cb5e8cb1f7383786238f1394e82b7ab82553a0dd7fe",
  33477. "typeString": "literal_string \"log(uint256,uint256,bool,bool)\""
  33478. },
  33479. {
  33480. "typeIdentifier": "t_uint256",
  33481. "typeString": "uint256"
  33482. },
  33483. {
  33484. "typeIdentifier": "t_uint256",
  33485. "typeString": "uint256"
  33486. },
  33487. {
  33488. "typeIdentifier": "t_bool",
  33489. "typeString": "bool"
  33490. },
  33491. {
  33492. "typeIdentifier": "t_bool",
  33493. "typeString": "bool"
  33494. }
  33495. ],
  33496. "expression": {
  33497. "id": 9708,
  33498. "name": "abi",
  33499. "nodeType": "Identifier",
  33500. "overloadedDeclarations": [],
  33501. "referencedDeclaration": -1,
  33502. "src": "21641:3:50",
  33503. "typeDescriptions": {
  33504. "typeIdentifier": "t_magic_abi",
  33505. "typeString": "abi"
  33506. }
  33507. },
  33508. "id": 9709,
  33509. "isConstant": false,
  33510. "isLValue": false,
  33511. "isPure": true,
  33512. "lValueRequested": false,
  33513. "memberLocation": "21645:19:50",
  33514. "memberName": "encodeWithSignature",
  33515. "nodeType": "MemberAccess",
  33516. "src": "21641:23:50",
  33517. "typeDescriptions": {
  33518. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  33519. "typeString": "function (string memory) pure returns (bytes memory)"
  33520. }
  33521. },
  33522. "id": 9715,
  33523. "isConstant": false,
  33524. "isLValue": false,
  33525. "isPure": false,
  33526. "kind": "functionCall",
  33527. "lValueRequested": false,
  33528. "nameLocations": [],
  33529. "names": [],
  33530. "nodeType": "FunctionCall",
  33531. "src": "21641:73:50",
  33532. "tryCall": false,
  33533. "typeDescriptions": {
  33534. "typeIdentifier": "t_bytes_memory_ptr",
  33535. "typeString": "bytes memory"
  33536. }
  33537. }
  33538. ],
  33539. "expression": {
  33540. "argumentTypes": [
  33541. {
  33542. "typeIdentifier": "t_bytes_memory_ptr",
  33543. "typeString": "bytes memory"
  33544. }
  33545. ],
  33546. "id": 9707,
  33547. "name": "_sendLogPayload",
  33548. "nodeType": "Identifier",
  33549. "overloadedDeclarations": [],
  33550. "referencedDeclaration": 7315,
  33551. "src": "21625:15:50",
  33552. "typeDescriptions": {
  33553. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  33554. "typeString": "function (bytes memory) pure"
  33555. }
  33556. },
  33557. "id": 9716,
  33558. "isConstant": false,
  33559. "isLValue": false,
  33560. "isPure": false,
  33561. "kind": "functionCall",
  33562. "lValueRequested": false,
  33563. "nameLocations": [],
  33564. "names": [],
  33565. "nodeType": "FunctionCall",
  33566. "src": "21625:90:50",
  33567. "tryCall": false,
  33568. "typeDescriptions": {
  33569. "typeIdentifier": "t_tuple$__$",
  33570. "typeString": "tuple()"
  33571. }
  33572. },
  33573. "id": 9717,
  33574. "nodeType": "ExpressionStatement",
  33575. "src": "21625:90:50"
  33576. }
  33577. ]
  33578. },
  33579. "implemented": true,
  33580. "kind": "function",
  33581. "modifiers": [],
  33582. "name": "log",
  33583. "nameLocation": "21555:3:50",
  33584. "parameters": {
  33585. "id": 9705,
  33586. "nodeType": "ParameterList",
  33587. "parameters": [
  33588. {
  33589. "constant": false,
  33590. "id": 9698,
  33591. "mutability": "mutable",
  33592. "name": "p0",
  33593. "nameLocation": "21567:2:50",
  33594. "nodeType": "VariableDeclaration",
  33595. "scope": 9719,
  33596. "src": "21559:10:50",
  33597. "stateVariable": false,
  33598. "storageLocation": "default",
  33599. "typeDescriptions": {
  33600. "typeIdentifier": "t_uint256",
  33601. "typeString": "uint256"
  33602. },
  33603. "typeName": {
  33604. "id": 9697,
  33605. "name": "uint256",
  33606. "nodeType": "ElementaryTypeName",
  33607. "src": "21559:7:50",
  33608. "typeDescriptions": {
  33609. "typeIdentifier": "t_uint256",
  33610. "typeString": "uint256"
  33611. }
  33612. },
  33613. "visibility": "internal"
  33614. },
  33615. {
  33616. "constant": false,
  33617. "id": 9700,
  33618. "mutability": "mutable",
  33619. "name": "p1",
  33620. "nameLocation": "21579:2:50",
  33621. "nodeType": "VariableDeclaration",
  33622. "scope": 9719,
  33623. "src": "21571:10:50",
  33624. "stateVariable": false,
  33625. "storageLocation": "default",
  33626. "typeDescriptions": {
  33627. "typeIdentifier": "t_uint256",
  33628. "typeString": "uint256"
  33629. },
  33630. "typeName": {
  33631. "id": 9699,
  33632. "name": "uint256",
  33633. "nodeType": "ElementaryTypeName",
  33634. "src": "21571:7:50",
  33635. "typeDescriptions": {
  33636. "typeIdentifier": "t_uint256",
  33637. "typeString": "uint256"
  33638. }
  33639. },
  33640. "visibility": "internal"
  33641. },
  33642. {
  33643. "constant": false,
  33644. "id": 9702,
  33645. "mutability": "mutable",
  33646. "name": "p2",
  33647. "nameLocation": "21588:2:50",
  33648. "nodeType": "VariableDeclaration",
  33649. "scope": 9719,
  33650. "src": "21583:7:50",
  33651. "stateVariable": false,
  33652. "storageLocation": "default",
  33653. "typeDescriptions": {
  33654. "typeIdentifier": "t_bool",
  33655. "typeString": "bool"
  33656. },
  33657. "typeName": {
  33658. "id": 9701,
  33659. "name": "bool",
  33660. "nodeType": "ElementaryTypeName",
  33661. "src": "21583:4:50",
  33662. "typeDescriptions": {
  33663. "typeIdentifier": "t_bool",
  33664. "typeString": "bool"
  33665. }
  33666. },
  33667. "visibility": "internal"
  33668. },
  33669. {
  33670. "constant": false,
  33671. "id": 9704,
  33672. "mutability": "mutable",
  33673. "name": "p3",
  33674. "nameLocation": "21597:2:50",
  33675. "nodeType": "VariableDeclaration",
  33676. "scope": 9719,
  33677. "src": "21592:7:50",
  33678. "stateVariable": false,
  33679. "storageLocation": "default",
  33680. "typeDescriptions": {
  33681. "typeIdentifier": "t_bool",
  33682. "typeString": "bool"
  33683. },
  33684. "typeName": {
  33685. "id": 9703,
  33686. "name": "bool",
  33687. "nodeType": "ElementaryTypeName",
  33688. "src": "21592:4:50",
  33689. "typeDescriptions": {
  33690. "typeIdentifier": "t_bool",
  33691. "typeString": "bool"
  33692. }
  33693. },
  33694. "visibility": "internal"
  33695. }
  33696. ],
  33697. "src": "21558:42:50"
  33698. },
  33699. "returnParameters": {
  33700. "id": 9706,
  33701. "nodeType": "ParameterList",
  33702. "parameters": [],
  33703. "src": "21615:0:50"
  33704. },
  33705. "scope": 15355,
  33706. "stateMutability": "pure",
  33707. "virtual": false,
  33708. "visibility": "internal"
  33709. },
  33710. {
  33711. "id": 9742,
  33712. "nodeType": "FunctionDefinition",
  33713. "src": "21728:182:50",
  33714. "nodes": [],
  33715. "body": {
  33716. "id": 9741,
  33717. "nodeType": "Block",
  33718. "src": "21800:110:50",
  33719. "nodes": [],
  33720. "statements": [
  33721. {
  33722. "expression": {
  33723. "arguments": [
  33724. {
  33725. "arguments": [
  33726. {
  33727. "hexValue": "6c6f672875696e743235362c75696e743235362c626f6f6c2c6164647265737329",
  33728. "id": 9733,
  33729. "isConstant": false,
  33730. "isLValue": false,
  33731. "isPure": true,
  33732. "kind": "string",
  33733. "lValueRequested": false,
  33734. "nodeType": "Literal",
  33735. "src": "21850:35:50",
  33736. "typeDescriptions": {
  33737. "typeIdentifier": "t_stringliteral_9a816a83f59c7e2fc96bb179b1fa8fd5307277d58bad9d6b835a280d4474fc1b",
  33738. "typeString": "literal_string \"log(uint256,uint256,bool,address)\""
  33739. },
  33740. "value": "log(uint256,uint256,bool,address)"
  33741. },
  33742. {
  33743. "id": 9734,
  33744. "name": "p0",
  33745. "nodeType": "Identifier",
  33746. "overloadedDeclarations": [],
  33747. "referencedDeclaration": 9721,
  33748. "src": "21887:2:50",
  33749. "typeDescriptions": {
  33750. "typeIdentifier": "t_uint256",
  33751. "typeString": "uint256"
  33752. }
  33753. },
  33754. {
  33755. "id": 9735,
  33756. "name": "p1",
  33757. "nodeType": "Identifier",
  33758. "overloadedDeclarations": [],
  33759. "referencedDeclaration": 9723,
  33760. "src": "21891:2:50",
  33761. "typeDescriptions": {
  33762. "typeIdentifier": "t_uint256",
  33763. "typeString": "uint256"
  33764. }
  33765. },
  33766. {
  33767. "id": 9736,
  33768. "name": "p2",
  33769. "nodeType": "Identifier",
  33770. "overloadedDeclarations": [],
  33771. "referencedDeclaration": 9725,
  33772. "src": "21895:2:50",
  33773. "typeDescriptions": {
  33774. "typeIdentifier": "t_bool",
  33775. "typeString": "bool"
  33776. }
  33777. },
  33778. {
  33779. "id": 9737,
  33780. "name": "p3",
  33781. "nodeType": "Identifier",
  33782. "overloadedDeclarations": [],
  33783. "referencedDeclaration": 9727,
  33784. "src": "21899:2:50",
  33785. "typeDescriptions": {
  33786. "typeIdentifier": "t_address",
  33787. "typeString": "address"
  33788. }
  33789. }
  33790. ],
  33791. "expression": {
  33792. "argumentTypes": [
  33793. {
  33794. "typeIdentifier": "t_stringliteral_9a816a83f59c7e2fc96bb179b1fa8fd5307277d58bad9d6b835a280d4474fc1b",
  33795. "typeString": "literal_string \"log(uint256,uint256,bool,address)\""
  33796. },
  33797. {
  33798. "typeIdentifier": "t_uint256",
  33799. "typeString": "uint256"
  33800. },
  33801. {
  33802. "typeIdentifier": "t_uint256",
  33803. "typeString": "uint256"
  33804. },
  33805. {
  33806. "typeIdentifier": "t_bool",
  33807. "typeString": "bool"
  33808. },
  33809. {
  33810. "typeIdentifier": "t_address",
  33811. "typeString": "address"
  33812. }
  33813. ],
  33814. "expression": {
  33815. "id": 9731,
  33816. "name": "abi",
  33817. "nodeType": "Identifier",
  33818. "overloadedDeclarations": [],
  33819. "referencedDeclaration": -1,
  33820. "src": "21826:3:50",
  33821. "typeDescriptions": {
  33822. "typeIdentifier": "t_magic_abi",
  33823. "typeString": "abi"
  33824. }
  33825. },
  33826. "id": 9732,
  33827. "isConstant": false,
  33828. "isLValue": false,
  33829. "isPure": true,
  33830. "lValueRequested": false,
  33831. "memberLocation": "21830:19:50",
  33832. "memberName": "encodeWithSignature",
  33833. "nodeType": "MemberAccess",
  33834. "src": "21826:23:50",
  33835. "typeDescriptions": {
  33836. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  33837. "typeString": "function (string memory) pure returns (bytes memory)"
  33838. }
  33839. },
  33840. "id": 9738,
  33841. "isConstant": false,
  33842. "isLValue": false,
  33843. "isPure": false,
  33844. "kind": "functionCall",
  33845. "lValueRequested": false,
  33846. "nameLocations": [],
  33847. "names": [],
  33848. "nodeType": "FunctionCall",
  33849. "src": "21826:76:50",
  33850. "tryCall": false,
  33851. "typeDescriptions": {
  33852. "typeIdentifier": "t_bytes_memory_ptr",
  33853. "typeString": "bytes memory"
  33854. }
  33855. }
  33856. ],
  33857. "expression": {
  33858. "argumentTypes": [
  33859. {
  33860. "typeIdentifier": "t_bytes_memory_ptr",
  33861. "typeString": "bytes memory"
  33862. }
  33863. ],
  33864. "id": 9730,
  33865. "name": "_sendLogPayload",
  33866. "nodeType": "Identifier",
  33867. "overloadedDeclarations": [],
  33868. "referencedDeclaration": 7315,
  33869. "src": "21810:15:50",
  33870. "typeDescriptions": {
  33871. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  33872. "typeString": "function (bytes memory) pure"
  33873. }
  33874. },
  33875. "id": 9739,
  33876. "isConstant": false,
  33877. "isLValue": false,
  33878. "isPure": false,
  33879. "kind": "functionCall",
  33880. "lValueRequested": false,
  33881. "nameLocations": [],
  33882. "names": [],
  33883. "nodeType": "FunctionCall",
  33884. "src": "21810:93:50",
  33885. "tryCall": false,
  33886. "typeDescriptions": {
  33887. "typeIdentifier": "t_tuple$__$",
  33888. "typeString": "tuple()"
  33889. }
  33890. },
  33891. "id": 9740,
  33892. "nodeType": "ExpressionStatement",
  33893. "src": "21810:93:50"
  33894. }
  33895. ]
  33896. },
  33897. "implemented": true,
  33898. "kind": "function",
  33899. "modifiers": [],
  33900. "name": "log",
  33901. "nameLocation": "21737:3:50",
  33902. "parameters": {
  33903. "id": 9728,
  33904. "nodeType": "ParameterList",
  33905. "parameters": [
  33906. {
  33907. "constant": false,
  33908. "id": 9721,
  33909. "mutability": "mutable",
  33910. "name": "p0",
  33911. "nameLocation": "21749:2:50",
  33912. "nodeType": "VariableDeclaration",
  33913. "scope": 9742,
  33914. "src": "21741:10:50",
  33915. "stateVariable": false,
  33916. "storageLocation": "default",
  33917. "typeDescriptions": {
  33918. "typeIdentifier": "t_uint256",
  33919. "typeString": "uint256"
  33920. },
  33921. "typeName": {
  33922. "id": 9720,
  33923. "name": "uint256",
  33924. "nodeType": "ElementaryTypeName",
  33925. "src": "21741:7:50",
  33926. "typeDescriptions": {
  33927. "typeIdentifier": "t_uint256",
  33928. "typeString": "uint256"
  33929. }
  33930. },
  33931. "visibility": "internal"
  33932. },
  33933. {
  33934. "constant": false,
  33935. "id": 9723,
  33936. "mutability": "mutable",
  33937. "name": "p1",
  33938. "nameLocation": "21761:2:50",
  33939. "nodeType": "VariableDeclaration",
  33940. "scope": 9742,
  33941. "src": "21753:10:50",
  33942. "stateVariable": false,
  33943. "storageLocation": "default",
  33944. "typeDescriptions": {
  33945. "typeIdentifier": "t_uint256",
  33946. "typeString": "uint256"
  33947. },
  33948. "typeName": {
  33949. "id": 9722,
  33950. "name": "uint256",
  33951. "nodeType": "ElementaryTypeName",
  33952. "src": "21753:7:50",
  33953. "typeDescriptions": {
  33954. "typeIdentifier": "t_uint256",
  33955. "typeString": "uint256"
  33956. }
  33957. },
  33958. "visibility": "internal"
  33959. },
  33960. {
  33961. "constant": false,
  33962. "id": 9725,
  33963. "mutability": "mutable",
  33964. "name": "p2",
  33965. "nameLocation": "21770:2:50",
  33966. "nodeType": "VariableDeclaration",
  33967. "scope": 9742,
  33968. "src": "21765:7:50",
  33969. "stateVariable": false,
  33970. "storageLocation": "default",
  33971. "typeDescriptions": {
  33972. "typeIdentifier": "t_bool",
  33973. "typeString": "bool"
  33974. },
  33975. "typeName": {
  33976. "id": 9724,
  33977. "name": "bool",
  33978. "nodeType": "ElementaryTypeName",
  33979. "src": "21765:4:50",
  33980. "typeDescriptions": {
  33981. "typeIdentifier": "t_bool",
  33982. "typeString": "bool"
  33983. }
  33984. },
  33985. "visibility": "internal"
  33986. },
  33987. {
  33988. "constant": false,
  33989. "id": 9727,
  33990. "mutability": "mutable",
  33991. "name": "p3",
  33992. "nameLocation": "21782:2:50",
  33993. "nodeType": "VariableDeclaration",
  33994. "scope": 9742,
  33995. "src": "21774:10:50",
  33996. "stateVariable": false,
  33997. "storageLocation": "default",
  33998. "typeDescriptions": {
  33999. "typeIdentifier": "t_address",
  34000. "typeString": "address"
  34001. },
  34002. "typeName": {
  34003. "id": 9726,
  34004. "name": "address",
  34005. "nodeType": "ElementaryTypeName",
  34006. "src": "21774:7:50",
  34007. "stateMutability": "nonpayable",
  34008. "typeDescriptions": {
  34009. "typeIdentifier": "t_address",
  34010. "typeString": "address"
  34011. }
  34012. },
  34013. "visibility": "internal"
  34014. }
  34015. ],
  34016. "src": "21740:45:50"
  34017. },
  34018. "returnParameters": {
  34019. "id": 9729,
  34020. "nodeType": "ParameterList",
  34021. "parameters": [],
  34022. "src": "21800:0:50"
  34023. },
  34024. "scope": 15355,
  34025. "stateMutability": "pure",
  34026. "virtual": false,
  34027. "visibility": "internal"
  34028. },
  34029. {
  34030. "id": 9765,
  34031. "nodeType": "FunctionDefinition",
  34032. "src": "21916:188:50",
  34033. "nodes": [],
  34034. "body": {
  34035. "id": 9764,
  34036. "nodeType": "Block",
  34037. "src": "21991:113:50",
  34038. "nodes": [],
  34039. "statements": [
  34040. {
  34041. "expression": {
  34042. "arguments": [
  34043. {
  34044. "arguments": [
  34045. {
  34046. "hexValue": "6c6f672875696e743235362c75696e743235362c616464726573732c75696e7432353629",
  34047. "id": 9756,
  34048. "isConstant": false,
  34049. "isLValue": false,
  34050. "isPure": true,
  34051. "kind": "string",
  34052. "lValueRequested": false,
  34053. "nodeType": "Literal",
  34054. "src": "22041:38:50",
  34055. "typeDescriptions": {
  34056. "typeIdentifier": "t_stringliteral_88f6e4b2e9fd1797748b31e8b1564d27784c7a0b5de7a75df225524205baab36",
  34057. "typeString": "literal_string \"log(uint256,uint256,address,uint256)\""
  34058. },
  34059. "value": "log(uint256,uint256,address,uint256)"
  34060. },
  34061. {
  34062. "id": 9757,
  34063. "name": "p0",
  34064. "nodeType": "Identifier",
  34065. "overloadedDeclarations": [],
  34066. "referencedDeclaration": 9744,
  34067. "src": "22081:2:50",
  34068. "typeDescriptions": {
  34069. "typeIdentifier": "t_uint256",
  34070. "typeString": "uint256"
  34071. }
  34072. },
  34073. {
  34074. "id": 9758,
  34075. "name": "p1",
  34076. "nodeType": "Identifier",
  34077. "overloadedDeclarations": [],
  34078. "referencedDeclaration": 9746,
  34079. "src": "22085:2:50",
  34080. "typeDescriptions": {
  34081. "typeIdentifier": "t_uint256",
  34082. "typeString": "uint256"
  34083. }
  34084. },
  34085. {
  34086. "id": 9759,
  34087. "name": "p2",
  34088. "nodeType": "Identifier",
  34089. "overloadedDeclarations": [],
  34090. "referencedDeclaration": 9748,
  34091. "src": "22089:2:50",
  34092. "typeDescriptions": {
  34093. "typeIdentifier": "t_address",
  34094. "typeString": "address"
  34095. }
  34096. },
  34097. {
  34098. "id": 9760,
  34099. "name": "p3",
  34100. "nodeType": "Identifier",
  34101. "overloadedDeclarations": [],
  34102. "referencedDeclaration": 9750,
  34103. "src": "22093:2:50",
  34104. "typeDescriptions": {
  34105. "typeIdentifier": "t_uint256",
  34106. "typeString": "uint256"
  34107. }
  34108. }
  34109. ],
  34110. "expression": {
  34111. "argumentTypes": [
  34112. {
  34113. "typeIdentifier": "t_stringliteral_88f6e4b2e9fd1797748b31e8b1564d27784c7a0b5de7a75df225524205baab36",
  34114. "typeString": "literal_string \"log(uint256,uint256,address,uint256)\""
  34115. },
  34116. {
  34117. "typeIdentifier": "t_uint256",
  34118. "typeString": "uint256"
  34119. },
  34120. {
  34121. "typeIdentifier": "t_uint256",
  34122. "typeString": "uint256"
  34123. },
  34124. {
  34125. "typeIdentifier": "t_address",
  34126. "typeString": "address"
  34127. },
  34128. {
  34129. "typeIdentifier": "t_uint256",
  34130. "typeString": "uint256"
  34131. }
  34132. ],
  34133. "expression": {
  34134. "id": 9754,
  34135. "name": "abi",
  34136. "nodeType": "Identifier",
  34137. "overloadedDeclarations": [],
  34138. "referencedDeclaration": -1,
  34139. "src": "22017:3:50",
  34140. "typeDescriptions": {
  34141. "typeIdentifier": "t_magic_abi",
  34142. "typeString": "abi"
  34143. }
  34144. },
  34145. "id": 9755,
  34146. "isConstant": false,
  34147. "isLValue": false,
  34148. "isPure": true,
  34149. "lValueRequested": false,
  34150. "memberLocation": "22021:19:50",
  34151. "memberName": "encodeWithSignature",
  34152. "nodeType": "MemberAccess",
  34153. "src": "22017:23:50",
  34154. "typeDescriptions": {
  34155. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  34156. "typeString": "function (string memory) pure returns (bytes memory)"
  34157. }
  34158. },
  34159. "id": 9761,
  34160. "isConstant": false,
  34161. "isLValue": false,
  34162. "isPure": false,
  34163. "kind": "functionCall",
  34164. "lValueRequested": false,
  34165. "nameLocations": [],
  34166. "names": [],
  34167. "nodeType": "FunctionCall",
  34168. "src": "22017:79:50",
  34169. "tryCall": false,
  34170. "typeDescriptions": {
  34171. "typeIdentifier": "t_bytes_memory_ptr",
  34172. "typeString": "bytes memory"
  34173. }
  34174. }
  34175. ],
  34176. "expression": {
  34177. "argumentTypes": [
  34178. {
  34179. "typeIdentifier": "t_bytes_memory_ptr",
  34180. "typeString": "bytes memory"
  34181. }
  34182. ],
  34183. "id": 9753,
  34184. "name": "_sendLogPayload",
  34185. "nodeType": "Identifier",
  34186. "overloadedDeclarations": [],
  34187. "referencedDeclaration": 7315,
  34188. "src": "22001:15:50",
  34189. "typeDescriptions": {
  34190. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  34191. "typeString": "function (bytes memory) pure"
  34192. }
  34193. },
  34194. "id": 9762,
  34195. "isConstant": false,
  34196. "isLValue": false,
  34197. "isPure": false,
  34198. "kind": "functionCall",
  34199. "lValueRequested": false,
  34200. "nameLocations": [],
  34201. "names": [],
  34202. "nodeType": "FunctionCall",
  34203. "src": "22001:96:50",
  34204. "tryCall": false,
  34205. "typeDescriptions": {
  34206. "typeIdentifier": "t_tuple$__$",
  34207. "typeString": "tuple()"
  34208. }
  34209. },
  34210. "id": 9763,
  34211. "nodeType": "ExpressionStatement",
  34212. "src": "22001:96:50"
  34213. }
  34214. ]
  34215. },
  34216. "implemented": true,
  34217. "kind": "function",
  34218. "modifiers": [],
  34219. "name": "log",
  34220. "nameLocation": "21925:3:50",
  34221. "parameters": {
  34222. "id": 9751,
  34223. "nodeType": "ParameterList",
  34224. "parameters": [
  34225. {
  34226. "constant": false,
  34227. "id": 9744,
  34228. "mutability": "mutable",
  34229. "name": "p0",
  34230. "nameLocation": "21937:2:50",
  34231. "nodeType": "VariableDeclaration",
  34232. "scope": 9765,
  34233. "src": "21929:10:50",
  34234. "stateVariable": false,
  34235. "storageLocation": "default",
  34236. "typeDescriptions": {
  34237. "typeIdentifier": "t_uint256",
  34238. "typeString": "uint256"
  34239. },
  34240. "typeName": {
  34241. "id": 9743,
  34242. "name": "uint256",
  34243. "nodeType": "ElementaryTypeName",
  34244. "src": "21929:7:50",
  34245. "typeDescriptions": {
  34246. "typeIdentifier": "t_uint256",
  34247. "typeString": "uint256"
  34248. }
  34249. },
  34250. "visibility": "internal"
  34251. },
  34252. {
  34253. "constant": false,
  34254. "id": 9746,
  34255. "mutability": "mutable",
  34256. "name": "p1",
  34257. "nameLocation": "21949:2:50",
  34258. "nodeType": "VariableDeclaration",
  34259. "scope": 9765,
  34260. "src": "21941:10:50",
  34261. "stateVariable": false,
  34262. "storageLocation": "default",
  34263. "typeDescriptions": {
  34264. "typeIdentifier": "t_uint256",
  34265. "typeString": "uint256"
  34266. },
  34267. "typeName": {
  34268. "id": 9745,
  34269. "name": "uint256",
  34270. "nodeType": "ElementaryTypeName",
  34271. "src": "21941:7:50",
  34272. "typeDescriptions": {
  34273. "typeIdentifier": "t_uint256",
  34274. "typeString": "uint256"
  34275. }
  34276. },
  34277. "visibility": "internal"
  34278. },
  34279. {
  34280. "constant": false,
  34281. "id": 9748,
  34282. "mutability": "mutable",
  34283. "name": "p2",
  34284. "nameLocation": "21961:2:50",
  34285. "nodeType": "VariableDeclaration",
  34286. "scope": 9765,
  34287. "src": "21953:10:50",
  34288. "stateVariable": false,
  34289. "storageLocation": "default",
  34290. "typeDescriptions": {
  34291. "typeIdentifier": "t_address",
  34292. "typeString": "address"
  34293. },
  34294. "typeName": {
  34295. "id": 9747,
  34296. "name": "address",
  34297. "nodeType": "ElementaryTypeName",
  34298. "src": "21953:7:50",
  34299. "stateMutability": "nonpayable",
  34300. "typeDescriptions": {
  34301. "typeIdentifier": "t_address",
  34302. "typeString": "address"
  34303. }
  34304. },
  34305. "visibility": "internal"
  34306. },
  34307. {
  34308. "constant": false,
  34309. "id": 9750,
  34310. "mutability": "mutable",
  34311. "name": "p3",
  34312. "nameLocation": "21973:2:50",
  34313. "nodeType": "VariableDeclaration",
  34314. "scope": 9765,
  34315. "src": "21965:10:50",
  34316. "stateVariable": false,
  34317. "storageLocation": "default",
  34318. "typeDescriptions": {
  34319. "typeIdentifier": "t_uint256",
  34320. "typeString": "uint256"
  34321. },
  34322. "typeName": {
  34323. "id": 9749,
  34324. "name": "uint256",
  34325. "nodeType": "ElementaryTypeName",
  34326. "src": "21965:7:50",
  34327. "typeDescriptions": {
  34328. "typeIdentifier": "t_uint256",
  34329. "typeString": "uint256"
  34330. }
  34331. },
  34332. "visibility": "internal"
  34333. }
  34334. ],
  34335. "src": "21928:48:50"
  34336. },
  34337. "returnParameters": {
  34338. "id": 9752,
  34339. "nodeType": "ParameterList",
  34340. "parameters": [],
  34341. "src": "21991:0:50"
  34342. },
  34343. "scope": 15355,
  34344. "stateMutability": "pure",
  34345. "virtual": false,
  34346. "visibility": "internal"
  34347. },
  34348. {
  34349. "id": 9788,
  34350. "nodeType": "FunctionDefinition",
  34351. "src": "22110:193:50",
  34352. "nodes": [],
  34353. "body": {
  34354. "id": 9787,
  34355. "nodeType": "Block",
  34356. "src": "22191:112:50",
  34357. "nodes": [],
  34358. "statements": [
  34359. {
  34360. "expression": {
  34361. "arguments": [
  34362. {
  34363. "arguments": [
  34364. {
  34365. "hexValue": "6c6f672875696e743235362c75696e743235362c616464726573732c737472696e6729",
  34366. "id": 9779,
  34367. "isConstant": false,
  34368. "isLValue": false,
  34369. "isPure": true,
  34370. "kind": "string",
  34371. "lValueRequested": false,
  34372. "nodeType": "Literal",
  34373. "src": "22241:37:50",
  34374. "typeDescriptions": {
  34375. "typeIdentifier": "t_stringliteral_6cde40b8d4f88da65710732f1ce432c86447f486bf713e5763c0ab174df12f40",
  34376. "typeString": "literal_string \"log(uint256,uint256,address,string)\""
  34377. },
  34378. "value": "log(uint256,uint256,address,string)"
  34379. },
  34380. {
  34381. "id": 9780,
  34382. "name": "p0",
  34383. "nodeType": "Identifier",
  34384. "overloadedDeclarations": [],
  34385. "referencedDeclaration": 9767,
  34386. "src": "22280:2:50",
  34387. "typeDescriptions": {
  34388. "typeIdentifier": "t_uint256",
  34389. "typeString": "uint256"
  34390. }
  34391. },
  34392. {
  34393. "id": 9781,
  34394. "name": "p1",
  34395. "nodeType": "Identifier",
  34396. "overloadedDeclarations": [],
  34397. "referencedDeclaration": 9769,
  34398. "src": "22284:2:50",
  34399. "typeDescriptions": {
  34400. "typeIdentifier": "t_uint256",
  34401. "typeString": "uint256"
  34402. }
  34403. },
  34404. {
  34405. "id": 9782,
  34406. "name": "p2",
  34407. "nodeType": "Identifier",
  34408. "overloadedDeclarations": [],
  34409. "referencedDeclaration": 9771,
  34410. "src": "22288:2:50",
  34411. "typeDescriptions": {
  34412. "typeIdentifier": "t_address",
  34413. "typeString": "address"
  34414. }
  34415. },
  34416. {
  34417. "id": 9783,
  34418. "name": "p3",
  34419. "nodeType": "Identifier",
  34420. "overloadedDeclarations": [],
  34421. "referencedDeclaration": 9773,
  34422. "src": "22292:2:50",
  34423. "typeDescriptions": {
  34424. "typeIdentifier": "t_string_memory_ptr",
  34425. "typeString": "string memory"
  34426. }
  34427. }
  34428. ],
  34429. "expression": {
  34430. "argumentTypes": [
  34431. {
  34432. "typeIdentifier": "t_stringliteral_6cde40b8d4f88da65710732f1ce432c86447f486bf713e5763c0ab174df12f40",
  34433. "typeString": "literal_string \"log(uint256,uint256,address,string)\""
  34434. },
  34435. {
  34436. "typeIdentifier": "t_uint256",
  34437. "typeString": "uint256"
  34438. },
  34439. {
  34440. "typeIdentifier": "t_uint256",
  34441. "typeString": "uint256"
  34442. },
  34443. {
  34444. "typeIdentifier": "t_address",
  34445. "typeString": "address"
  34446. },
  34447. {
  34448. "typeIdentifier": "t_string_memory_ptr",
  34449. "typeString": "string memory"
  34450. }
  34451. ],
  34452. "expression": {
  34453. "id": 9777,
  34454. "name": "abi",
  34455. "nodeType": "Identifier",
  34456. "overloadedDeclarations": [],
  34457. "referencedDeclaration": -1,
  34458. "src": "22217:3:50",
  34459. "typeDescriptions": {
  34460. "typeIdentifier": "t_magic_abi",
  34461. "typeString": "abi"
  34462. }
  34463. },
  34464. "id": 9778,
  34465. "isConstant": false,
  34466. "isLValue": false,
  34467. "isPure": true,
  34468. "lValueRequested": false,
  34469. "memberLocation": "22221:19:50",
  34470. "memberName": "encodeWithSignature",
  34471. "nodeType": "MemberAccess",
  34472. "src": "22217:23:50",
  34473. "typeDescriptions": {
  34474. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  34475. "typeString": "function (string memory) pure returns (bytes memory)"
  34476. }
  34477. },
  34478. "id": 9784,
  34479. "isConstant": false,
  34480. "isLValue": false,
  34481. "isPure": false,
  34482. "kind": "functionCall",
  34483. "lValueRequested": false,
  34484. "nameLocations": [],
  34485. "names": [],
  34486. "nodeType": "FunctionCall",
  34487. "src": "22217:78:50",
  34488. "tryCall": false,
  34489. "typeDescriptions": {
  34490. "typeIdentifier": "t_bytes_memory_ptr",
  34491. "typeString": "bytes memory"
  34492. }
  34493. }
  34494. ],
  34495. "expression": {
  34496. "argumentTypes": [
  34497. {
  34498. "typeIdentifier": "t_bytes_memory_ptr",
  34499. "typeString": "bytes memory"
  34500. }
  34501. ],
  34502. "id": 9776,
  34503. "name": "_sendLogPayload",
  34504. "nodeType": "Identifier",
  34505. "overloadedDeclarations": [],
  34506. "referencedDeclaration": 7315,
  34507. "src": "22201:15:50",
  34508. "typeDescriptions": {
  34509. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  34510. "typeString": "function (bytes memory) pure"
  34511. }
  34512. },
  34513. "id": 9785,
  34514. "isConstant": false,
  34515. "isLValue": false,
  34516. "isPure": false,
  34517. "kind": "functionCall",
  34518. "lValueRequested": false,
  34519. "nameLocations": [],
  34520. "names": [],
  34521. "nodeType": "FunctionCall",
  34522. "src": "22201:95:50",
  34523. "tryCall": false,
  34524. "typeDescriptions": {
  34525. "typeIdentifier": "t_tuple$__$",
  34526. "typeString": "tuple()"
  34527. }
  34528. },
  34529. "id": 9786,
  34530. "nodeType": "ExpressionStatement",
  34531. "src": "22201:95:50"
  34532. }
  34533. ]
  34534. },
  34535. "implemented": true,
  34536. "kind": "function",
  34537. "modifiers": [],
  34538. "name": "log",
  34539. "nameLocation": "22119:3:50",
  34540. "parameters": {
  34541. "id": 9774,
  34542. "nodeType": "ParameterList",
  34543. "parameters": [
  34544. {
  34545. "constant": false,
  34546. "id": 9767,
  34547. "mutability": "mutable",
  34548. "name": "p0",
  34549. "nameLocation": "22131:2:50",
  34550. "nodeType": "VariableDeclaration",
  34551. "scope": 9788,
  34552. "src": "22123:10:50",
  34553. "stateVariable": false,
  34554. "storageLocation": "default",
  34555. "typeDescriptions": {
  34556. "typeIdentifier": "t_uint256",
  34557. "typeString": "uint256"
  34558. },
  34559. "typeName": {
  34560. "id": 9766,
  34561. "name": "uint256",
  34562. "nodeType": "ElementaryTypeName",
  34563. "src": "22123:7:50",
  34564. "typeDescriptions": {
  34565. "typeIdentifier": "t_uint256",
  34566. "typeString": "uint256"
  34567. }
  34568. },
  34569. "visibility": "internal"
  34570. },
  34571. {
  34572. "constant": false,
  34573. "id": 9769,
  34574. "mutability": "mutable",
  34575. "name": "p1",
  34576. "nameLocation": "22143:2:50",
  34577. "nodeType": "VariableDeclaration",
  34578. "scope": 9788,
  34579. "src": "22135:10:50",
  34580. "stateVariable": false,
  34581. "storageLocation": "default",
  34582. "typeDescriptions": {
  34583. "typeIdentifier": "t_uint256",
  34584. "typeString": "uint256"
  34585. },
  34586. "typeName": {
  34587. "id": 9768,
  34588. "name": "uint256",
  34589. "nodeType": "ElementaryTypeName",
  34590. "src": "22135:7:50",
  34591. "typeDescriptions": {
  34592. "typeIdentifier": "t_uint256",
  34593. "typeString": "uint256"
  34594. }
  34595. },
  34596. "visibility": "internal"
  34597. },
  34598. {
  34599. "constant": false,
  34600. "id": 9771,
  34601. "mutability": "mutable",
  34602. "name": "p2",
  34603. "nameLocation": "22155:2:50",
  34604. "nodeType": "VariableDeclaration",
  34605. "scope": 9788,
  34606. "src": "22147:10:50",
  34607. "stateVariable": false,
  34608. "storageLocation": "default",
  34609. "typeDescriptions": {
  34610. "typeIdentifier": "t_address",
  34611. "typeString": "address"
  34612. },
  34613. "typeName": {
  34614. "id": 9770,
  34615. "name": "address",
  34616. "nodeType": "ElementaryTypeName",
  34617. "src": "22147:7:50",
  34618. "stateMutability": "nonpayable",
  34619. "typeDescriptions": {
  34620. "typeIdentifier": "t_address",
  34621. "typeString": "address"
  34622. }
  34623. },
  34624. "visibility": "internal"
  34625. },
  34626. {
  34627. "constant": false,
  34628. "id": 9773,
  34629. "mutability": "mutable",
  34630. "name": "p3",
  34631. "nameLocation": "22173:2:50",
  34632. "nodeType": "VariableDeclaration",
  34633. "scope": 9788,
  34634. "src": "22159:16:50",
  34635. "stateVariable": false,
  34636. "storageLocation": "memory",
  34637. "typeDescriptions": {
  34638. "typeIdentifier": "t_string_memory_ptr",
  34639. "typeString": "string"
  34640. },
  34641. "typeName": {
  34642. "id": 9772,
  34643. "name": "string",
  34644. "nodeType": "ElementaryTypeName",
  34645. "src": "22159:6:50",
  34646. "typeDescriptions": {
  34647. "typeIdentifier": "t_string_storage_ptr",
  34648. "typeString": "string"
  34649. }
  34650. },
  34651. "visibility": "internal"
  34652. }
  34653. ],
  34654. "src": "22122:54:50"
  34655. },
  34656. "returnParameters": {
  34657. "id": 9775,
  34658. "nodeType": "ParameterList",
  34659. "parameters": [],
  34660. "src": "22191:0:50"
  34661. },
  34662. "scope": 15355,
  34663. "stateMutability": "pure",
  34664. "virtual": false,
  34665. "visibility": "internal"
  34666. },
  34667. {
  34668. "id": 9811,
  34669. "nodeType": "FunctionDefinition",
  34670. "src": "22309:182:50",
  34671. "nodes": [],
  34672. "body": {
  34673. "id": 9810,
  34674. "nodeType": "Block",
  34675. "src": "22381:110:50",
  34676. "nodes": [],
  34677. "statements": [
  34678. {
  34679. "expression": {
  34680. "arguments": [
  34681. {
  34682. "arguments": [
  34683. {
  34684. "hexValue": "6c6f672875696e743235362c75696e743235362c616464726573732c626f6f6c29",
  34685. "id": 9802,
  34686. "isConstant": false,
  34687. "isLValue": false,
  34688. "isPure": true,
  34689. "kind": "string",
  34690. "lValueRequested": false,
  34691. "nodeType": "Literal",
  34692. "src": "22431:35:50",
  34693. "typeDescriptions": {
  34694. "typeIdentifier": "t_stringliteral_15cac47617578377cd39f9593e7bb3ffa0e284336b9741dcc2c4151a93e1b201",
  34695. "typeString": "literal_string \"log(uint256,uint256,address,bool)\""
  34696. },
  34697. "value": "log(uint256,uint256,address,bool)"
  34698. },
  34699. {
  34700. "id": 9803,
  34701. "name": "p0",
  34702. "nodeType": "Identifier",
  34703. "overloadedDeclarations": [],
  34704. "referencedDeclaration": 9790,
  34705. "src": "22468:2:50",
  34706. "typeDescriptions": {
  34707. "typeIdentifier": "t_uint256",
  34708. "typeString": "uint256"
  34709. }
  34710. },
  34711. {
  34712. "id": 9804,
  34713. "name": "p1",
  34714. "nodeType": "Identifier",
  34715. "overloadedDeclarations": [],
  34716. "referencedDeclaration": 9792,
  34717. "src": "22472:2:50",
  34718. "typeDescriptions": {
  34719. "typeIdentifier": "t_uint256",
  34720. "typeString": "uint256"
  34721. }
  34722. },
  34723. {
  34724. "id": 9805,
  34725. "name": "p2",
  34726. "nodeType": "Identifier",
  34727. "overloadedDeclarations": [],
  34728. "referencedDeclaration": 9794,
  34729. "src": "22476:2:50",
  34730. "typeDescriptions": {
  34731. "typeIdentifier": "t_address",
  34732. "typeString": "address"
  34733. }
  34734. },
  34735. {
  34736. "id": 9806,
  34737. "name": "p3",
  34738. "nodeType": "Identifier",
  34739. "overloadedDeclarations": [],
  34740. "referencedDeclaration": 9796,
  34741. "src": "22480:2:50",
  34742. "typeDescriptions": {
  34743. "typeIdentifier": "t_bool",
  34744. "typeString": "bool"
  34745. }
  34746. }
  34747. ],
  34748. "expression": {
  34749. "argumentTypes": [
  34750. {
  34751. "typeIdentifier": "t_stringliteral_15cac47617578377cd39f9593e7bb3ffa0e284336b9741dcc2c4151a93e1b201",
  34752. "typeString": "literal_string \"log(uint256,uint256,address,bool)\""
  34753. },
  34754. {
  34755. "typeIdentifier": "t_uint256",
  34756. "typeString": "uint256"
  34757. },
  34758. {
  34759. "typeIdentifier": "t_uint256",
  34760. "typeString": "uint256"
  34761. },
  34762. {
  34763. "typeIdentifier": "t_address",
  34764. "typeString": "address"
  34765. },
  34766. {
  34767. "typeIdentifier": "t_bool",
  34768. "typeString": "bool"
  34769. }
  34770. ],
  34771. "expression": {
  34772. "id": 9800,
  34773. "name": "abi",
  34774. "nodeType": "Identifier",
  34775. "overloadedDeclarations": [],
  34776. "referencedDeclaration": -1,
  34777. "src": "22407:3:50",
  34778. "typeDescriptions": {
  34779. "typeIdentifier": "t_magic_abi",
  34780. "typeString": "abi"
  34781. }
  34782. },
  34783. "id": 9801,
  34784. "isConstant": false,
  34785. "isLValue": false,
  34786. "isPure": true,
  34787. "lValueRequested": false,
  34788. "memberLocation": "22411:19:50",
  34789. "memberName": "encodeWithSignature",
  34790. "nodeType": "MemberAccess",
  34791. "src": "22407:23:50",
  34792. "typeDescriptions": {
  34793. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  34794. "typeString": "function (string memory) pure returns (bytes memory)"
  34795. }
  34796. },
  34797. "id": 9807,
  34798. "isConstant": false,
  34799. "isLValue": false,
  34800. "isPure": false,
  34801. "kind": "functionCall",
  34802. "lValueRequested": false,
  34803. "nameLocations": [],
  34804. "names": [],
  34805. "nodeType": "FunctionCall",
  34806. "src": "22407:76:50",
  34807. "tryCall": false,
  34808. "typeDescriptions": {
  34809. "typeIdentifier": "t_bytes_memory_ptr",
  34810. "typeString": "bytes memory"
  34811. }
  34812. }
  34813. ],
  34814. "expression": {
  34815. "argumentTypes": [
  34816. {
  34817. "typeIdentifier": "t_bytes_memory_ptr",
  34818. "typeString": "bytes memory"
  34819. }
  34820. ],
  34821. "id": 9799,
  34822. "name": "_sendLogPayload",
  34823. "nodeType": "Identifier",
  34824. "overloadedDeclarations": [],
  34825. "referencedDeclaration": 7315,
  34826. "src": "22391:15:50",
  34827. "typeDescriptions": {
  34828. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  34829. "typeString": "function (bytes memory) pure"
  34830. }
  34831. },
  34832. "id": 9808,
  34833. "isConstant": false,
  34834. "isLValue": false,
  34835. "isPure": false,
  34836. "kind": "functionCall",
  34837. "lValueRequested": false,
  34838. "nameLocations": [],
  34839. "names": [],
  34840. "nodeType": "FunctionCall",
  34841. "src": "22391:93:50",
  34842. "tryCall": false,
  34843. "typeDescriptions": {
  34844. "typeIdentifier": "t_tuple$__$",
  34845. "typeString": "tuple()"
  34846. }
  34847. },
  34848. "id": 9809,
  34849. "nodeType": "ExpressionStatement",
  34850. "src": "22391:93:50"
  34851. }
  34852. ]
  34853. },
  34854. "implemented": true,
  34855. "kind": "function",
  34856. "modifiers": [],
  34857. "name": "log",
  34858. "nameLocation": "22318:3:50",
  34859. "parameters": {
  34860. "id": 9797,
  34861. "nodeType": "ParameterList",
  34862. "parameters": [
  34863. {
  34864. "constant": false,
  34865. "id": 9790,
  34866. "mutability": "mutable",
  34867. "name": "p0",
  34868. "nameLocation": "22330:2:50",
  34869. "nodeType": "VariableDeclaration",
  34870. "scope": 9811,
  34871. "src": "22322:10:50",
  34872. "stateVariable": false,
  34873. "storageLocation": "default",
  34874. "typeDescriptions": {
  34875. "typeIdentifier": "t_uint256",
  34876. "typeString": "uint256"
  34877. },
  34878. "typeName": {
  34879. "id": 9789,
  34880. "name": "uint256",
  34881. "nodeType": "ElementaryTypeName",
  34882. "src": "22322:7:50",
  34883. "typeDescriptions": {
  34884. "typeIdentifier": "t_uint256",
  34885. "typeString": "uint256"
  34886. }
  34887. },
  34888. "visibility": "internal"
  34889. },
  34890. {
  34891. "constant": false,
  34892. "id": 9792,
  34893. "mutability": "mutable",
  34894. "name": "p1",
  34895. "nameLocation": "22342:2:50",
  34896. "nodeType": "VariableDeclaration",
  34897. "scope": 9811,
  34898. "src": "22334:10:50",
  34899. "stateVariable": false,
  34900. "storageLocation": "default",
  34901. "typeDescriptions": {
  34902. "typeIdentifier": "t_uint256",
  34903. "typeString": "uint256"
  34904. },
  34905. "typeName": {
  34906. "id": 9791,
  34907. "name": "uint256",
  34908. "nodeType": "ElementaryTypeName",
  34909. "src": "22334:7:50",
  34910. "typeDescriptions": {
  34911. "typeIdentifier": "t_uint256",
  34912. "typeString": "uint256"
  34913. }
  34914. },
  34915. "visibility": "internal"
  34916. },
  34917. {
  34918. "constant": false,
  34919. "id": 9794,
  34920. "mutability": "mutable",
  34921. "name": "p2",
  34922. "nameLocation": "22354:2:50",
  34923. "nodeType": "VariableDeclaration",
  34924. "scope": 9811,
  34925. "src": "22346:10:50",
  34926. "stateVariable": false,
  34927. "storageLocation": "default",
  34928. "typeDescriptions": {
  34929. "typeIdentifier": "t_address",
  34930. "typeString": "address"
  34931. },
  34932. "typeName": {
  34933. "id": 9793,
  34934. "name": "address",
  34935. "nodeType": "ElementaryTypeName",
  34936. "src": "22346:7:50",
  34937. "stateMutability": "nonpayable",
  34938. "typeDescriptions": {
  34939. "typeIdentifier": "t_address",
  34940. "typeString": "address"
  34941. }
  34942. },
  34943. "visibility": "internal"
  34944. },
  34945. {
  34946. "constant": false,
  34947. "id": 9796,
  34948. "mutability": "mutable",
  34949. "name": "p3",
  34950. "nameLocation": "22363:2:50",
  34951. "nodeType": "VariableDeclaration",
  34952. "scope": 9811,
  34953. "src": "22358:7:50",
  34954. "stateVariable": false,
  34955. "storageLocation": "default",
  34956. "typeDescriptions": {
  34957. "typeIdentifier": "t_bool",
  34958. "typeString": "bool"
  34959. },
  34960. "typeName": {
  34961. "id": 9795,
  34962. "name": "bool",
  34963. "nodeType": "ElementaryTypeName",
  34964. "src": "22358:4:50",
  34965. "typeDescriptions": {
  34966. "typeIdentifier": "t_bool",
  34967. "typeString": "bool"
  34968. }
  34969. },
  34970. "visibility": "internal"
  34971. }
  34972. ],
  34973. "src": "22321:45:50"
  34974. },
  34975. "returnParameters": {
  34976. "id": 9798,
  34977. "nodeType": "ParameterList",
  34978. "parameters": [],
  34979. "src": "22381:0:50"
  34980. },
  34981. "scope": 15355,
  34982. "stateMutability": "pure",
  34983. "virtual": false,
  34984. "visibility": "internal"
  34985. },
  34986. {
  34987. "id": 9834,
  34988. "nodeType": "FunctionDefinition",
  34989. "src": "22497:188:50",
  34990. "nodes": [],
  34991. "body": {
  34992. "id": 9833,
  34993. "nodeType": "Block",
  34994. "src": "22572:113:50",
  34995. "nodes": [],
  34996. "statements": [
  34997. {
  34998. "expression": {
  34999. "arguments": [
  35000. {
  35001. "arguments": [
  35002. {
  35003. "hexValue": "6c6f672875696e743235362c75696e743235362c616464726573732c6164647265737329",
  35004. "id": 9825,
  35005. "isConstant": false,
  35006. "isLValue": false,
  35007. "isPure": true,
  35008. "kind": "string",
  35009. "lValueRequested": false,
  35010. "nodeType": "Literal",
  35011. "src": "22622:38:50",
  35012. "typeDescriptions": {
  35013. "typeIdentifier": "t_stringliteral_56a5d1b1d2f0613b93371fc2b5ec91f6c2ba1375e1e4ff59b5061b56ca88e88d",
  35014. "typeString": "literal_string \"log(uint256,uint256,address,address)\""
  35015. },
  35016. "value": "log(uint256,uint256,address,address)"
  35017. },
  35018. {
  35019. "id": 9826,
  35020. "name": "p0",
  35021. "nodeType": "Identifier",
  35022. "overloadedDeclarations": [],
  35023. "referencedDeclaration": 9813,
  35024. "src": "22662:2:50",
  35025. "typeDescriptions": {
  35026. "typeIdentifier": "t_uint256",
  35027. "typeString": "uint256"
  35028. }
  35029. },
  35030. {
  35031. "id": 9827,
  35032. "name": "p1",
  35033. "nodeType": "Identifier",
  35034. "overloadedDeclarations": [],
  35035. "referencedDeclaration": 9815,
  35036. "src": "22666:2:50",
  35037. "typeDescriptions": {
  35038. "typeIdentifier": "t_uint256",
  35039. "typeString": "uint256"
  35040. }
  35041. },
  35042. {
  35043. "id": 9828,
  35044. "name": "p2",
  35045. "nodeType": "Identifier",
  35046. "overloadedDeclarations": [],
  35047. "referencedDeclaration": 9817,
  35048. "src": "22670:2:50",
  35049. "typeDescriptions": {
  35050. "typeIdentifier": "t_address",
  35051. "typeString": "address"
  35052. }
  35053. },
  35054. {
  35055. "id": 9829,
  35056. "name": "p3",
  35057. "nodeType": "Identifier",
  35058. "overloadedDeclarations": [],
  35059. "referencedDeclaration": 9819,
  35060. "src": "22674:2:50",
  35061. "typeDescriptions": {
  35062. "typeIdentifier": "t_address",
  35063. "typeString": "address"
  35064. }
  35065. }
  35066. ],
  35067. "expression": {
  35068. "argumentTypes": [
  35069. {
  35070. "typeIdentifier": "t_stringliteral_56a5d1b1d2f0613b93371fc2b5ec91f6c2ba1375e1e4ff59b5061b56ca88e88d",
  35071. "typeString": "literal_string \"log(uint256,uint256,address,address)\""
  35072. },
  35073. {
  35074. "typeIdentifier": "t_uint256",
  35075. "typeString": "uint256"
  35076. },
  35077. {
  35078. "typeIdentifier": "t_uint256",
  35079. "typeString": "uint256"
  35080. },
  35081. {
  35082. "typeIdentifier": "t_address",
  35083. "typeString": "address"
  35084. },
  35085. {
  35086. "typeIdentifier": "t_address",
  35087. "typeString": "address"
  35088. }
  35089. ],
  35090. "expression": {
  35091. "id": 9823,
  35092. "name": "abi",
  35093. "nodeType": "Identifier",
  35094. "overloadedDeclarations": [],
  35095. "referencedDeclaration": -1,
  35096. "src": "22598:3:50",
  35097. "typeDescriptions": {
  35098. "typeIdentifier": "t_magic_abi",
  35099. "typeString": "abi"
  35100. }
  35101. },
  35102. "id": 9824,
  35103. "isConstant": false,
  35104. "isLValue": false,
  35105. "isPure": true,
  35106. "lValueRequested": false,
  35107. "memberLocation": "22602:19:50",
  35108. "memberName": "encodeWithSignature",
  35109. "nodeType": "MemberAccess",
  35110. "src": "22598:23:50",
  35111. "typeDescriptions": {
  35112. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  35113. "typeString": "function (string memory) pure returns (bytes memory)"
  35114. }
  35115. },
  35116. "id": 9830,
  35117. "isConstant": false,
  35118. "isLValue": false,
  35119. "isPure": false,
  35120. "kind": "functionCall",
  35121. "lValueRequested": false,
  35122. "nameLocations": [],
  35123. "names": [],
  35124. "nodeType": "FunctionCall",
  35125. "src": "22598:79:50",
  35126. "tryCall": false,
  35127. "typeDescriptions": {
  35128. "typeIdentifier": "t_bytes_memory_ptr",
  35129. "typeString": "bytes memory"
  35130. }
  35131. }
  35132. ],
  35133. "expression": {
  35134. "argumentTypes": [
  35135. {
  35136. "typeIdentifier": "t_bytes_memory_ptr",
  35137. "typeString": "bytes memory"
  35138. }
  35139. ],
  35140. "id": 9822,
  35141. "name": "_sendLogPayload",
  35142. "nodeType": "Identifier",
  35143. "overloadedDeclarations": [],
  35144. "referencedDeclaration": 7315,
  35145. "src": "22582:15:50",
  35146. "typeDescriptions": {
  35147. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  35148. "typeString": "function (bytes memory) pure"
  35149. }
  35150. },
  35151. "id": 9831,
  35152. "isConstant": false,
  35153. "isLValue": false,
  35154. "isPure": false,
  35155. "kind": "functionCall",
  35156. "lValueRequested": false,
  35157. "nameLocations": [],
  35158. "names": [],
  35159. "nodeType": "FunctionCall",
  35160. "src": "22582:96:50",
  35161. "tryCall": false,
  35162. "typeDescriptions": {
  35163. "typeIdentifier": "t_tuple$__$",
  35164. "typeString": "tuple()"
  35165. }
  35166. },
  35167. "id": 9832,
  35168. "nodeType": "ExpressionStatement",
  35169. "src": "22582:96:50"
  35170. }
  35171. ]
  35172. },
  35173. "implemented": true,
  35174. "kind": "function",
  35175. "modifiers": [],
  35176. "name": "log",
  35177. "nameLocation": "22506:3:50",
  35178. "parameters": {
  35179. "id": 9820,
  35180. "nodeType": "ParameterList",
  35181. "parameters": [
  35182. {
  35183. "constant": false,
  35184. "id": 9813,
  35185. "mutability": "mutable",
  35186. "name": "p0",
  35187. "nameLocation": "22518:2:50",
  35188. "nodeType": "VariableDeclaration",
  35189. "scope": 9834,
  35190. "src": "22510:10:50",
  35191. "stateVariable": false,
  35192. "storageLocation": "default",
  35193. "typeDescriptions": {
  35194. "typeIdentifier": "t_uint256",
  35195. "typeString": "uint256"
  35196. },
  35197. "typeName": {
  35198. "id": 9812,
  35199. "name": "uint256",
  35200. "nodeType": "ElementaryTypeName",
  35201. "src": "22510:7:50",
  35202. "typeDescriptions": {
  35203. "typeIdentifier": "t_uint256",
  35204. "typeString": "uint256"
  35205. }
  35206. },
  35207. "visibility": "internal"
  35208. },
  35209. {
  35210. "constant": false,
  35211. "id": 9815,
  35212. "mutability": "mutable",
  35213. "name": "p1",
  35214. "nameLocation": "22530:2:50",
  35215. "nodeType": "VariableDeclaration",
  35216. "scope": 9834,
  35217. "src": "22522:10:50",
  35218. "stateVariable": false,
  35219. "storageLocation": "default",
  35220. "typeDescriptions": {
  35221. "typeIdentifier": "t_uint256",
  35222. "typeString": "uint256"
  35223. },
  35224. "typeName": {
  35225. "id": 9814,
  35226. "name": "uint256",
  35227. "nodeType": "ElementaryTypeName",
  35228. "src": "22522:7:50",
  35229. "typeDescriptions": {
  35230. "typeIdentifier": "t_uint256",
  35231. "typeString": "uint256"
  35232. }
  35233. },
  35234. "visibility": "internal"
  35235. },
  35236. {
  35237. "constant": false,
  35238. "id": 9817,
  35239. "mutability": "mutable",
  35240. "name": "p2",
  35241. "nameLocation": "22542:2:50",
  35242. "nodeType": "VariableDeclaration",
  35243. "scope": 9834,
  35244. "src": "22534:10:50",
  35245. "stateVariable": false,
  35246. "storageLocation": "default",
  35247. "typeDescriptions": {
  35248. "typeIdentifier": "t_address",
  35249. "typeString": "address"
  35250. },
  35251. "typeName": {
  35252. "id": 9816,
  35253. "name": "address",
  35254. "nodeType": "ElementaryTypeName",
  35255. "src": "22534:7:50",
  35256. "stateMutability": "nonpayable",
  35257. "typeDescriptions": {
  35258. "typeIdentifier": "t_address",
  35259. "typeString": "address"
  35260. }
  35261. },
  35262. "visibility": "internal"
  35263. },
  35264. {
  35265. "constant": false,
  35266. "id": 9819,
  35267. "mutability": "mutable",
  35268. "name": "p3",
  35269. "nameLocation": "22554:2:50",
  35270. "nodeType": "VariableDeclaration",
  35271. "scope": 9834,
  35272. "src": "22546:10:50",
  35273. "stateVariable": false,
  35274. "storageLocation": "default",
  35275. "typeDescriptions": {
  35276. "typeIdentifier": "t_address",
  35277. "typeString": "address"
  35278. },
  35279. "typeName": {
  35280. "id": 9818,
  35281. "name": "address",
  35282. "nodeType": "ElementaryTypeName",
  35283. "src": "22546:7:50",
  35284. "stateMutability": "nonpayable",
  35285. "typeDescriptions": {
  35286. "typeIdentifier": "t_address",
  35287. "typeString": "address"
  35288. }
  35289. },
  35290. "visibility": "internal"
  35291. }
  35292. ],
  35293. "src": "22509:48:50"
  35294. },
  35295. "returnParameters": {
  35296. "id": 9821,
  35297. "nodeType": "ParameterList",
  35298. "parameters": [],
  35299. "src": "22572:0:50"
  35300. },
  35301. "scope": 15355,
  35302. "stateMutability": "pure",
  35303. "virtual": false,
  35304. "visibility": "internal"
  35305. },
  35306. {
  35307. "id": 9857,
  35308. "nodeType": "FunctionDefinition",
  35309. "src": "22691:193:50",
  35310. "nodes": [],
  35311. "body": {
  35312. "id": 9856,
  35313. "nodeType": "Block",
  35314. "src": "22772:112:50",
  35315. "nodes": [],
  35316. "statements": [
  35317. {
  35318. "expression": {
  35319. "arguments": [
  35320. {
  35321. "arguments": [
  35322. {
  35323. "hexValue": "6c6f672875696e743235362c737472696e672c75696e743235362c75696e7432353629",
  35324. "id": 9848,
  35325. "isConstant": false,
  35326. "isLValue": false,
  35327. "isPure": true,
  35328. "kind": "string",
  35329. "lValueRequested": false,
  35330. "nodeType": "Literal",
  35331. "src": "22822:37:50",
  35332. "typeDescriptions": {
  35333. "typeIdentifier": "t_stringliteral_82c25b74e3ddb6ea40e867e0a41af8848bdc6a88fd5e365497c46917573fd66f",
  35334. "typeString": "literal_string \"log(uint256,string,uint256,uint256)\""
  35335. },
  35336. "value": "log(uint256,string,uint256,uint256)"
  35337. },
  35338. {
  35339. "id": 9849,
  35340. "name": "p0",
  35341. "nodeType": "Identifier",
  35342. "overloadedDeclarations": [],
  35343. "referencedDeclaration": 9836,
  35344. "src": "22861:2:50",
  35345. "typeDescriptions": {
  35346. "typeIdentifier": "t_uint256",
  35347. "typeString": "uint256"
  35348. }
  35349. },
  35350. {
  35351. "id": 9850,
  35352. "name": "p1",
  35353. "nodeType": "Identifier",
  35354. "overloadedDeclarations": [],
  35355. "referencedDeclaration": 9838,
  35356. "src": "22865:2:50",
  35357. "typeDescriptions": {
  35358. "typeIdentifier": "t_string_memory_ptr",
  35359. "typeString": "string memory"
  35360. }
  35361. },
  35362. {
  35363. "id": 9851,
  35364. "name": "p2",
  35365. "nodeType": "Identifier",
  35366. "overloadedDeclarations": [],
  35367. "referencedDeclaration": 9840,
  35368. "src": "22869:2:50",
  35369. "typeDescriptions": {
  35370. "typeIdentifier": "t_uint256",
  35371. "typeString": "uint256"
  35372. }
  35373. },
  35374. {
  35375. "id": 9852,
  35376. "name": "p3",
  35377. "nodeType": "Identifier",
  35378. "overloadedDeclarations": [],
  35379. "referencedDeclaration": 9842,
  35380. "src": "22873:2:50",
  35381. "typeDescriptions": {
  35382. "typeIdentifier": "t_uint256",
  35383. "typeString": "uint256"
  35384. }
  35385. }
  35386. ],
  35387. "expression": {
  35388. "argumentTypes": [
  35389. {
  35390. "typeIdentifier": "t_stringliteral_82c25b74e3ddb6ea40e867e0a41af8848bdc6a88fd5e365497c46917573fd66f",
  35391. "typeString": "literal_string \"log(uint256,string,uint256,uint256)\""
  35392. },
  35393. {
  35394. "typeIdentifier": "t_uint256",
  35395. "typeString": "uint256"
  35396. },
  35397. {
  35398. "typeIdentifier": "t_string_memory_ptr",
  35399. "typeString": "string memory"
  35400. },
  35401. {
  35402. "typeIdentifier": "t_uint256",
  35403. "typeString": "uint256"
  35404. },
  35405. {
  35406. "typeIdentifier": "t_uint256",
  35407. "typeString": "uint256"
  35408. }
  35409. ],
  35410. "expression": {
  35411. "id": 9846,
  35412. "name": "abi",
  35413. "nodeType": "Identifier",
  35414. "overloadedDeclarations": [],
  35415. "referencedDeclaration": -1,
  35416. "src": "22798:3:50",
  35417. "typeDescriptions": {
  35418. "typeIdentifier": "t_magic_abi",
  35419. "typeString": "abi"
  35420. }
  35421. },
  35422. "id": 9847,
  35423. "isConstant": false,
  35424. "isLValue": false,
  35425. "isPure": true,
  35426. "lValueRequested": false,
  35427. "memberLocation": "22802:19:50",
  35428. "memberName": "encodeWithSignature",
  35429. "nodeType": "MemberAccess",
  35430. "src": "22798:23:50",
  35431. "typeDescriptions": {
  35432. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  35433. "typeString": "function (string memory) pure returns (bytes memory)"
  35434. }
  35435. },
  35436. "id": 9853,
  35437. "isConstant": false,
  35438. "isLValue": false,
  35439. "isPure": false,
  35440. "kind": "functionCall",
  35441. "lValueRequested": false,
  35442. "nameLocations": [],
  35443. "names": [],
  35444. "nodeType": "FunctionCall",
  35445. "src": "22798:78:50",
  35446. "tryCall": false,
  35447. "typeDescriptions": {
  35448. "typeIdentifier": "t_bytes_memory_ptr",
  35449. "typeString": "bytes memory"
  35450. }
  35451. }
  35452. ],
  35453. "expression": {
  35454. "argumentTypes": [
  35455. {
  35456. "typeIdentifier": "t_bytes_memory_ptr",
  35457. "typeString": "bytes memory"
  35458. }
  35459. ],
  35460. "id": 9845,
  35461. "name": "_sendLogPayload",
  35462. "nodeType": "Identifier",
  35463. "overloadedDeclarations": [],
  35464. "referencedDeclaration": 7315,
  35465. "src": "22782:15:50",
  35466. "typeDescriptions": {
  35467. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  35468. "typeString": "function (bytes memory) pure"
  35469. }
  35470. },
  35471. "id": 9854,
  35472. "isConstant": false,
  35473. "isLValue": false,
  35474. "isPure": false,
  35475. "kind": "functionCall",
  35476. "lValueRequested": false,
  35477. "nameLocations": [],
  35478. "names": [],
  35479. "nodeType": "FunctionCall",
  35480. "src": "22782:95:50",
  35481. "tryCall": false,
  35482. "typeDescriptions": {
  35483. "typeIdentifier": "t_tuple$__$",
  35484. "typeString": "tuple()"
  35485. }
  35486. },
  35487. "id": 9855,
  35488. "nodeType": "ExpressionStatement",
  35489. "src": "22782:95:50"
  35490. }
  35491. ]
  35492. },
  35493. "implemented": true,
  35494. "kind": "function",
  35495. "modifiers": [],
  35496. "name": "log",
  35497. "nameLocation": "22700:3:50",
  35498. "parameters": {
  35499. "id": 9843,
  35500. "nodeType": "ParameterList",
  35501. "parameters": [
  35502. {
  35503. "constant": false,
  35504. "id": 9836,
  35505. "mutability": "mutable",
  35506. "name": "p0",
  35507. "nameLocation": "22712:2:50",
  35508. "nodeType": "VariableDeclaration",
  35509. "scope": 9857,
  35510. "src": "22704:10:50",
  35511. "stateVariable": false,
  35512. "storageLocation": "default",
  35513. "typeDescriptions": {
  35514. "typeIdentifier": "t_uint256",
  35515. "typeString": "uint256"
  35516. },
  35517. "typeName": {
  35518. "id": 9835,
  35519. "name": "uint256",
  35520. "nodeType": "ElementaryTypeName",
  35521. "src": "22704:7:50",
  35522. "typeDescriptions": {
  35523. "typeIdentifier": "t_uint256",
  35524. "typeString": "uint256"
  35525. }
  35526. },
  35527. "visibility": "internal"
  35528. },
  35529. {
  35530. "constant": false,
  35531. "id": 9838,
  35532. "mutability": "mutable",
  35533. "name": "p1",
  35534. "nameLocation": "22730:2:50",
  35535. "nodeType": "VariableDeclaration",
  35536. "scope": 9857,
  35537. "src": "22716:16:50",
  35538. "stateVariable": false,
  35539. "storageLocation": "memory",
  35540. "typeDescriptions": {
  35541. "typeIdentifier": "t_string_memory_ptr",
  35542. "typeString": "string"
  35543. },
  35544. "typeName": {
  35545. "id": 9837,
  35546. "name": "string",
  35547. "nodeType": "ElementaryTypeName",
  35548. "src": "22716:6:50",
  35549. "typeDescriptions": {
  35550. "typeIdentifier": "t_string_storage_ptr",
  35551. "typeString": "string"
  35552. }
  35553. },
  35554. "visibility": "internal"
  35555. },
  35556. {
  35557. "constant": false,
  35558. "id": 9840,
  35559. "mutability": "mutable",
  35560. "name": "p2",
  35561. "nameLocation": "22742:2:50",
  35562. "nodeType": "VariableDeclaration",
  35563. "scope": 9857,
  35564. "src": "22734:10:50",
  35565. "stateVariable": false,
  35566. "storageLocation": "default",
  35567. "typeDescriptions": {
  35568. "typeIdentifier": "t_uint256",
  35569. "typeString": "uint256"
  35570. },
  35571. "typeName": {
  35572. "id": 9839,
  35573. "name": "uint256",
  35574. "nodeType": "ElementaryTypeName",
  35575. "src": "22734:7:50",
  35576. "typeDescriptions": {
  35577. "typeIdentifier": "t_uint256",
  35578. "typeString": "uint256"
  35579. }
  35580. },
  35581. "visibility": "internal"
  35582. },
  35583. {
  35584. "constant": false,
  35585. "id": 9842,
  35586. "mutability": "mutable",
  35587. "name": "p3",
  35588. "nameLocation": "22754:2:50",
  35589. "nodeType": "VariableDeclaration",
  35590. "scope": 9857,
  35591. "src": "22746:10:50",
  35592. "stateVariable": false,
  35593. "storageLocation": "default",
  35594. "typeDescriptions": {
  35595. "typeIdentifier": "t_uint256",
  35596. "typeString": "uint256"
  35597. },
  35598. "typeName": {
  35599. "id": 9841,
  35600. "name": "uint256",
  35601. "nodeType": "ElementaryTypeName",
  35602. "src": "22746:7:50",
  35603. "typeDescriptions": {
  35604. "typeIdentifier": "t_uint256",
  35605. "typeString": "uint256"
  35606. }
  35607. },
  35608. "visibility": "internal"
  35609. }
  35610. ],
  35611. "src": "22703:54:50"
  35612. },
  35613. "returnParameters": {
  35614. "id": 9844,
  35615. "nodeType": "ParameterList",
  35616. "parameters": [],
  35617. "src": "22772:0:50"
  35618. },
  35619. "scope": 15355,
  35620. "stateMutability": "pure",
  35621. "virtual": false,
  35622. "visibility": "internal"
  35623. },
  35624. {
  35625. "id": 9880,
  35626. "nodeType": "FunctionDefinition",
  35627. "src": "22890:198:50",
  35628. "nodes": [],
  35629. "body": {
  35630. "id": 9879,
  35631. "nodeType": "Block",
  35632. "src": "22977:111:50",
  35633. "nodes": [],
  35634. "statements": [
  35635. {
  35636. "expression": {
  35637. "arguments": [
  35638. {
  35639. "arguments": [
  35640. {
  35641. "hexValue": "6c6f672875696e743235362c737472696e672c75696e743235362c737472696e6729",
  35642. "id": 9871,
  35643. "isConstant": false,
  35644. "isLValue": false,
  35645. "isPure": true,
  35646. "kind": "string",
  35647. "lValueRequested": false,
  35648. "nodeType": "Literal",
  35649. "src": "23027:36:50",
  35650. "typeDescriptions": {
  35651. "typeIdentifier": "t_stringliteral_b7b914cad3c94167dcd4b5ef970076918e96b3894a20503b7d3f9648bea8aace",
  35652. "typeString": "literal_string \"log(uint256,string,uint256,string)\""
  35653. },
  35654. "value": "log(uint256,string,uint256,string)"
  35655. },
  35656. {
  35657. "id": 9872,
  35658. "name": "p0",
  35659. "nodeType": "Identifier",
  35660. "overloadedDeclarations": [],
  35661. "referencedDeclaration": 9859,
  35662. "src": "23065:2:50",
  35663. "typeDescriptions": {
  35664. "typeIdentifier": "t_uint256",
  35665. "typeString": "uint256"
  35666. }
  35667. },
  35668. {
  35669. "id": 9873,
  35670. "name": "p1",
  35671. "nodeType": "Identifier",
  35672. "overloadedDeclarations": [],
  35673. "referencedDeclaration": 9861,
  35674. "src": "23069:2:50",
  35675. "typeDescriptions": {
  35676. "typeIdentifier": "t_string_memory_ptr",
  35677. "typeString": "string memory"
  35678. }
  35679. },
  35680. {
  35681. "id": 9874,
  35682. "name": "p2",
  35683. "nodeType": "Identifier",
  35684. "overloadedDeclarations": [],
  35685. "referencedDeclaration": 9863,
  35686. "src": "23073:2:50",
  35687. "typeDescriptions": {
  35688. "typeIdentifier": "t_uint256",
  35689. "typeString": "uint256"
  35690. }
  35691. },
  35692. {
  35693. "id": 9875,
  35694. "name": "p3",
  35695. "nodeType": "Identifier",
  35696. "overloadedDeclarations": [],
  35697. "referencedDeclaration": 9865,
  35698. "src": "23077:2:50",
  35699. "typeDescriptions": {
  35700. "typeIdentifier": "t_string_memory_ptr",
  35701. "typeString": "string memory"
  35702. }
  35703. }
  35704. ],
  35705. "expression": {
  35706. "argumentTypes": [
  35707. {
  35708. "typeIdentifier": "t_stringliteral_b7b914cad3c94167dcd4b5ef970076918e96b3894a20503b7d3f9648bea8aace",
  35709. "typeString": "literal_string \"log(uint256,string,uint256,string)\""
  35710. },
  35711. {
  35712. "typeIdentifier": "t_uint256",
  35713. "typeString": "uint256"
  35714. },
  35715. {
  35716. "typeIdentifier": "t_string_memory_ptr",
  35717. "typeString": "string memory"
  35718. },
  35719. {
  35720. "typeIdentifier": "t_uint256",
  35721. "typeString": "uint256"
  35722. },
  35723. {
  35724. "typeIdentifier": "t_string_memory_ptr",
  35725. "typeString": "string memory"
  35726. }
  35727. ],
  35728. "expression": {
  35729. "id": 9869,
  35730. "name": "abi",
  35731. "nodeType": "Identifier",
  35732. "overloadedDeclarations": [],
  35733. "referencedDeclaration": -1,
  35734. "src": "23003:3:50",
  35735. "typeDescriptions": {
  35736. "typeIdentifier": "t_magic_abi",
  35737. "typeString": "abi"
  35738. }
  35739. },
  35740. "id": 9870,
  35741. "isConstant": false,
  35742. "isLValue": false,
  35743. "isPure": true,
  35744. "lValueRequested": false,
  35745. "memberLocation": "23007:19:50",
  35746. "memberName": "encodeWithSignature",
  35747. "nodeType": "MemberAccess",
  35748. "src": "23003:23:50",
  35749. "typeDescriptions": {
  35750. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  35751. "typeString": "function (string memory) pure returns (bytes memory)"
  35752. }
  35753. },
  35754. "id": 9876,
  35755. "isConstant": false,
  35756. "isLValue": false,
  35757. "isPure": false,
  35758. "kind": "functionCall",
  35759. "lValueRequested": false,
  35760. "nameLocations": [],
  35761. "names": [],
  35762. "nodeType": "FunctionCall",
  35763. "src": "23003:77:50",
  35764. "tryCall": false,
  35765. "typeDescriptions": {
  35766. "typeIdentifier": "t_bytes_memory_ptr",
  35767. "typeString": "bytes memory"
  35768. }
  35769. }
  35770. ],
  35771. "expression": {
  35772. "argumentTypes": [
  35773. {
  35774. "typeIdentifier": "t_bytes_memory_ptr",
  35775. "typeString": "bytes memory"
  35776. }
  35777. ],
  35778. "id": 9868,
  35779. "name": "_sendLogPayload",
  35780. "nodeType": "Identifier",
  35781. "overloadedDeclarations": [],
  35782. "referencedDeclaration": 7315,
  35783. "src": "22987:15:50",
  35784. "typeDescriptions": {
  35785. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  35786. "typeString": "function (bytes memory) pure"
  35787. }
  35788. },
  35789. "id": 9877,
  35790. "isConstant": false,
  35791. "isLValue": false,
  35792. "isPure": false,
  35793. "kind": "functionCall",
  35794. "lValueRequested": false,
  35795. "nameLocations": [],
  35796. "names": [],
  35797. "nodeType": "FunctionCall",
  35798. "src": "22987:94:50",
  35799. "tryCall": false,
  35800. "typeDescriptions": {
  35801. "typeIdentifier": "t_tuple$__$",
  35802. "typeString": "tuple()"
  35803. }
  35804. },
  35805. "id": 9878,
  35806. "nodeType": "ExpressionStatement",
  35807. "src": "22987:94:50"
  35808. }
  35809. ]
  35810. },
  35811. "implemented": true,
  35812. "kind": "function",
  35813. "modifiers": [],
  35814. "name": "log",
  35815. "nameLocation": "22899:3:50",
  35816. "parameters": {
  35817. "id": 9866,
  35818. "nodeType": "ParameterList",
  35819. "parameters": [
  35820. {
  35821. "constant": false,
  35822. "id": 9859,
  35823. "mutability": "mutable",
  35824. "name": "p0",
  35825. "nameLocation": "22911:2:50",
  35826. "nodeType": "VariableDeclaration",
  35827. "scope": 9880,
  35828. "src": "22903:10:50",
  35829. "stateVariable": false,
  35830. "storageLocation": "default",
  35831. "typeDescriptions": {
  35832. "typeIdentifier": "t_uint256",
  35833. "typeString": "uint256"
  35834. },
  35835. "typeName": {
  35836. "id": 9858,
  35837. "name": "uint256",
  35838. "nodeType": "ElementaryTypeName",
  35839. "src": "22903:7:50",
  35840. "typeDescriptions": {
  35841. "typeIdentifier": "t_uint256",
  35842. "typeString": "uint256"
  35843. }
  35844. },
  35845. "visibility": "internal"
  35846. },
  35847. {
  35848. "constant": false,
  35849. "id": 9861,
  35850. "mutability": "mutable",
  35851. "name": "p1",
  35852. "nameLocation": "22929:2:50",
  35853. "nodeType": "VariableDeclaration",
  35854. "scope": 9880,
  35855. "src": "22915:16:50",
  35856. "stateVariable": false,
  35857. "storageLocation": "memory",
  35858. "typeDescriptions": {
  35859. "typeIdentifier": "t_string_memory_ptr",
  35860. "typeString": "string"
  35861. },
  35862. "typeName": {
  35863. "id": 9860,
  35864. "name": "string",
  35865. "nodeType": "ElementaryTypeName",
  35866. "src": "22915:6:50",
  35867. "typeDescriptions": {
  35868. "typeIdentifier": "t_string_storage_ptr",
  35869. "typeString": "string"
  35870. }
  35871. },
  35872. "visibility": "internal"
  35873. },
  35874. {
  35875. "constant": false,
  35876. "id": 9863,
  35877. "mutability": "mutable",
  35878. "name": "p2",
  35879. "nameLocation": "22941:2:50",
  35880. "nodeType": "VariableDeclaration",
  35881. "scope": 9880,
  35882. "src": "22933:10:50",
  35883. "stateVariable": false,
  35884. "storageLocation": "default",
  35885. "typeDescriptions": {
  35886. "typeIdentifier": "t_uint256",
  35887. "typeString": "uint256"
  35888. },
  35889. "typeName": {
  35890. "id": 9862,
  35891. "name": "uint256",
  35892. "nodeType": "ElementaryTypeName",
  35893. "src": "22933:7:50",
  35894. "typeDescriptions": {
  35895. "typeIdentifier": "t_uint256",
  35896. "typeString": "uint256"
  35897. }
  35898. },
  35899. "visibility": "internal"
  35900. },
  35901. {
  35902. "constant": false,
  35903. "id": 9865,
  35904. "mutability": "mutable",
  35905. "name": "p3",
  35906. "nameLocation": "22959:2:50",
  35907. "nodeType": "VariableDeclaration",
  35908. "scope": 9880,
  35909. "src": "22945:16:50",
  35910. "stateVariable": false,
  35911. "storageLocation": "memory",
  35912. "typeDescriptions": {
  35913. "typeIdentifier": "t_string_memory_ptr",
  35914. "typeString": "string"
  35915. },
  35916. "typeName": {
  35917. "id": 9864,
  35918. "name": "string",
  35919. "nodeType": "ElementaryTypeName",
  35920. "src": "22945:6:50",
  35921. "typeDescriptions": {
  35922. "typeIdentifier": "t_string_storage_ptr",
  35923. "typeString": "string"
  35924. }
  35925. },
  35926. "visibility": "internal"
  35927. }
  35928. ],
  35929. "src": "22902:60:50"
  35930. },
  35931. "returnParameters": {
  35932. "id": 9867,
  35933. "nodeType": "ParameterList",
  35934. "parameters": [],
  35935. "src": "22977:0:50"
  35936. },
  35937. "scope": 15355,
  35938. "stateMutability": "pure",
  35939. "virtual": false,
  35940. "visibility": "internal"
  35941. },
  35942. {
  35943. "id": 9903,
  35944. "nodeType": "FunctionDefinition",
  35945. "src": "23094:187:50",
  35946. "nodes": [],
  35947. "body": {
  35948. "id": 9902,
  35949. "nodeType": "Block",
  35950. "src": "23172:109:50",
  35951. "nodes": [],
  35952. "statements": [
  35953. {
  35954. "expression": {
  35955. "arguments": [
  35956. {
  35957. "arguments": [
  35958. {
  35959. "hexValue": "6c6f672875696e743235362c737472696e672c75696e743235362c626f6f6c29",
  35960. "id": 9894,
  35961. "isConstant": false,
  35962. "isLValue": false,
  35963. "isPure": true,
  35964. "kind": "string",
  35965. "lValueRequested": false,
  35966. "nodeType": "Literal",
  35967. "src": "23222:34:50",
  35968. "typeDescriptions": {
  35969. "typeIdentifier": "t_stringliteral_691a8f74cbf1a313fd1bdfd5dda19feaf4f9deac56f7ca7c4fa6386e5382a03c",
  35970. "typeString": "literal_string \"log(uint256,string,uint256,bool)\""
  35971. },
  35972. "value": "log(uint256,string,uint256,bool)"
  35973. },
  35974. {
  35975. "id": 9895,
  35976. "name": "p0",
  35977. "nodeType": "Identifier",
  35978. "overloadedDeclarations": [],
  35979. "referencedDeclaration": 9882,
  35980. "src": "23258:2:50",
  35981. "typeDescriptions": {
  35982. "typeIdentifier": "t_uint256",
  35983. "typeString": "uint256"
  35984. }
  35985. },
  35986. {
  35987. "id": 9896,
  35988. "name": "p1",
  35989. "nodeType": "Identifier",
  35990. "overloadedDeclarations": [],
  35991. "referencedDeclaration": 9884,
  35992. "src": "23262:2:50",
  35993. "typeDescriptions": {
  35994. "typeIdentifier": "t_string_memory_ptr",
  35995. "typeString": "string memory"
  35996. }
  35997. },
  35998. {
  35999. "id": 9897,
  36000. "name": "p2",
  36001. "nodeType": "Identifier",
  36002. "overloadedDeclarations": [],
  36003. "referencedDeclaration": 9886,
  36004. "src": "23266:2:50",
  36005. "typeDescriptions": {
  36006. "typeIdentifier": "t_uint256",
  36007. "typeString": "uint256"
  36008. }
  36009. },
  36010. {
  36011. "id": 9898,
  36012. "name": "p3",
  36013. "nodeType": "Identifier",
  36014. "overloadedDeclarations": [],
  36015. "referencedDeclaration": 9888,
  36016. "src": "23270:2:50",
  36017. "typeDescriptions": {
  36018. "typeIdentifier": "t_bool",
  36019. "typeString": "bool"
  36020. }
  36021. }
  36022. ],
  36023. "expression": {
  36024. "argumentTypes": [
  36025. {
  36026. "typeIdentifier": "t_stringliteral_691a8f74cbf1a313fd1bdfd5dda19feaf4f9deac56f7ca7c4fa6386e5382a03c",
  36027. "typeString": "literal_string \"log(uint256,string,uint256,bool)\""
  36028. },
  36029. {
  36030. "typeIdentifier": "t_uint256",
  36031. "typeString": "uint256"
  36032. },
  36033. {
  36034. "typeIdentifier": "t_string_memory_ptr",
  36035. "typeString": "string memory"
  36036. },
  36037. {
  36038. "typeIdentifier": "t_uint256",
  36039. "typeString": "uint256"
  36040. },
  36041. {
  36042. "typeIdentifier": "t_bool",
  36043. "typeString": "bool"
  36044. }
  36045. ],
  36046. "expression": {
  36047. "id": 9892,
  36048. "name": "abi",
  36049. "nodeType": "Identifier",
  36050. "overloadedDeclarations": [],
  36051. "referencedDeclaration": -1,
  36052. "src": "23198:3:50",
  36053. "typeDescriptions": {
  36054. "typeIdentifier": "t_magic_abi",
  36055. "typeString": "abi"
  36056. }
  36057. },
  36058. "id": 9893,
  36059. "isConstant": false,
  36060. "isLValue": false,
  36061. "isPure": true,
  36062. "lValueRequested": false,
  36063. "memberLocation": "23202:19:50",
  36064. "memberName": "encodeWithSignature",
  36065. "nodeType": "MemberAccess",
  36066. "src": "23198:23:50",
  36067. "typeDescriptions": {
  36068. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  36069. "typeString": "function (string memory) pure returns (bytes memory)"
  36070. }
  36071. },
  36072. "id": 9899,
  36073. "isConstant": false,
  36074. "isLValue": false,
  36075. "isPure": false,
  36076. "kind": "functionCall",
  36077. "lValueRequested": false,
  36078. "nameLocations": [],
  36079. "names": [],
  36080. "nodeType": "FunctionCall",
  36081. "src": "23198:75:50",
  36082. "tryCall": false,
  36083. "typeDescriptions": {
  36084. "typeIdentifier": "t_bytes_memory_ptr",
  36085. "typeString": "bytes memory"
  36086. }
  36087. }
  36088. ],
  36089. "expression": {
  36090. "argumentTypes": [
  36091. {
  36092. "typeIdentifier": "t_bytes_memory_ptr",
  36093. "typeString": "bytes memory"
  36094. }
  36095. ],
  36096. "id": 9891,
  36097. "name": "_sendLogPayload",
  36098. "nodeType": "Identifier",
  36099. "overloadedDeclarations": [],
  36100. "referencedDeclaration": 7315,
  36101. "src": "23182:15:50",
  36102. "typeDescriptions": {
  36103. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  36104. "typeString": "function (bytes memory) pure"
  36105. }
  36106. },
  36107. "id": 9900,
  36108. "isConstant": false,
  36109. "isLValue": false,
  36110. "isPure": false,
  36111. "kind": "functionCall",
  36112. "lValueRequested": false,
  36113. "nameLocations": [],
  36114. "names": [],
  36115. "nodeType": "FunctionCall",
  36116. "src": "23182:92:50",
  36117. "tryCall": false,
  36118. "typeDescriptions": {
  36119. "typeIdentifier": "t_tuple$__$",
  36120. "typeString": "tuple()"
  36121. }
  36122. },
  36123. "id": 9901,
  36124. "nodeType": "ExpressionStatement",
  36125. "src": "23182:92:50"
  36126. }
  36127. ]
  36128. },
  36129. "implemented": true,
  36130. "kind": "function",
  36131. "modifiers": [],
  36132. "name": "log",
  36133. "nameLocation": "23103:3:50",
  36134. "parameters": {
  36135. "id": 9889,
  36136. "nodeType": "ParameterList",
  36137. "parameters": [
  36138. {
  36139. "constant": false,
  36140. "id": 9882,
  36141. "mutability": "mutable",
  36142. "name": "p0",
  36143. "nameLocation": "23115:2:50",
  36144. "nodeType": "VariableDeclaration",
  36145. "scope": 9903,
  36146. "src": "23107:10:50",
  36147. "stateVariable": false,
  36148. "storageLocation": "default",
  36149. "typeDescriptions": {
  36150. "typeIdentifier": "t_uint256",
  36151. "typeString": "uint256"
  36152. },
  36153. "typeName": {
  36154. "id": 9881,
  36155. "name": "uint256",
  36156. "nodeType": "ElementaryTypeName",
  36157. "src": "23107:7:50",
  36158. "typeDescriptions": {
  36159. "typeIdentifier": "t_uint256",
  36160. "typeString": "uint256"
  36161. }
  36162. },
  36163. "visibility": "internal"
  36164. },
  36165. {
  36166. "constant": false,
  36167. "id": 9884,
  36168. "mutability": "mutable",
  36169. "name": "p1",
  36170. "nameLocation": "23133:2:50",
  36171. "nodeType": "VariableDeclaration",
  36172. "scope": 9903,
  36173. "src": "23119:16:50",
  36174. "stateVariable": false,
  36175. "storageLocation": "memory",
  36176. "typeDescriptions": {
  36177. "typeIdentifier": "t_string_memory_ptr",
  36178. "typeString": "string"
  36179. },
  36180. "typeName": {
  36181. "id": 9883,
  36182. "name": "string",
  36183. "nodeType": "ElementaryTypeName",
  36184. "src": "23119:6:50",
  36185. "typeDescriptions": {
  36186. "typeIdentifier": "t_string_storage_ptr",
  36187. "typeString": "string"
  36188. }
  36189. },
  36190. "visibility": "internal"
  36191. },
  36192. {
  36193. "constant": false,
  36194. "id": 9886,
  36195. "mutability": "mutable",
  36196. "name": "p2",
  36197. "nameLocation": "23145:2:50",
  36198. "nodeType": "VariableDeclaration",
  36199. "scope": 9903,
  36200. "src": "23137:10:50",
  36201. "stateVariable": false,
  36202. "storageLocation": "default",
  36203. "typeDescriptions": {
  36204. "typeIdentifier": "t_uint256",
  36205. "typeString": "uint256"
  36206. },
  36207. "typeName": {
  36208. "id": 9885,
  36209. "name": "uint256",
  36210. "nodeType": "ElementaryTypeName",
  36211. "src": "23137:7:50",
  36212. "typeDescriptions": {
  36213. "typeIdentifier": "t_uint256",
  36214. "typeString": "uint256"
  36215. }
  36216. },
  36217. "visibility": "internal"
  36218. },
  36219. {
  36220. "constant": false,
  36221. "id": 9888,
  36222. "mutability": "mutable",
  36223. "name": "p3",
  36224. "nameLocation": "23154:2:50",
  36225. "nodeType": "VariableDeclaration",
  36226. "scope": 9903,
  36227. "src": "23149:7:50",
  36228. "stateVariable": false,
  36229. "storageLocation": "default",
  36230. "typeDescriptions": {
  36231. "typeIdentifier": "t_bool",
  36232. "typeString": "bool"
  36233. },
  36234. "typeName": {
  36235. "id": 9887,
  36236. "name": "bool",
  36237. "nodeType": "ElementaryTypeName",
  36238. "src": "23149:4:50",
  36239. "typeDescriptions": {
  36240. "typeIdentifier": "t_bool",
  36241. "typeString": "bool"
  36242. }
  36243. },
  36244. "visibility": "internal"
  36245. }
  36246. ],
  36247. "src": "23106:51:50"
  36248. },
  36249. "returnParameters": {
  36250. "id": 9890,
  36251. "nodeType": "ParameterList",
  36252. "parameters": [],
  36253. "src": "23172:0:50"
  36254. },
  36255. "scope": 15355,
  36256. "stateMutability": "pure",
  36257. "virtual": false,
  36258. "visibility": "internal"
  36259. },
  36260. {
  36261. "id": 9926,
  36262. "nodeType": "FunctionDefinition",
  36263. "src": "23287:193:50",
  36264. "nodes": [],
  36265. "body": {
  36266. "id": 9925,
  36267. "nodeType": "Block",
  36268. "src": "23368:112:50",
  36269. "nodes": [],
  36270. "statements": [
  36271. {
  36272. "expression": {
  36273. "arguments": [
  36274. {
  36275. "arguments": [
  36276. {
  36277. "hexValue": "6c6f672875696e743235362c737472696e672c75696e743235362c6164647265737329",
  36278. "id": 9917,
  36279. "isConstant": false,
  36280. "isLValue": false,
  36281. "isPure": true,
  36282. "kind": "string",
  36283. "lValueRequested": false,
  36284. "nodeType": "Literal",
  36285. "src": "23418:37:50",
  36286. "typeDescriptions": {
  36287. "typeIdentifier": "t_stringliteral_3b2279b4b3c26cbcd4374acce75e4c447a59a65883d849a72eaa051b3a07ec08",
  36288. "typeString": "literal_string \"log(uint256,string,uint256,address)\""
  36289. },
  36290. "value": "log(uint256,string,uint256,address)"
  36291. },
  36292. {
  36293. "id": 9918,
  36294. "name": "p0",
  36295. "nodeType": "Identifier",
  36296. "overloadedDeclarations": [],
  36297. "referencedDeclaration": 9905,
  36298. "src": "23457:2:50",
  36299. "typeDescriptions": {
  36300. "typeIdentifier": "t_uint256",
  36301. "typeString": "uint256"
  36302. }
  36303. },
  36304. {
  36305. "id": 9919,
  36306. "name": "p1",
  36307. "nodeType": "Identifier",
  36308. "overloadedDeclarations": [],
  36309. "referencedDeclaration": 9907,
  36310. "src": "23461:2:50",
  36311. "typeDescriptions": {
  36312. "typeIdentifier": "t_string_memory_ptr",
  36313. "typeString": "string memory"
  36314. }
  36315. },
  36316. {
  36317. "id": 9920,
  36318. "name": "p2",
  36319. "nodeType": "Identifier",
  36320. "overloadedDeclarations": [],
  36321. "referencedDeclaration": 9909,
  36322. "src": "23465:2:50",
  36323. "typeDescriptions": {
  36324. "typeIdentifier": "t_uint256",
  36325. "typeString": "uint256"
  36326. }
  36327. },
  36328. {
  36329. "id": 9921,
  36330. "name": "p3",
  36331. "nodeType": "Identifier",
  36332. "overloadedDeclarations": [],
  36333. "referencedDeclaration": 9911,
  36334. "src": "23469:2:50",
  36335. "typeDescriptions": {
  36336. "typeIdentifier": "t_address",
  36337. "typeString": "address"
  36338. }
  36339. }
  36340. ],
  36341. "expression": {
  36342. "argumentTypes": [
  36343. {
  36344. "typeIdentifier": "t_stringliteral_3b2279b4b3c26cbcd4374acce75e4c447a59a65883d849a72eaa051b3a07ec08",
  36345. "typeString": "literal_string \"log(uint256,string,uint256,address)\""
  36346. },
  36347. {
  36348. "typeIdentifier": "t_uint256",
  36349. "typeString": "uint256"
  36350. },
  36351. {
  36352. "typeIdentifier": "t_string_memory_ptr",
  36353. "typeString": "string memory"
  36354. },
  36355. {
  36356. "typeIdentifier": "t_uint256",
  36357. "typeString": "uint256"
  36358. },
  36359. {
  36360. "typeIdentifier": "t_address",
  36361. "typeString": "address"
  36362. }
  36363. ],
  36364. "expression": {
  36365. "id": 9915,
  36366. "name": "abi",
  36367. "nodeType": "Identifier",
  36368. "overloadedDeclarations": [],
  36369. "referencedDeclaration": -1,
  36370. "src": "23394:3:50",
  36371. "typeDescriptions": {
  36372. "typeIdentifier": "t_magic_abi",
  36373. "typeString": "abi"
  36374. }
  36375. },
  36376. "id": 9916,
  36377. "isConstant": false,
  36378. "isLValue": false,
  36379. "isPure": true,
  36380. "lValueRequested": false,
  36381. "memberLocation": "23398:19:50",
  36382. "memberName": "encodeWithSignature",
  36383. "nodeType": "MemberAccess",
  36384. "src": "23394:23:50",
  36385. "typeDescriptions": {
  36386. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  36387. "typeString": "function (string memory) pure returns (bytes memory)"
  36388. }
  36389. },
  36390. "id": 9922,
  36391. "isConstant": false,
  36392. "isLValue": false,
  36393. "isPure": false,
  36394. "kind": "functionCall",
  36395. "lValueRequested": false,
  36396. "nameLocations": [],
  36397. "names": [],
  36398. "nodeType": "FunctionCall",
  36399. "src": "23394:78:50",
  36400. "tryCall": false,
  36401. "typeDescriptions": {
  36402. "typeIdentifier": "t_bytes_memory_ptr",
  36403. "typeString": "bytes memory"
  36404. }
  36405. }
  36406. ],
  36407. "expression": {
  36408. "argumentTypes": [
  36409. {
  36410. "typeIdentifier": "t_bytes_memory_ptr",
  36411. "typeString": "bytes memory"
  36412. }
  36413. ],
  36414. "id": 9914,
  36415. "name": "_sendLogPayload",
  36416. "nodeType": "Identifier",
  36417. "overloadedDeclarations": [],
  36418. "referencedDeclaration": 7315,
  36419. "src": "23378:15:50",
  36420. "typeDescriptions": {
  36421. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  36422. "typeString": "function (bytes memory) pure"
  36423. }
  36424. },
  36425. "id": 9923,
  36426. "isConstant": false,
  36427. "isLValue": false,
  36428. "isPure": false,
  36429. "kind": "functionCall",
  36430. "lValueRequested": false,
  36431. "nameLocations": [],
  36432. "names": [],
  36433. "nodeType": "FunctionCall",
  36434. "src": "23378:95:50",
  36435. "tryCall": false,
  36436. "typeDescriptions": {
  36437. "typeIdentifier": "t_tuple$__$",
  36438. "typeString": "tuple()"
  36439. }
  36440. },
  36441. "id": 9924,
  36442. "nodeType": "ExpressionStatement",
  36443. "src": "23378:95:50"
  36444. }
  36445. ]
  36446. },
  36447. "implemented": true,
  36448. "kind": "function",
  36449. "modifiers": [],
  36450. "name": "log",
  36451. "nameLocation": "23296:3:50",
  36452. "parameters": {
  36453. "id": 9912,
  36454. "nodeType": "ParameterList",
  36455. "parameters": [
  36456. {
  36457. "constant": false,
  36458. "id": 9905,
  36459. "mutability": "mutable",
  36460. "name": "p0",
  36461. "nameLocation": "23308:2:50",
  36462. "nodeType": "VariableDeclaration",
  36463. "scope": 9926,
  36464. "src": "23300:10:50",
  36465. "stateVariable": false,
  36466. "storageLocation": "default",
  36467. "typeDescriptions": {
  36468. "typeIdentifier": "t_uint256",
  36469. "typeString": "uint256"
  36470. },
  36471. "typeName": {
  36472. "id": 9904,
  36473. "name": "uint256",
  36474. "nodeType": "ElementaryTypeName",
  36475. "src": "23300:7:50",
  36476. "typeDescriptions": {
  36477. "typeIdentifier": "t_uint256",
  36478. "typeString": "uint256"
  36479. }
  36480. },
  36481. "visibility": "internal"
  36482. },
  36483. {
  36484. "constant": false,
  36485. "id": 9907,
  36486. "mutability": "mutable",
  36487. "name": "p1",
  36488. "nameLocation": "23326:2:50",
  36489. "nodeType": "VariableDeclaration",
  36490. "scope": 9926,
  36491. "src": "23312:16:50",
  36492. "stateVariable": false,
  36493. "storageLocation": "memory",
  36494. "typeDescriptions": {
  36495. "typeIdentifier": "t_string_memory_ptr",
  36496. "typeString": "string"
  36497. },
  36498. "typeName": {
  36499. "id": 9906,
  36500. "name": "string",
  36501. "nodeType": "ElementaryTypeName",
  36502. "src": "23312:6:50",
  36503. "typeDescriptions": {
  36504. "typeIdentifier": "t_string_storage_ptr",
  36505. "typeString": "string"
  36506. }
  36507. },
  36508. "visibility": "internal"
  36509. },
  36510. {
  36511. "constant": false,
  36512. "id": 9909,
  36513. "mutability": "mutable",
  36514. "name": "p2",
  36515. "nameLocation": "23338:2:50",
  36516. "nodeType": "VariableDeclaration",
  36517. "scope": 9926,
  36518. "src": "23330:10:50",
  36519. "stateVariable": false,
  36520. "storageLocation": "default",
  36521. "typeDescriptions": {
  36522. "typeIdentifier": "t_uint256",
  36523. "typeString": "uint256"
  36524. },
  36525. "typeName": {
  36526. "id": 9908,
  36527. "name": "uint256",
  36528. "nodeType": "ElementaryTypeName",
  36529. "src": "23330:7:50",
  36530. "typeDescriptions": {
  36531. "typeIdentifier": "t_uint256",
  36532. "typeString": "uint256"
  36533. }
  36534. },
  36535. "visibility": "internal"
  36536. },
  36537. {
  36538. "constant": false,
  36539. "id": 9911,
  36540. "mutability": "mutable",
  36541. "name": "p3",
  36542. "nameLocation": "23350:2:50",
  36543. "nodeType": "VariableDeclaration",
  36544. "scope": 9926,
  36545. "src": "23342:10:50",
  36546. "stateVariable": false,
  36547. "storageLocation": "default",
  36548. "typeDescriptions": {
  36549. "typeIdentifier": "t_address",
  36550. "typeString": "address"
  36551. },
  36552. "typeName": {
  36553. "id": 9910,
  36554. "name": "address",
  36555. "nodeType": "ElementaryTypeName",
  36556. "src": "23342:7:50",
  36557. "stateMutability": "nonpayable",
  36558. "typeDescriptions": {
  36559. "typeIdentifier": "t_address",
  36560. "typeString": "address"
  36561. }
  36562. },
  36563. "visibility": "internal"
  36564. }
  36565. ],
  36566. "src": "23299:54:50"
  36567. },
  36568. "returnParameters": {
  36569. "id": 9913,
  36570. "nodeType": "ParameterList",
  36571. "parameters": [],
  36572. "src": "23368:0:50"
  36573. },
  36574. "scope": 15355,
  36575. "stateMutability": "pure",
  36576. "virtual": false,
  36577. "visibility": "internal"
  36578. },
  36579. {
  36580. "id": 9949,
  36581. "nodeType": "FunctionDefinition",
  36582. "src": "23486:198:50",
  36583. "nodes": [],
  36584. "body": {
  36585. "id": 9948,
  36586. "nodeType": "Block",
  36587. "src": "23573:111:50",
  36588. "nodes": [],
  36589. "statements": [
  36590. {
  36591. "expression": {
  36592. "arguments": [
  36593. {
  36594. "arguments": [
  36595. {
  36596. "hexValue": "6c6f672875696e743235362c737472696e672c737472696e672c75696e7432353629",
  36597. "id": 9940,
  36598. "isConstant": false,
  36599. "isLValue": false,
  36600. "isPure": true,
  36601. "kind": "string",
  36602. "lValueRequested": false,
  36603. "nodeType": "Literal",
  36604. "src": "23623:36:50",
  36605. "typeDescriptions": {
  36606. "typeIdentifier": "t_stringliteral_b028c9bd0105e32bab3e2b1b4678f4cd49b1f267c4fcb1899043ad16b67c3dd1",
  36607. "typeString": "literal_string \"log(uint256,string,string,uint256)\""
  36608. },
  36609. "value": "log(uint256,string,string,uint256)"
  36610. },
  36611. {
  36612. "id": 9941,
  36613. "name": "p0",
  36614. "nodeType": "Identifier",
  36615. "overloadedDeclarations": [],
  36616. "referencedDeclaration": 9928,
  36617. "src": "23661:2:50",
  36618. "typeDescriptions": {
  36619. "typeIdentifier": "t_uint256",
  36620. "typeString": "uint256"
  36621. }
  36622. },
  36623. {
  36624. "id": 9942,
  36625. "name": "p1",
  36626. "nodeType": "Identifier",
  36627. "overloadedDeclarations": [],
  36628. "referencedDeclaration": 9930,
  36629. "src": "23665:2:50",
  36630. "typeDescriptions": {
  36631. "typeIdentifier": "t_string_memory_ptr",
  36632. "typeString": "string memory"
  36633. }
  36634. },
  36635. {
  36636. "id": 9943,
  36637. "name": "p2",
  36638. "nodeType": "Identifier",
  36639. "overloadedDeclarations": [],
  36640. "referencedDeclaration": 9932,
  36641. "src": "23669:2:50",
  36642. "typeDescriptions": {
  36643. "typeIdentifier": "t_string_memory_ptr",
  36644. "typeString": "string memory"
  36645. }
  36646. },
  36647. {
  36648. "id": 9944,
  36649. "name": "p3",
  36650. "nodeType": "Identifier",
  36651. "overloadedDeclarations": [],
  36652. "referencedDeclaration": 9934,
  36653. "src": "23673:2:50",
  36654. "typeDescriptions": {
  36655. "typeIdentifier": "t_uint256",
  36656. "typeString": "uint256"
  36657. }
  36658. }
  36659. ],
  36660. "expression": {
  36661. "argumentTypes": [
  36662. {
  36663. "typeIdentifier": "t_stringliteral_b028c9bd0105e32bab3e2b1b4678f4cd49b1f267c4fcb1899043ad16b67c3dd1",
  36664. "typeString": "literal_string \"log(uint256,string,string,uint256)\""
  36665. },
  36666. {
  36667. "typeIdentifier": "t_uint256",
  36668. "typeString": "uint256"
  36669. },
  36670. {
  36671. "typeIdentifier": "t_string_memory_ptr",
  36672. "typeString": "string memory"
  36673. },
  36674. {
  36675. "typeIdentifier": "t_string_memory_ptr",
  36676. "typeString": "string memory"
  36677. },
  36678. {
  36679. "typeIdentifier": "t_uint256",
  36680. "typeString": "uint256"
  36681. }
  36682. ],
  36683. "expression": {
  36684. "id": 9938,
  36685. "name": "abi",
  36686. "nodeType": "Identifier",
  36687. "overloadedDeclarations": [],
  36688. "referencedDeclaration": -1,
  36689. "src": "23599:3:50",
  36690. "typeDescriptions": {
  36691. "typeIdentifier": "t_magic_abi",
  36692. "typeString": "abi"
  36693. }
  36694. },
  36695. "id": 9939,
  36696. "isConstant": false,
  36697. "isLValue": false,
  36698. "isPure": true,
  36699. "lValueRequested": false,
  36700. "memberLocation": "23603:19:50",
  36701. "memberName": "encodeWithSignature",
  36702. "nodeType": "MemberAccess",
  36703. "src": "23599:23:50",
  36704. "typeDescriptions": {
  36705. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  36706. "typeString": "function (string memory) pure returns (bytes memory)"
  36707. }
  36708. },
  36709. "id": 9945,
  36710. "isConstant": false,
  36711. "isLValue": false,
  36712. "isPure": false,
  36713. "kind": "functionCall",
  36714. "lValueRequested": false,
  36715. "nameLocations": [],
  36716. "names": [],
  36717. "nodeType": "FunctionCall",
  36718. "src": "23599:77:50",
  36719. "tryCall": false,
  36720. "typeDescriptions": {
  36721. "typeIdentifier": "t_bytes_memory_ptr",
  36722. "typeString": "bytes memory"
  36723. }
  36724. }
  36725. ],
  36726. "expression": {
  36727. "argumentTypes": [
  36728. {
  36729. "typeIdentifier": "t_bytes_memory_ptr",
  36730. "typeString": "bytes memory"
  36731. }
  36732. ],
  36733. "id": 9937,
  36734. "name": "_sendLogPayload",
  36735. "nodeType": "Identifier",
  36736. "overloadedDeclarations": [],
  36737. "referencedDeclaration": 7315,
  36738. "src": "23583:15:50",
  36739. "typeDescriptions": {
  36740. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  36741. "typeString": "function (bytes memory) pure"
  36742. }
  36743. },
  36744. "id": 9946,
  36745. "isConstant": false,
  36746. "isLValue": false,
  36747. "isPure": false,
  36748. "kind": "functionCall",
  36749. "lValueRequested": false,
  36750. "nameLocations": [],
  36751. "names": [],
  36752. "nodeType": "FunctionCall",
  36753. "src": "23583:94:50",
  36754. "tryCall": false,
  36755. "typeDescriptions": {
  36756. "typeIdentifier": "t_tuple$__$",
  36757. "typeString": "tuple()"
  36758. }
  36759. },
  36760. "id": 9947,
  36761. "nodeType": "ExpressionStatement",
  36762. "src": "23583:94:50"
  36763. }
  36764. ]
  36765. },
  36766. "implemented": true,
  36767. "kind": "function",
  36768. "modifiers": [],
  36769. "name": "log",
  36770. "nameLocation": "23495:3:50",
  36771. "parameters": {
  36772. "id": 9935,
  36773. "nodeType": "ParameterList",
  36774. "parameters": [
  36775. {
  36776. "constant": false,
  36777. "id": 9928,
  36778. "mutability": "mutable",
  36779. "name": "p0",
  36780. "nameLocation": "23507:2:50",
  36781. "nodeType": "VariableDeclaration",
  36782. "scope": 9949,
  36783. "src": "23499:10:50",
  36784. "stateVariable": false,
  36785. "storageLocation": "default",
  36786. "typeDescriptions": {
  36787. "typeIdentifier": "t_uint256",
  36788. "typeString": "uint256"
  36789. },
  36790. "typeName": {
  36791. "id": 9927,
  36792. "name": "uint256",
  36793. "nodeType": "ElementaryTypeName",
  36794. "src": "23499:7:50",
  36795. "typeDescriptions": {
  36796. "typeIdentifier": "t_uint256",
  36797. "typeString": "uint256"
  36798. }
  36799. },
  36800. "visibility": "internal"
  36801. },
  36802. {
  36803. "constant": false,
  36804. "id": 9930,
  36805. "mutability": "mutable",
  36806. "name": "p1",
  36807. "nameLocation": "23525:2:50",
  36808. "nodeType": "VariableDeclaration",
  36809. "scope": 9949,
  36810. "src": "23511:16:50",
  36811. "stateVariable": false,
  36812. "storageLocation": "memory",
  36813. "typeDescriptions": {
  36814. "typeIdentifier": "t_string_memory_ptr",
  36815. "typeString": "string"
  36816. },
  36817. "typeName": {
  36818. "id": 9929,
  36819. "name": "string",
  36820. "nodeType": "ElementaryTypeName",
  36821. "src": "23511:6:50",
  36822. "typeDescriptions": {
  36823. "typeIdentifier": "t_string_storage_ptr",
  36824. "typeString": "string"
  36825. }
  36826. },
  36827. "visibility": "internal"
  36828. },
  36829. {
  36830. "constant": false,
  36831. "id": 9932,
  36832. "mutability": "mutable",
  36833. "name": "p2",
  36834. "nameLocation": "23543:2:50",
  36835. "nodeType": "VariableDeclaration",
  36836. "scope": 9949,
  36837. "src": "23529:16:50",
  36838. "stateVariable": false,
  36839. "storageLocation": "memory",
  36840. "typeDescriptions": {
  36841. "typeIdentifier": "t_string_memory_ptr",
  36842. "typeString": "string"
  36843. },
  36844. "typeName": {
  36845. "id": 9931,
  36846. "name": "string",
  36847. "nodeType": "ElementaryTypeName",
  36848. "src": "23529:6:50",
  36849. "typeDescriptions": {
  36850. "typeIdentifier": "t_string_storage_ptr",
  36851. "typeString": "string"
  36852. }
  36853. },
  36854. "visibility": "internal"
  36855. },
  36856. {
  36857. "constant": false,
  36858. "id": 9934,
  36859. "mutability": "mutable",
  36860. "name": "p3",
  36861. "nameLocation": "23555:2:50",
  36862. "nodeType": "VariableDeclaration",
  36863. "scope": 9949,
  36864. "src": "23547:10:50",
  36865. "stateVariable": false,
  36866. "storageLocation": "default",
  36867. "typeDescriptions": {
  36868. "typeIdentifier": "t_uint256",
  36869. "typeString": "uint256"
  36870. },
  36871. "typeName": {
  36872. "id": 9933,
  36873. "name": "uint256",
  36874. "nodeType": "ElementaryTypeName",
  36875. "src": "23547:7:50",
  36876. "typeDescriptions": {
  36877. "typeIdentifier": "t_uint256",
  36878. "typeString": "uint256"
  36879. }
  36880. },
  36881. "visibility": "internal"
  36882. }
  36883. ],
  36884. "src": "23498:60:50"
  36885. },
  36886. "returnParameters": {
  36887. "id": 9936,
  36888. "nodeType": "ParameterList",
  36889. "parameters": [],
  36890. "src": "23573:0:50"
  36891. },
  36892. "scope": 15355,
  36893. "stateMutability": "pure",
  36894. "virtual": false,
  36895. "visibility": "internal"
  36896. },
  36897. {
  36898. "id": 9972,
  36899. "nodeType": "FunctionDefinition",
  36900. "src": "23690:203:50",
  36901. "nodes": [],
  36902. "body": {
  36903. "id": 9971,
  36904. "nodeType": "Block",
  36905. "src": "23783:110:50",
  36906. "nodes": [],
  36907. "statements": [
  36908. {
  36909. "expression": {
  36910. "arguments": [
  36911. {
  36912. "arguments": [
  36913. {
  36914. "hexValue": "6c6f672875696e743235362c737472696e672c737472696e672c737472696e6729",
  36915. "id": 9963,
  36916. "isConstant": false,
  36917. "isLValue": false,
  36918. "isPure": true,
  36919. "kind": "string",
  36920. "lValueRequested": false,
  36921. "nodeType": "Literal",
  36922. "src": "23833:35:50",
  36923. "typeDescriptions": {
  36924. "typeIdentifier": "t_stringliteral_21ad06836085541851abea445814b5a1baf9d3be52c1169a6570c83010dbea5a",
  36925. "typeString": "literal_string \"log(uint256,string,string,string)\""
  36926. },
  36927. "value": "log(uint256,string,string,string)"
  36928. },
  36929. {
  36930. "id": 9964,
  36931. "name": "p0",
  36932. "nodeType": "Identifier",
  36933. "overloadedDeclarations": [],
  36934. "referencedDeclaration": 9951,
  36935. "src": "23870:2:50",
  36936. "typeDescriptions": {
  36937. "typeIdentifier": "t_uint256",
  36938. "typeString": "uint256"
  36939. }
  36940. },
  36941. {
  36942. "id": 9965,
  36943. "name": "p1",
  36944. "nodeType": "Identifier",
  36945. "overloadedDeclarations": [],
  36946. "referencedDeclaration": 9953,
  36947. "src": "23874:2:50",
  36948. "typeDescriptions": {
  36949. "typeIdentifier": "t_string_memory_ptr",
  36950. "typeString": "string memory"
  36951. }
  36952. },
  36953. {
  36954. "id": 9966,
  36955. "name": "p2",
  36956. "nodeType": "Identifier",
  36957. "overloadedDeclarations": [],
  36958. "referencedDeclaration": 9955,
  36959. "src": "23878:2:50",
  36960. "typeDescriptions": {
  36961. "typeIdentifier": "t_string_memory_ptr",
  36962. "typeString": "string memory"
  36963. }
  36964. },
  36965. {
  36966. "id": 9967,
  36967. "name": "p3",
  36968. "nodeType": "Identifier",
  36969. "overloadedDeclarations": [],
  36970. "referencedDeclaration": 9957,
  36971. "src": "23882:2:50",
  36972. "typeDescriptions": {
  36973. "typeIdentifier": "t_string_memory_ptr",
  36974. "typeString": "string memory"
  36975. }
  36976. }
  36977. ],
  36978. "expression": {
  36979. "argumentTypes": [
  36980. {
  36981. "typeIdentifier": "t_stringliteral_21ad06836085541851abea445814b5a1baf9d3be52c1169a6570c83010dbea5a",
  36982. "typeString": "literal_string \"log(uint256,string,string,string)\""
  36983. },
  36984. {
  36985. "typeIdentifier": "t_uint256",
  36986. "typeString": "uint256"
  36987. },
  36988. {
  36989. "typeIdentifier": "t_string_memory_ptr",
  36990. "typeString": "string memory"
  36991. },
  36992. {
  36993. "typeIdentifier": "t_string_memory_ptr",
  36994. "typeString": "string memory"
  36995. },
  36996. {
  36997. "typeIdentifier": "t_string_memory_ptr",
  36998. "typeString": "string memory"
  36999. }
  37000. ],
  37001. "expression": {
  37002. "id": 9961,
  37003. "name": "abi",
  37004. "nodeType": "Identifier",
  37005. "overloadedDeclarations": [],
  37006. "referencedDeclaration": -1,
  37007. "src": "23809:3:50",
  37008. "typeDescriptions": {
  37009. "typeIdentifier": "t_magic_abi",
  37010. "typeString": "abi"
  37011. }
  37012. },
  37013. "id": 9962,
  37014. "isConstant": false,
  37015. "isLValue": false,
  37016. "isPure": true,
  37017. "lValueRequested": false,
  37018. "memberLocation": "23813:19:50",
  37019. "memberName": "encodeWithSignature",
  37020. "nodeType": "MemberAccess",
  37021. "src": "23809:23:50",
  37022. "typeDescriptions": {
  37023. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  37024. "typeString": "function (string memory) pure returns (bytes memory)"
  37025. }
  37026. },
  37027. "id": 9968,
  37028. "isConstant": false,
  37029. "isLValue": false,
  37030. "isPure": false,
  37031. "kind": "functionCall",
  37032. "lValueRequested": false,
  37033. "nameLocations": [],
  37034. "names": [],
  37035. "nodeType": "FunctionCall",
  37036. "src": "23809:76:50",
  37037. "tryCall": false,
  37038. "typeDescriptions": {
  37039. "typeIdentifier": "t_bytes_memory_ptr",
  37040. "typeString": "bytes memory"
  37041. }
  37042. }
  37043. ],
  37044. "expression": {
  37045. "argumentTypes": [
  37046. {
  37047. "typeIdentifier": "t_bytes_memory_ptr",
  37048. "typeString": "bytes memory"
  37049. }
  37050. ],
  37051. "id": 9960,
  37052. "name": "_sendLogPayload",
  37053. "nodeType": "Identifier",
  37054. "overloadedDeclarations": [],
  37055. "referencedDeclaration": 7315,
  37056. "src": "23793:15:50",
  37057. "typeDescriptions": {
  37058. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  37059. "typeString": "function (bytes memory) pure"
  37060. }
  37061. },
  37062. "id": 9969,
  37063. "isConstant": false,
  37064. "isLValue": false,
  37065. "isPure": false,
  37066. "kind": "functionCall",
  37067. "lValueRequested": false,
  37068. "nameLocations": [],
  37069. "names": [],
  37070. "nodeType": "FunctionCall",
  37071. "src": "23793:93:50",
  37072. "tryCall": false,
  37073. "typeDescriptions": {
  37074. "typeIdentifier": "t_tuple$__$",
  37075. "typeString": "tuple()"
  37076. }
  37077. },
  37078. "id": 9970,
  37079. "nodeType": "ExpressionStatement",
  37080. "src": "23793:93:50"
  37081. }
  37082. ]
  37083. },
  37084. "implemented": true,
  37085. "kind": "function",
  37086. "modifiers": [],
  37087. "name": "log",
  37088. "nameLocation": "23699:3:50",
  37089. "parameters": {
  37090. "id": 9958,
  37091. "nodeType": "ParameterList",
  37092. "parameters": [
  37093. {
  37094. "constant": false,
  37095. "id": 9951,
  37096. "mutability": "mutable",
  37097. "name": "p0",
  37098. "nameLocation": "23711:2:50",
  37099. "nodeType": "VariableDeclaration",
  37100. "scope": 9972,
  37101. "src": "23703:10:50",
  37102. "stateVariable": false,
  37103. "storageLocation": "default",
  37104. "typeDescriptions": {
  37105. "typeIdentifier": "t_uint256",
  37106. "typeString": "uint256"
  37107. },
  37108. "typeName": {
  37109. "id": 9950,
  37110. "name": "uint256",
  37111. "nodeType": "ElementaryTypeName",
  37112. "src": "23703:7:50",
  37113. "typeDescriptions": {
  37114. "typeIdentifier": "t_uint256",
  37115. "typeString": "uint256"
  37116. }
  37117. },
  37118. "visibility": "internal"
  37119. },
  37120. {
  37121. "constant": false,
  37122. "id": 9953,
  37123. "mutability": "mutable",
  37124. "name": "p1",
  37125. "nameLocation": "23729:2:50",
  37126. "nodeType": "VariableDeclaration",
  37127. "scope": 9972,
  37128. "src": "23715:16:50",
  37129. "stateVariable": false,
  37130. "storageLocation": "memory",
  37131. "typeDescriptions": {
  37132. "typeIdentifier": "t_string_memory_ptr",
  37133. "typeString": "string"
  37134. },
  37135. "typeName": {
  37136. "id": 9952,
  37137. "name": "string",
  37138. "nodeType": "ElementaryTypeName",
  37139. "src": "23715:6:50",
  37140. "typeDescriptions": {
  37141. "typeIdentifier": "t_string_storage_ptr",
  37142. "typeString": "string"
  37143. }
  37144. },
  37145. "visibility": "internal"
  37146. },
  37147. {
  37148. "constant": false,
  37149. "id": 9955,
  37150. "mutability": "mutable",
  37151. "name": "p2",
  37152. "nameLocation": "23747:2:50",
  37153. "nodeType": "VariableDeclaration",
  37154. "scope": 9972,
  37155. "src": "23733:16:50",
  37156. "stateVariable": false,
  37157. "storageLocation": "memory",
  37158. "typeDescriptions": {
  37159. "typeIdentifier": "t_string_memory_ptr",
  37160. "typeString": "string"
  37161. },
  37162. "typeName": {
  37163. "id": 9954,
  37164. "name": "string",
  37165. "nodeType": "ElementaryTypeName",
  37166. "src": "23733:6:50",
  37167. "typeDescriptions": {
  37168. "typeIdentifier": "t_string_storage_ptr",
  37169. "typeString": "string"
  37170. }
  37171. },
  37172. "visibility": "internal"
  37173. },
  37174. {
  37175. "constant": false,
  37176. "id": 9957,
  37177. "mutability": "mutable",
  37178. "name": "p3",
  37179. "nameLocation": "23765:2:50",
  37180. "nodeType": "VariableDeclaration",
  37181. "scope": 9972,
  37182. "src": "23751:16:50",
  37183. "stateVariable": false,
  37184. "storageLocation": "memory",
  37185. "typeDescriptions": {
  37186. "typeIdentifier": "t_string_memory_ptr",
  37187. "typeString": "string"
  37188. },
  37189. "typeName": {
  37190. "id": 9956,
  37191. "name": "string",
  37192. "nodeType": "ElementaryTypeName",
  37193. "src": "23751:6:50",
  37194. "typeDescriptions": {
  37195. "typeIdentifier": "t_string_storage_ptr",
  37196. "typeString": "string"
  37197. }
  37198. },
  37199. "visibility": "internal"
  37200. }
  37201. ],
  37202. "src": "23702:66:50"
  37203. },
  37204. "returnParameters": {
  37205. "id": 9959,
  37206. "nodeType": "ParameterList",
  37207. "parameters": [],
  37208. "src": "23783:0:50"
  37209. },
  37210. "scope": 15355,
  37211. "stateMutability": "pure",
  37212. "virtual": false,
  37213. "visibility": "internal"
  37214. },
  37215. {
  37216. "id": 9995,
  37217. "nodeType": "FunctionDefinition",
  37218. "src": "23899:192:50",
  37219. "nodes": [],
  37220. "body": {
  37221. "id": 9994,
  37222. "nodeType": "Block",
  37223. "src": "23983:108:50",
  37224. "nodes": [],
  37225. "statements": [
  37226. {
  37227. "expression": {
  37228. "arguments": [
  37229. {
  37230. "arguments": [
  37231. {
  37232. "hexValue": "6c6f672875696e743235362c737472696e672c737472696e672c626f6f6c29",
  37233. "id": 9986,
  37234. "isConstant": false,
  37235. "isLValue": false,
  37236. "isPure": true,
  37237. "kind": "string",
  37238. "lValueRequested": false,
  37239. "nodeType": "Literal",
  37240. "src": "24033:33:50",
  37241. "typeDescriptions": {
  37242. "typeIdentifier": "t_stringliteral_b3a6b6bdf3265665181b9a9ab1338c75ebc293704c96a9a669654a5ba9f6d3e9",
  37243. "typeString": "literal_string \"log(uint256,string,string,bool)\""
  37244. },
  37245. "value": "log(uint256,string,string,bool)"
  37246. },
  37247. {
  37248. "id": 9987,
  37249. "name": "p0",
  37250. "nodeType": "Identifier",
  37251. "overloadedDeclarations": [],
  37252. "referencedDeclaration": 9974,
  37253. "src": "24068:2:50",
  37254. "typeDescriptions": {
  37255. "typeIdentifier": "t_uint256",
  37256. "typeString": "uint256"
  37257. }
  37258. },
  37259. {
  37260. "id": 9988,
  37261. "name": "p1",
  37262. "nodeType": "Identifier",
  37263. "overloadedDeclarations": [],
  37264. "referencedDeclaration": 9976,
  37265. "src": "24072:2:50",
  37266. "typeDescriptions": {
  37267. "typeIdentifier": "t_string_memory_ptr",
  37268. "typeString": "string memory"
  37269. }
  37270. },
  37271. {
  37272. "id": 9989,
  37273. "name": "p2",
  37274. "nodeType": "Identifier",
  37275. "overloadedDeclarations": [],
  37276. "referencedDeclaration": 9978,
  37277. "src": "24076:2:50",
  37278. "typeDescriptions": {
  37279. "typeIdentifier": "t_string_memory_ptr",
  37280. "typeString": "string memory"
  37281. }
  37282. },
  37283. {
  37284. "id": 9990,
  37285. "name": "p3",
  37286. "nodeType": "Identifier",
  37287. "overloadedDeclarations": [],
  37288. "referencedDeclaration": 9980,
  37289. "src": "24080:2:50",
  37290. "typeDescriptions": {
  37291. "typeIdentifier": "t_bool",
  37292. "typeString": "bool"
  37293. }
  37294. }
  37295. ],
  37296. "expression": {
  37297. "argumentTypes": [
  37298. {
  37299. "typeIdentifier": "t_stringliteral_b3a6b6bdf3265665181b9a9ab1338c75ebc293704c96a9a669654a5ba9f6d3e9",
  37300. "typeString": "literal_string \"log(uint256,string,string,bool)\""
  37301. },
  37302. {
  37303. "typeIdentifier": "t_uint256",
  37304. "typeString": "uint256"
  37305. },
  37306. {
  37307. "typeIdentifier": "t_string_memory_ptr",
  37308. "typeString": "string memory"
  37309. },
  37310. {
  37311. "typeIdentifier": "t_string_memory_ptr",
  37312. "typeString": "string memory"
  37313. },
  37314. {
  37315. "typeIdentifier": "t_bool",
  37316. "typeString": "bool"
  37317. }
  37318. ],
  37319. "expression": {
  37320. "id": 9984,
  37321. "name": "abi",
  37322. "nodeType": "Identifier",
  37323. "overloadedDeclarations": [],
  37324. "referencedDeclaration": -1,
  37325. "src": "24009:3:50",
  37326. "typeDescriptions": {
  37327. "typeIdentifier": "t_magic_abi",
  37328. "typeString": "abi"
  37329. }
  37330. },
  37331. "id": 9985,
  37332. "isConstant": false,
  37333. "isLValue": false,
  37334. "isPure": true,
  37335. "lValueRequested": false,
  37336. "memberLocation": "24013:19:50",
  37337. "memberName": "encodeWithSignature",
  37338. "nodeType": "MemberAccess",
  37339. "src": "24009:23:50",
  37340. "typeDescriptions": {
  37341. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  37342. "typeString": "function (string memory) pure returns (bytes memory)"
  37343. }
  37344. },
  37345. "id": 9991,
  37346. "isConstant": false,
  37347. "isLValue": false,
  37348. "isPure": false,
  37349. "kind": "functionCall",
  37350. "lValueRequested": false,
  37351. "nameLocations": [],
  37352. "names": [],
  37353. "nodeType": "FunctionCall",
  37354. "src": "24009:74:50",
  37355. "tryCall": false,
  37356. "typeDescriptions": {
  37357. "typeIdentifier": "t_bytes_memory_ptr",
  37358. "typeString": "bytes memory"
  37359. }
  37360. }
  37361. ],
  37362. "expression": {
  37363. "argumentTypes": [
  37364. {
  37365. "typeIdentifier": "t_bytes_memory_ptr",
  37366. "typeString": "bytes memory"
  37367. }
  37368. ],
  37369. "id": 9983,
  37370. "name": "_sendLogPayload",
  37371. "nodeType": "Identifier",
  37372. "overloadedDeclarations": [],
  37373. "referencedDeclaration": 7315,
  37374. "src": "23993:15:50",
  37375. "typeDescriptions": {
  37376. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  37377. "typeString": "function (bytes memory) pure"
  37378. }
  37379. },
  37380. "id": 9992,
  37381. "isConstant": false,
  37382. "isLValue": false,
  37383. "isPure": false,
  37384. "kind": "functionCall",
  37385. "lValueRequested": false,
  37386. "nameLocations": [],
  37387. "names": [],
  37388. "nodeType": "FunctionCall",
  37389. "src": "23993:91:50",
  37390. "tryCall": false,
  37391. "typeDescriptions": {
  37392. "typeIdentifier": "t_tuple$__$",
  37393. "typeString": "tuple()"
  37394. }
  37395. },
  37396. "id": 9993,
  37397. "nodeType": "ExpressionStatement",
  37398. "src": "23993:91:50"
  37399. }
  37400. ]
  37401. },
  37402. "implemented": true,
  37403. "kind": "function",
  37404. "modifiers": [],
  37405. "name": "log",
  37406. "nameLocation": "23908:3:50",
  37407. "parameters": {
  37408. "id": 9981,
  37409. "nodeType": "ParameterList",
  37410. "parameters": [
  37411. {
  37412. "constant": false,
  37413. "id": 9974,
  37414. "mutability": "mutable",
  37415. "name": "p0",
  37416. "nameLocation": "23920:2:50",
  37417. "nodeType": "VariableDeclaration",
  37418. "scope": 9995,
  37419. "src": "23912:10:50",
  37420. "stateVariable": false,
  37421. "storageLocation": "default",
  37422. "typeDescriptions": {
  37423. "typeIdentifier": "t_uint256",
  37424. "typeString": "uint256"
  37425. },
  37426. "typeName": {
  37427. "id": 9973,
  37428. "name": "uint256",
  37429. "nodeType": "ElementaryTypeName",
  37430. "src": "23912:7:50",
  37431. "typeDescriptions": {
  37432. "typeIdentifier": "t_uint256",
  37433. "typeString": "uint256"
  37434. }
  37435. },
  37436. "visibility": "internal"
  37437. },
  37438. {
  37439. "constant": false,
  37440. "id": 9976,
  37441. "mutability": "mutable",
  37442. "name": "p1",
  37443. "nameLocation": "23938:2:50",
  37444. "nodeType": "VariableDeclaration",
  37445. "scope": 9995,
  37446. "src": "23924:16:50",
  37447. "stateVariable": false,
  37448. "storageLocation": "memory",
  37449. "typeDescriptions": {
  37450. "typeIdentifier": "t_string_memory_ptr",
  37451. "typeString": "string"
  37452. },
  37453. "typeName": {
  37454. "id": 9975,
  37455. "name": "string",
  37456. "nodeType": "ElementaryTypeName",
  37457. "src": "23924:6:50",
  37458. "typeDescriptions": {
  37459. "typeIdentifier": "t_string_storage_ptr",
  37460. "typeString": "string"
  37461. }
  37462. },
  37463. "visibility": "internal"
  37464. },
  37465. {
  37466. "constant": false,
  37467. "id": 9978,
  37468. "mutability": "mutable",
  37469. "name": "p2",
  37470. "nameLocation": "23956:2:50",
  37471. "nodeType": "VariableDeclaration",
  37472. "scope": 9995,
  37473. "src": "23942:16:50",
  37474. "stateVariable": false,
  37475. "storageLocation": "memory",
  37476. "typeDescriptions": {
  37477. "typeIdentifier": "t_string_memory_ptr",
  37478. "typeString": "string"
  37479. },
  37480. "typeName": {
  37481. "id": 9977,
  37482. "name": "string",
  37483. "nodeType": "ElementaryTypeName",
  37484. "src": "23942:6:50",
  37485. "typeDescriptions": {
  37486. "typeIdentifier": "t_string_storage_ptr",
  37487. "typeString": "string"
  37488. }
  37489. },
  37490. "visibility": "internal"
  37491. },
  37492. {
  37493. "constant": false,
  37494. "id": 9980,
  37495. "mutability": "mutable",
  37496. "name": "p3",
  37497. "nameLocation": "23965:2:50",
  37498. "nodeType": "VariableDeclaration",
  37499. "scope": 9995,
  37500. "src": "23960:7:50",
  37501. "stateVariable": false,
  37502. "storageLocation": "default",
  37503. "typeDescriptions": {
  37504. "typeIdentifier": "t_bool",
  37505. "typeString": "bool"
  37506. },
  37507. "typeName": {
  37508. "id": 9979,
  37509. "name": "bool",
  37510. "nodeType": "ElementaryTypeName",
  37511. "src": "23960:4:50",
  37512. "typeDescriptions": {
  37513. "typeIdentifier": "t_bool",
  37514. "typeString": "bool"
  37515. }
  37516. },
  37517. "visibility": "internal"
  37518. }
  37519. ],
  37520. "src": "23911:57:50"
  37521. },
  37522. "returnParameters": {
  37523. "id": 9982,
  37524. "nodeType": "ParameterList",
  37525. "parameters": [],
  37526. "src": "23983:0:50"
  37527. },
  37528. "scope": 15355,
  37529. "stateMutability": "pure",
  37530. "virtual": false,
  37531. "visibility": "internal"
  37532. },
  37533. {
  37534. "id": 10018,
  37535. "nodeType": "FunctionDefinition",
  37536. "src": "24097:198:50",
  37537. "nodes": [],
  37538. "body": {
  37539. "id": 10017,
  37540. "nodeType": "Block",
  37541. "src": "24184:111:50",
  37542. "nodes": [],
  37543. "statements": [
  37544. {
  37545. "expression": {
  37546. "arguments": [
  37547. {
  37548. "arguments": [
  37549. {
  37550. "hexValue": "6c6f672875696e743235362c737472696e672c737472696e672c6164647265737329",
  37551. "id": 10009,
  37552. "isConstant": false,
  37553. "isLValue": false,
  37554. "isPure": true,
  37555. "kind": "string",
  37556. "lValueRequested": false,
  37557. "nodeType": "Literal",
  37558. "src": "24234:36:50",
  37559. "typeDescriptions": {
  37560. "typeIdentifier": "t_stringliteral_d583c60265ad086fe6216ef9aea37bf5de1e77bdf9055c734c55781d5f4b81d7",
  37561. "typeString": "literal_string \"log(uint256,string,string,address)\""
  37562. },
  37563. "value": "log(uint256,string,string,address)"
  37564. },
  37565. {
  37566. "id": 10010,
  37567. "name": "p0",
  37568. "nodeType": "Identifier",
  37569. "overloadedDeclarations": [],
  37570. "referencedDeclaration": 9997,
  37571. "src": "24272:2:50",
  37572. "typeDescriptions": {
  37573. "typeIdentifier": "t_uint256",
  37574. "typeString": "uint256"
  37575. }
  37576. },
  37577. {
  37578. "id": 10011,
  37579. "name": "p1",
  37580. "nodeType": "Identifier",
  37581. "overloadedDeclarations": [],
  37582. "referencedDeclaration": 9999,
  37583. "src": "24276:2:50",
  37584. "typeDescriptions": {
  37585. "typeIdentifier": "t_string_memory_ptr",
  37586. "typeString": "string memory"
  37587. }
  37588. },
  37589. {
  37590. "id": 10012,
  37591. "name": "p2",
  37592. "nodeType": "Identifier",
  37593. "overloadedDeclarations": [],
  37594. "referencedDeclaration": 10001,
  37595. "src": "24280:2:50",
  37596. "typeDescriptions": {
  37597. "typeIdentifier": "t_string_memory_ptr",
  37598. "typeString": "string memory"
  37599. }
  37600. },
  37601. {
  37602. "id": 10013,
  37603. "name": "p3",
  37604. "nodeType": "Identifier",
  37605. "overloadedDeclarations": [],
  37606. "referencedDeclaration": 10003,
  37607. "src": "24284:2:50",
  37608. "typeDescriptions": {
  37609. "typeIdentifier": "t_address",
  37610. "typeString": "address"
  37611. }
  37612. }
  37613. ],
  37614. "expression": {
  37615. "argumentTypes": [
  37616. {
  37617. "typeIdentifier": "t_stringliteral_d583c60265ad086fe6216ef9aea37bf5de1e77bdf9055c734c55781d5f4b81d7",
  37618. "typeString": "literal_string \"log(uint256,string,string,address)\""
  37619. },
  37620. {
  37621. "typeIdentifier": "t_uint256",
  37622. "typeString": "uint256"
  37623. },
  37624. {
  37625. "typeIdentifier": "t_string_memory_ptr",
  37626. "typeString": "string memory"
  37627. },
  37628. {
  37629. "typeIdentifier": "t_string_memory_ptr",
  37630. "typeString": "string memory"
  37631. },
  37632. {
  37633. "typeIdentifier": "t_address",
  37634. "typeString": "address"
  37635. }
  37636. ],
  37637. "expression": {
  37638. "id": 10007,
  37639. "name": "abi",
  37640. "nodeType": "Identifier",
  37641. "overloadedDeclarations": [],
  37642. "referencedDeclaration": -1,
  37643. "src": "24210:3:50",
  37644. "typeDescriptions": {
  37645. "typeIdentifier": "t_magic_abi",
  37646. "typeString": "abi"
  37647. }
  37648. },
  37649. "id": 10008,
  37650. "isConstant": false,
  37651. "isLValue": false,
  37652. "isPure": true,
  37653. "lValueRequested": false,
  37654. "memberLocation": "24214:19:50",
  37655. "memberName": "encodeWithSignature",
  37656. "nodeType": "MemberAccess",
  37657. "src": "24210:23:50",
  37658. "typeDescriptions": {
  37659. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  37660. "typeString": "function (string memory) pure returns (bytes memory)"
  37661. }
  37662. },
  37663. "id": 10014,
  37664. "isConstant": false,
  37665. "isLValue": false,
  37666. "isPure": false,
  37667. "kind": "functionCall",
  37668. "lValueRequested": false,
  37669. "nameLocations": [],
  37670. "names": [],
  37671. "nodeType": "FunctionCall",
  37672. "src": "24210:77:50",
  37673. "tryCall": false,
  37674. "typeDescriptions": {
  37675. "typeIdentifier": "t_bytes_memory_ptr",
  37676. "typeString": "bytes memory"
  37677. }
  37678. }
  37679. ],
  37680. "expression": {
  37681. "argumentTypes": [
  37682. {
  37683. "typeIdentifier": "t_bytes_memory_ptr",
  37684. "typeString": "bytes memory"
  37685. }
  37686. ],
  37687. "id": 10006,
  37688. "name": "_sendLogPayload",
  37689. "nodeType": "Identifier",
  37690. "overloadedDeclarations": [],
  37691. "referencedDeclaration": 7315,
  37692. "src": "24194:15:50",
  37693. "typeDescriptions": {
  37694. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  37695. "typeString": "function (bytes memory) pure"
  37696. }
  37697. },
  37698. "id": 10015,
  37699. "isConstant": false,
  37700. "isLValue": false,
  37701. "isPure": false,
  37702. "kind": "functionCall",
  37703. "lValueRequested": false,
  37704. "nameLocations": [],
  37705. "names": [],
  37706. "nodeType": "FunctionCall",
  37707. "src": "24194:94:50",
  37708. "tryCall": false,
  37709. "typeDescriptions": {
  37710. "typeIdentifier": "t_tuple$__$",
  37711. "typeString": "tuple()"
  37712. }
  37713. },
  37714. "id": 10016,
  37715. "nodeType": "ExpressionStatement",
  37716. "src": "24194:94:50"
  37717. }
  37718. ]
  37719. },
  37720. "implemented": true,
  37721. "kind": "function",
  37722. "modifiers": [],
  37723. "name": "log",
  37724. "nameLocation": "24106:3:50",
  37725. "parameters": {
  37726. "id": 10004,
  37727. "nodeType": "ParameterList",
  37728. "parameters": [
  37729. {
  37730. "constant": false,
  37731. "id": 9997,
  37732. "mutability": "mutable",
  37733. "name": "p0",
  37734. "nameLocation": "24118:2:50",
  37735. "nodeType": "VariableDeclaration",
  37736. "scope": 10018,
  37737. "src": "24110:10:50",
  37738. "stateVariable": false,
  37739. "storageLocation": "default",
  37740. "typeDescriptions": {
  37741. "typeIdentifier": "t_uint256",
  37742. "typeString": "uint256"
  37743. },
  37744. "typeName": {
  37745. "id": 9996,
  37746. "name": "uint256",
  37747. "nodeType": "ElementaryTypeName",
  37748. "src": "24110:7:50",
  37749. "typeDescriptions": {
  37750. "typeIdentifier": "t_uint256",
  37751. "typeString": "uint256"
  37752. }
  37753. },
  37754. "visibility": "internal"
  37755. },
  37756. {
  37757. "constant": false,
  37758. "id": 9999,
  37759. "mutability": "mutable",
  37760. "name": "p1",
  37761. "nameLocation": "24136:2:50",
  37762. "nodeType": "VariableDeclaration",
  37763. "scope": 10018,
  37764. "src": "24122:16:50",
  37765. "stateVariable": false,
  37766. "storageLocation": "memory",
  37767. "typeDescriptions": {
  37768. "typeIdentifier": "t_string_memory_ptr",
  37769. "typeString": "string"
  37770. },
  37771. "typeName": {
  37772. "id": 9998,
  37773. "name": "string",
  37774. "nodeType": "ElementaryTypeName",
  37775. "src": "24122:6:50",
  37776. "typeDescriptions": {
  37777. "typeIdentifier": "t_string_storage_ptr",
  37778. "typeString": "string"
  37779. }
  37780. },
  37781. "visibility": "internal"
  37782. },
  37783. {
  37784. "constant": false,
  37785. "id": 10001,
  37786. "mutability": "mutable",
  37787. "name": "p2",
  37788. "nameLocation": "24154:2:50",
  37789. "nodeType": "VariableDeclaration",
  37790. "scope": 10018,
  37791. "src": "24140:16:50",
  37792. "stateVariable": false,
  37793. "storageLocation": "memory",
  37794. "typeDescriptions": {
  37795. "typeIdentifier": "t_string_memory_ptr",
  37796. "typeString": "string"
  37797. },
  37798. "typeName": {
  37799. "id": 10000,
  37800. "name": "string",
  37801. "nodeType": "ElementaryTypeName",
  37802. "src": "24140:6:50",
  37803. "typeDescriptions": {
  37804. "typeIdentifier": "t_string_storage_ptr",
  37805. "typeString": "string"
  37806. }
  37807. },
  37808. "visibility": "internal"
  37809. },
  37810. {
  37811. "constant": false,
  37812. "id": 10003,
  37813. "mutability": "mutable",
  37814. "name": "p3",
  37815. "nameLocation": "24166:2:50",
  37816. "nodeType": "VariableDeclaration",
  37817. "scope": 10018,
  37818. "src": "24158:10:50",
  37819. "stateVariable": false,
  37820. "storageLocation": "default",
  37821. "typeDescriptions": {
  37822. "typeIdentifier": "t_address",
  37823. "typeString": "address"
  37824. },
  37825. "typeName": {
  37826. "id": 10002,
  37827. "name": "address",
  37828. "nodeType": "ElementaryTypeName",
  37829. "src": "24158:7:50",
  37830. "stateMutability": "nonpayable",
  37831. "typeDescriptions": {
  37832. "typeIdentifier": "t_address",
  37833. "typeString": "address"
  37834. }
  37835. },
  37836. "visibility": "internal"
  37837. }
  37838. ],
  37839. "src": "24109:60:50"
  37840. },
  37841. "returnParameters": {
  37842. "id": 10005,
  37843. "nodeType": "ParameterList",
  37844. "parameters": [],
  37845. "src": "24184:0:50"
  37846. },
  37847. "scope": 15355,
  37848. "stateMutability": "pure",
  37849. "virtual": false,
  37850. "visibility": "internal"
  37851. },
  37852. {
  37853. "id": 10041,
  37854. "nodeType": "FunctionDefinition",
  37855. "src": "24301:187:50",
  37856. "nodes": [],
  37857. "body": {
  37858. "id": 10040,
  37859. "nodeType": "Block",
  37860. "src": "24379:109:50",
  37861. "nodes": [],
  37862. "statements": [
  37863. {
  37864. "expression": {
  37865. "arguments": [
  37866. {
  37867. "arguments": [
  37868. {
  37869. "hexValue": "6c6f672875696e743235362c737472696e672c626f6f6c2c75696e7432353629",
  37870. "id": 10032,
  37871. "isConstant": false,
  37872. "isLValue": false,
  37873. "isPure": true,
  37874. "kind": "string",
  37875. "lValueRequested": false,
  37876. "nodeType": "Literal",
  37877. "src": "24429:34:50",
  37878. "typeDescriptions": {
  37879. "typeIdentifier": "t_stringliteral_cf00988004d982e10d8d4fa7f603a1414e3b2b91cdfcf6f72808ca6c3100f96a",
  37880. "typeString": "literal_string \"log(uint256,string,bool,uint256)\""
  37881. },
  37882. "value": "log(uint256,string,bool,uint256)"
  37883. },
  37884. {
  37885. "id": 10033,
  37886. "name": "p0",
  37887. "nodeType": "Identifier",
  37888. "overloadedDeclarations": [],
  37889. "referencedDeclaration": 10020,
  37890. "src": "24465:2:50",
  37891. "typeDescriptions": {
  37892. "typeIdentifier": "t_uint256",
  37893. "typeString": "uint256"
  37894. }
  37895. },
  37896. {
  37897. "id": 10034,
  37898. "name": "p1",
  37899. "nodeType": "Identifier",
  37900. "overloadedDeclarations": [],
  37901. "referencedDeclaration": 10022,
  37902. "src": "24469:2:50",
  37903. "typeDescriptions": {
  37904. "typeIdentifier": "t_string_memory_ptr",
  37905. "typeString": "string memory"
  37906. }
  37907. },
  37908. {
  37909. "id": 10035,
  37910. "name": "p2",
  37911. "nodeType": "Identifier",
  37912. "overloadedDeclarations": [],
  37913. "referencedDeclaration": 10024,
  37914. "src": "24473:2:50",
  37915. "typeDescriptions": {
  37916. "typeIdentifier": "t_bool",
  37917. "typeString": "bool"
  37918. }
  37919. },
  37920. {
  37921. "id": 10036,
  37922. "name": "p3",
  37923. "nodeType": "Identifier",
  37924. "overloadedDeclarations": [],
  37925. "referencedDeclaration": 10026,
  37926. "src": "24477:2:50",
  37927. "typeDescriptions": {
  37928. "typeIdentifier": "t_uint256",
  37929. "typeString": "uint256"
  37930. }
  37931. }
  37932. ],
  37933. "expression": {
  37934. "argumentTypes": [
  37935. {
  37936. "typeIdentifier": "t_stringliteral_cf00988004d982e10d8d4fa7f603a1414e3b2b91cdfcf6f72808ca6c3100f96a",
  37937. "typeString": "literal_string \"log(uint256,string,bool,uint256)\""
  37938. },
  37939. {
  37940. "typeIdentifier": "t_uint256",
  37941. "typeString": "uint256"
  37942. },
  37943. {
  37944. "typeIdentifier": "t_string_memory_ptr",
  37945. "typeString": "string memory"
  37946. },
  37947. {
  37948. "typeIdentifier": "t_bool",
  37949. "typeString": "bool"
  37950. },
  37951. {
  37952. "typeIdentifier": "t_uint256",
  37953. "typeString": "uint256"
  37954. }
  37955. ],
  37956. "expression": {
  37957. "id": 10030,
  37958. "name": "abi",
  37959. "nodeType": "Identifier",
  37960. "overloadedDeclarations": [],
  37961. "referencedDeclaration": -1,
  37962. "src": "24405:3:50",
  37963. "typeDescriptions": {
  37964. "typeIdentifier": "t_magic_abi",
  37965. "typeString": "abi"
  37966. }
  37967. },
  37968. "id": 10031,
  37969. "isConstant": false,
  37970. "isLValue": false,
  37971. "isPure": true,
  37972. "lValueRequested": false,
  37973. "memberLocation": "24409:19:50",
  37974. "memberName": "encodeWithSignature",
  37975. "nodeType": "MemberAccess",
  37976. "src": "24405:23:50",
  37977. "typeDescriptions": {
  37978. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  37979. "typeString": "function (string memory) pure returns (bytes memory)"
  37980. }
  37981. },
  37982. "id": 10037,
  37983. "isConstant": false,
  37984. "isLValue": false,
  37985. "isPure": false,
  37986. "kind": "functionCall",
  37987. "lValueRequested": false,
  37988. "nameLocations": [],
  37989. "names": [],
  37990. "nodeType": "FunctionCall",
  37991. "src": "24405:75:50",
  37992. "tryCall": false,
  37993. "typeDescriptions": {
  37994. "typeIdentifier": "t_bytes_memory_ptr",
  37995. "typeString": "bytes memory"
  37996. }
  37997. }
  37998. ],
  37999. "expression": {
  38000. "argumentTypes": [
  38001. {
  38002. "typeIdentifier": "t_bytes_memory_ptr",
  38003. "typeString": "bytes memory"
  38004. }
  38005. ],
  38006. "id": 10029,
  38007. "name": "_sendLogPayload",
  38008. "nodeType": "Identifier",
  38009. "overloadedDeclarations": [],
  38010. "referencedDeclaration": 7315,
  38011. "src": "24389:15:50",
  38012. "typeDescriptions": {
  38013. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  38014. "typeString": "function (bytes memory) pure"
  38015. }
  38016. },
  38017. "id": 10038,
  38018. "isConstant": false,
  38019. "isLValue": false,
  38020. "isPure": false,
  38021. "kind": "functionCall",
  38022. "lValueRequested": false,
  38023. "nameLocations": [],
  38024. "names": [],
  38025. "nodeType": "FunctionCall",
  38026. "src": "24389:92:50",
  38027. "tryCall": false,
  38028. "typeDescriptions": {
  38029. "typeIdentifier": "t_tuple$__$",
  38030. "typeString": "tuple()"
  38031. }
  38032. },
  38033. "id": 10039,
  38034. "nodeType": "ExpressionStatement",
  38035. "src": "24389:92:50"
  38036. }
  38037. ]
  38038. },
  38039. "implemented": true,
  38040. "kind": "function",
  38041. "modifiers": [],
  38042. "name": "log",
  38043. "nameLocation": "24310:3:50",
  38044. "parameters": {
  38045. "id": 10027,
  38046. "nodeType": "ParameterList",
  38047. "parameters": [
  38048. {
  38049. "constant": false,
  38050. "id": 10020,
  38051. "mutability": "mutable",
  38052. "name": "p0",
  38053. "nameLocation": "24322:2:50",
  38054. "nodeType": "VariableDeclaration",
  38055. "scope": 10041,
  38056. "src": "24314:10:50",
  38057. "stateVariable": false,
  38058. "storageLocation": "default",
  38059. "typeDescriptions": {
  38060. "typeIdentifier": "t_uint256",
  38061. "typeString": "uint256"
  38062. },
  38063. "typeName": {
  38064. "id": 10019,
  38065. "name": "uint256",
  38066. "nodeType": "ElementaryTypeName",
  38067. "src": "24314:7:50",
  38068. "typeDescriptions": {
  38069. "typeIdentifier": "t_uint256",
  38070. "typeString": "uint256"
  38071. }
  38072. },
  38073. "visibility": "internal"
  38074. },
  38075. {
  38076. "constant": false,
  38077. "id": 10022,
  38078. "mutability": "mutable",
  38079. "name": "p1",
  38080. "nameLocation": "24340:2:50",
  38081. "nodeType": "VariableDeclaration",
  38082. "scope": 10041,
  38083. "src": "24326:16:50",
  38084. "stateVariable": false,
  38085. "storageLocation": "memory",
  38086. "typeDescriptions": {
  38087. "typeIdentifier": "t_string_memory_ptr",
  38088. "typeString": "string"
  38089. },
  38090. "typeName": {
  38091. "id": 10021,
  38092. "name": "string",
  38093. "nodeType": "ElementaryTypeName",
  38094. "src": "24326:6:50",
  38095. "typeDescriptions": {
  38096. "typeIdentifier": "t_string_storage_ptr",
  38097. "typeString": "string"
  38098. }
  38099. },
  38100. "visibility": "internal"
  38101. },
  38102. {
  38103. "constant": false,
  38104. "id": 10024,
  38105. "mutability": "mutable",
  38106. "name": "p2",
  38107. "nameLocation": "24349:2:50",
  38108. "nodeType": "VariableDeclaration",
  38109. "scope": 10041,
  38110. "src": "24344:7:50",
  38111. "stateVariable": false,
  38112. "storageLocation": "default",
  38113. "typeDescriptions": {
  38114. "typeIdentifier": "t_bool",
  38115. "typeString": "bool"
  38116. },
  38117. "typeName": {
  38118. "id": 10023,
  38119. "name": "bool",
  38120. "nodeType": "ElementaryTypeName",
  38121. "src": "24344:4:50",
  38122. "typeDescriptions": {
  38123. "typeIdentifier": "t_bool",
  38124. "typeString": "bool"
  38125. }
  38126. },
  38127. "visibility": "internal"
  38128. },
  38129. {
  38130. "constant": false,
  38131. "id": 10026,
  38132. "mutability": "mutable",
  38133. "name": "p3",
  38134. "nameLocation": "24361:2:50",
  38135. "nodeType": "VariableDeclaration",
  38136. "scope": 10041,
  38137. "src": "24353:10:50",
  38138. "stateVariable": false,
  38139. "storageLocation": "default",
  38140. "typeDescriptions": {
  38141. "typeIdentifier": "t_uint256",
  38142. "typeString": "uint256"
  38143. },
  38144. "typeName": {
  38145. "id": 10025,
  38146. "name": "uint256",
  38147. "nodeType": "ElementaryTypeName",
  38148. "src": "24353:7:50",
  38149. "typeDescriptions": {
  38150. "typeIdentifier": "t_uint256",
  38151. "typeString": "uint256"
  38152. }
  38153. },
  38154. "visibility": "internal"
  38155. }
  38156. ],
  38157. "src": "24313:51:50"
  38158. },
  38159. "returnParameters": {
  38160. "id": 10028,
  38161. "nodeType": "ParameterList",
  38162. "parameters": [],
  38163. "src": "24379:0:50"
  38164. },
  38165. "scope": 15355,
  38166. "stateMutability": "pure",
  38167. "virtual": false,
  38168. "visibility": "internal"
  38169. },
  38170. {
  38171. "id": 10064,
  38172. "nodeType": "FunctionDefinition",
  38173. "src": "24494:192:50",
  38174. "nodes": [],
  38175. "body": {
  38176. "id": 10063,
  38177. "nodeType": "Block",
  38178. "src": "24578:108:50",
  38179. "nodes": [],
  38180. "statements": [
  38181. {
  38182. "expression": {
  38183. "arguments": [
  38184. {
  38185. "arguments": [
  38186. {
  38187. "hexValue": "6c6f672875696e743235362c737472696e672c626f6f6c2c737472696e6729",
  38188. "id": 10055,
  38189. "isConstant": false,
  38190. "isLValue": false,
  38191. "isPure": true,
  38192. "kind": "string",
  38193. "lValueRequested": false,
  38194. "nodeType": "Literal",
  38195. "src": "24628:33:50",
  38196. "typeDescriptions": {
  38197. "typeIdentifier": "t_stringliteral_d2d423cdca0e3ae7a0a1a283a67d891c85787b75e0c5291c02d15317d67fe45c",
  38198. "typeString": "literal_string \"log(uint256,string,bool,string)\""
  38199. },
  38200. "value": "log(uint256,string,bool,string)"
  38201. },
  38202. {
  38203. "id": 10056,
  38204. "name": "p0",
  38205. "nodeType": "Identifier",
  38206. "overloadedDeclarations": [],
  38207. "referencedDeclaration": 10043,
  38208. "src": "24663:2:50",
  38209. "typeDescriptions": {
  38210. "typeIdentifier": "t_uint256",
  38211. "typeString": "uint256"
  38212. }
  38213. },
  38214. {
  38215. "id": 10057,
  38216. "name": "p1",
  38217. "nodeType": "Identifier",
  38218. "overloadedDeclarations": [],
  38219. "referencedDeclaration": 10045,
  38220. "src": "24667:2:50",
  38221. "typeDescriptions": {
  38222. "typeIdentifier": "t_string_memory_ptr",
  38223. "typeString": "string memory"
  38224. }
  38225. },
  38226. {
  38227. "id": 10058,
  38228. "name": "p2",
  38229. "nodeType": "Identifier",
  38230. "overloadedDeclarations": [],
  38231. "referencedDeclaration": 10047,
  38232. "src": "24671:2:50",
  38233. "typeDescriptions": {
  38234. "typeIdentifier": "t_bool",
  38235. "typeString": "bool"
  38236. }
  38237. },
  38238. {
  38239. "id": 10059,
  38240. "name": "p3",
  38241. "nodeType": "Identifier",
  38242. "overloadedDeclarations": [],
  38243. "referencedDeclaration": 10049,
  38244. "src": "24675:2:50",
  38245. "typeDescriptions": {
  38246. "typeIdentifier": "t_string_memory_ptr",
  38247. "typeString": "string memory"
  38248. }
  38249. }
  38250. ],
  38251. "expression": {
  38252. "argumentTypes": [
  38253. {
  38254. "typeIdentifier": "t_stringliteral_d2d423cdca0e3ae7a0a1a283a67d891c85787b75e0c5291c02d15317d67fe45c",
  38255. "typeString": "literal_string \"log(uint256,string,bool,string)\""
  38256. },
  38257. {
  38258. "typeIdentifier": "t_uint256",
  38259. "typeString": "uint256"
  38260. },
  38261. {
  38262. "typeIdentifier": "t_string_memory_ptr",
  38263. "typeString": "string memory"
  38264. },
  38265. {
  38266. "typeIdentifier": "t_bool",
  38267. "typeString": "bool"
  38268. },
  38269. {
  38270. "typeIdentifier": "t_string_memory_ptr",
  38271. "typeString": "string memory"
  38272. }
  38273. ],
  38274. "expression": {
  38275. "id": 10053,
  38276. "name": "abi",
  38277. "nodeType": "Identifier",
  38278. "overloadedDeclarations": [],
  38279. "referencedDeclaration": -1,
  38280. "src": "24604:3:50",
  38281. "typeDescriptions": {
  38282. "typeIdentifier": "t_magic_abi",
  38283. "typeString": "abi"
  38284. }
  38285. },
  38286. "id": 10054,
  38287. "isConstant": false,
  38288. "isLValue": false,
  38289. "isPure": true,
  38290. "lValueRequested": false,
  38291. "memberLocation": "24608:19:50",
  38292. "memberName": "encodeWithSignature",
  38293. "nodeType": "MemberAccess",
  38294. "src": "24604:23:50",
  38295. "typeDescriptions": {
  38296. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  38297. "typeString": "function (string memory) pure returns (bytes memory)"
  38298. }
  38299. },
  38300. "id": 10060,
  38301. "isConstant": false,
  38302. "isLValue": false,
  38303. "isPure": false,
  38304. "kind": "functionCall",
  38305. "lValueRequested": false,
  38306. "nameLocations": [],
  38307. "names": [],
  38308. "nodeType": "FunctionCall",
  38309. "src": "24604:74:50",
  38310. "tryCall": false,
  38311. "typeDescriptions": {
  38312. "typeIdentifier": "t_bytes_memory_ptr",
  38313. "typeString": "bytes memory"
  38314. }
  38315. }
  38316. ],
  38317. "expression": {
  38318. "argumentTypes": [
  38319. {
  38320. "typeIdentifier": "t_bytes_memory_ptr",
  38321. "typeString": "bytes memory"
  38322. }
  38323. ],
  38324. "id": 10052,
  38325. "name": "_sendLogPayload",
  38326. "nodeType": "Identifier",
  38327. "overloadedDeclarations": [],
  38328. "referencedDeclaration": 7315,
  38329. "src": "24588:15:50",
  38330. "typeDescriptions": {
  38331. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  38332. "typeString": "function (bytes memory) pure"
  38333. }
  38334. },
  38335. "id": 10061,
  38336. "isConstant": false,
  38337. "isLValue": false,
  38338. "isPure": false,
  38339. "kind": "functionCall",
  38340. "lValueRequested": false,
  38341. "nameLocations": [],
  38342. "names": [],
  38343. "nodeType": "FunctionCall",
  38344. "src": "24588:91:50",
  38345. "tryCall": false,
  38346. "typeDescriptions": {
  38347. "typeIdentifier": "t_tuple$__$",
  38348. "typeString": "tuple()"
  38349. }
  38350. },
  38351. "id": 10062,
  38352. "nodeType": "ExpressionStatement",
  38353. "src": "24588:91:50"
  38354. }
  38355. ]
  38356. },
  38357. "implemented": true,
  38358. "kind": "function",
  38359. "modifiers": [],
  38360. "name": "log",
  38361. "nameLocation": "24503:3:50",
  38362. "parameters": {
  38363. "id": 10050,
  38364. "nodeType": "ParameterList",
  38365. "parameters": [
  38366. {
  38367. "constant": false,
  38368. "id": 10043,
  38369. "mutability": "mutable",
  38370. "name": "p0",
  38371. "nameLocation": "24515:2:50",
  38372. "nodeType": "VariableDeclaration",
  38373. "scope": 10064,
  38374. "src": "24507:10:50",
  38375. "stateVariable": false,
  38376. "storageLocation": "default",
  38377. "typeDescriptions": {
  38378. "typeIdentifier": "t_uint256",
  38379. "typeString": "uint256"
  38380. },
  38381. "typeName": {
  38382. "id": 10042,
  38383. "name": "uint256",
  38384. "nodeType": "ElementaryTypeName",
  38385. "src": "24507:7:50",
  38386. "typeDescriptions": {
  38387. "typeIdentifier": "t_uint256",
  38388. "typeString": "uint256"
  38389. }
  38390. },
  38391. "visibility": "internal"
  38392. },
  38393. {
  38394. "constant": false,
  38395. "id": 10045,
  38396. "mutability": "mutable",
  38397. "name": "p1",
  38398. "nameLocation": "24533:2:50",
  38399. "nodeType": "VariableDeclaration",
  38400. "scope": 10064,
  38401. "src": "24519:16:50",
  38402. "stateVariable": false,
  38403. "storageLocation": "memory",
  38404. "typeDescriptions": {
  38405. "typeIdentifier": "t_string_memory_ptr",
  38406. "typeString": "string"
  38407. },
  38408. "typeName": {
  38409. "id": 10044,
  38410. "name": "string",
  38411. "nodeType": "ElementaryTypeName",
  38412. "src": "24519:6:50",
  38413. "typeDescriptions": {
  38414. "typeIdentifier": "t_string_storage_ptr",
  38415. "typeString": "string"
  38416. }
  38417. },
  38418. "visibility": "internal"
  38419. },
  38420. {
  38421. "constant": false,
  38422. "id": 10047,
  38423. "mutability": "mutable",
  38424. "name": "p2",
  38425. "nameLocation": "24542:2:50",
  38426. "nodeType": "VariableDeclaration",
  38427. "scope": 10064,
  38428. "src": "24537:7:50",
  38429. "stateVariable": false,
  38430. "storageLocation": "default",
  38431. "typeDescriptions": {
  38432. "typeIdentifier": "t_bool",
  38433. "typeString": "bool"
  38434. },
  38435. "typeName": {
  38436. "id": 10046,
  38437. "name": "bool",
  38438. "nodeType": "ElementaryTypeName",
  38439. "src": "24537:4:50",
  38440. "typeDescriptions": {
  38441. "typeIdentifier": "t_bool",
  38442. "typeString": "bool"
  38443. }
  38444. },
  38445. "visibility": "internal"
  38446. },
  38447. {
  38448. "constant": false,
  38449. "id": 10049,
  38450. "mutability": "mutable",
  38451. "name": "p3",
  38452. "nameLocation": "24560:2:50",
  38453. "nodeType": "VariableDeclaration",
  38454. "scope": 10064,
  38455. "src": "24546:16:50",
  38456. "stateVariable": false,
  38457. "storageLocation": "memory",
  38458. "typeDescriptions": {
  38459. "typeIdentifier": "t_string_memory_ptr",
  38460. "typeString": "string"
  38461. },
  38462. "typeName": {
  38463. "id": 10048,
  38464. "name": "string",
  38465. "nodeType": "ElementaryTypeName",
  38466. "src": "24546:6:50",
  38467. "typeDescriptions": {
  38468. "typeIdentifier": "t_string_storage_ptr",
  38469. "typeString": "string"
  38470. }
  38471. },
  38472. "visibility": "internal"
  38473. }
  38474. ],
  38475. "src": "24506:57:50"
  38476. },
  38477. "returnParameters": {
  38478. "id": 10051,
  38479. "nodeType": "ParameterList",
  38480. "parameters": [],
  38481. "src": "24578:0:50"
  38482. },
  38483. "scope": 15355,
  38484. "stateMutability": "pure",
  38485. "virtual": false,
  38486. "visibility": "internal"
  38487. },
  38488. {
  38489. "id": 10087,
  38490. "nodeType": "FunctionDefinition",
  38491. "src": "24692:181:50",
  38492. "nodes": [],
  38493. "body": {
  38494. "id": 10086,
  38495. "nodeType": "Block",
  38496. "src": "24767:106:50",
  38497. "nodes": [],
  38498. "statements": [
  38499. {
  38500. "expression": {
  38501. "arguments": [
  38502. {
  38503. "arguments": [
  38504. {
  38505. "hexValue": "6c6f672875696e743235362c737472696e672c626f6f6c2c626f6f6c29",
  38506. "id": 10078,
  38507. "isConstant": false,
  38508. "isLValue": false,
  38509. "isPure": true,
  38510. "kind": "string",
  38511. "lValueRequested": false,
  38512. "nodeType": "Literal",
  38513. "src": "24817:31:50",
  38514. "typeDescriptions": {
  38515. "typeIdentifier": "t_stringliteral_ba535d9cec0fb8bbd83e61b83d0f575d149cba6778a192239c1bdc5170053e4f",
  38516. "typeString": "literal_string \"log(uint256,string,bool,bool)\""
  38517. },
  38518. "value": "log(uint256,string,bool,bool)"
  38519. },
  38520. {
  38521. "id": 10079,
  38522. "name": "p0",
  38523. "nodeType": "Identifier",
  38524. "overloadedDeclarations": [],
  38525. "referencedDeclaration": 10066,
  38526. "src": "24850:2:50",
  38527. "typeDescriptions": {
  38528. "typeIdentifier": "t_uint256",
  38529. "typeString": "uint256"
  38530. }
  38531. },
  38532. {
  38533. "id": 10080,
  38534. "name": "p1",
  38535. "nodeType": "Identifier",
  38536. "overloadedDeclarations": [],
  38537. "referencedDeclaration": 10068,
  38538. "src": "24854:2:50",
  38539. "typeDescriptions": {
  38540. "typeIdentifier": "t_string_memory_ptr",
  38541. "typeString": "string memory"
  38542. }
  38543. },
  38544. {
  38545. "id": 10081,
  38546. "name": "p2",
  38547. "nodeType": "Identifier",
  38548. "overloadedDeclarations": [],
  38549. "referencedDeclaration": 10070,
  38550. "src": "24858:2:50",
  38551. "typeDescriptions": {
  38552. "typeIdentifier": "t_bool",
  38553. "typeString": "bool"
  38554. }
  38555. },
  38556. {
  38557. "id": 10082,
  38558. "name": "p3",
  38559. "nodeType": "Identifier",
  38560. "overloadedDeclarations": [],
  38561. "referencedDeclaration": 10072,
  38562. "src": "24862:2:50",
  38563. "typeDescriptions": {
  38564. "typeIdentifier": "t_bool",
  38565. "typeString": "bool"
  38566. }
  38567. }
  38568. ],
  38569. "expression": {
  38570. "argumentTypes": [
  38571. {
  38572. "typeIdentifier": "t_stringliteral_ba535d9cec0fb8bbd83e61b83d0f575d149cba6778a192239c1bdc5170053e4f",
  38573. "typeString": "literal_string \"log(uint256,string,bool,bool)\""
  38574. },
  38575. {
  38576. "typeIdentifier": "t_uint256",
  38577. "typeString": "uint256"
  38578. },
  38579. {
  38580. "typeIdentifier": "t_string_memory_ptr",
  38581. "typeString": "string memory"
  38582. },
  38583. {
  38584. "typeIdentifier": "t_bool",
  38585. "typeString": "bool"
  38586. },
  38587. {
  38588. "typeIdentifier": "t_bool",
  38589. "typeString": "bool"
  38590. }
  38591. ],
  38592. "expression": {
  38593. "id": 10076,
  38594. "name": "abi",
  38595. "nodeType": "Identifier",
  38596. "overloadedDeclarations": [],
  38597. "referencedDeclaration": -1,
  38598. "src": "24793:3:50",
  38599. "typeDescriptions": {
  38600. "typeIdentifier": "t_magic_abi",
  38601. "typeString": "abi"
  38602. }
  38603. },
  38604. "id": 10077,
  38605. "isConstant": false,
  38606. "isLValue": false,
  38607. "isPure": true,
  38608. "lValueRequested": false,
  38609. "memberLocation": "24797:19:50",
  38610. "memberName": "encodeWithSignature",
  38611. "nodeType": "MemberAccess",
  38612. "src": "24793:23:50",
  38613. "typeDescriptions": {
  38614. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  38615. "typeString": "function (string memory) pure returns (bytes memory)"
  38616. }
  38617. },
  38618. "id": 10083,
  38619. "isConstant": false,
  38620. "isLValue": false,
  38621. "isPure": false,
  38622. "kind": "functionCall",
  38623. "lValueRequested": false,
  38624. "nameLocations": [],
  38625. "names": [],
  38626. "nodeType": "FunctionCall",
  38627. "src": "24793:72:50",
  38628. "tryCall": false,
  38629. "typeDescriptions": {
  38630. "typeIdentifier": "t_bytes_memory_ptr",
  38631. "typeString": "bytes memory"
  38632. }
  38633. }
  38634. ],
  38635. "expression": {
  38636. "argumentTypes": [
  38637. {
  38638. "typeIdentifier": "t_bytes_memory_ptr",
  38639. "typeString": "bytes memory"
  38640. }
  38641. ],
  38642. "id": 10075,
  38643. "name": "_sendLogPayload",
  38644. "nodeType": "Identifier",
  38645. "overloadedDeclarations": [],
  38646. "referencedDeclaration": 7315,
  38647. "src": "24777:15:50",
  38648. "typeDescriptions": {
  38649. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  38650. "typeString": "function (bytes memory) pure"
  38651. }
  38652. },
  38653. "id": 10084,
  38654. "isConstant": false,
  38655. "isLValue": false,
  38656. "isPure": false,
  38657. "kind": "functionCall",
  38658. "lValueRequested": false,
  38659. "nameLocations": [],
  38660. "names": [],
  38661. "nodeType": "FunctionCall",
  38662. "src": "24777:89:50",
  38663. "tryCall": false,
  38664. "typeDescriptions": {
  38665. "typeIdentifier": "t_tuple$__$",
  38666. "typeString": "tuple()"
  38667. }
  38668. },
  38669. "id": 10085,
  38670. "nodeType": "ExpressionStatement",
  38671. "src": "24777:89:50"
  38672. }
  38673. ]
  38674. },
  38675. "implemented": true,
  38676. "kind": "function",
  38677. "modifiers": [],
  38678. "name": "log",
  38679. "nameLocation": "24701:3:50",
  38680. "parameters": {
  38681. "id": 10073,
  38682. "nodeType": "ParameterList",
  38683. "parameters": [
  38684. {
  38685. "constant": false,
  38686. "id": 10066,
  38687. "mutability": "mutable",
  38688. "name": "p0",
  38689. "nameLocation": "24713:2:50",
  38690. "nodeType": "VariableDeclaration",
  38691. "scope": 10087,
  38692. "src": "24705:10:50",
  38693. "stateVariable": false,
  38694. "storageLocation": "default",
  38695. "typeDescriptions": {
  38696. "typeIdentifier": "t_uint256",
  38697. "typeString": "uint256"
  38698. },
  38699. "typeName": {
  38700. "id": 10065,
  38701. "name": "uint256",
  38702. "nodeType": "ElementaryTypeName",
  38703. "src": "24705:7:50",
  38704. "typeDescriptions": {
  38705. "typeIdentifier": "t_uint256",
  38706. "typeString": "uint256"
  38707. }
  38708. },
  38709. "visibility": "internal"
  38710. },
  38711. {
  38712. "constant": false,
  38713. "id": 10068,
  38714. "mutability": "mutable",
  38715. "name": "p1",
  38716. "nameLocation": "24731:2:50",
  38717. "nodeType": "VariableDeclaration",
  38718. "scope": 10087,
  38719. "src": "24717:16:50",
  38720. "stateVariable": false,
  38721. "storageLocation": "memory",
  38722. "typeDescriptions": {
  38723. "typeIdentifier": "t_string_memory_ptr",
  38724. "typeString": "string"
  38725. },
  38726. "typeName": {
  38727. "id": 10067,
  38728. "name": "string",
  38729. "nodeType": "ElementaryTypeName",
  38730. "src": "24717:6:50",
  38731. "typeDescriptions": {
  38732. "typeIdentifier": "t_string_storage_ptr",
  38733. "typeString": "string"
  38734. }
  38735. },
  38736. "visibility": "internal"
  38737. },
  38738. {
  38739. "constant": false,
  38740. "id": 10070,
  38741. "mutability": "mutable",
  38742. "name": "p2",
  38743. "nameLocation": "24740:2:50",
  38744. "nodeType": "VariableDeclaration",
  38745. "scope": 10087,
  38746. "src": "24735:7:50",
  38747. "stateVariable": false,
  38748. "storageLocation": "default",
  38749. "typeDescriptions": {
  38750. "typeIdentifier": "t_bool",
  38751. "typeString": "bool"
  38752. },
  38753. "typeName": {
  38754. "id": 10069,
  38755. "name": "bool",
  38756. "nodeType": "ElementaryTypeName",
  38757. "src": "24735:4:50",
  38758. "typeDescriptions": {
  38759. "typeIdentifier": "t_bool",
  38760. "typeString": "bool"
  38761. }
  38762. },
  38763. "visibility": "internal"
  38764. },
  38765. {
  38766. "constant": false,
  38767. "id": 10072,
  38768. "mutability": "mutable",
  38769. "name": "p3",
  38770. "nameLocation": "24749:2:50",
  38771. "nodeType": "VariableDeclaration",
  38772. "scope": 10087,
  38773. "src": "24744:7:50",
  38774. "stateVariable": false,
  38775. "storageLocation": "default",
  38776. "typeDescriptions": {
  38777. "typeIdentifier": "t_bool",
  38778. "typeString": "bool"
  38779. },
  38780. "typeName": {
  38781. "id": 10071,
  38782. "name": "bool",
  38783. "nodeType": "ElementaryTypeName",
  38784. "src": "24744:4:50",
  38785. "typeDescriptions": {
  38786. "typeIdentifier": "t_bool",
  38787. "typeString": "bool"
  38788. }
  38789. },
  38790. "visibility": "internal"
  38791. }
  38792. ],
  38793. "src": "24704:48:50"
  38794. },
  38795. "returnParameters": {
  38796. "id": 10074,
  38797. "nodeType": "ParameterList",
  38798. "parameters": [],
  38799. "src": "24767:0:50"
  38800. },
  38801. "scope": 15355,
  38802. "stateMutability": "pure",
  38803. "virtual": false,
  38804. "visibility": "internal"
  38805. },
  38806. {
  38807. "id": 10110,
  38808. "nodeType": "FunctionDefinition",
  38809. "src": "24879:187:50",
  38810. "nodes": [],
  38811. "body": {
  38812. "id": 10109,
  38813. "nodeType": "Block",
  38814. "src": "24957:109:50",
  38815. "nodes": [],
  38816. "statements": [
  38817. {
  38818. "expression": {
  38819. "arguments": [
  38820. {
  38821. "arguments": [
  38822. {
  38823. "hexValue": "6c6f672875696e743235362c737472696e672c626f6f6c2c6164647265737329",
  38824. "id": 10101,
  38825. "isConstant": false,
  38826. "isLValue": false,
  38827. "isPure": true,
  38828. "kind": "string",
  38829. "lValueRequested": false,
  38830. "nodeType": "Literal",
  38831. "src": "25007:34:50",
  38832. "typeDescriptions": {
  38833. "typeIdentifier": "t_stringliteral_ae2ec581fba979c4f79aae94f13936ff6bb7e283817b2ec0602d9daa028a1550",
  38834. "typeString": "literal_string \"log(uint256,string,bool,address)\""
  38835. },
  38836. "value": "log(uint256,string,bool,address)"
  38837. },
  38838. {
  38839. "id": 10102,
  38840. "name": "p0",
  38841. "nodeType": "Identifier",
  38842. "overloadedDeclarations": [],
  38843. "referencedDeclaration": 10089,
  38844. "src": "25043:2:50",
  38845. "typeDescriptions": {
  38846. "typeIdentifier": "t_uint256",
  38847. "typeString": "uint256"
  38848. }
  38849. },
  38850. {
  38851. "id": 10103,
  38852. "name": "p1",
  38853. "nodeType": "Identifier",
  38854. "overloadedDeclarations": [],
  38855. "referencedDeclaration": 10091,
  38856. "src": "25047:2:50",
  38857. "typeDescriptions": {
  38858. "typeIdentifier": "t_string_memory_ptr",
  38859. "typeString": "string memory"
  38860. }
  38861. },
  38862. {
  38863. "id": 10104,
  38864. "name": "p2",
  38865. "nodeType": "Identifier",
  38866. "overloadedDeclarations": [],
  38867. "referencedDeclaration": 10093,
  38868. "src": "25051:2:50",
  38869. "typeDescriptions": {
  38870. "typeIdentifier": "t_bool",
  38871. "typeString": "bool"
  38872. }
  38873. },
  38874. {
  38875. "id": 10105,
  38876. "name": "p3",
  38877. "nodeType": "Identifier",
  38878. "overloadedDeclarations": [],
  38879. "referencedDeclaration": 10095,
  38880. "src": "25055:2:50",
  38881. "typeDescriptions": {
  38882. "typeIdentifier": "t_address",
  38883. "typeString": "address"
  38884. }
  38885. }
  38886. ],
  38887. "expression": {
  38888. "argumentTypes": [
  38889. {
  38890. "typeIdentifier": "t_stringliteral_ae2ec581fba979c4f79aae94f13936ff6bb7e283817b2ec0602d9daa028a1550",
  38891. "typeString": "literal_string \"log(uint256,string,bool,address)\""
  38892. },
  38893. {
  38894. "typeIdentifier": "t_uint256",
  38895. "typeString": "uint256"
  38896. },
  38897. {
  38898. "typeIdentifier": "t_string_memory_ptr",
  38899. "typeString": "string memory"
  38900. },
  38901. {
  38902. "typeIdentifier": "t_bool",
  38903. "typeString": "bool"
  38904. },
  38905. {
  38906. "typeIdentifier": "t_address",
  38907. "typeString": "address"
  38908. }
  38909. ],
  38910. "expression": {
  38911. "id": 10099,
  38912. "name": "abi",
  38913. "nodeType": "Identifier",
  38914. "overloadedDeclarations": [],
  38915. "referencedDeclaration": -1,
  38916. "src": "24983:3:50",
  38917. "typeDescriptions": {
  38918. "typeIdentifier": "t_magic_abi",
  38919. "typeString": "abi"
  38920. }
  38921. },
  38922. "id": 10100,
  38923. "isConstant": false,
  38924. "isLValue": false,
  38925. "isPure": true,
  38926. "lValueRequested": false,
  38927. "memberLocation": "24987:19:50",
  38928. "memberName": "encodeWithSignature",
  38929. "nodeType": "MemberAccess",
  38930. "src": "24983:23:50",
  38931. "typeDescriptions": {
  38932. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  38933. "typeString": "function (string memory) pure returns (bytes memory)"
  38934. }
  38935. },
  38936. "id": 10106,
  38937. "isConstant": false,
  38938. "isLValue": false,
  38939. "isPure": false,
  38940. "kind": "functionCall",
  38941. "lValueRequested": false,
  38942. "nameLocations": [],
  38943. "names": [],
  38944. "nodeType": "FunctionCall",
  38945. "src": "24983:75:50",
  38946. "tryCall": false,
  38947. "typeDescriptions": {
  38948. "typeIdentifier": "t_bytes_memory_ptr",
  38949. "typeString": "bytes memory"
  38950. }
  38951. }
  38952. ],
  38953. "expression": {
  38954. "argumentTypes": [
  38955. {
  38956. "typeIdentifier": "t_bytes_memory_ptr",
  38957. "typeString": "bytes memory"
  38958. }
  38959. ],
  38960. "id": 10098,
  38961. "name": "_sendLogPayload",
  38962. "nodeType": "Identifier",
  38963. "overloadedDeclarations": [],
  38964. "referencedDeclaration": 7315,
  38965. "src": "24967:15:50",
  38966. "typeDescriptions": {
  38967. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  38968. "typeString": "function (bytes memory) pure"
  38969. }
  38970. },
  38971. "id": 10107,
  38972. "isConstant": false,
  38973. "isLValue": false,
  38974. "isPure": false,
  38975. "kind": "functionCall",
  38976. "lValueRequested": false,
  38977. "nameLocations": [],
  38978. "names": [],
  38979. "nodeType": "FunctionCall",
  38980. "src": "24967:92:50",
  38981. "tryCall": false,
  38982. "typeDescriptions": {
  38983. "typeIdentifier": "t_tuple$__$",
  38984. "typeString": "tuple()"
  38985. }
  38986. },
  38987. "id": 10108,
  38988. "nodeType": "ExpressionStatement",
  38989. "src": "24967:92:50"
  38990. }
  38991. ]
  38992. },
  38993. "implemented": true,
  38994. "kind": "function",
  38995. "modifiers": [],
  38996. "name": "log",
  38997. "nameLocation": "24888:3:50",
  38998. "parameters": {
  38999. "id": 10096,
  39000. "nodeType": "ParameterList",
  39001. "parameters": [
  39002. {
  39003. "constant": false,
  39004. "id": 10089,
  39005. "mutability": "mutable",
  39006. "name": "p0",
  39007. "nameLocation": "24900:2:50",
  39008. "nodeType": "VariableDeclaration",
  39009. "scope": 10110,
  39010. "src": "24892:10:50",
  39011. "stateVariable": false,
  39012. "storageLocation": "default",
  39013. "typeDescriptions": {
  39014. "typeIdentifier": "t_uint256",
  39015. "typeString": "uint256"
  39016. },
  39017. "typeName": {
  39018. "id": 10088,
  39019. "name": "uint256",
  39020. "nodeType": "ElementaryTypeName",
  39021. "src": "24892:7:50",
  39022. "typeDescriptions": {
  39023. "typeIdentifier": "t_uint256",
  39024. "typeString": "uint256"
  39025. }
  39026. },
  39027. "visibility": "internal"
  39028. },
  39029. {
  39030. "constant": false,
  39031. "id": 10091,
  39032. "mutability": "mutable",
  39033. "name": "p1",
  39034. "nameLocation": "24918:2:50",
  39035. "nodeType": "VariableDeclaration",
  39036. "scope": 10110,
  39037. "src": "24904:16:50",
  39038. "stateVariable": false,
  39039. "storageLocation": "memory",
  39040. "typeDescriptions": {
  39041. "typeIdentifier": "t_string_memory_ptr",
  39042. "typeString": "string"
  39043. },
  39044. "typeName": {
  39045. "id": 10090,
  39046. "name": "string",
  39047. "nodeType": "ElementaryTypeName",
  39048. "src": "24904:6:50",
  39049. "typeDescriptions": {
  39050. "typeIdentifier": "t_string_storage_ptr",
  39051. "typeString": "string"
  39052. }
  39053. },
  39054. "visibility": "internal"
  39055. },
  39056. {
  39057. "constant": false,
  39058. "id": 10093,
  39059. "mutability": "mutable",
  39060. "name": "p2",
  39061. "nameLocation": "24927:2:50",
  39062. "nodeType": "VariableDeclaration",
  39063. "scope": 10110,
  39064. "src": "24922:7:50",
  39065. "stateVariable": false,
  39066. "storageLocation": "default",
  39067. "typeDescriptions": {
  39068. "typeIdentifier": "t_bool",
  39069. "typeString": "bool"
  39070. },
  39071. "typeName": {
  39072. "id": 10092,
  39073. "name": "bool",
  39074. "nodeType": "ElementaryTypeName",
  39075. "src": "24922:4:50",
  39076. "typeDescriptions": {
  39077. "typeIdentifier": "t_bool",
  39078. "typeString": "bool"
  39079. }
  39080. },
  39081. "visibility": "internal"
  39082. },
  39083. {
  39084. "constant": false,
  39085. "id": 10095,
  39086. "mutability": "mutable",
  39087. "name": "p3",
  39088. "nameLocation": "24939:2:50",
  39089. "nodeType": "VariableDeclaration",
  39090. "scope": 10110,
  39091. "src": "24931:10:50",
  39092. "stateVariable": false,
  39093. "storageLocation": "default",
  39094. "typeDescriptions": {
  39095. "typeIdentifier": "t_address",
  39096. "typeString": "address"
  39097. },
  39098. "typeName": {
  39099. "id": 10094,
  39100. "name": "address",
  39101. "nodeType": "ElementaryTypeName",
  39102. "src": "24931:7:50",
  39103. "stateMutability": "nonpayable",
  39104. "typeDescriptions": {
  39105. "typeIdentifier": "t_address",
  39106. "typeString": "address"
  39107. }
  39108. },
  39109. "visibility": "internal"
  39110. }
  39111. ],
  39112. "src": "24891:51:50"
  39113. },
  39114. "returnParameters": {
  39115. "id": 10097,
  39116. "nodeType": "ParameterList",
  39117. "parameters": [],
  39118. "src": "24957:0:50"
  39119. },
  39120. "scope": 15355,
  39121. "stateMutability": "pure",
  39122. "virtual": false,
  39123. "visibility": "internal"
  39124. },
  39125. {
  39126. "id": 10133,
  39127. "nodeType": "FunctionDefinition",
  39128. "src": "25072:193:50",
  39129. "nodes": [],
  39130. "body": {
  39131. "id": 10132,
  39132. "nodeType": "Block",
  39133. "src": "25153:112:50",
  39134. "nodes": [],
  39135. "statements": [
  39136. {
  39137. "expression": {
  39138. "arguments": [
  39139. {
  39140. "arguments": [
  39141. {
  39142. "hexValue": "6c6f672875696e743235362c737472696e672c616464726573732c75696e7432353629",
  39143. "id": 10124,
  39144. "isConstant": false,
  39145. "isLValue": false,
  39146. "isPure": true,
  39147. "kind": "string",
  39148. "lValueRequested": false,
  39149. "nodeType": "Literal",
  39150. "src": "25203:37:50",
  39151. "typeDescriptions": {
  39152. "typeIdentifier": "t_stringliteral_e8d3018d32ee5012095e63c81679b366f06035e83d43be351e9c327886860908",
  39153. "typeString": "literal_string \"log(uint256,string,address,uint256)\""
  39154. },
  39155. "value": "log(uint256,string,address,uint256)"
  39156. },
  39157. {
  39158. "id": 10125,
  39159. "name": "p0",
  39160. "nodeType": "Identifier",
  39161. "overloadedDeclarations": [],
  39162. "referencedDeclaration": 10112,
  39163. "src": "25242:2:50",
  39164. "typeDescriptions": {
  39165. "typeIdentifier": "t_uint256",
  39166. "typeString": "uint256"
  39167. }
  39168. },
  39169. {
  39170. "id": 10126,
  39171. "name": "p1",
  39172. "nodeType": "Identifier",
  39173. "overloadedDeclarations": [],
  39174. "referencedDeclaration": 10114,
  39175. "src": "25246:2:50",
  39176. "typeDescriptions": {
  39177. "typeIdentifier": "t_string_memory_ptr",
  39178. "typeString": "string memory"
  39179. }
  39180. },
  39181. {
  39182. "id": 10127,
  39183. "name": "p2",
  39184. "nodeType": "Identifier",
  39185. "overloadedDeclarations": [],
  39186. "referencedDeclaration": 10116,
  39187. "src": "25250:2:50",
  39188. "typeDescriptions": {
  39189. "typeIdentifier": "t_address",
  39190. "typeString": "address"
  39191. }
  39192. },
  39193. {
  39194. "id": 10128,
  39195. "name": "p3",
  39196. "nodeType": "Identifier",
  39197. "overloadedDeclarations": [],
  39198. "referencedDeclaration": 10118,
  39199. "src": "25254:2:50",
  39200. "typeDescriptions": {
  39201. "typeIdentifier": "t_uint256",
  39202. "typeString": "uint256"
  39203. }
  39204. }
  39205. ],
  39206. "expression": {
  39207. "argumentTypes": [
  39208. {
  39209. "typeIdentifier": "t_stringliteral_e8d3018d32ee5012095e63c81679b366f06035e83d43be351e9c327886860908",
  39210. "typeString": "literal_string \"log(uint256,string,address,uint256)\""
  39211. },
  39212. {
  39213. "typeIdentifier": "t_uint256",
  39214. "typeString": "uint256"
  39215. },
  39216. {
  39217. "typeIdentifier": "t_string_memory_ptr",
  39218. "typeString": "string memory"
  39219. },
  39220. {
  39221. "typeIdentifier": "t_address",
  39222. "typeString": "address"
  39223. },
  39224. {
  39225. "typeIdentifier": "t_uint256",
  39226. "typeString": "uint256"
  39227. }
  39228. ],
  39229. "expression": {
  39230. "id": 10122,
  39231. "name": "abi",
  39232. "nodeType": "Identifier",
  39233. "overloadedDeclarations": [],
  39234. "referencedDeclaration": -1,
  39235. "src": "25179:3:50",
  39236. "typeDescriptions": {
  39237. "typeIdentifier": "t_magic_abi",
  39238. "typeString": "abi"
  39239. }
  39240. },
  39241. "id": 10123,
  39242. "isConstant": false,
  39243. "isLValue": false,
  39244. "isPure": true,
  39245. "lValueRequested": false,
  39246. "memberLocation": "25183:19:50",
  39247. "memberName": "encodeWithSignature",
  39248. "nodeType": "MemberAccess",
  39249. "src": "25179:23:50",
  39250. "typeDescriptions": {
  39251. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  39252. "typeString": "function (string memory) pure returns (bytes memory)"
  39253. }
  39254. },
  39255. "id": 10129,
  39256. "isConstant": false,
  39257. "isLValue": false,
  39258. "isPure": false,
  39259. "kind": "functionCall",
  39260. "lValueRequested": false,
  39261. "nameLocations": [],
  39262. "names": [],
  39263. "nodeType": "FunctionCall",
  39264. "src": "25179:78:50",
  39265. "tryCall": false,
  39266. "typeDescriptions": {
  39267. "typeIdentifier": "t_bytes_memory_ptr",
  39268. "typeString": "bytes memory"
  39269. }
  39270. }
  39271. ],
  39272. "expression": {
  39273. "argumentTypes": [
  39274. {
  39275. "typeIdentifier": "t_bytes_memory_ptr",
  39276. "typeString": "bytes memory"
  39277. }
  39278. ],
  39279. "id": 10121,
  39280. "name": "_sendLogPayload",
  39281. "nodeType": "Identifier",
  39282. "overloadedDeclarations": [],
  39283. "referencedDeclaration": 7315,
  39284. "src": "25163:15:50",
  39285. "typeDescriptions": {
  39286. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  39287. "typeString": "function (bytes memory) pure"
  39288. }
  39289. },
  39290. "id": 10130,
  39291. "isConstant": false,
  39292. "isLValue": false,
  39293. "isPure": false,
  39294. "kind": "functionCall",
  39295. "lValueRequested": false,
  39296. "nameLocations": [],
  39297. "names": [],
  39298. "nodeType": "FunctionCall",
  39299. "src": "25163:95:50",
  39300. "tryCall": false,
  39301. "typeDescriptions": {
  39302. "typeIdentifier": "t_tuple$__$",
  39303. "typeString": "tuple()"
  39304. }
  39305. },
  39306. "id": 10131,
  39307. "nodeType": "ExpressionStatement",
  39308. "src": "25163:95:50"
  39309. }
  39310. ]
  39311. },
  39312. "implemented": true,
  39313. "kind": "function",
  39314. "modifiers": [],
  39315. "name": "log",
  39316. "nameLocation": "25081:3:50",
  39317. "parameters": {
  39318. "id": 10119,
  39319. "nodeType": "ParameterList",
  39320. "parameters": [
  39321. {
  39322. "constant": false,
  39323. "id": 10112,
  39324. "mutability": "mutable",
  39325. "name": "p0",
  39326. "nameLocation": "25093:2:50",
  39327. "nodeType": "VariableDeclaration",
  39328. "scope": 10133,
  39329. "src": "25085:10:50",
  39330. "stateVariable": false,
  39331. "storageLocation": "default",
  39332. "typeDescriptions": {
  39333. "typeIdentifier": "t_uint256",
  39334. "typeString": "uint256"
  39335. },
  39336. "typeName": {
  39337. "id": 10111,
  39338. "name": "uint256",
  39339. "nodeType": "ElementaryTypeName",
  39340. "src": "25085:7:50",
  39341. "typeDescriptions": {
  39342. "typeIdentifier": "t_uint256",
  39343. "typeString": "uint256"
  39344. }
  39345. },
  39346. "visibility": "internal"
  39347. },
  39348. {
  39349. "constant": false,
  39350. "id": 10114,
  39351. "mutability": "mutable",
  39352. "name": "p1",
  39353. "nameLocation": "25111:2:50",
  39354. "nodeType": "VariableDeclaration",
  39355. "scope": 10133,
  39356. "src": "25097:16:50",
  39357. "stateVariable": false,
  39358. "storageLocation": "memory",
  39359. "typeDescriptions": {
  39360. "typeIdentifier": "t_string_memory_ptr",
  39361. "typeString": "string"
  39362. },
  39363. "typeName": {
  39364. "id": 10113,
  39365. "name": "string",
  39366. "nodeType": "ElementaryTypeName",
  39367. "src": "25097:6:50",
  39368. "typeDescriptions": {
  39369. "typeIdentifier": "t_string_storage_ptr",
  39370. "typeString": "string"
  39371. }
  39372. },
  39373. "visibility": "internal"
  39374. },
  39375. {
  39376. "constant": false,
  39377. "id": 10116,
  39378. "mutability": "mutable",
  39379. "name": "p2",
  39380. "nameLocation": "25123:2:50",
  39381. "nodeType": "VariableDeclaration",
  39382. "scope": 10133,
  39383. "src": "25115:10:50",
  39384. "stateVariable": false,
  39385. "storageLocation": "default",
  39386. "typeDescriptions": {
  39387. "typeIdentifier": "t_address",
  39388. "typeString": "address"
  39389. },
  39390. "typeName": {
  39391. "id": 10115,
  39392. "name": "address",
  39393. "nodeType": "ElementaryTypeName",
  39394. "src": "25115:7:50",
  39395. "stateMutability": "nonpayable",
  39396. "typeDescriptions": {
  39397. "typeIdentifier": "t_address",
  39398. "typeString": "address"
  39399. }
  39400. },
  39401. "visibility": "internal"
  39402. },
  39403. {
  39404. "constant": false,
  39405. "id": 10118,
  39406. "mutability": "mutable",
  39407. "name": "p3",
  39408. "nameLocation": "25135:2:50",
  39409. "nodeType": "VariableDeclaration",
  39410. "scope": 10133,
  39411. "src": "25127:10:50",
  39412. "stateVariable": false,
  39413. "storageLocation": "default",
  39414. "typeDescriptions": {
  39415. "typeIdentifier": "t_uint256",
  39416. "typeString": "uint256"
  39417. },
  39418. "typeName": {
  39419. "id": 10117,
  39420. "name": "uint256",
  39421. "nodeType": "ElementaryTypeName",
  39422. "src": "25127:7:50",
  39423. "typeDescriptions": {
  39424. "typeIdentifier": "t_uint256",
  39425. "typeString": "uint256"
  39426. }
  39427. },
  39428. "visibility": "internal"
  39429. }
  39430. ],
  39431. "src": "25084:54:50"
  39432. },
  39433. "returnParameters": {
  39434. "id": 10120,
  39435. "nodeType": "ParameterList",
  39436. "parameters": [],
  39437. "src": "25153:0:50"
  39438. },
  39439. "scope": 15355,
  39440. "stateMutability": "pure",
  39441. "virtual": false,
  39442. "visibility": "internal"
  39443. },
  39444. {
  39445. "id": 10156,
  39446. "nodeType": "FunctionDefinition",
  39447. "src": "25271:198:50",
  39448. "nodes": [],
  39449. "body": {
  39450. "id": 10155,
  39451. "nodeType": "Block",
  39452. "src": "25358:111:50",
  39453. "nodes": [],
  39454. "statements": [
  39455. {
  39456. "expression": {
  39457. "arguments": [
  39458. {
  39459. "arguments": [
  39460. {
  39461. "hexValue": "6c6f672875696e743235362c737472696e672c616464726573732c737472696e6729",
  39462. "id": 10147,
  39463. "isConstant": false,
  39464. "isLValue": false,
  39465. "isPure": true,
  39466. "kind": "string",
  39467. "lValueRequested": false,
  39468. "nodeType": "Literal",
  39469. "src": "25408:36:50",
  39470. "typeDescriptions": {
  39471. "typeIdentifier": "t_stringliteral_9c3adfa1394c3989d93ade538d03d04b05867057c1dd54721ae2c85f9a1a4720",
  39472. "typeString": "literal_string \"log(uint256,string,address,string)\""
  39473. },
  39474. "value": "log(uint256,string,address,string)"
  39475. },
  39476. {
  39477. "id": 10148,
  39478. "name": "p0",
  39479. "nodeType": "Identifier",
  39480. "overloadedDeclarations": [],
  39481. "referencedDeclaration": 10135,
  39482. "src": "25446:2:50",
  39483. "typeDescriptions": {
  39484. "typeIdentifier": "t_uint256",
  39485. "typeString": "uint256"
  39486. }
  39487. },
  39488. {
  39489. "id": 10149,
  39490. "name": "p1",
  39491. "nodeType": "Identifier",
  39492. "overloadedDeclarations": [],
  39493. "referencedDeclaration": 10137,
  39494. "src": "25450:2:50",
  39495. "typeDescriptions": {
  39496. "typeIdentifier": "t_string_memory_ptr",
  39497. "typeString": "string memory"
  39498. }
  39499. },
  39500. {
  39501. "id": 10150,
  39502. "name": "p2",
  39503. "nodeType": "Identifier",
  39504. "overloadedDeclarations": [],
  39505. "referencedDeclaration": 10139,
  39506. "src": "25454:2:50",
  39507. "typeDescriptions": {
  39508. "typeIdentifier": "t_address",
  39509. "typeString": "address"
  39510. }
  39511. },
  39512. {
  39513. "id": 10151,
  39514. "name": "p3",
  39515. "nodeType": "Identifier",
  39516. "overloadedDeclarations": [],
  39517. "referencedDeclaration": 10141,
  39518. "src": "25458:2:50",
  39519. "typeDescriptions": {
  39520. "typeIdentifier": "t_string_memory_ptr",
  39521. "typeString": "string memory"
  39522. }
  39523. }
  39524. ],
  39525. "expression": {
  39526. "argumentTypes": [
  39527. {
  39528. "typeIdentifier": "t_stringliteral_9c3adfa1394c3989d93ade538d03d04b05867057c1dd54721ae2c85f9a1a4720",
  39529. "typeString": "literal_string \"log(uint256,string,address,string)\""
  39530. },
  39531. {
  39532. "typeIdentifier": "t_uint256",
  39533. "typeString": "uint256"
  39534. },
  39535. {
  39536. "typeIdentifier": "t_string_memory_ptr",
  39537. "typeString": "string memory"
  39538. },
  39539. {
  39540. "typeIdentifier": "t_address",
  39541. "typeString": "address"
  39542. },
  39543. {
  39544. "typeIdentifier": "t_string_memory_ptr",
  39545. "typeString": "string memory"
  39546. }
  39547. ],
  39548. "expression": {
  39549. "id": 10145,
  39550. "name": "abi",
  39551. "nodeType": "Identifier",
  39552. "overloadedDeclarations": [],
  39553. "referencedDeclaration": -1,
  39554. "src": "25384:3:50",
  39555. "typeDescriptions": {
  39556. "typeIdentifier": "t_magic_abi",
  39557. "typeString": "abi"
  39558. }
  39559. },
  39560. "id": 10146,
  39561. "isConstant": false,
  39562. "isLValue": false,
  39563. "isPure": true,
  39564. "lValueRequested": false,
  39565. "memberLocation": "25388:19:50",
  39566. "memberName": "encodeWithSignature",
  39567. "nodeType": "MemberAccess",
  39568. "src": "25384:23:50",
  39569. "typeDescriptions": {
  39570. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  39571. "typeString": "function (string memory) pure returns (bytes memory)"
  39572. }
  39573. },
  39574. "id": 10152,
  39575. "isConstant": false,
  39576. "isLValue": false,
  39577. "isPure": false,
  39578. "kind": "functionCall",
  39579. "lValueRequested": false,
  39580. "nameLocations": [],
  39581. "names": [],
  39582. "nodeType": "FunctionCall",
  39583. "src": "25384:77:50",
  39584. "tryCall": false,
  39585. "typeDescriptions": {
  39586. "typeIdentifier": "t_bytes_memory_ptr",
  39587. "typeString": "bytes memory"
  39588. }
  39589. }
  39590. ],
  39591. "expression": {
  39592. "argumentTypes": [
  39593. {
  39594. "typeIdentifier": "t_bytes_memory_ptr",
  39595. "typeString": "bytes memory"
  39596. }
  39597. ],
  39598. "id": 10144,
  39599. "name": "_sendLogPayload",
  39600. "nodeType": "Identifier",
  39601. "overloadedDeclarations": [],
  39602. "referencedDeclaration": 7315,
  39603. "src": "25368:15:50",
  39604. "typeDescriptions": {
  39605. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  39606. "typeString": "function (bytes memory) pure"
  39607. }
  39608. },
  39609. "id": 10153,
  39610. "isConstant": false,
  39611. "isLValue": false,
  39612. "isPure": false,
  39613. "kind": "functionCall",
  39614. "lValueRequested": false,
  39615. "nameLocations": [],
  39616. "names": [],
  39617. "nodeType": "FunctionCall",
  39618. "src": "25368:94:50",
  39619. "tryCall": false,
  39620. "typeDescriptions": {
  39621. "typeIdentifier": "t_tuple$__$",
  39622. "typeString": "tuple()"
  39623. }
  39624. },
  39625. "id": 10154,
  39626. "nodeType": "ExpressionStatement",
  39627. "src": "25368:94:50"
  39628. }
  39629. ]
  39630. },
  39631. "implemented": true,
  39632. "kind": "function",
  39633. "modifiers": [],
  39634. "name": "log",
  39635. "nameLocation": "25280:3:50",
  39636. "parameters": {
  39637. "id": 10142,
  39638. "nodeType": "ParameterList",
  39639. "parameters": [
  39640. {
  39641. "constant": false,
  39642. "id": 10135,
  39643. "mutability": "mutable",
  39644. "name": "p0",
  39645. "nameLocation": "25292:2:50",
  39646. "nodeType": "VariableDeclaration",
  39647. "scope": 10156,
  39648. "src": "25284:10:50",
  39649. "stateVariable": false,
  39650. "storageLocation": "default",
  39651. "typeDescriptions": {
  39652. "typeIdentifier": "t_uint256",
  39653. "typeString": "uint256"
  39654. },
  39655. "typeName": {
  39656. "id": 10134,
  39657. "name": "uint256",
  39658. "nodeType": "ElementaryTypeName",
  39659. "src": "25284:7:50",
  39660. "typeDescriptions": {
  39661. "typeIdentifier": "t_uint256",
  39662. "typeString": "uint256"
  39663. }
  39664. },
  39665. "visibility": "internal"
  39666. },
  39667. {
  39668. "constant": false,
  39669. "id": 10137,
  39670. "mutability": "mutable",
  39671. "name": "p1",
  39672. "nameLocation": "25310:2:50",
  39673. "nodeType": "VariableDeclaration",
  39674. "scope": 10156,
  39675. "src": "25296:16:50",
  39676. "stateVariable": false,
  39677. "storageLocation": "memory",
  39678. "typeDescriptions": {
  39679. "typeIdentifier": "t_string_memory_ptr",
  39680. "typeString": "string"
  39681. },
  39682. "typeName": {
  39683. "id": 10136,
  39684. "name": "string",
  39685. "nodeType": "ElementaryTypeName",
  39686. "src": "25296:6:50",
  39687. "typeDescriptions": {
  39688. "typeIdentifier": "t_string_storage_ptr",
  39689. "typeString": "string"
  39690. }
  39691. },
  39692. "visibility": "internal"
  39693. },
  39694. {
  39695. "constant": false,
  39696. "id": 10139,
  39697. "mutability": "mutable",
  39698. "name": "p2",
  39699. "nameLocation": "25322:2:50",
  39700. "nodeType": "VariableDeclaration",
  39701. "scope": 10156,
  39702. "src": "25314:10:50",
  39703. "stateVariable": false,
  39704. "storageLocation": "default",
  39705. "typeDescriptions": {
  39706. "typeIdentifier": "t_address",
  39707. "typeString": "address"
  39708. },
  39709. "typeName": {
  39710. "id": 10138,
  39711. "name": "address",
  39712. "nodeType": "ElementaryTypeName",
  39713. "src": "25314:7:50",
  39714. "stateMutability": "nonpayable",
  39715. "typeDescriptions": {
  39716. "typeIdentifier": "t_address",
  39717. "typeString": "address"
  39718. }
  39719. },
  39720. "visibility": "internal"
  39721. },
  39722. {
  39723. "constant": false,
  39724. "id": 10141,
  39725. "mutability": "mutable",
  39726. "name": "p3",
  39727. "nameLocation": "25340:2:50",
  39728. "nodeType": "VariableDeclaration",
  39729. "scope": 10156,
  39730. "src": "25326:16:50",
  39731. "stateVariable": false,
  39732. "storageLocation": "memory",
  39733. "typeDescriptions": {
  39734. "typeIdentifier": "t_string_memory_ptr",
  39735. "typeString": "string"
  39736. },
  39737. "typeName": {
  39738. "id": 10140,
  39739. "name": "string",
  39740. "nodeType": "ElementaryTypeName",
  39741. "src": "25326:6:50",
  39742. "typeDescriptions": {
  39743. "typeIdentifier": "t_string_storage_ptr",
  39744. "typeString": "string"
  39745. }
  39746. },
  39747. "visibility": "internal"
  39748. }
  39749. ],
  39750. "src": "25283:60:50"
  39751. },
  39752. "returnParameters": {
  39753. "id": 10143,
  39754. "nodeType": "ParameterList",
  39755. "parameters": [],
  39756. "src": "25358:0:50"
  39757. },
  39758. "scope": 15355,
  39759. "stateMutability": "pure",
  39760. "virtual": false,
  39761. "visibility": "internal"
  39762. },
  39763. {
  39764. "id": 10179,
  39765. "nodeType": "FunctionDefinition",
  39766. "src": "25475:187:50",
  39767. "nodes": [],
  39768. "body": {
  39769. "id": 10178,
  39770. "nodeType": "Block",
  39771. "src": "25553:109:50",
  39772. "nodes": [],
  39773. "statements": [
  39774. {
  39775. "expression": {
  39776. "arguments": [
  39777. {
  39778. "arguments": [
  39779. {
  39780. "hexValue": "6c6f672875696e743235362c737472696e672c616464726573732c626f6f6c29",
  39781. "id": 10170,
  39782. "isConstant": false,
  39783. "isLValue": false,
  39784. "isPure": true,
  39785. "kind": "string",
  39786. "lValueRequested": false,
  39787. "nodeType": "Literal",
  39788. "src": "25603:34:50",
  39789. "typeDescriptions": {
  39790. "typeIdentifier": "t_stringliteral_90c30a564e5b352d6dfee73888402a5685ca327aad7827d5040904440ee085c5",
  39791. "typeString": "literal_string \"log(uint256,string,address,bool)\""
  39792. },
  39793. "value": "log(uint256,string,address,bool)"
  39794. },
  39795. {
  39796. "id": 10171,
  39797. "name": "p0",
  39798. "nodeType": "Identifier",
  39799. "overloadedDeclarations": [],
  39800. "referencedDeclaration": 10158,
  39801. "src": "25639:2:50",
  39802. "typeDescriptions": {
  39803. "typeIdentifier": "t_uint256",
  39804. "typeString": "uint256"
  39805. }
  39806. },
  39807. {
  39808. "id": 10172,
  39809. "name": "p1",
  39810. "nodeType": "Identifier",
  39811. "overloadedDeclarations": [],
  39812. "referencedDeclaration": 10160,
  39813. "src": "25643:2:50",
  39814. "typeDescriptions": {
  39815. "typeIdentifier": "t_string_memory_ptr",
  39816. "typeString": "string memory"
  39817. }
  39818. },
  39819. {
  39820. "id": 10173,
  39821. "name": "p2",
  39822. "nodeType": "Identifier",
  39823. "overloadedDeclarations": [],
  39824. "referencedDeclaration": 10162,
  39825. "src": "25647:2:50",
  39826. "typeDescriptions": {
  39827. "typeIdentifier": "t_address",
  39828. "typeString": "address"
  39829. }
  39830. },
  39831. {
  39832. "id": 10174,
  39833. "name": "p3",
  39834. "nodeType": "Identifier",
  39835. "overloadedDeclarations": [],
  39836. "referencedDeclaration": 10164,
  39837. "src": "25651:2:50",
  39838. "typeDescriptions": {
  39839. "typeIdentifier": "t_bool",
  39840. "typeString": "bool"
  39841. }
  39842. }
  39843. ],
  39844. "expression": {
  39845. "argumentTypes": [
  39846. {
  39847. "typeIdentifier": "t_stringliteral_90c30a564e5b352d6dfee73888402a5685ca327aad7827d5040904440ee085c5",
  39848. "typeString": "literal_string \"log(uint256,string,address,bool)\""
  39849. },
  39850. {
  39851. "typeIdentifier": "t_uint256",
  39852. "typeString": "uint256"
  39853. },
  39854. {
  39855. "typeIdentifier": "t_string_memory_ptr",
  39856. "typeString": "string memory"
  39857. },
  39858. {
  39859. "typeIdentifier": "t_address",
  39860. "typeString": "address"
  39861. },
  39862. {
  39863. "typeIdentifier": "t_bool",
  39864. "typeString": "bool"
  39865. }
  39866. ],
  39867. "expression": {
  39868. "id": 10168,
  39869. "name": "abi",
  39870. "nodeType": "Identifier",
  39871. "overloadedDeclarations": [],
  39872. "referencedDeclaration": -1,
  39873. "src": "25579:3:50",
  39874. "typeDescriptions": {
  39875. "typeIdentifier": "t_magic_abi",
  39876. "typeString": "abi"
  39877. }
  39878. },
  39879. "id": 10169,
  39880. "isConstant": false,
  39881. "isLValue": false,
  39882. "isPure": true,
  39883. "lValueRequested": false,
  39884. "memberLocation": "25583:19:50",
  39885. "memberName": "encodeWithSignature",
  39886. "nodeType": "MemberAccess",
  39887. "src": "25579:23:50",
  39888. "typeDescriptions": {
  39889. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  39890. "typeString": "function (string memory) pure returns (bytes memory)"
  39891. }
  39892. },
  39893. "id": 10175,
  39894. "isConstant": false,
  39895. "isLValue": false,
  39896. "isPure": false,
  39897. "kind": "functionCall",
  39898. "lValueRequested": false,
  39899. "nameLocations": [],
  39900. "names": [],
  39901. "nodeType": "FunctionCall",
  39902. "src": "25579:75:50",
  39903. "tryCall": false,
  39904. "typeDescriptions": {
  39905. "typeIdentifier": "t_bytes_memory_ptr",
  39906. "typeString": "bytes memory"
  39907. }
  39908. }
  39909. ],
  39910. "expression": {
  39911. "argumentTypes": [
  39912. {
  39913. "typeIdentifier": "t_bytes_memory_ptr",
  39914. "typeString": "bytes memory"
  39915. }
  39916. ],
  39917. "id": 10167,
  39918. "name": "_sendLogPayload",
  39919. "nodeType": "Identifier",
  39920. "overloadedDeclarations": [],
  39921. "referencedDeclaration": 7315,
  39922. "src": "25563:15:50",
  39923. "typeDescriptions": {
  39924. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  39925. "typeString": "function (bytes memory) pure"
  39926. }
  39927. },
  39928. "id": 10176,
  39929. "isConstant": false,
  39930. "isLValue": false,
  39931. "isPure": false,
  39932. "kind": "functionCall",
  39933. "lValueRequested": false,
  39934. "nameLocations": [],
  39935. "names": [],
  39936. "nodeType": "FunctionCall",
  39937. "src": "25563:92:50",
  39938. "tryCall": false,
  39939. "typeDescriptions": {
  39940. "typeIdentifier": "t_tuple$__$",
  39941. "typeString": "tuple()"
  39942. }
  39943. },
  39944. "id": 10177,
  39945. "nodeType": "ExpressionStatement",
  39946. "src": "25563:92:50"
  39947. }
  39948. ]
  39949. },
  39950. "implemented": true,
  39951. "kind": "function",
  39952. "modifiers": [],
  39953. "name": "log",
  39954. "nameLocation": "25484:3:50",
  39955. "parameters": {
  39956. "id": 10165,
  39957. "nodeType": "ParameterList",
  39958. "parameters": [
  39959. {
  39960. "constant": false,
  39961. "id": 10158,
  39962. "mutability": "mutable",
  39963. "name": "p0",
  39964. "nameLocation": "25496:2:50",
  39965. "nodeType": "VariableDeclaration",
  39966. "scope": 10179,
  39967. "src": "25488:10:50",
  39968. "stateVariable": false,
  39969. "storageLocation": "default",
  39970. "typeDescriptions": {
  39971. "typeIdentifier": "t_uint256",
  39972. "typeString": "uint256"
  39973. },
  39974. "typeName": {
  39975. "id": 10157,
  39976. "name": "uint256",
  39977. "nodeType": "ElementaryTypeName",
  39978. "src": "25488:7:50",
  39979. "typeDescriptions": {
  39980. "typeIdentifier": "t_uint256",
  39981. "typeString": "uint256"
  39982. }
  39983. },
  39984. "visibility": "internal"
  39985. },
  39986. {
  39987. "constant": false,
  39988. "id": 10160,
  39989. "mutability": "mutable",
  39990. "name": "p1",
  39991. "nameLocation": "25514:2:50",
  39992. "nodeType": "VariableDeclaration",
  39993. "scope": 10179,
  39994. "src": "25500:16:50",
  39995. "stateVariable": false,
  39996. "storageLocation": "memory",
  39997. "typeDescriptions": {
  39998. "typeIdentifier": "t_string_memory_ptr",
  39999. "typeString": "string"
  40000. },
  40001. "typeName": {
  40002. "id": 10159,
  40003. "name": "string",
  40004. "nodeType": "ElementaryTypeName",
  40005. "src": "25500:6:50",
  40006. "typeDescriptions": {
  40007. "typeIdentifier": "t_string_storage_ptr",
  40008. "typeString": "string"
  40009. }
  40010. },
  40011. "visibility": "internal"
  40012. },
  40013. {
  40014. "constant": false,
  40015. "id": 10162,
  40016. "mutability": "mutable",
  40017. "name": "p2",
  40018. "nameLocation": "25526:2:50",
  40019. "nodeType": "VariableDeclaration",
  40020. "scope": 10179,
  40021. "src": "25518:10:50",
  40022. "stateVariable": false,
  40023. "storageLocation": "default",
  40024. "typeDescriptions": {
  40025. "typeIdentifier": "t_address",
  40026. "typeString": "address"
  40027. },
  40028. "typeName": {
  40029. "id": 10161,
  40030. "name": "address",
  40031. "nodeType": "ElementaryTypeName",
  40032. "src": "25518:7:50",
  40033. "stateMutability": "nonpayable",
  40034. "typeDescriptions": {
  40035. "typeIdentifier": "t_address",
  40036. "typeString": "address"
  40037. }
  40038. },
  40039. "visibility": "internal"
  40040. },
  40041. {
  40042. "constant": false,
  40043. "id": 10164,
  40044. "mutability": "mutable",
  40045. "name": "p3",
  40046. "nameLocation": "25535:2:50",
  40047. "nodeType": "VariableDeclaration",
  40048. "scope": 10179,
  40049. "src": "25530:7:50",
  40050. "stateVariable": false,
  40051. "storageLocation": "default",
  40052. "typeDescriptions": {
  40053. "typeIdentifier": "t_bool",
  40054. "typeString": "bool"
  40055. },
  40056. "typeName": {
  40057. "id": 10163,
  40058. "name": "bool",
  40059. "nodeType": "ElementaryTypeName",
  40060. "src": "25530:4:50",
  40061. "typeDescriptions": {
  40062. "typeIdentifier": "t_bool",
  40063. "typeString": "bool"
  40064. }
  40065. },
  40066. "visibility": "internal"
  40067. }
  40068. ],
  40069. "src": "25487:51:50"
  40070. },
  40071. "returnParameters": {
  40072. "id": 10166,
  40073. "nodeType": "ParameterList",
  40074. "parameters": [],
  40075. "src": "25553:0:50"
  40076. },
  40077. "scope": 15355,
  40078. "stateMutability": "pure",
  40079. "virtual": false,
  40080. "visibility": "internal"
  40081. },
  40082. {
  40083. "id": 10202,
  40084. "nodeType": "FunctionDefinition",
  40085. "src": "25668:193:50",
  40086. "nodes": [],
  40087. "body": {
  40088. "id": 10201,
  40089. "nodeType": "Block",
  40090. "src": "25749:112:50",
  40091. "nodes": [],
  40092. "statements": [
  40093. {
  40094. "expression": {
  40095. "arguments": [
  40096. {
  40097. "arguments": [
  40098. {
  40099. "hexValue": "6c6f672875696e743235362c737472696e672c616464726573732c6164647265737329",
  40100. "id": 10193,
  40101. "isConstant": false,
  40102. "isLValue": false,
  40103. "isPure": true,
  40104. "kind": "string",
  40105. "lValueRequested": false,
  40106. "nodeType": "Literal",
  40107. "src": "25799:37:50",
  40108. "typeDescriptions": {
  40109. "typeIdentifier": "t_stringliteral_6168ed618844a2c75dc49207e69cdff562cd2faf2e74aa5192211a023611c6bd",
  40110. "typeString": "literal_string \"log(uint256,string,address,address)\""
  40111. },
  40112. "value": "log(uint256,string,address,address)"
  40113. },
  40114. {
  40115. "id": 10194,
  40116. "name": "p0",
  40117. "nodeType": "Identifier",
  40118. "overloadedDeclarations": [],
  40119. "referencedDeclaration": 10181,
  40120. "src": "25838:2:50",
  40121. "typeDescriptions": {
  40122. "typeIdentifier": "t_uint256",
  40123. "typeString": "uint256"
  40124. }
  40125. },
  40126. {
  40127. "id": 10195,
  40128. "name": "p1",
  40129. "nodeType": "Identifier",
  40130. "overloadedDeclarations": [],
  40131. "referencedDeclaration": 10183,
  40132. "src": "25842:2:50",
  40133. "typeDescriptions": {
  40134. "typeIdentifier": "t_string_memory_ptr",
  40135. "typeString": "string memory"
  40136. }
  40137. },
  40138. {
  40139. "id": 10196,
  40140. "name": "p2",
  40141. "nodeType": "Identifier",
  40142. "overloadedDeclarations": [],
  40143. "referencedDeclaration": 10185,
  40144. "src": "25846:2:50",
  40145. "typeDescriptions": {
  40146. "typeIdentifier": "t_address",
  40147. "typeString": "address"
  40148. }
  40149. },
  40150. {
  40151. "id": 10197,
  40152. "name": "p3",
  40153. "nodeType": "Identifier",
  40154. "overloadedDeclarations": [],
  40155. "referencedDeclaration": 10187,
  40156. "src": "25850:2:50",
  40157. "typeDescriptions": {
  40158. "typeIdentifier": "t_address",
  40159. "typeString": "address"
  40160. }
  40161. }
  40162. ],
  40163. "expression": {
  40164. "argumentTypes": [
  40165. {
  40166. "typeIdentifier": "t_stringliteral_6168ed618844a2c75dc49207e69cdff562cd2faf2e74aa5192211a023611c6bd",
  40167. "typeString": "literal_string \"log(uint256,string,address,address)\""
  40168. },
  40169. {
  40170. "typeIdentifier": "t_uint256",
  40171. "typeString": "uint256"
  40172. },
  40173. {
  40174. "typeIdentifier": "t_string_memory_ptr",
  40175. "typeString": "string memory"
  40176. },
  40177. {
  40178. "typeIdentifier": "t_address",
  40179. "typeString": "address"
  40180. },
  40181. {
  40182. "typeIdentifier": "t_address",
  40183. "typeString": "address"
  40184. }
  40185. ],
  40186. "expression": {
  40187. "id": 10191,
  40188. "name": "abi",
  40189. "nodeType": "Identifier",
  40190. "overloadedDeclarations": [],
  40191. "referencedDeclaration": -1,
  40192. "src": "25775:3:50",
  40193. "typeDescriptions": {
  40194. "typeIdentifier": "t_magic_abi",
  40195. "typeString": "abi"
  40196. }
  40197. },
  40198. "id": 10192,
  40199. "isConstant": false,
  40200. "isLValue": false,
  40201. "isPure": true,
  40202. "lValueRequested": false,
  40203. "memberLocation": "25779:19:50",
  40204. "memberName": "encodeWithSignature",
  40205. "nodeType": "MemberAccess",
  40206. "src": "25775:23:50",
  40207. "typeDescriptions": {
  40208. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  40209. "typeString": "function (string memory) pure returns (bytes memory)"
  40210. }
  40211. },
  40212. "id": 10198,
  40213. "isConstant": false,
  40214. "isLValue": false,
  40215. "isPure": false,
  40216. "kind": "functionCall",
  40217. "lValueRequested": false,
  40218. "nameLocations": [],
  40219. "names": [],
  40220. "nodeType": "FunctionCall",
  40221. "src": "25775:78:50",
  40222. "tryCall": false,
  40223. "typeDescriptions": {
  40224. "typeIdentifier": "t_bytes_memory_ptr",
  40225. "typeString": "bytes memory"
  40226. }
  40227. }
  40228. ],
  40229. "expression": {
  40230. "argumentTypes": [
  40231. {
  40232. "typeIdentifier": "t_bytes_memory_ptr",
  40233. "typeString": "bytes memory"
  40234. }
  40235. ],
  40236. "id": 10190,
  40237. "name": "_sendLogPayload",
  40238. "nodeType": "Identifier",
  40239. "overloadedDeclarations": [],
  40240. "referencedDeclaration": 7315,
  40241. "src": "25759:15:50",
  40242. "typeDescriptions": {
  40243. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  40244. "typeString": "function (bytes memory) pure"
  40245. }
  40246. },
  40247. "id": 10199,
  40248. "isConstant": false,
  40249. "isLValue": false,
  40250. "isPure": false,
  40251. "kind": "functionCall",
  40252. "lValueRequested": false,
  40253. "nameLocations": [],
  40254. "names": [],
  40255. "nodeType": "FunctionCall",
  40256. "src": "25759:95:50",
  40257. "tryCall": false,
  40258. "typeDescriptions": {
  40259. "typeIdentifier": "t_tuple$__$",
  40260. "typeString": "tuple()"
  40261. }
  40262. },
  40263. "id": 10200,
  40264. "nodeType": "ExpressionStatement",
  40265. "src": "25759:95:50"
  40266. }
  40267. ]
  40268. },
  40269. "implemented": true,
  40270. "kind": "function",
  40271. "modifiers": [],
  40272. "name": "log",
  40273. "nameLocation": "25677:3:50",
  40274. "parameters": {
  40275. "id": 10188,
  40276. "nodeType": "ParameterList",
  40277. "parameters": [
  40278. {
  40279. "constant": false,
  40280. "id": 10181,
  40281. "mutability": "mutable",
  40282. "name": "p0",
  40283. "nameLocation": "25689:2:50",
  40284. "nodeType": "VariableDeclaration",
  40285. "scope": 10202,
  40286. "src": "25681:10:50",
  40287. "stateVariable": false,
  40288. "storageLocation": "default",
  40289. "typeDescriptions": {
  40290. "typeIdentifier": "t_uint256",
  40291. "typeString": "uint256"
  40292. },
  40293. "typeName": {
  40294. "id": 10180,
  40295. "name": "uint256",
  40296. "nodeType": "ElementaryTypeName",
  40297. "src": "25681:7:50",
  40298. "typeDescriptions": {
  40299. "typeIdentifier": "t_uint256",
  40300. "typeString": "uint256"
  40301. }
  40302. },
  40303. "visibility": "internal"
  40304. },
  40305. {
  40306. "constant": false,
  40307. "id": 10183,
  40308. "mutability": "mutable",
  40309. "name": "p1",
  40310. "nameLocation": "25707:2:50",
  40311. "nodeType": "VariableDeclaration",
  40312. "scope": 10202,
  40313. "src": "25693:16:50",
  40314. "stateVariable": false,
  40315. "storageLocation": "memory",
  40316. "typeDescriptions": {
  40317. "typeIdentifier": "t_string_memory_ptr",
  40318. "typeString": "string"
  40319. },
  40320. "typeName": {
  40321. "id": 10182,
  40322. "name": "string",
  40323. "nodeType": "ElementaryTypeName",
  40324. "src": "25693:6:50",
  40325. "typeDescriptions": {
  40326. "typeIdentifier": "t_string_storage_ptr",
  40327. "typeString": "string"
  40328. }
  40329. },
  40330. "visibility": "internal"
  40331. },
  40332. {
  40333. "constant": false,
  40334. "id": 10185,
  40335. "mutability": "mutable",
  40336. "name": "p2",
  40337. "nameLocation": "25719:2:50",
  40338. "nodeType": "VariableDeclaration",
  40339. "scope": 10202,
  40340. "src": "25711:10:50",
  40341. "stateVariable": false,
  40342. "storageLocation": "default",
  40343. "typeDescriptions": {
  40344. "typeIdentifier": "t_address",
  40345. "typeString": "address"
  40346. },
  40347. "typeName": {
  40348. "id": 10184,
  40349. "name": "address",
  40350. "nodeType": "ElementaryTypeName",
  40351. "src": "25711:7:50",
  40352. "stateMutability": "nonpayable",
  40353. "typeDescriptions": {
  40354. "typeIdentifier": "t_address",
  40355. "typeString": "address"
  40356. }
  40357. },
  40358. "visibility": "internal"
  40359. },
  40360. {
  40361. "constant": false,
  40362. "id": 10187,
  40363. "mutability": "mutable",
  40364. "name": "p3",
  40365. "nameLocation": "25731:2:50",
  40366. "nodeType": "VariableDeclaration",
  40367. "scope": 10202,
  40368. "src": "25723:10:50",
  40369. "stateVariable": false,
  40370. "storageLocation": "default",
  40371. "typeDescriptions": {
  40372. "typeIdentifier": "t_address",
  40373. "typeString": "address"
  40374. },
  40375. "typeName": {
  40376. "id": 10186,
  40377. "name": "address",
  40378. "nodeType": "ElementaryTypeName",
  40379. "src": "25723:7:50",
  40380. "stateMutability": "nonpayable",
  40381. "typeDescriptions": {
  40382. "typeIdentifier": "t_address",
  40383. "typeString": "address"
  40384. }
  40385. },
  40386. "visibility": "internal"
  40387. }
  40388. ],
  40389. "src": "25680:54:50"
  40390. },
  40391. "returnParameters": {
  40392. "id": 10189,
  40393. "nodeType": "ParameterList",
  40394. "parameters": [],
  40395. "src": "25749:0:50"
  40396. },
  40397. "scope": 15355,
  40398. "stateMutability": "pure",
  40399. "virtual": false,
  40400. "visibility": "internal"
  40401. },
  40402. {
  40403. "id": 10225,
  40404. "nodeType": "FunctionDefinition",
  40405. "src": "25867:182:50",
  40406. "nodes": [],
  40407. "body": {
  40408. "id": 10224,
  40409. "nodeType": "Block",
  40410. "src": "25939:110:50",
  40411. "nodes": [],
  40412. "statements": [
  40413. {
  40414. "expression": {
  40415. "arguments": [
  40416. {
  40417. "arguments": [
  40418. {
  40419. "hexValue": "6c6f672875696e743235362c626f6f6c2c75696e743235362c75696e7432353629",
  40420. "id": 10216,
  40421. "isConstant": false,
  40422. "isLValue": false,
  40423. "isPure": true,
  40424. "kind": "string",
  40425. "lValueRequested": false,
  40426. "nodeType": "Literal",
  40427. "src": "25989:35:50",
  40428. "typeDescriptions": {
  40429. "typeIdentifier": "t_stringliteral_c6acc7a8396e6de9a5a1476aecf2cbff57758b174747b0371b7f3994e930b8b4",
  40430. "typeString": "literal_string \"log(uint256,bool,uint256,uint256)\""
  40431. },
  40432. "value": "log(uint256,bool,uint256,uint256)"
  40433. },
  40434. {
  40435. "id": 10217,
  40436. "name": "p0",
  40437. "nodeType": "Identifier",
  40438. "overloadedDeclarations": [],
  40439. "referencedDeclaration": 10204,
  40440. "src": "26026:2:50",
  40441. "typeDescriptions": {
  40442. "typeIdentifier": "t_uint256",
  40443. "typeString": "uint256"
  40444. }
  40445. },
  40446. {
  40447. "id": 10218,
  40448. "name": "p1",
  40449. "nodeType": "Identifier",
  40450. "overloadedDeclarations": [],
  40451. "referencedDeclaration": 10206,
  40452. "src": "26030:2:50",
  40453. "typeDescriptions": {
  40454. "typeIdentifier": "t_bool",
  40455. "typeString": "bool"
  40456. }
  40457. },
  40458. {
  40459. "id": 10219,
  40460. "name": "p2",
  40461. "nodeType": "Identifier",
  40462. "overloadedDeclarations": [],
  40463. "referencedDeclaration": 10208,
  40464. "src": "26034:2:50",
  40465. "typeDescriptions": {
  40466. "typeIdentifier": "t_uint256",
  40467. "typeString": "uint256"
  40468. }
  40469. },
  40470. {
  40471. "id": 10220,
  40472. "name": "p3",
  40473. "nodeType": "Identifier",
  40474. "overloadedDeclarations": [],
  40475. "referencedDeclaration": 10210,
  40476. "src": "26038:2:50",
  40477. "typeDescriptions": {
  40478. "typeIdentifier": "t_uint256",
  40479. "typeString": "uint256"
  40480. }
  40481. }
  40482. ],
  40483. "expression": {
  40484. "argumentTypes": [
  40485. {
  40486. "typeIdentifier": "t_stringliteral_c6acc7a8396e6de9a5a1476aecf2cbff57758b174747b0371b7f3994e930b8b4",
  40487. "typeString": "literal_string \"log(uint256,bool,uint256,uint256)\""
  40488. },
  40489. {
  40490. "typeIdentifier": "t_uint256",
  40491. "typeString": "uint256"
  40492. },
  40493. {
  40494. "typeIdentifier": "t_bool",
  40495. "typeString": "bool"
  40496. },
  40497. {
  40498. "typeIdentifier": "t_uint256",
  40499. "typeString": "uint256"
  40500. },
  40501. {
  40502. "typeIdentifier": "t_uint256",
  40503. "typeString": "uint256"
  40504. }
  40505. ],
  40506. "expression": {
  40507. "id": 10214,
  40508. "name": "abi",
  40509. "nodeType": "Identifier",
  40510. "overloadedDeclarations": [],
  40511. "referencedDeclaration": -1,
  40512. "src": "25965:3:50",
  40513. "typeDescriptions": {
  40514. "typeIdentifier": "t_magic_abi",
  40515. "typeString": "abi"
  40516. }
  40517. },
  40518. "id": 10215,
  40519. "isConstant": false,
  40520. "isLValue": false,
  40521. "isPure": true,
  40522. "lValueRequested": false,
  40523. "memberLocation": "25969:19:50",
  40524. "memberName": "encodeWithSignature",
  40525. "nodeType": "MemberAccess",
  40526. "src": "25965:23:50",
  40527. "typeDescriptions": {
  40528. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  40529. "typeString": "function (string memory) pure returns (bytes memory)"
  40530. }
  40531. },
  40532. "id": 10221,
  40533. "isConstant": false,
  40534. "isLValue": false,
  40535. "isPure": false,
  40536. "kind": "functionCall",
  40537. "lValueRequested": false,
  40538. "nameLocations": [],
  40539. "names": [],
  40540. "nodeType": "FunctionCall",
  40541. "src": "25965:76:50",
  40542. "tryCall": false,
  40543. "typeDescriptions": {
  40544. "typeIdentifier": "t_bytes_memory_ptr",
  40545. "typeString": "bytes memory"
  40546. }
  40547. }
  40548. ],
  40549. "expression": {
  40550. "argumentTypes": [
  40551. {
  40552. "typeIdentifier": "t_bytes_memory_ptr",
  40553. "typeString": "bytes memory"
  40554. }
  40555. ],
  40556. "id": 10213,
  40557. "name": "_sendLogPayload",
  40558. "nodeType": "Identifier",
  40559. "overloadedDeclarations": [],
  40560. "referencedDeclaration": 7315,
  40561. "src": "25949:15:50",
  40562. "typeDescriptions": {
  40563. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  40564. "typeString": "function (bytes memory) pure"
  40565. }
  40566. },
  40567. "id": 10222,
  40568. "isConstant": false,
  40569. "isLValue": false,
  40570. "isPure": false,
  40571. "kind": "functionCall",
  40572. "lValueRequested": false,
  40573. "nameLocations": [],
  40574. "names": [],
  40575. "nodeType": "FunctionCall",
  40576. "src": "25949:93:50",
  40577. "tryCall": false,
  40578. "typeDescriptions": {
  40579. "typeIdentifier": "t_tuple$__$",
  40580. "typeString": "tuple()"
  40581. }
  40582. },
  40583. "id": 10223,
  40584. "nodeType": "ExpressionStatement",
  40585. "src": "25949:93:50"
  40586. }
  40587. ]
  40588. },
  40589. "implemented": true,
  40590. "kind": "function",
  40591. "modifiers": [],
  40592. "name": "log",
  40593. "nameLocation": "25876:3:50",
  40594. "parameters": {
  40595. "id": 10211,
  40596. "nodeType": "ParameterList",
  40597. "parameters": [
  40598. {
  40599. "constant": false,
  40600. "id": 10204,
  40601. "mutability": "mutable",
  40602. "name": "p0",
  40603. "nameLocation": "25888:2:50",
  40604. "nodeType": "VariableDeclaration",
  40605. "scope": 10225,
  40606. "src": "25880:10:50",
  40607. "stateVariable": false,
  40608. "storageLocation": "default",
  40609. "typeDescriptions": {
  40610. "typeIdentifier": "t_uint256",
  40611. "typeString": "uint256"
  40612. },
  40613. "typeName": {
  40614. "id": 10203,
  40615. "name": "uint256",
  40616. "nodeType": "ElementaryTypeName",
  40617. "src": "25880:7:50",
  40618. "typeDescriptions": {
  40619. "typeIdentifier": "t_uint256",
  40620. "typeString": "uint256"
  40621. }
  40622. },
  40623. "visibility": "internal"
  40624. },
  40625. {
  40626. "constant": false,
  40627. "id": 10206,
  40628. "mutability": "mutable",
  40629. "name": "p1",
  40630. "nameLocation": "25897:2:50",
  40631. "nodeType": "VariableDeclaration",
  40632. "scope": 10225,
  40633. "src": "25892:7:50",
  40634. "stateVariable": false,
  40635. "storageLocation": "default",
  40636. "typeDescriptions": {
  40637. "typeIdentifier": "t_bool",
  40638. "typeString": "bool"
  40639. },
  40640. "typeName": {
  40641. "id": 10205,
  40642. "name": "bool",
  40643. "nodeType": "ElementaryTypeName",
  40644. "src": "25892:4:50",
  40645. "typeDescriptions": {
  40646. "typeIdentifier": "t_bool",
  40647. "typeString": "bool"
  40648. }
  40649. },
  40650. "visibility": "internal"
  40651. },
  40652. {
  40653. "constant": false,
  40654. "id": 10208,
  40655. "mutability": "mutable",
  40656. "name": "p2",
  40657. "nameLocation": "25909:2:50",
  40658. "nodeType": "VariableDeclaration",
  40659. "scope": 10225,
  40660. "src": "25901:10:50",
  40661. "stateVariable": false,
  40662. "storageLocation": "default",
  40663. "typeDescriptions": {
  40664. "typeIdentifier": "t_uint256",
  40665. "typeString": "uint256"
  40666. },
  40667. "typeName": {
  40668. "id": 10207,
  40669. "name": "uint256",
  40670. "nodeType": "ElementaryTypeName",
  40671. "src": "25901:7:50",
  40672. "typeDescriptions": {
  40673. "typeIdentifier": "t_uint256",
  40674. "typeString": "uint256"
  40675. }
  40676. },
  40677. "visibility": "internal"
  40678. },
  40679. {
  40680. "constant": false,
  40681. "id": 10210,
  40682. "mutability": "mutable",
  40683. "name": "p3",
  40684. "nameLocation": "25921:2:50",
  40685. "nodeType": "VariableDeclaration",
  40686. "scope": 10225,
  40687. "src": "25913:10:50",
  40688. "stateVariable": false,
  40689. "storageLocation": "default",
  40690. "typeDescriptions": {
  40691. "typeIdentifier": "t_uint256",
  40692. "typeString": "uint256"
  40693. },
  40694. "typeName": {
  40695. "id": 10209,
  40696. "name": "uint256",
  40697. "nodeType": "ElementaryTypeName",
  40698. "src": "25913:7:50",
  40699. "typeDescriptions": {
  40700. "typeIdentifier": "t_uint256",
  40701. "typeString": "uint256"
  40702. }
  40703. },
  40704. "visibility": "internal"
  40705. }
  40706. ],
  40707. "src": "25879:45:50"
  40708. },
  40709. "returnParameters": {
  40710. "id": 10212,
  40711. "nodeType": "ParameterList",
  40712. "parameters": [],
  40713. "src": "25939:0:50"
  40714. },
  40715. "scope": 15355,
  40716. "stateMutability": "pure",
  40717. "virtual": false,
  40718. "visibility": "internal"
  40719. },
  40720. {
  40721. "id": 10248,
  40722. "nodeType": "FunctionDefinition",
  40723. "src": "26055:187:50",
  40724. "nodes": [],
  40725. "body": {
  40726. "id": 10247,
  40727. "nodeType": "Block",
  40728. "src": "26133:109:50",
  40729. "nodes": [],
  40730. "statements": [
  40731. {
  40732. "expression": {
  40733. "arguments": [
  40734. {
  40735. "arguments": [
  40736. {
  40737. "hexValue": "6c6f672875696e743235362c626f6f6c2c75696e743235362c737472696e6729",
  40738. "id": 10239,
  40739. "isConstant": false,
  40740. "isLValue": false,
  40741. "isPure": true,
  40742. "kind": "string",
  40743. "lValueRequested": false,
  40744. "nodeType": "Literal",
  40745. "src": "26183:34:50",
  40746. "typeDescriptions": {
  40747. "typeIdentifier": "t_stringliteral_de03e77403acbacf9b1b18c1115984c9fba2c45e2eec9f12c266ada3f62a0d1b",
  40748. "typeString": "literal_string \"log(uint256,bool,uint256,string)\""
  40749. },
  40750. "value": "log(uint256,bool,uint256,string)"
  40751. },
  40752. {
  40753. "id": 10240,
  40754. "name": "p0",
  40755. "nodeType": "Identifier",
  40756. "overloadedDeclarations": [],
  40757. "referencedDeclaration": 10227,
  40758. "src": "26219:2:50",
  40759. "typeDescriptions": {
  40760. "typeIdentifier": "t_uint256",
  40761. "typeString": "uint256"
  40762. }
  40763. },
  40764. {
  40765. "id": 10241,
  40766. "name": "p1",
  40767. "nodeType": "Identifier",
  40768. "overloadedDeclarations": [],
  40769. "referencedDeclaration": 10229,
  40770. "src": "26223:2:50",
  40771. "typeDescriptions": {
  40772. "typeIdentifier": "t_bool",
  40773. "typeString": "bool"
  40774. }
  40775. },
  40776. {
  40777. "id": 10242,
  40778. "name": "p2",
  40779. "nodeType": "Identifier",
  40780. "overloadedDeclarations": [],
  40781. "referencedDeclaration": 10231,
  40782. "src": "26227:2:50",
  40783. "typeDescriptions": {
  40784. "typeIdentifier": "t_uint256",
  40785. "typeString": "uint256"
  40786. }
  40787. },
  40788. {
  40789. "id": 10243,
  40790. "name": "p3",
  40791. "nodeType": "Identifier",
  40792. "overloadedDeclarations": [],
  40793. "referencedDeclaration": 10233,
  40794. "src": "26231:2:50",
  40795. "typeDescriptions": {
  40796. "typeIdentifier": "t_string_memory_ptr",
  40797. "typeString": "string memory"
  40798. }
  40799. }
  40800. ],
  40801. "expression": {
  40802. "argumentTypes": [
  40803. {
  40804. "typeIdentifier": "t_stringliteral_de03e77403acbacf9b1b18c1115984c9fba2c45e2eec9f12c266ada3f62a0d1b",
  40805. "typeString": "literal_string \"log(uint256,bool,uint256,string)\""
  40806. },
  40807. {
  40808. "typeIdentifier": "t_uint256",
  40809. "typeString": "uint256"
  40810. },
  40811. {
  40812. "typeIdentifier": "t_bool",
  40813. "typeString": "bool"
  40814. },
  40815. {
  40816. "typeIdentifier": "t_uint256",
  40817. "typeString": "uint256"
  40818. },
  40819. {
  40820. "typeIdentifier": "t_string_memory_ptr",
  40821. "typeString": "string memory"
  40822. }
  40823. ],
  40824. "expression": {
  40825. "id": 10237,
  40826. "name": "abi",
  40827. "nodeType": "Identifier",
  40828. "overloadedDeclarations": [],
  40829. "referencedDeclaration": -1,
  40830. "src": "26159:3:50",
  40831. "typeDescriptions": {
  40832. "typeIdentifier": "t_magic_abi",
  40833. "typeString": "abi"
  40834. }
  40835. },
  40836. "id": 10238,
  40837. "isConstant": false,
  40838. "isLValue": false,
  40839. "isPure": true,
  40840. "lValueRequested": false,
  40841. "memberLocation": "26163:19:50",
  40842. "memberName": "encodeWithSignature",
  40843. "nodeType": "MemberAccess",
  40844. "src": "26159:23:50",
  40845. "typeDescriptions": {
  40846. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  40847. "typeString": "function (string memory) pure returns (bytes memory)"
  40848. }
  40849. },
  40850. "id": 10244,
  40851. "isConstant": false,
  40852. "isLValue": false,
  40853. "isPure": false,
  40854. "kind": "functionCall",
  40855. "lValueRequested": false,
  40856. "nameLocations": [],
  40857. "names": [],
  40858. "nodeType": "FunctionCall",
  40859. "src": "26159:75:50",
  40860. "tryCall": false,
  40861. "typeDescriptions": {
  40862. "typeIdentifier": "t_bytes_memory_ptr",
  40863. "typeString": "bytes memory"
  40864. }
  40865. }
  40866. ],
  40867. "expression": {
  40868. "argumentTypes": [
  40869. {
  40870. "typeIdentifier": "t_bytes_memory_ptr",
  40871. "typeString": "bytes memory"
  40872. }
  40873. ],
  40874. "id": 10236,
  40875. "name": "_sendLogPayload",
  40876. "nodeType": "Identifier",
  40877. "overloadedDeclarations": [],
  40878. "referencedDeclaration": 7315,
  40879. "src": "26143:15:50",
  40880. "typeDescriptions": {
  40881. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  40882. "typeString": "function (bytes memory) pure"
  40883. }
  40884. },
  40885. "id": 10245,
  40886. "isConstant": false,
  40887. "isLValue": false,
  40888. "isPure": false,
  40889. "kind": "functionCall",
  40890. "lValueRequested": false,
  40891. "nameLocations": [],
  40892. "names": [],
  40893. "nodeType": "FunctionCall",
  40894. "src": "26143:92:50",
  40895. "tryCall": false,
  40896. "typeDescriptions": {
  40897. "typeIdentifier": "t_tuple$__$",
  40898. "typeString": "tuple()"
  40899. }
  40900. },
  40901. "id": 10246,
  40902. "nodeType": "ExpressionStatement",
  40903. "src": "26143:92:50"
  40904. }
  40905. ]
  40906. },
  40907. "implemented": true,
  40908. "kind": "function",
  40909. "modifiers": [],
  40910. "name": "log",
  40911. "nameLocation": "26064:3:50",
  40912. "parameters": {
  40913. "id": 10234,
  40914. "nodeType": "ParameterList",
  40915. "parameters": [
  40916. {
  40917. "constant": false,
  40918. "id": 10227,
  40919. "mutability": "mutable",
  40920. "name": "p0",
  40921. "nameLocation": "26076:2:50",
  40922. "nodeType": "VariableDeclaration",
  40923. "scope": 10248,
  40924. "src": "26068:10:50",
  40925. "stateVariable": false,
  40926. "storageLocation": "default",
  40927. "typeDescriptions": {
  40928. "typeIdentifier": "t_uint256",
  40929. "typeString": "uint256"
  40930. },
  40931. "typeName": {
  40932. "id": 10226,
  40933. "name": "uint256",
  40934. "nodeType": "ElementaryTypeName",
  40935. "src": "26068:7:50",
  40936. "typeDescriptions": {
  40937. "typeIdentifier": "t_uint256",
  40938. "typeString": "uint256"
  40939. }
  40940. },
  40941. "visibility": "internal"
  40942. },
  40943. {
  40944. "constant": false,
  40945. "id": 10229,
  40946. "mutability": "mutable",
  40947. "name": "p1",
  40948. "nameLocation": "26085:2:50",
  40949. "nodeType": "VariableDeclaration",
  40950. "scope": 10248,
  40951. "src": "26080:7:50",
  40952. "stateVariable": false,
  40953. "storageLocation": "default",
  40954. "typeDescriptions": {
  40955. "typeIdentifier": "t_bool",
  40956. "typeString": "bool"
  40957. },
  40958. "typeName": {
  40959. "id": 10228,
  40960. "name": "bool",
  40961. "nodeType": "ElementaryTypeName",
  40962. "src": "26080:4:50",
  40963. "typeDescriptions": {
  40964. "typeIdentifier": "t_bool",
  40965. "typeString": "bool"
  40966. }
  40967. },
  40968. "visibility": "internal"
  40969. },
  40970. {
  40971. "constant": false,
  40972. "id": 10231,
  40973. "mutability": "mutable",
  40974. "name": "p2",
  40975. "nameLocation": "26097:2:50",
  40976. "nodeType": "VariableDeclaration",
  40977. "scope": 10248,
  40978. "src": "26089:10:50",
  40979. "stateVariable": false,
  40980. "storageLocation": "default",
  40981. "typeDescriptions": {
  40982. "typeIdentifier": "t_uint256",
  40983. "typeString": "uint256"
  40984. },
  40985. "typeName": {
  40986. "id": 10230,
  40987. "name": "uint256",
  40988. "nodeType": "ElementaryTypeName",
  40989. "src": "26089:7:50",
  40990. "typeDescriptions": {
  40991. "typeIdentifier": "t_uint256",
  40992. "typeString": "uint256"
  40993. }
  40994. },
  40995. "visibility": "internal"
  40996. },
  40997. {
  40998. "constant": false,
  40999. "id": 10233,
  41000. "mutability": "mutable",
  41001. "name": "p3",
  41002. "nameLocation": "26115:2:50",
  41003. "nodeType": "VariableDeclaration",
  41004. "scope": 10248,
  41005. "src": "26101:16:50",
  41006. "stateVariable": false,
  41007. "storageLocation": "memory",
  41008. "typeDescriptions": {
  41009. "typeIdentifier": "t_string_memory_ptr",
  41010. "typeString": "string"
  41011. },
  41012. "typeName": {
  41013. "id": 10232,
  41014. "name": "string",
  41015. "nodeType": "ElementaryTypeName",
  41016. "src": "26101:6:50",
  41017. "typeDescriptions": {
  41018. "typeIdentifier": "t_string_storage_ptr",
  41019. "typeString": "string"
  41020. }
  41021. },
  41022. "visibility": "internal"
  41023. }
  41024. ],
  41025. "src": "26067:51:50"
  41026. },
  41027. "returnParameters": {
  41028. "id": 10235,
  41029. "nodeType": "ParameterList",
  41030. "parameters": [],
  41031. "src": "26133:0:50"
  41032. },
  41033. "scope": 15355,
  41034. "stateMutability": "pure",
  41035. "virtual": false,
  41036. "visibility": "internal"
  41037. },
  41038. {
  41039. "id": 10271,
  41040. "nodeType": "FunctionDefinition",
  41041. "src": "26248:176:50",
  41042. "nodes": [],
  41043. "body": {
  41044. "id": 10270,
  41045. "nodeType": "Block",
  41046. "src": "26317:107:50",
  41047. "nodes": [],
  41048. "statements": [
  41049. {
  41050. "expression": {
  41051. "arguments": [
  41052. {
  41053. "arguments": [
  41054. {
  41055. "hexValue": "6c6f672875696e743235362c626f6f6c2c75696e743235362c626f6f6c29",
  41056. "id": 10262,
  41057. "isConstant": false,
  41058. "isLValue": false,
  41059. "isPure": true,
  41060. "kind": "string",
  41061. "lValueRequested": false,
  41062. "nodeType": "Literal",
  41063. "src": "26367:32:50",
  41064. "typeDescriptions": {
  41065. "typeIdentifier": "t_stringliteral_91a02e2ac8ae09683fa28beba3fd130b88054c89e51901b8e0510c8e25aa37d1",
  41066. "typeString": "literal_string \"log(uint256,bool,uint256,bool)\""
  41067. },
  41068. "value": "log(uint256,bool,uint256,bool)"
  41069. },
  41070. {
  41071. "id": 10263,
  41072. "name": "p0",
  41073. "nodeType": "Identifier",
  41074. "overloadedDeclarations": [],
  41075. "referencedDeclaration": 10250,
  41076. "src": "26401:2:50",
  41077. "typeDescriptions": {
  41078. "typeIdentifier": "t_uint256",
  41079. "typeString": "uint256"
  41080. }
  41081. },
  41082. {
  41083. "id": 10264,
  41084. "name": "p1",
  41085. "nodeType": "Identifier",
  41086. "overloadedDeclarations": [],
  41087. "referencedDeclaration": 10252,
  41088. "src": "26405:2:50",
  41089. "typeDescriptions": {
  41090. "typeIdentifier": "t_bool",
  41091. "typeString": "bool"
  41092. }
  41093. },
  41094. {
  41095. "id": 10265,
  41096. "name": "p2",
  41097. "nodeType": "Identifier",
  41098. "overloadedDeclarations": [],
  41099. "referencedDeclaration": 10254,
  41100. "src": "26409:2:50",
  41101. "typeDescriptions": {
  41102. "typeIdentifier": "t_uint256",
  41103. "typeString": "uint256"
  41104. }
  41105. },
  41106. {
  41107. "id": 10266,
  41108. "name": "p3",
  41109. "nodeType": "Identifier",
  41110. "overloadedDeclarations": [],
  41111. "referencedDeclaration": 10256,
  41112. "src": "26413:2:50",
  41113. "typeDescriptions": {
  41114. "typeIdentifier": "t_bool",
  41115. "typeString": "bool"
  41116. }
  41117. }
  41118. ],
  41119. "expression": {
  41120. "argumentTypes": [
  41121. {
  41122. "typeIdentifier": "t_stringliteral_91a02e2ac8ae09683fa28beba3fd130b88054c89e51901b8e0510c8e25aa37d1",
  41123. "typeString": "literal_string \"log(uint256,bool,uint256,bool)\""
  41124. },
  41125. {
  41126. "typeIdentifier": "t_uint256",
  41127. "typeString": "uint256"
  41128. },
  41129. {
  41130. "typeIdentifier": "t_bool",
  41131. "typeString": "bool"
  41132. },
  41133. {
  41134. "typeIdentifier": "t_uint256",
  41135. "typeString": "uint256"
  41136. },
  41137. {
  41138. "typeIdentifier": "t_bool",
  41139. "typeString": "bool"
  41140. }
  41141. ],
  41142. "expression": {
  41143. "id": 10260,
  41144. "name": "abi",
  41145. "nodeType": "Identifier",
  41146. "overloadedDeclarations": [],
  41147. "referencedDeclaration": -1,
  41148. "src": "26343:3:50",
  41149. "typeDescriptions": {
  41150. "typeIdentifier": "t_magic_abi",
  41151. "typeString": "abi"
  41152. }
  41153. },
  41154. "id": 10261,
  41155. "isConstant": false,
  41156. "isLValue": false,
  41157. "isPure": true,
  41158. "lValueRequested": false,
  41159. "memberLocation": "26347:19:50",
  41160. "memberName": "encodeWithSignature",
  41161. "nodeType": "MemberAccess",
  41162. "src": "26343:23:50",
  41163. "typeDescriptions": {
  41164. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  41165. "typeString": "function (string memory) pure returns (bytes memory)"
  41166. }
  41167. },
  41168. "id": 10267,
  41169. "isConstant": false,
  41170. "isLValue": false,
  41171. "isPure": false,
  41172. "kind": "functionCall",
  41173. "lValueRequested": false,
  41174. "nameLocations": [],
  41175. "names": [],
  41176. "nodeType": "FunctionCall",
  41177. "src": "26343:73:50",
  41178. "tryCall": false,
  41179. "typeDescriptions": {
  41180. "typeIdentifier": "t_bytes_memory_ptr",
  41181. "typeString": "bytes memory"
  41182. }
  41183. }
  41184. ],
  41185. "expression": {
  41186. "argumentTypes": [
  41187. {
  41188. "typeIdentifier": "t_bytes_memory_ptr",
  41189. "typeString": "bytes memory"
  41190. }
  41191. ],
  41192. "id": 10259,
  41193. "name": "_sendLogPayload",
  41194. "nodeType": "Identifier",
  41195. "overloadedDeclarations": [],
  41196. "referencedDeclaration": 7315,
  41197. "src": "26327:15:50",
  41198. "typeDescriptions": {
  41199. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  41200. "typeString": "function (bytes memory) pure"
  41201. }
  41202. },
  41203. "id": 10268,
  41204. "isConstant": false,
  41205. "isLValue": false,
  41206. "isPure": false,
  41207. "kind": "functionCall",
  41208. "lValueRequested": false,
  41209. "nameLocations": [],
  41210. "names": [],
  41211. "nodeType": "FunctionCall",
  41212. "src": "26327:90:50",
  41213. "tryCall": false,
  41214. "typeDescriptions": {
  41215. "typeIdentifier": "t_tuple$__$",
  41216. "typeString": "tuple()"
  41217. }
  41218. },
  41219. "id": 10269,
  41220. "nodeType": "ExpressionStatement",
  41221. "src": "26327:90:50"
  41222. }
  41223. ]
  41224. },
  41225. "implemented": true,
  41226. "kind": "function",
  41227. "modifiers": [],
  41228. "name": "log",
  41229. "nameLocation": "26257:3:50",
  41230. "parameters": {
  41231. "id": 10257,
  41232. "nodeType": "ParameterList",
  41233. "parameters": [
  41234. {
  41235. "constant": false,
  41236. "id": 10250,
  41237. "mutability": "mutable",
  41238. "name": "p0",
  41239. "nameLocation": "26269:2:50",
  41240. "nodeType": "VariableDeclaration",
  41241. "scope": 10271,
  41242. "src": "26261:10:50",
  41243. "stateVariable": false,
  41244. "storageLocation": "default",
  41245. "typeDescriptions": {
  41246. "typeIdentifier": "t_uint256",
  41247. "typeString": "uint256"
  41248. },
  41249. "typeName": {
  41250. "id": 10249,
  41251. "name": "uint256",
  41252. "nodeType": "ElementaryTypeName",
  41253. "src": "26261:7:50",
  41254. "typeDescriptions": {
  41255. "typeIdentifier": "t_uint256",
  41256. "typeString": "uint256"
  41257. }
  41258. },
  41259. "visibility": "internal"
  41260. },
  41261. {
  41262. "constant": false,
  41263. "id": 10252,
  41264. "mutability": "mutable",
  41265. "name": "p1",
  41266. "nameLocation": "26278:2:50",
  41267. "nodeType": "VariableDeclaration",
  41268. "scope": 10271,
  41269. "src": "26273:7:50",
  41270. "stateVariable": false,
  41271. "storageLocation": "default",
  41272. "typeDescriptions": {
  41273. "typeIdentifier": "t_bool",
  41274. "typeString": "bool"
  41275. },
  41276. "typeName": {
  41277. "id": 10251,
  41278. "name": "bool",
  41279. "nodeType": "ElementaryTypeName",
  41280. "src": "26273:4:50",
  41281. "typeDescriptions": {
  41282. "typeIdentifier": "t_bool",
  41283. "typeString": "bool"
  41284. }
  41285. },
  41286. "visibility": "internal"
  41287. },
  41288. {
  41289. "constant": false,
  41290. "id": 10254,
  41291. "mutability": "mutable",
  41292. "name": "p2",
  41293. "nameLocation": "26290:2:50",
  41294. "nodeType": "VariableDeclaration",
  41295. "scope": 10271,
  41296. "src": "26282:10:50",
  41297. "stateVariable": false,
  41298. "storageLocation": "default",
  41299. "typeDescriptions": {
  41300. "typeIdentifier": "t_uint256",
  41301. "typeString": "uint256"
  41302. },
  41303. "typeName": {
  41304. "id": 10253,
  41305. "name": "uint256",
  41306. "nodeType": "ElementaryTypeName",
  41307. "src": "26282:7:50",
  41308. "typeDescriptions": {
  41309. "typeIdentifier": "t_uint256",
  41310. "typeString": "uint256"
  41311. }
  41312. },
  41313. "visibility": "internal"
  41314. },
  41315. {
  41316. "constant": false,
  41317. "id": 10256,
  41318. "mutability": "mutable",
  41319. "name": "p3",
  41320. "nameLocation": "26299:2:50",
  41321. "nodeType": "VariableDeclaration",
  41322. "scope": 10271,
  41323. "src": "26294:7:50",
  41324. "stateVariable": false,
  41325. "storageLocation": "default",
  41326. "typeDescriptions": {
  41327. "typeIdentifier": "t_bool",
  41328. "typeString": "bool"
  41329. },
  41330. "typeName": {
  41331. "id": 10255,
  41332. "name": "bool",
  41333. "nodeType": "ElementaryTypeName",
  41334. "src": "26294:4:50",
  41335. "typeDescriptions": {
  41336. "typeIdentifier": "t_bool",
  41337. "typeString": "bool"
  41338. }
  41339. },
  41340. "visibility": "internal"
  41341. }
  41342. ],
  41343. "src": "26260:42:50"
  41344. },
  41345. "returnParameters": {
  41346. "id": 10258,
  41347. "nodeType": "ParameterList",
  41348. "parameters": [],
  41349. "src": "26317:0:50"
  41350. },
  41351. "scope": 15355,
  41352. "stateMutability": "pure",
  41353. "virtual": false,
  41354. "visibility": "internal"
  41355. },
  41356. {
  41357. "id": 10294,
  41358. "nodeType": "FunctionDefinition",
  41359. "src": "26430:182:50",
  41360. "nodes": [],
  41361. "body": {
  41362. "id": 10293,
  41363. "nodeType": "Block",
  41364. "src": "26502:110:50",
  41365. "nodes": [],
  41366. "statements": [
  41367. {
  41368. "expression": {
  41369. "arguments": [
  41370. {
  41371. "arguments": [
  41372. {
  41373. "hexValue": "6c6f672875696e743235362c626f6f6c2c75696e743235362c6164647265737329",
  41374. "id": 10285,
  41375. "isConstant": false,
  41376. "isLValue": false,
  41377. "isPure": true,
  41378. "kind": "string",
  41379. "lValueRequested": false,
  41380. "nodeType": "Literal",
  41381. "src": "26552:35:50",
  41382. "typeDescriptions": {
  41383. "typeIdentifier": "t_stringliteral_88cb6041693b97a5282ad65a65484c065fbc3d3a4dac698c427f5b30bb33b29b",
  41384. "typeString": "literal_string \"log(uint256,bool,uint256,address)\""
  41385. },
  41386. "value": "log(uint256,bool,uint256,address)"
  41387. },
  41388. {
  41389. "id": 10286,
  41390. "name": "p0",
  41391. "nodeType": "Identifier",
  41392. "overloadedDeclarations": [],
  41393. "referencedDeclaration": 10273,
  41394. "src": "26589:2:50",
  41395. "typeDescriptions": {
  41396. "typeIdentifier": "t_uint256",
  41397. "typeString": "uint256"
  41398. }
  41399. },
  41400. {
  41401. "id": 10287,
  41402. "name": "p1",
  41403. "nodeType": "Identifier",
  41404. "overloadedDeclarations": [],
  41405. "referencedDeclaration": 10275,
  41406. "src": "26593:2:50",
  41407. "typeDescriptions": {
  41408. "typeIdentifier": "t_bool",
  41409. "typeString": "bool"
  41410. }
  41411. },
  41412. {
  41413. "id": 10288,
  41414. "name": "p2",
  41415. "nodeType": "Identifier",
  41416. "overloadedDeclarations": [],
  41417. "referencedDeclaration": 10277,
  41418. "src": "26597:2:50",
  41419. "typeDescriptions": {
  41420. "typeIdentifier": "t_uint256",
  41421. "typeString": "uint256"
  41422. }
  41423. },
  41424. {
  41425. "id": 10289,
  41426. "name": "p3",
  41427. "nodeType": "Identifier",
  41428. "overloadedDeclarations": [],
  41429. "referencedDeclaration": 10279,
  41430. "src": "26601:2:50",
  41431. "typeDescriptions": {
  41432. "typeIdentifier": "t_address",
  41433. "typeString": "address"
  41434. }
  41435. }
  41436. ],
  41437. "expression": {
  41438. "argumentTypes": [
  41439. {
  41440. "typeIdentifier": "t_stringliteral_88cb6041693b97a5282ad65a65484c065fbc3d3a4dac698c427f5b30bb33b29b",
  41441. "typeString": "literal_string \"log(uint256,bool,uint256,address)\""
  41442. },
  41443. {
  41444. "typeIdentifier": "t_uint256",
  41445. "typeString": "uint256"
  41446. },
  41447. {
  41448. "typeIdentifier": "t_bool",
  41449. "typeString": "bool"
  41450. },
  41451. {
  41452. "typeIdentifier": "t_uint256",
  41453. "typeString": "uint256"
  41454. },
  41455. {
  41456. "typeIdentifier": "t_address",
  41457. "typeString": "address"
  41458. }
  41459. ],
  41460. "expression": {
  41461. "id": 10283,
  41462. "name": "abi",
  41463. "nodeType": "Identifier",
  41464. "overloadedDeclarations": [],
  41465. "referencedDeclaration": -1,
  41466. "src": "26528:3:50",
  41467. "typeDescriptions": {
  41468. "typeIdentifier": "t_magic_abi",
  41469. "typeString": "abi"
  41470. }
  41471. },
  41472. "id": 10284,
  41473. "isConstant": false,
  41474. "isLValue": false,
  41475. "isPure": true,
  41476. "lValueRequested": false,
  41477. "memberLocation": "26532:19:50",
  41478. "memberName": "encodeWithSignature",
  41479. "nodeType": "MemberAccess",
  41480. "src": "26528:23:50",
  41481. "typeDescriptions": {
  41482. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  41483. "typeString": "function (string memory) pure returns (bytes memory)"
  41484. }
  41485. },
  41486. "id": 10290,
  41487. "isConstant": false,
  41488. "isLValue": false,
  41489. "isPure": false,
  41490. "kind": "functionCall",
  41491. "lValueRequested": false,
  41492. "nameLocations": [],
  41493. "names": [],
  41494. "nodeType": "FunctionCall",
  41495. "src": "26528:76:50",
  41496. "tryCall": false,
  41497. "typeDescriptions": {
  41498. "typeIdentifier": "t_bytes_memory_ptr",
  41499. "typeString": "bytes memory"
  41500. }
  41501. }
  41502. ],
  41503. "expression": {
  41504. "argumentTypes": [
  41505. {
  41506. "typeIdentifier": "t_bytes_memory_ptr",
  41507. "typeString": "bytes memory"
  41508. }
  41509. ],
  41510. "id": 10282,
  41511. "name": "_sendLogPayload",
  41512. "nodeType": "Identifier",
  41513. "overloadedDeclarations": [],
  41514. "referencedDeclaration": 7315,
  41515. "src": "26512:15:50",
  41516. "typeDescriptions": {
  41517. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  41518. "typeString": "function (bytes memory) pure"
  41519. }
  41520. },
  41521. "id": 10291,
  41522. "isConstant": false,
  41523. "isLValue": false,
  41524. "isPure": false,
  41525. "kind": "functionCall",
  41526. "lValueRequested": false,
  41527. "nameLocations": [],
  41528. "names": [],
  41529. "nodeType": "FunctionCall",
  41530. "src": "26512:93:50",
  41531. "tryCall": false,
  41532. "typeDescriptions": {
  41533. "typeIdentifier": "t_tuple$__$",
  41534. "typeString": "tuple()"
  41535. }
  41536. },
  41537. "id": 10292,
  41538. "nodeType": "ExpressionStatement",
  41539. "src": "26512:93:50"
  41540. }
  41541. ]
  41542. },
  41543. "implemented": true,
  41544. "kind": "function",
  41545. "modifiers": [],
  41546. "name": "log",
  41547. "nameLocation": "26439:3:50",
  41548. "parameters": {
  41549. "id": 10280,
  41550. "nodeType": "ParameterList",
  41551. "parameters": [
  41552. {
  41553. "constant": false,
  41554. "id": 10273,
  41555. "mutability": "mutable",
  41556. "name": "p0",
  41557. "nameLocation": "26451:2:50",
  41558. "nodeType": "VariableDeclaration",
  41559. "scope": 10294,
  41560. "src": "26443:10:50",
  41561. "stateVariable": false,
  41562. "storageLocation": "default",
  41563. "typeDescriptions": {
  41564. "typeIdentifier": "t_uint256",
  41565. "typeString": "uint256"
  41566. },
  41567. "typeName": {
  41568. "id": 10272,
  41569. "name": "uint256",
  41570. "nodeType": "ElementaryTypeName",
  41571. "src": "26443:7:50",
  41572. "typeDescriptions": {
  41573. "typeIdentifier": "t_uint256",
  41574. "typeString": "uint256"
  41575. }
  41576. },
  41577. "visibility": "internal"
  41578. },
  41579. {
  41580. "constant": false,
  41581. "id": 10275,
  41582. "mutability": "mutable",
  41583. "name": "p1",
  41584. "nameLocation": "26460:2:50",
  41585. "nodeType": "VariableDeclaration",
  41586. "scope": 10294,
  41587. "src": "26455:7:50",
  41588. "stateVariable": false,
  41589. "storageLocation": "default",
  41590. "typeDescriptions": {
  41591. "typeIdentifier": "t_bool",
  41592. "typeString": "bool"
  41593. },
  41594. "typeName": {
  41595. "id": 10274,
  41596. "name": "bool",
  41597. "nodeType": "ElementaryTypeName",
  41598. "src": "26455:4:50",
  41599. "typeDescriptions": {
  41600. "typeIdentifier": "t_bool",
  41601. "typeString": "bool"
  41602. }
  41603. },
  41604. "visibility": "internal"
  41605. },
  41606. {
  41607. "constant": false,
  41608. "id": 10277,
  41609. "mutability": "mutable",
  41610. "name": "p2",
  41611. "nameLocation": "26472:2:50",
  41612. "nodeType": "VariableDeclaration",
  41613. "scope": 10294,
  41614. "src": "26464:10:50",
  41615. "stateVariable": false,
  41616. "storageLocation": "default",
  41617. "typeDescriptions": {
  41618. "typeIdentifier": "t_uint256",
  41619. "typeString": "uint256"
  41620. },
  41621. "typeName": {
  41622. "id": 10276,
  41623. "name": "uint256",
  41624. "nodeType": "ElementaryTypeName",
  41625. "src": "26464:7:50",
  41626. "typeDescriptions": {
  41627. "typeIdentifier": "t_uint256",
  41628. "typeString": "uint256"
  41629. }
  41630. },
  41631. "visibility": "internal"
  41632. },
  41633. {
  41634. "constant": false,
  41635. "id": 10279,
  41636. "mutability": "mutable",
  41637. "name": "p3",
  41638. "nameLocation": "26484:2:50",
  41639. "nodeType": "VariableDeclaration",
  41640. "scope": 10294,
  41641. "src": "26476:10:50",
  41642. "stateVariable": false,
  41643. "storageLocation": "default",
  41644. "typeDescriptions": {
  41645. "typeIdentifier": "t_address",
  41646. "typeString": "address"
  41647. },
  41648. "typeName": {
  41649. "id": 10278,
  41650. "name": "address",
  41651. "nodeType": "ElementaryTypeName",
  41652. "src": "26476:7:50",
  41653. "stateMutability": "nonpayable",
  41654. "typeDescriptions": {
  41655. "typeIdentifier": "t_address",
  41656. "typeString": "address"
  41657. }
  41658. },
  41659. "visibility": "internal"
  41660. }
  41661. ],
  41662. "src": "26442:45:50"
  41663. },
  41664. "returnParameters": {
  41665. "id": 10281,
  41666. "nodeType": "ParameterList",
  41667. "parameters": [],
  41668. "src": "26502:0:50"
  41669. },
  41670. "scope": 15355,
  41671. "stateMutability": "pure",
  41672. "virtual": false,
  41673. "visibility": "internal"
  41674. },
  41675. {
  41676. "id": 10317,
  41677. "nodeType": "FunctionDefinition",
  41678. "src": "26618:187:50",
  41679. "nodes": [],
  41680. "body": {
  41681. "id": 10316,
  41682. "nodeType": "Block",
  41683. "src": "26696:109:50",
  41684. "nodes": [],
  41685. "statements": [
  41686. {
  41687. "expression": {
  41688. "arguments": [
  41689. {
  41690. "arguments": [
  41691. {
  41692. "hexValue": "6c6f672875696e743235362c626f6f6c2c737472696e672c75696e7432353629",
  41693. "id": 10308,
  41694. "isConstant": false,
  41695. "isLValue": false,
  41696. "isPure": true,
  41697. "kind": "string",
  41698. "lValueRequested": false,
  41699. "nodeType": "Literal",
  41700. "src": "26746:34:50",
  41701. "typeDescriptions": {
  41702. "typeIdentifier": "t_stringliteral_2c1d07463509a567bf9962980ac948a2ea7c76a53c189a607b7b35b14e806be8",
  41703. "typeString": "literal_string \"log(uint256,bool,string,uint256)\""
  41704. },
  41705. "value": "log(uint256,bool,string,uint256)"
  41706. },
  41707. {
  41708. "id": 10309,
  41709. "name": "p0",
  41710. "nodeType": "Identifier",
  41711. "overloadedDeclarations": [],
  41712. "referencedDeclaration": 10296,
  41713. "src": "26782:2:50",
  41714. "typeDescriptions": {
  41715. "typeIdentifier": "t_uint256",
  41716. "typeString": "uint256"
  41717. }
  41718. },
  41719. {
  41720. "id": 10310,
  41721. "name": "p1",
  41722. "nodeType": "Identifier",
  41723. "overloadedDeclarations": [],
  41724. "referencedDeclaration": 10298,
  41725. "src": "26786:2:50",
  41726. "typeDescriptions": {
  41727. "typeIdentifier": "t_bool",
  41728. "typeString": "bool"
  41729. }
  41730. },
  41731. {
  41732. "id": 10311,
  41733. "name": "p2",
  41734. "nodeType": "Identifier",
  41735. "overloadedDeclarations": [],
  41736. "referencedDeclaration": 10300,
  41737. "src": "26790:2:50",
  41738. "typeDescriptions": {
  41739. "typeIdentifier": "t_string_memory_ptr",
  41740. "typeString": "string memory"
  41741. }
  41742. },
  41743. {
  41744. "id": 10312,
  41745. "name": "p3",
  41746. "nodeType": "Identifier",
  41747. "overloadedDeclarations": [],
  41748. "referencedDeclaration": 10302,
  41749. "src": "26794:2:50",
  41750. "typeDescriptions": {
  41751. "typeIdentifier": "t_uint256",
  41752. "typeString": "uint256"
  41753. }
  41754. }
  41755. ],
  41756. "expression": {
  41757. "argumentTypes": [
  41758. {
  41759. "typeIdentifier": "t_stringliteral_2c1d07463509a567bf9962980ac948a2ea7c76a53c189a607b7b35b14e806be8",
  41760. "typeString": "literal_string \"log(uint256,bool,string,uint256)\""
  41761. },
  41762. {
  41763. "typeIdentifier": "t_uint256",
  41764. "typeString": "uint256"
  41765. },
  41766. {
  41767. "typeIdentifier": "t_bool",
  41768. "typeString": "bool"
  41769. },
  41770. {
  41771. "typeIdentifier": "t_string_memory_ptr",
  41772. "typeString": "string memory"
  41773. },
  41774. {
  41775. "typeIdentifier": "t_uint256",
  41776. "typeString": "uint256"
  41777. }
  41778. ],
  41779. "expression": {
  41780. "id": 10306,
  41781. "name": "abi",
  41782. "nodeType": "Identifier",
  41783. "overloadedDeclarations": [],
  41784. "referencedDeclaration": -1,
  41785. "src": "26722:3:50",
  41786. "typeDescriptions": {
  41787. "typeIdentifier": "t_magic_abi",
  41788. "typeString": "abi"
  41789. }
  41790. },
  41791. "id": 10307,
  41792. "isConstant": false,
  41793. "isLValue": false,
  41794. "isPure": true,
  41795. "lValueRequested": false,
  41796. "memberLocation": "26726:19:50",
  41797. "memberName": "encodeWithSignature",
  41798. "nodeType": "MemberAccess",
  41799. "src": "26722:23:50",
  41800. "typeDescriptions": {
  41801. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  41802. "typeString": "function (string memory) pure returns (bytes memory)"
  41803. }
  41804. },
  41805. "id": 10313,
  41806. "isConstant": false,
  41807. "isLValue": false,
  41808. "isPure": false,
  41809. "kind": "functionCall",
  41810. "lValueRequested": false,
  41811. "nameLocations": [],
  41812. "names": [],
  41813. "nodeType": "FunctionCall",
  41814. "src": "26722:75:50",
  41815. "tryCall": false,
  41816. "typeDescriptions": {
  41817. "typeIdentifier": "t_bytes_memory_ptr",
  41818. "typeString": "bytes memory"
  41819. }
  41820. }
  41821. ],
  41822. "expression": {
  41823. "argumentTypes": [
  41824. {
  41825. "typeIdentifier": "t_bytes_memory_ptr",
  41826. "typeString": "bytes memory"
  41827. }
  41828. ],
  41829. "id": 10305,
  41830. "name": "_sendLogPayload",
  41831. "nodeType": "Identifier",
  41832. "overloadedDeclarations": [],
  41833. "referencedDeclaration": 7315,
  41834. "src": "26706:15:50",
  41835. "typeDescriptions": {
  41836. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  41837. "typeString": "function (bytes memory) pure"
  41838. }
  41839. },
  41840. "id": 10314,
  41841. "isConstant": false,
  41842. "isLValue": false,
  41843. "isPure": false,
  41844. "kind": "functionCall",
  41845. "lValueRequested": false,
  41846. "nameLocations": [],
  41847. "names": [],
  41848. "nodeType": "FunctionCall",
  41849. "src": "26706:92:50",
  41850. "tryCall": false,
  41851. "typeDescriptions": {
  41852. "typeIdentifier": "t_tuple$__$",
  41853. "typeString": "tuple()"
  41854. }
  41855. },
  41856. "id": 10315,
  41857. "nodeType": "ExpressionStatement",
  41858. "src": "26706:92:50"
  41859. }
  41860. ]
  41861. },
  41862. "implemented": true,
  41863. "kind": "function",
  41864. "modifiers": [],
  41865. "name": "log",
  41866. "nameLocation": "26627:3:50",
  41867. "parameters": {
  41868. "id": 10303,
  41869. "nodeType": "ParameterList",
  41870. "parameters": [
  41871. {
  41872. "constant": false,
  41873. "id": 10296,
  41874. "mutability": "mutable",
  41875. "name": "p0",
  41876. "nameLocation": "26639:2:50",
  41877. "nodeType": "VariableDeclaration",
  41878. "scope": 10317,
  41879. "src": "26631:10:50",
  41880. "stateVariable": false,
  41881. "storageLocation": "default",
  41882. "typeDescriptions": {
  41883. "typeIdentifier": "t_uint256",
  41884. "typeString": "uint256"
  41885. },
  41886. "typeName": {
  41887. "id": 10295,
  41888. "name": "uint256",
  41889. "nodeType": "ElementaryTypeName",
  41890. "src": "26631:7:50",
  41891. "typeDescriptions": {
  41892. "typeIdentifier": "t_uint256",
  41893. "typeString": "uint256"
  41894. }
  41895. },
  41896. "visibility": "internal"
  41897. },
  41898. {
  41899. "constant": false,
  41900. "id": 10298,
  41901. "mutability": "mutable",
  41902. "name": "p1",
  41903. "nameLocation": "26648:2:50",
  41904. "nodeType": "VariableDeclaration",
  41905. "scope": 10317,
  41906. "src": "26643:7:50",
  41907. "stateVariable": false,
  41908. "storageLocation": "default",
  41909. "typeDescriptions": {
  41910. "typeIdentifier": "t_bool",
  41911. "typeString": "bool"
  41912. },
  41913. "typeName": {
  41914. "id": 10297,
  41915. "name": "bool",
  41916. "nodeType": "ElementaryTypeName",
  41917. "src": "26643:4:50",
  41918. "typeDescriptions": {
  41919. "typeIdentifier": "t_bool",
  41920. "typeString": "bool"
  41921. }
  41922. },
  41923. "visibility": "internal"
  41924. },
  41925. {
  41926. "constant": false,
  41927. "id": 10300,
  41928. "mutability": "mutable",
  41929. "name": "p2",
  41930. "nameLocation": "26666:2:50",
  41931. "nodeType": "VariableDeclaration",
  41932. "scope": 10317,
  41933. "src": "26652:16:50",
  41934. "stateVariable": false,
  41935. "storageLocation": "memory",
  41936. "typeDescriptions": {
  41937. "typeIdentifier": "t_string_memory_ptr",
  41938. "typeString": "string"
  41939. },
  41940. "typeName": {
  41941. "id": 10299,
  41942. "name": "string",
  41943. "nodeType": "ElementaryTypeName",
  41944. "src": "26652:6:50",
  41945. "typeDescriptions": {
  41946. "typeIdentifier": "t_string_storage_ptr",
  41947. "typeString": "string"
  41948. }
  41949. },
  41950. "visibility": "internal"
  41951. },
  41952. {
  41953. "constant": false,
  41954. "id": 10302,
  41955. "mutability": "mutable",
  41956. "name": "p3",
  41957. "nameLocation": "26678:2:50",
  41958. "nodeType": "VariableDeclaration",
  41959. "scope": 10317,
  41960. "src": "26670:10:50",
  41961. "stateVariable": false,
  41962. "storageLocation": "default",
  41963. "typeDescriptions": {
  41964. "typeIdentifier": "t_uint256",
  41965. "typeString": "uint256"
  41966. },
  41967. "typeName": {
  41968. "id": 10301,
  41969. "name": "uint256",
  41970. "nodeType": "ElementaryTypeName",
  41971. "src": "26670:7:50",
  41972. "typeDescriptions": {
  41973. "typeIdentifier": "t_uint256",
  41974. "typeString": "uint256"
  41975. }
  41976. },
  41977. "visibility": "internal"
  41978. }
  41979. ],
  41980. "src": "26630:51:50"
  41981. },
  41982. "returnParameters": {
  41983. "id": 10304,
  41984. "nodeType": "ParameterList",
  41985. "parameters": [],
  41986. "src": "26696:0:50"
  41987. },
  41988. "scope": 15355,
  41989. "stateMutability": "pure",
  41990. "virtual": false,
  41991. "visibility": "internal"
  41992. },
  41993. {
  41994. "id": 10340,
  41995. "nodeType": "FunctionDefinition",
  41996. "src": "26811:192:50",
  41997. "nodes": [],
  41998. "body": {
  41999. "id": 10339,
  42000. "nodeType": "Block",
  42001. "src": "26895:108:50",
  42002. "nodes": [],
  42003. "statements": [
  42004. {
  42005. "expression": {
  42006. "arguments": [
  42007. {
  42008. "arguments": [
  42009. {
  42010. "hexValue": "6c6f672875696e743235362c626f6f6c2c737472696e672c737472696e6729",
  42011. "id": 10331,
  42012. "isConstant": false,
  42013. "isLValue": false,
  42014. "isPure": true,
  42015. "kind": "string",
  42016. "lValueRequested": false,
  42017. "nodeType": "Literal",
  42018. "src": "26945:33:50",
  42019. "typeDescriptions": {
  42020. "typeIdentifier": "t_stringliteral_68c8b8bd8cd0cfd8add7c6745840520db0bd1049365ac415de6367b3b79b5ddd",
  42021. "typeString": "literal_string \"log(uint256,bool,string,string)\""
  42022. },
  42023. "value": "log(uint256,bool,string,string)"
  42024. },
  42025. {
  42026. "id": 10332,
  42027. "name": "p0",
  42028. "nodeType": "Identifier",
  42029. "overloadedDeclarations": [],
  42030. "referencedDeclaration": 10319,
  42031. "src": "26980:2:50",
  42032. "typeDescriptions": {
  42033. "typeIdentifier": "t_uint256",
  42034. "typeString": "uint256"
  42035. }
  42036. },
  42037. {
  42038. "id": 10333,
  42039. "name": "p1",
  42040. "nodeType": "Identifier",
  42041. "overloadedDeclarations": [],
  42042. "referencedDeclaration": 10321,
  42043. "src": "26984:2:50",
  42044. "typeDescriptions": {
  42045. "typeIdentifier": "t_bool",
  42046. "typeString": "bool"
  42047. }
  42048. },
  42049. {
  42050. "id": 10334,
  42051. "name": "p2",
  42052. "nodeType": "Identifier",
  42053. "overloadedDeclarations": [],
  42054. "referencedDeclaration": 10323,
  42055. "src": "26988:2:50",
  42056. "typeDescriptions": {
  42057. "typeIdentifier": "t_string_memory_ptr",
  42058. "typeString": "string memory"
  42059. }
  42060. },
  42061. {
  42062. "id": 10335,
  42063. "name": "p3",
  42064. "nodeType": "Identifier",
  42065. "overloadedDeclarations": [],
  42066. "referencedDeclaration": 10325,
  42067. "src": "26992:2:50",
  42068. "typeDescriptions": {
  42069. "typeIdentifier": "t_string_memory_ptr",
  42070. "typeString": "string memory"
  42071. }
  42072. }
  42073. ],
  42074. "expression": {
  42075. "argumentTypes": [
  42076. {
  42077. "typeIdentifier": "t_stringliteral_68c8b8bd8cd0cfd8add7c6745840520db0bd1049365ac415de6367b3b79b5ddd",
  42078. "typeString": "literal_string \"log(uint256,bool,string,string)\""
  42079. },
  42080. {
  42081. "typeIdentifier": "t_uint256",
  42082. "typeString": "uint256"
  42083. },
  42084. {
  42085. "typeIdentifier": "t_bool",
  42086. "typeString": "bool"
  42087. },
  42088. {
  42089. "typeIdentifier": "t_string_memory_ptr",
  42090. "typeString": "string memory"
  42091. },
  42092. {
  42093. "typeIdentifier": "t_string_memory_ptr",
  42094. "typeString": "string memory"
  42095. }
  42096. ],
  42097. "expression": {
  42098. "id": 10329,
  42099. "name": "abi",
  42100. "nodeType": "Identifier",
  42101. "overloadedDeclarations": [],
  42102. "referencedDeclaration": -1,
  42103. "src": "26921:3:50",
  42104. "typeDescriptions": {
  42105. "typeIdentifier": "t_magic_abi",
  42106. "typeString": "abi"
  42107. }
  42108. },
  42109. "id": 10330,
  42110. "isConstant": false,
  42111. "isLValue": false,
  42112. "isPure": true,
  42113. "lValueRequested": false,
  42114. "memberLocation": "26925:19:50",
  42115. "memberName": "encodeWithSignature",
  42116. "nodeType": "MemberAccess",
  42117. "src": "26921:23:50",
  42118. "typeDescriptions": {
  42119. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  42120. "typeString": "function (string memory) pure returns (bytes memory)"
  42121. }
  42122. },
  42123. "id": 10336,
  42124. "isConstant": false,
  42125. "isLValue": false,
  42126. "isPure": false,
  42127. "kind": "functionCall",
  42128. "lValueRequested": false,
  42129. "nameLocations": [],
  42130. "names": [],
  42131. "nodeType": "FunctionCall",
  42132. "src": "26921:74:50",
  42133. "tryCall": false,
  42134. "typeDescriptions": {
  42135. "typeIdentifier": "t_bytes_memory_ptr",
  42136. "typeString": "bytes memory"
  42137. }
  42138. }
  42139. ],
  42140. "expression": {
  42141. "argumentTypes": [
  42142. {
  42143. "typeIdentifier": "t_bytes_memory_ptr",
  42144. "typeString": "bytes memory"
  42145. }
  42146. ],
  42147. "id": 10328,
  42148. "name": "_sendLogPayload",
  42149. "nodeType": "Identifier",
  42150. "overloadedDeclarations": [],
  42151. "referencedDeclaration": 7315,
  42152. "src": "26905:15:50",
  42153. "typeDescriptions": {
  42154. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  42155. "typeString": "function (bytes memory) pure"
  42156. }
  42157. },
  42158. "id": 10337,
  42159. "isConstant": false,
  42160. "isLValue": false,
  42161. "isPure": false,
  42162. "kind": "functionCall",
  42163. "lValueRequested": false,
  42164. "nameLocations": [],
  42165. "names": [],
  42166. "nodeType": "FunctionCall",
  42167. "src": "26905:91:50",
  42168. "tryCall": false,
  42169. "typeDescriptions": {
  42170. "typeIdentifier": "t_tuple$__$",
  42171. "typeString": "tuple()"
  42172. }
  42173. },
  42174. "id": 10338,
  42175. "nodeType": "ExpressionStatement",
  42176. "src": "26905:91:50"
  42177. }
  42178. ]
  42179. },
  42180. "implemented": true,
  42181. "kind": "function",
  42182. "modifiers": [],
  42183. "name": "log",
  42184. "nameLocation": "26820:3:50",
  42185. "parameters": {
  42186. "id": 10326,
  42187. "nodeType": "ParameterList",
  42188. "parameters": [
  42189. {
  42190. "constant": false,
  42191. "id": 10319,
  42192. "mutability": "mutable",
  42193. "name": "p0",
  42194. "nameLocation": "26832:2:50",
  42195. "nodeType": "VariableDeclaration",
  42196. "scope": 10340,
  42197. "src": "26824:10:50",
  42198. "stateVariable": false,
  42199. "storageLocation": "default",
  42200. "typeDescriptions": {
  42201. "typeIdentifier": "t_uint256",
  42202. "typeString": "uint256"
  42203. },
  42204. "typeName": {
  42205. "id": 10318,
  42206. "name": "uint256",
  42207. "nodeType": "ElementaryTypeName",
  42208. "src": "26824:7:50",
  42209. "typeDescriptions": {
  42210. "typeIdentifier": "t_uint256",
  42211. "typeString": "uint256"
  42212. }
  42213. },
  42214. "visibility": "internal"
  42215. },
  42216. {
  42217. "constant": false,
  42218. "id": 10321,
  42219. "mutability": "mutable",
  42220. "name": "p1",
  42221. "nameLocation": "26841:2:50",
  42222. "nodeType": "VariableDeclaration",
  42223. "scope": 10340,
  42224. "src": "26836:7:50",
  42225. "stateVariable": false,
  42226. "storageLocation": "default",
  42227. "typeDescriptions": {
  42228. "typeIdentifier": "t_bool",
  42229. "typeString": "bool"
  42230. },
  42231. "typeName": {
  42232. "id": 10320,
  42233. "name": "bool",
  42234. "nodeType": "ElementaryTypeName",
  42235. "src": "26836:4:50",
  42236. "typeDescriptions": {
  42237. "typeIdentifier": "t_bool",
  42238. "typeString": "bool"
  42239. }
  42240. },
  42241. "visibility": "internal"
  42242. },
  42243. {
  42244. "constant": false,
  42245. "id": 10323,
  42246. "mutability": "mutable",
  42247. "name": "p2",
  42248. "nameLocation": "26859:2:50",
  42249. "nodeType": "VariableDeclaration",
  42250. "scope": 10340,
  42251. "src": "26845:16:50",
  42252. "stateVariable": false,
  42253. "storageLocation": "memory",
  42254. "typeDescriptions": {
  42255. "typeIdentifier": "t_string_memory_ptr",
  42256. "typeString": "string"
  42257. },
  42258. "typeName": {
  42259. "id": 10322,
  42260. "name": "string",
  42261. "nodeType": "ElementaryTypeName",
  42262. "src": "26845:6:50",
  42263. "typeDescriptions": {
  42264. "typeIdentifier": "t_string_storage_ptr",
  42265. "typeString": "string"
  42266. }
  42267. },
  42268. "visibility": "internal"
  42269. },
  42270. {
  42271. "constant": false,
  42272. "id": 10325,
  42273. "mutability": "mutable",
  42274. "name": "p3",
  42275. "nameLocation": "26877:2:50",
  42276. "nodeType": "VariableDeclaration",
  42277. "scope": 10340,
  42278. "src": "26863:16:50",
  42279. "stateVariable": false,
  42280. "storageLocation": "memory",
  42281. "typeDescriptions": {
  42282. "typeIdentifier": "t_string_memory_ptr",
  42283. "typeString": "string"
  42284. },
  42285. "typeName": {
  42286. "id": 10324,
  42287. "name": "string",
  42288. "nodeType": "ElementaryTypeName",
  42289. "src": "26863:6:50",
  42290. "typeDescriptions": {
  42291. "typeIdentifier": "t_string_storage_ptr",
  42292. "typeString": "string"
  42293. }
  42294. },
  42295. "visibility": "internal"
  42296. }
  42297. ],
  42298. "src": "26823:57:50"
  42299. },
  42300. "returnParameters": {
  42301. "id": 10327,
  42302. "nodeType": "ParameterList",
  42303. "parameters": [],
  42304. "src": "26895:0:50"
  42305. },
  42306. "scope": 15355,
  42307. "stateMutability": "pure",
  42308. "virtual": false,
  42309. "visibility": "internal"
  42310. },
  42311. {
  42312. "id": 10363,
  42313. "nodeType": "FunctionDefinition",
  42314. "src": "27009:181:50",
  42315. "nodes": [],
  42316. "body": {
  42317. "id": 10362,
  42318. "nodeType": "Block",
  42319. "src": "27084:106:50",
  42320. "nodes": [],
  42321. "statements": [
  42322. {
  42323. "expression": {
  42324. "arguments": [
  42325. {
  42326. "arguments": [
  42327. {
  42328. "hexValue": "6c6f672875696e743235362c626f6f6c2c737472696e672c626f6f6c29",
  42329. "id": 10354,
  42330. "isConstant": false,
  42331. "isLValue": false,
  42332. "isPure": true,
  42333. "kind": "string",
  42334. "lValueRequested": false,
  42335. "nodeType": "Literal",
  42336. "src": "27134:31:50",
  42337. "typeDescriptions": {
  42338. "typeIdentifier": "t_stringliteral_eb928d7f2c458ba40d8ba853c60153b2f73ca9189d4be051103bc8a6c10d45ad",
  42339. "typeString": "literal_string \"log(uint256,bool,string,bool)\""
  42340. },
  42341. "value": "log(uint256,bool,string,bool)"
  42342. },
  42343. {
  42344. "id": 10355,
  42345. "name": "p0",
  42346. "nodeType": "Identifier",
  42347. "overloadedDeclarations": [],
  42348. "referencedDeclaration": 10342,
  42349. "src": "27167:2:50",
  42350. "typeDescriptions": {
  42351. "typeIdentifier": "t_uint256",
  42352. "typeString": "uint256"
  42353. }
  42354. },
  42355. {
  42356. "id": 10356,
  42357. "name": "p1",
  42358. "nodeType": "Identifier",
  42359. "overloadedDeclarations": [],
  42360. "referencedDeclaration": 10344,
  42361. "src": "27171:2:50",
  42362. "typeDescriptions": {
  42363. "typeIdentifier": "t_bool",
  42364. "typeString": "bool"
  42365. }
  42366. },
  42367. {
  42368. "id": 10357,
  42369. "name": "p2",
  42370. "nodeType": "Identifier",
  42371. "overloadedDeclarations": [],
  42372. "referencedDeclaration": 10346,
  42373. "src": "27175:2:50",
  42374. "typeDescriptions": {
  42375. "typeIdentifier": "t_string_memory_ptr",
  42376. "typeString": "string memory"
  42377. }
  42378. },
  42379. {
  42380. "id": 10358,
  42381. "name": "p3",
  42382. "nodeType": "Identifier",
  42383. "overloadedDeclarations": [],
  42384. "referencedDeclaration": 10348,
  42385. "src": "27179:2:50",
  42386. "typeDescriptions": {
  42387. "typeIdentifier": "t_bool",
  42388. "typeString": "bool"
  42389. }
  42390. }
  42391. ],
  42392. "expression": {
  42393. "argumentTypes": [
  42394. {
  42395. "typeIdentifier": "t_stringliteral_eb928d7f2c458ba40d8ba853c60153b2f73ca9189d4be051103bc8a6c10d45ad",
  42396. "typeString": "literal_string \"log(uint256,bool,string,bool)\""
  42397. },
  42398. {
  42399. "typeIdentifier": "t_uint256",
  42400. "typeString": "uint256"
  42401. },
  42402. {
  42403. "typeIdentifier": "t_bool",
  42404. "typeString": "bool"
  42405. },
  42406. {
  42407. "typeIdentifier": "t_string_memory_ptr",
  42408. "typeString": "string memory"
  42409. },
  42410. {
  42411. "typeIdentifier": "t_bool",
  42412. "typeString": "bool"
  42413. }
  42414. ],
  42415. "expression": {
  42416. "id": 10352,
  42417. "name": "abi",
  42418. "nodeType": "Identifier",
  42419. "overloadedDeclarations": [],
  42420. "referencedDeclaration": -1,
  42421. "src": "27110:3:50",
  42422. "typeDescriptions": {
  42423. "typeIdentifier": "t_magic_abi",
  42424. "typeString": "abi"
  42425. }
  42426. },
  42427. "id": 10353,
  42428. "isConstant": false,
  42429. "isLValue": false,
  42430. "isPure": true,
  42431. "lValueRequested": false,
  42432. "memberLocation": "27114:19:50",
  42433. "memberName": "encodeWithSignature",
  42434. "nodeType": "MemberAccess",
  42435. "src": "27110:23:50",
  42436. "typeDescriptions": {
  42437. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  42438. "typeString": "function (string memory) pure returns (bytes memory)"
  42439. }
  42440. },
  42441. "id": 10359,
  42442. "isConstant": false,
  42443. "isLValue": false,
  42444. "isPure": false,
  42445. "kind": "functionCall",
  42446. "lValueRequested": false,
  42447. "nameLocations": [],
  42448. "names": [],
  42449. "nodeType": "FunctionCall",
  42450. "src": "27110:72:50",
  42451. "tryCall": false,
  42452. "typeDescriptions": {
  42453. "typeIdentifier": "t_bytes_memory_ptr",
  42454. "typeString": "bytes memory"
  42455. }
  42456. }
  42457. ],
  42458. "expression": {
  42459. "argumentTypes": [
  42460. {
  42461. "typeIdentifier": "t_bytes_memory_ptr",
  42462. "typeString": "bytes memory"
  42463. }
  42464. ],
  42465. "id": 10351,
  42466. "name": "_sendLogPayload",
  42467. "nodeType": "Identifier",
  42468. "overloadedDeclarations": [],
  42469. "referencedDeclaration": 7315,
  42470. "src": "27094:15:50",
  42471. "typeDescriptions": {
  42472. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  42473. "typeString": "function (bytes memory) pure"
  42474. }
  42475. },
  42476. "id": 10360,
  42477. "isConstant": false,
  42478. "isLValue": false,
  42479. "isPure": false,
  42480. "kind": "functionCall",
  42481. "lValueRequested": false,
  42482. "nameLocations": [],
  42483. "names": [],
  42484. "nodeType": "FunctionCall",
  42485. "src": "27094:89:50",
  42486. "tryCall": false,
  42487. "typeDescriptions": {
  42488. "typeIdentifier": "t_tuple$__$",
  42489. "typeString": "tuple()"
  42490. }
  42491. },
  42492. "id": 10361,
  42493. "nodeType": "ExpressionStatement",
  42494. "src": "27094:89:50"
  42495. }
  42496. ]
  42497. },
  42498. "implemented": true,
  42499. "kind": "function",
  42500. "modifiers": [],
  42501. "name": "log",
  42502. "nameLocation": "27018:3:50",
  42503. "parameters": {
  42504. "id": 10349,
  42505. "nodeType": "ParameterList",
  42506. "parameters": [
  42507. {
  42508. "constant": false,
  42509. "id": 10342,
  42510. "mutability": "mutable",
  42511. "name": "p0",
  42512. "nameLocation": "27030:2:50",
  42513. "nodeType": "VariableDeclaration",
  42514. "scope": 10363,
  42515. "src": "27022:10:50",
  42516. "stateVariable": false,
  42517. "storageLocation": "default",
  42518. "typeDescriptions": {
  42519. "typeIdentifier": "t_uint256",
  42520. "typeString": "uint256"
  42521. },
  42522. "typeName": {
  42523. "id": 10341,
  42524. "name": "uint256",
  42525. "nodeType": "ElementaryTypeName",
  42526. "src": "27022:7:50",
  42527. "typeDescriptions": {
  42528. "typeIdentifier": "t_uint256",
  42529. "typeString": "uint256"
  42530. }
  42531. },
  42532. "visibility": "internal"
  42533. },
  42534. {
  42535. "constant": false,
  42536. "id": 10344,
  42537. "mutability": "mutable",
  42538. "name": "p1",
  42539. "nameLocation": "27039:2:50",
  42540. "nodeType": "VariableDeclaration",
  42541. "scope": 10363,
  42542. "src": "27034:7:50",
  42543. "stateVariable": false,
  42544. "storageLocation": "default",
  42545. "typeDescriptions": {
  42546. "typeIdentifier": "t_bool",
  42547. "typeString": "bool"
  42548. },
  42549. "typeName": {
  42550. "id": 10343,
  42551. "name": "bool",
  42552. "nodeType": "ElementaryTypeName",
  42553. "src": "27034:4:50",
  42554. "typeDescriptions": {
  42555. "typeIdentifier": "t_bool",
  42556. "typeString": "bool"
  42557. }
  42558. },
  42559. "visibility": "internal"
  42560. },
  42561. {
  42562. "constant": false,
  42563. "id": 10346,
  42564. "mutability": "mutable",
  42565. "name": "p2",
  42566. "nameLocation": "27057:2:50",
  42567. "nodeType": "VariableDeclaration",
  42568. "scope": 10363,
  42569. "src": "27043:16:50",
  42570. "stateVariable": false,
  42571. "storageLocation": "memory",
  42572. "typeDescriptions": {
  42573. "typeIdentifier": "t_string_memory_ptr",
  42574. "typeString": "string"
  42575. },
  42576. "typeName": {
  42577. "id": 10345,
  42578. "name": "string",
  42579. "nodeType": "ElementaryTypeName",
  42580. "src": "27043:6:50",
  42581. "typeDescriptions": {
  42582. "typeIdentifier": "t_string_storage_ptr",
  42583. "typeString": "string"
  42584. }
  42585. },
  42586. "visibility": "internal"
  42587. },
  42588. {
  42589. "constant": false,
  42590. "id": 10348,
  42591. "mutability": "mutable",
  42592. "name": "p3",
  42593. "nameLocation": "27066:2:50",
  42594. "nodeType": "VariableDeclaration",
  42595. "scope": 10363,
  42596. "src": "27061:7:50",
  42597. "stateVariable": false,
  42598. "storageLocation": "default",
  42599. "typeDescriptions": {
  42600. "typeIdentifier": "t_bool",
  42601. "typeString": "bool"
  42602. },
  42603. "typeName": {
  42604. "id": 10347,
  42605. "name": "bool",
  42606. "nodeType": "ElementaryTypeName",
  42607. "src": "27061:4:50",
  42608. "typeDescriptions": {
  42609. "typeIdentifier": "t_bool",
  42610. "typeString": "bool"
  42611. }
  42612. },
  42613. "visibility": "internal"
  42614. }
  42615. ],
  42616. "src": "27021:48:50"
  42617. },
  42618. "returnParameters": {
  42619. "id": 10350,
  42620. "nodeType": "ParameterList",
  42621. "parameters": [],
  42622. "src": "27084:0:50"
  42623. },
  42624. "scope": 15355,
  42625. "stateMutability": "pure",
  42626. "virtual": false,
  42627. "visibility": "internal"
  42628. },
  42629. {
  42630. "id": 10386,
  42631. "nodeType": "FunctionDefinition",
  42632. "src": "27196:187:50",
  42633. "nodes": [],
  42634. "body": {
  42635. "id": 10385,
  42636. "nodeType": "Block",
  42637. "src": "27274:109:50",
  42638. "nodes": [],
  42639. "statements": [
  42640. {
  42641. "expression": {
  42642. "arguments": [
  42643. {
  42644. "arguments": [
  42645. {
  42646. "hexValue": "6c6f672875696e743235362c626f6f6c2c737472696e672c6164647265737329",
  42647. "id": 10377,
  42648. "isConstant": false,
  42649. "isLValue": false,
  42650. "isPure": true,
  42651. "kind": "string",
  42652. "lValueRequested": false,
  42653. "nodeType": "Literal",
  42654. "src": "27324:34:50",
  42655. "typeDescriptions": {
  42656. "typeIdentifier": "t_stringliteral_ef529018e81552426f837435fb92b39b88965df2736546faff28c9f06e5f58b5",
  42657. "typeString": "literal_string \"log(uint256,bool,string,address)\""
  42658. },
  42659. "value": "log(uint256,bool,string,address)"
  42660. },
  42661. {
  42662. "id": 10378,
  42663. "name": "p0",
  42664. "nodeType": "Identifier",
  42665. "overloadedDeclarations": [],
  42666. "referencedDeclaration": 10365,
  42667. "src": "27360:2:50",
  42668. "typeDescriptions": {
  42669. "typeIdentifier": "t_uint256",
  42670. "typeString": "uint256"
  42671. }
  42672. },
  42673. {
  42674. "id": 10379,
  42675. "name": "p1",
  42676. "nodeType": "Identifier",
  42677. "overloadedDeclarations": [],
  42678. "referencedDeclaration": 10367,
  42679. "src": "27364:2:50",
  42680. "typeDescriptions": {
  42681. "typeIdentifier": "t_bool",
  42682. "typeString": "bool"
  42683. }
  42684. },
  42685. {
  42686. "id": 10380,
  42687. "name": "p2",
  42688. "nodeType": "Identifier",
  42689. "overloadedDeclarations": [],
  42690. "referencedDeclaration": 10369,
  42691. "src": "27368:2:50",
  42692. "typeDescriptions": {
  42693. "typeIdentifier": "t_string_memory_ptr",
  42694. "typeString": "string memory"
  42695. }
  42696. },
  42697. {
  42698. "id": 10381,
  42699. "name": "p3",
  42700. "nodeType": "Identifier",
  42701. "overloadedDeclarations": [],
  42702. "referencedDeclaration": 10371,
  42703. "src": "27372:2:50",
  42704. "typeDescriptions": {
  42705. "typeIdentifier": "t_address",
  42706. "typeString": "address"
  42707. }
  42708. }
  42709. ],
  42710. "expression": {
  42711. "argumentTypes": [
  42712. {
  42713. "typeIdentifier": "t_stringliteral_ef529018e81552426f837435fb92b39b88965df2736546faff28c9f06e5f58b5",
  42714. "typeString": "literal_string \"log(uint256,bool,string,address)\""
  42715. },
  42716. {
  42717. "typeIdentifier": "t_uint256",
  42718. "typeString": "uint256"
  42719. },
  42720. {
  42721. "typeIdentifier": "t_bool",
  42722. "typeString": "bool"
  42723. },
  42724. {
  42725. "typeIdentifier": "t_string_memory_ptr",
  42726. "typeString": "string memory"
  42727. },
  42728. {
  42729. "typeIdentifier": "t_address",
  42730. "typeString": "address"
  42731. }
  42732. ],
  42733. "expression": {
  42734. "id": 10375,
  42735. "name": "abi",
  42736. "nodeType": "Identifier",
  42737. "overloadedDeclarations": [],
  42738. "referencedDeclaration": -1,
  42739. "src": "27300:3:50",
  42740. "typeDescriptions": {
  42741. "typeIdentifier": "t_magic_abi",
  42742. "typeString": "abi"
  42743. }
  42744. },
  42745. "id": 10376,
  42746. "isConstant": false,
  42747. "isLValue": false,
  42748. "isPure": true,
  42749. "lValueRequested": false,
  42750. "memberLocation": "27304:19:50",
  42751. "memberName": "encodeWithSignature",
  42752. "nodeType": "MemberAccess",
  42753. "src": "27300:23:50",
  42754. "typeDescriptions": {
  42755. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  42756. "typeString": "function (string memory) pure returns (bytes memory)"
  42757. }
  42758. },
  42759. "id": 10382,
  42760. "isConstant": false,
  42761. "isLValue": false,
  42762. "isPure": false,
  42763. "kind": "functionCall",
  42764. "lValueRequested": false,
  42765. "nameLocations": [],
  42766. "names": [],
  42767. "nodeType": "FunctionCall",
  42768. "src": "27300:75:50",
  42769. "tryCall": false,
  42770. "typeDescriptions": {
  42771. "typeIdentifier": "t_bytes_memory_ptr",
  42772. "typeString": "bytes memory"
  42773. }
  42774. }
  42775. ],
  42776. "expression": {
  42777. "argumentTypes": [
  42778. {
  42779. "typeIdentifier": "t_bytes_memory_ptr",
  42780. "typeString": "bytes memory"
  42781. }
  42782. ],
  42783. "id": 10374,
  42784. "name": "_sendLogPayload",
  42785. "nodeType": "Identifier",
  42786. "overloadedDeclarations": [],
  42787. "referencedDeclaration": 7315,
  42788. "src": "27284:15:50",
  42789. "typeDescriptions": {
  42790. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  42791. "typeString": "function (bytes memory) pure"
  42792. }
  42793. },
  42794. "id": 10383,
  42795. "isConstant": false,
  42796. "isLValue": false,
  42797. "isPure": false,
  42798. "kind": "functionCall",
  42799. "lValueRequested": false,
  42800. "nameLocations": [],
  42801. "names": [],
  42802. "nodeType": "FunctionCall",
  42803. "src": "27284:92:50",
  42804. "tryCall": false,
  42805. "typeDescriptions": {
  42806. "typeIdentifier": "t_tuple$__$",
  42807. "typeString": "tuple()"
  42808. }
  42809. },
  42810. "id": 10384,
  42811. "nodeType": "ExpressionStatement",
  42812. "src": "27284:92:50"
  42813. }
  42814. ]
  42815. },
  42816. "implemented": true,
  42817. "kind": "function",
  42818. "modifiers": [],
  42819. "name": "log",
  42820. "nameLocation": "27205:3:50",
  42821. "parameters": {
  42822. "id": 10372,
  42823. "nodeType": "ParameterList",
  42824. "parameters": [
  42825. {
  42826. "constant": false,
  42827. "id": 10365,
  42828. "mutability": "mutable",
  42829. "name": "p0",
  42830. "nameLocation": "27217:2:50",
  42831. "nodeType": "VariableDeclaration",
  42832. "scope": 10386,
  42833. "src": "27209:10:50",
  42834. "stateVariable": false,
  42835. "storageLocation": "default",
  42836. "typeDescriptions": {
  42837. "typeIdentifier": "t_uint256",
  42838. "typeString": "uint256"
  42839. },
  42840. "typeName": {
  42841. "id": 10364,
  42842. "name": "uint256",
  42843. "nodeType": "ElementaryTypeName",
  42844. "src": "27209:7:50",
  42845. "typeDescriptions": {
  42846. "typeIdentifier": "t_uint256",
  42847. "typeString": "uint256"
  42848. }
  42849. },
  42850. "visibility": "internal"
  42851. },
  42852. {
  42853. "constant": false,
  42854. "id": 10367,
  42855. "mutability": "mutable",
  42856. "name": "p1",
  42857. "nameLocation": "27226:2:50",
  42858. "nodeType": "VariableDeclaration",
  42859. "scope": 10386,
  42860. "src": "27221:7:50",
  42861. "stateVariable": false,
  42862. "storageLocation": "default",
  42863. "typeDescriptions": {
  42864. "typeIdentifier": "t_bool",
  42865. "typeString": "bool"
  42866. },
  42867. "typeName": {
  42868. "id": 10366,
  42869. "name": "bool",
  42870. "nodeType": "ElementaryTypeName",
  42871. "src": "27221:4:50",
  42872. "typeDescriptions": {
  42873. "typeIdentifier": "t_bool",
  42874. "typeString": "bool"
  42875. }
  42876. },
  42877. "visibility": "internal"
  42878. },
  42879. {
  42880. "constant": false,
  42881. "id": 10369,
  42882. "mutability": "mutable",
  42883. "name": "p2",
  42884. "nameLocation": "27244:2:50",
  42885. "nodeType": "VariableDeclaration",
  42886. "scope": 10386,
  42887. "src": "27230:16:50",
  42888. "stateVariable": false,
  42889. "storageLocation": "memory",
  42890. "typeDescriptions": {
  42891. "typeIdentifier": "t_string_memory_ptr",
  42892. "typeString": "string"
  42893. },
  42894. "typeName": {
  42895. "id": 10368,
  42896. "name": "string",
  42897. "nodeType": "ElementaryTypeName",
  42898. "src": "27230:6:50",
  42899. "typeDescriptions": {
  42900. "typeIdentifier": "t_string_storage_ptr",
  42901. "typeString": "string"
  42902. }
  42903. },
  42904. "visibility": "internal"
  42905. },
  42906. {
  42907. "constant": false,
  42908. "id": 10371,
  42909. "mutability": "mutable",
  42910. "name": "p3",
  42911. "nameLocation": "27256:2:50",
  42912. "nodeType": "VariableDeclaration",
  42913. "scope": 10386,
  42914. "src": "27248:10:50",
  42915. "stateVariable": false,
  42916. "storageLocation": "default",
  42917. "typeDescriptions": {
  42918. "typeIdentifier": "t_address",
  42919. "typeString": "address"
  42920. },
  42921. "typeName": {
  42922. "id": 10370,
  42923. "name": "address",
  42924. "nodeType": "ElementaryTypeName",
  42925. "src": "27248:7:50",
  42926. "stateMutability": "nonpayable",
  42927. "typeDescriptions": {
  42928. "typeIdentifier": "t_address",
  42929. "typeString": "address"
  42930. }
  42931. },
  42932. "visibility": "internal"
  42933. }
  42934. ],
  42935. "src": "27208:51:50"
  42936. },
  42937. "returnParameters": {
  42938. "id": 10373,
  42939. "nodeType": "ParameterList",
  42940. "parameters": [],
  42941. "src": "27274:0:50"
  42942. },
  42943. "scope": 15355,
  42944. "stateMutability": "pure",
  42945. "virtual": false,
  42946. "visibility": "internal"
  42947. },
  42948. {
  42949. "id": 10409,
  42950. "nodeType": "FunctionDefinition",
  42951. "src": "27389:176:50",
  42952. "nodes": [],
  42953. "body": {
  42954. "id": 10408,
  42955. "nodeType": "Block",
  42956. "src": "27458:107:50",
  42957. "nodes": [],
  42958. "statements": [
  42959. {
  42960. "expression": {
  42961. "arguments": [
  42962. {
  42963. "arguments": [
  42964. {
  42965. "hexValue": "6c6f672875696e743235362c626f6f6c2c626f6f6c2c75696e7432353629",
  42966. "id": 10400,
  42967. "isConstant": false,
  42968. "isLValue": false,
  42969. "isPure": true,
  42970. "kind": "string",
  42971. "lValueRequested": false,
  42972. "nodeType": "Literal",
  42973. "src": "27508:32:50",
  42974. "typeDescriptions": {
  42975. "typeIdentifier": "t_stringliteral_7464ce2380e6490f75dd524dd03612157b27bca22ecbf1bc2f0ca22ac41015d1",
  42976. "typeString": "literal_string \"log(uint256,bool,bool,uint256)\""
  42977. },
  42978. "value": "log(uint256,bool,bool,uint256)"
  42979. },
  42980. {
  42981. "id": 10401,
  42982. "name": "p0",
  42983. "nodeType": "Identifier",
  42984. "overloadedDeclarations": [],
  42985. "referencedDeclaration": 10388,
  42986. "src": "27542:2:50",
  42987. "typeDescriptions": {
  42988. "typeIdentifier": "t_uint256",
  42989. "typeString": "uint256"
  42990. }
  42991. },
  42992. {
  42993. "id": 10402,
  42994. "name": "p1",
  42995. "nodeType": "Identifier",
  42996. "overloadedDeclarations": [],
  42997. "referencedDeclaration": 10390,
  42998. "src": "27546:2:50",
  42999. "typeDescriptions": {
  43000. "typeIdentifier": "t_bool",
  43001. "typeString": "bool"
  43002. }
  43003. },
  43004. {
  43005. "id": 10403,
  43006. "name": "p2",
  43007. "nodeType": "Identifier",
  43008. "overloadedDeclarations": [],
  43009. "referencedDeclaration": 10392,
  43010. "src": "27550:2:50",
  43011. "typeDescriptions": {
  43012. "typeIdentifier": "t_bool",
  43013. "typeString": "bool"
  43014. }
  43015. },
  43016. {
  43017. "id": 10404,
  43018. "name": "p3",
  43019. "nodeType": "Identifier",
  43020. "overloadedDeclarations": [],
  43021. "referencedDeclaration": 10394,
  43022. "src": "27554:2:50",
  43023. "typeDescriptions": {
  43024. "typeIdentifier": "t_uint256",
  43025. "typeString": "uint256"
  43026. }
  43027. }
  43028. ],
  43029. "expression": {
  43030. "argumentTypes": [
  43031. {
  43032. "typeIdentifier": "t_stringliteral_7464ce2380e6490f75dd524dd03612157b27bca22ecbf1bc2f0ca22ac41015d1",
  43033. "typeString": "literal_string \"log(uint256,bool,bool,uint256)\""
  43034. },
  43035. {
  43036. "typeIdentifier": "t_uint256",
  43037. "typeString": "uint256"
  43038. },
  43039. {
  43040. "typeIdentifier": "t_bool",
  43041. "typeString": "bool"
  43042. },
  43043. {
  43044. "typeIdentifier": "t_bool",
  43045. "typeString": "bool"
  43046. },
  43047. {
  43048. "typeIdentifier": "t_uint256",
  43049. "typeString": "uint256"
  43050. }
  43051. ],
  43052. "expression": {
  43053. "id": 10398,
  43054. "name": "abi",
  43055. "nodeType": "Identifier",
  43056. "overloadedDeclarations": [],
  43057. "referencedDeclaration": -1,
  43058. "src": "27484:3:50",
  43059. "typeDescriptions": {
  43060. "typeIdentifier": "t_magic_abi",
  43061. "typeString": "abi"
  43062. }
  43063. },
  43064. "id": 10399,
  43065. "isConstant": false,
  43066. "isLValue": false,
  43067. "isPure": true,
  43068. "lValueRequested": false,
  43069. "memberLocation": "27488:19:50",
  43070. "memberName": "encodeWithSignature",
  43071. "nodeType": "MemberAccess",
  43072. "src": "27484:23:50",
  43073. "typeDescriptions": {
  43074. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  43075. "typeString": "function (string memory) pure returns (bytes memory)"
  43076. }
  43077. },
  43078. "id": 10405,
  43079. "isConstant": false,
  43080. "isLValue": false,
  43081. "isPure": false,
  43082. "kind": "functionCall",
  43083. "lValueRequested": false,
  43084. "nameLocations": [],
  43085. "names": [],
  43086. "nodeType": "FunctionCall",
  43087. "src": "27484:73:50",
  43088. "tryCall": false,
  43089. "typeDescriptions": {
  43090. "typeIdentifier": "t_bytes_memory_ptr",
  43091. "typeString": "bytes memory"
  43092. }
  43093. }
  43094. ],
  43095. "expression": {
  43096. "argumentTypes": [
  43097. {
  43098. "typeIdentifier": "t_bytes_memory_ptr",
  43099. "typeString": "bytes memory"
  43100. }
  43101. ],
  43102. "id": 10397,
  43103. "name": "_sendLogPayload",
  43104. "nodeType": "Identifier",
  43105. "overloadedDeclarations": [],
  43106. "referencedDeclaration": 7315,
  43107. "src": "27468:15:50",
  43108. "typeDescriptions": {
  43109. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  43110. "typeString": "function (bytes memory) pure"
  43111. }
  43112. },
  43113. "id": 10406,
  43114. "isConstant": false,
  43115. "isLValue": false,
  43116. "isPure": false,
  43117. "kind": "functionCall",
  43118. "lValueRequested": false,
  43119. "nameLocations": [],
  43120. "names": [],
  43121. "nodeType": "FunctionCall",
  43122. "src": "27468:90:50",
  43123. "tryCall": false,
  43124. "typeDescriptions": {
  43125. "typeIdentifier": "t_tuple$__$",
  43126. "typeString": "tuple()"
  43127. }
  43128. },
  43129. "id": 10407,
  43130. "nodeType": "ExpressionStatement",
  43131. "src": "27468:90:50"
  43132. }
  43133. ]
  43134. },
  43135. "implemented": true,
  43136. "kind": "function",
  43137. "modifiers": [],
  43138. "name": "log",
  43139. "nameLocation": "27398:3:50",
  43140. "parameters": {
  43141. "id": 10395,
  43142. "nodeType": "ParameterList",
  43143. "parameters": [
  43144. {
  43145. "constant": false,
  43146. "id": 10388,
  43147. "mutability": "mutable",
  43148. "name": "p0",
  43149. "nameLocation": "27410:2:50",
  43150. "nodeType": "VariableDeclaration",
  43151. "scope": 10409,
  43152. "src": "27402:10:50",
  43153. "stateVariable": false,
  43154. "storageLocation": "default",
  43155. "typeDescriptions": {
  43156. "typeIdentifier": "t_uint256",
  43157. "typeString": "uint256"
  43158. },
  43159. "typeName": {
  43160. "id": 10387,
  43161. "name": "uint256",
  43162. "nodeType": "ElementaryTypeName",
  43163. "src": "27402:7:50",
  43164. "typeDescriptions": {
  43165. "typeIdentifier": "t_uint256",
  43166. "typeString": "uint256"
  43167. }
  43168. },
  43169. "visibility": "internal"
  43170. },
  43171. {
  43172. "constant": false,
  43173. "id": 10390,
  43174. "mutability": "mutable",
  43175. "name": "p1",
  43176. "nameLocation": "27419:2:50",
  43177. "nodeType": "VariableDeclaration",
  43178. "scope": 10409,
  43179. "src": "27414:7:50",
  43180. "stateVariable": false,
  43181. "storageLocation": "default",
  43182. "typeDescriptions": {
  43183. "typeIdentifier": "t_bool",
  43184. "typeString": "bool"
  43185. },
  43186. "typeName": {
  43187. "id": 10389,
  43188. "name": "bool",
  43189. "nodeType": "ElementaryTypeName",
  43190. "src": "27414:4:50",
  43191. "typeDescriptions": {
  43192. "typeIdentifier": "t_bool",
  43193. "typeString": "bool"
  43194. }
  43195. },
  43196. "visibility": "internal"
  43197. },
  43198. {
  43199. "constant": false,
  43200. "id": 10392,
  43201. "mutability": "mutable",
  43202. "name": "p2",
  43203. "nameLocation": "27428:2:50",
  43204. "nodeType": "VariableDeclaration",
  43205. "scope": 10409,
  43206. "src": "27423:7:50",
  43207. "stateVariable": false,
  43208. "storageLocation": "default",
  43209. "typeDescriptions": {
  43210. "typeIdentifier": "t_bool",
  43211. "typeString": "bool"
  43212. },
  43213. "typeName": {
  43214. "id": 10391,
  43215. "name": "bool",
  43216. "nodeType": "ElementaryTypeName",
  43217. "src": "27423:4:50",
  43218. "typeDescriptions": {
  43219. "typeIdentifier": "t_bool",
  43220. "typeString": "bool"
  43221. }
  43222. },
  43223. "visibility": "internal"
  43224. },
  43225. {
  43226. "constant": false,
  43227. "id": 10394,
  43228. "mutability": "mutable",
  43229. "name": "p3",
  43230. "nameLocation": "27440:2:50",
  43231. "nodeType": "VariableDeclaration",
  43232. "scope": 10409,
  43233. "src": "27432:10:50",
  43234. "stateVariable": false,
  43235. "storageLocation": "default",
  43236. "typeDescriptions": {
  43237. "typeIdentifier": "t_uint256",
  43238. "typeString": "uint256"
  43239. },
  43240. "typeName": {
  43241. "id": 10393,
  43242. "name": "uint256",
  43243. "nodeType": "ElementaryTypeName",
  43244. "src": "27432:7:50",
  43245. "typeDescriptions": {
  43246. "typeIdentifier": "t_uint256",
  43247. "typeString": "uint256"
  43248. }
  43249. },
  43250. "visibility": "internal"
  43251. }
  43252. ],
  43253. "src": "27401:42:50"
  43254. },
  43255. "returnParameters": {
  43256. "id": 10396,
  43257. "nodeType": "ParameterList",
  43258. "parameters": [],
  43259. "src": "27458:0:50"
  43260. },
  43261. "scope": 15355,
  43262. "stateMutability": "pure",
  43263. "virtual": false,
  43264. "visibility": "internal"
  43265. },
  43266. {
  43267. "id": 10432,
  43268. "nodeType": "FunctionDefinition",
  43269. "src": "27571:181:50",
  43270. "nodes": [],
  43271. "body": {
  43272. "id": 10431,
  43273. "nodeType": "Block",
  43274. "src": "27646:106:50",
  43275. "nodes": [],
  43276. "statements": [
  43277. {
  43278. "expression": {
  43279. "arguments": [
  43280. {
  43281. "arguments": [
  43282. {
  43283. "hexValue": "6c6f672875696e743235362c626f6f6c2c626f6f6c2c737472696e6729",
  43284. "id": 10423,
  43285. "isConstant": false,
  43286. "isLValue": false,
  43287. "isPure": true,
  43288. "kind": "string",
  43289. "lValueRequested": false,
  43290. "nodeType": "Literal",
  43291. "src": "27696:31:50",
  43292. "typeDescriptions": {
  43293. "typeIdentifier": "t_stringliteral_dddb956172e374c580dd136b5b8151c6400d22ece6b561a1010b6b9e902dd439",
  43294. "typeString": "literal_string \"log(uint256,bool,bool,string)\""
  43295. },
  43296. "value": "log(uint256,bool,bool,string)"
  43297. },
  43298. {
  43299. "id": 10424,
  43300. "name": "p0",
  43301. "nodeType": "Identifier",
  43302. "overloadedDeclarations": [],
  43303. "referencedDeclaration": 10411,
  43304. "src": "27729:2:50",
  43305. "typeDescriptions": {
  43306. "typeIdentifier": "t_uint256",
  43307. "typeString": "uint256"
  43308. }
  43309. },
  43310. {
  43311. "id": 10425,
  43312. "name": "p1",
  43313. "nodeType": "Identifier",
  43314. "overloadedDeclarations": [],
  43315. "referencedDeclaration": 10413,
  43316. "src": "27733:2:50",
  43317. "typeDescriptions": {
  43318. "typeIdentifier": "t_bool",
  43319. "typeString": "bool"
  43320. }
  43321. },
  43322. {
  43323. "id": 10426,
  43324. "name": "p2",
  43325. "nodeType": "Identifier",
  43326. "overloadedDeclarations": [],
  43327. "referencedDeclaration": 10415,
  43328. "src": "27737:2:50",
  43329. "typeDescriptions": {
  43330. "typeIdentifier": "t_bool",
  43331. "typeString": "bool"
  43332. }
  43333. },
  43334. {
  43335. "id": 10427,
  43336. "name": "p3",
  43337. "nodeType": "Identifier",
  43338. "overloadedDeclarations": [],
  43339. "referencedDeclaration": 10417,
  43340. "src": "27741:2:50",
  43341. "typeDescriptions": {
  43342. "typeIdentifier": "t_string_memory_ptr",
  43343. "typeString": "string memory"
  43344. }
  43345. }
  43346. ],
  43347. "expression": {
  43348. "argumentTypes": [
  43349. {
  43350. "typeIdentifier": "t_stringliteral_dddb956172e374c580dd136b5b8151c6400d22ece6b561a1010b6b9e902dd439",
  43351. "typeString": "literal_string \"log(uint256,bool,bool,string)\""
  43352. },
  43353. {
  43354. "typeIdentifier": "t_uint256",
  43355. "typeString": "uint256"
  43356. },
  43357. {
  43358. "typeIdentifier": "t_bool",
  43359. "typeString": "bool"
  43360. },
  43361. {
  43362. "typeIdentifier": "t_bool",
  43363. "typeString": "bool"
  43364. },
  43365. {
  43366. "typeIdentifier": "t_string_memory_ptr",
  43367. "typeString": "string memory"
  43368. }
  43369. ],
  43370. "expression": {
  43371. "id": 10421,
  43372. "name": "abi",
  43373. "nodeType": "Identifier",
  43374. "overloadedDeclarations": [],
  43375. "referencedDeclaration": -1,
  43376. "src": "27672:3:50",
  43377. "typeDescriptions": {
  43378. "typeIdentifier": "t_magic_abi",
  43379. "typeString": "abi"
  43380. }
  43381. },
  43382. "id": 10422,
  43383. "isConstant": false,
  43384. "isLValue": false,
  43385. "isPure": true,
  43386. "lValueRequested": false,
  43387. "memberLocation": "27676:19:50",
  43388. "memberName": "encodeWithSignature",
  43389. "nodeType": "MemberAccess",
  43390. "src": "27672:23:50",
  43391. "typeDescriptions": {
  43392. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  43393. "typeString": "function (string memory) pure returns (bytes memory)"
  43394. }
  43395. },
  43396. "id": 10428,
  43397. "isConstant": false,
  43398. "isLValue": false,
  43399. "isPure": false,
  43400. "kind": "functionCall",
  43401. "lValueRequested": false,
  43402. "nameLocations": [],
  43403. "names": [],
  43404. "nodeType": "FunctionCall",
  43405. "src": "27672:72:50",
  43406. "tryCall": false,
  43407. "typeDescriptions": {
  43408. "typeIdentifier": "t_bytes_memory_ptr",
  43409. "typeString": "bytes memory"
  43410. }
  43411. }
  43412. ],
  43413. "expression": {
  43414. "argumentTypes": [
  43415. {
  43416. "typeIdentifier": "t_bytes_memory_ptr",
  43417. "typeString": "bytes memory"
  43418. }
  43419. ],
  43420. "id": 10420,
  43421. "name": "_sendLogPayload",
  43422. "nodeType": "Identifier",
  43423. "overloadedDeclarations": [],
  43424. "referencedDeclaration": 7315,
  43425. "src": "27656:15:50",
  43426. "typeDescriptions": {
  43427. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  43428. "typeString": "function (bytes memory) pure"
  43429. }
  43430. },
  43431. "id": 10429,
  43432. "isConstant": false,
  43433. "isLValue": false,
  43434. "isPure": false,
  43435. "kind": "functionCall",
  43436. "lValueRequested": false,
  43437. "nameLocations": [],
  43438. "names": [],
  43439. "nodeType": "FunctionCall",
  43440. "src": "27656:89:50",
  43441. "tryCall": false,
  43442. "typeDescriptions": {
  43443. "typeIdentifier": "t_tuple$__$",
  43444. "typeString": "tuple()"
  43445. }
  43446. },
  43447. "id": 10430,
  43448. "nodeType": "ExpressionStatement",
  43449. "src": "27656:89:50"
  43450. }
  43451. ]
  43452. },
  43453. "implemented": true,
  43454. "kind": "function",
  43455. "modifiers": [],
  43456. "name": "log",
  43457. "nameLocation": "27580:3:50",
  43458. "parameters": {
  43459. "id": 10418,
  43460. "nodeType": "ParameterList",
  43461. "parameters": [
  43462. {
  43463. "constant": false,
  43464. "id": 10411,
  43465. "mutability": "mutable",
  43466. "name": "p0",
  43467. "nameLocation": "27592:2:50",
  43468. "nodeType": "VariableDeclaration",
  43469. "scope": 10432,
  43470. "src": "27584:10:50",
  43471. "stateVariable": false,
  43472. "storageLocation": "default",
  43473. "typeDescriptions": {
  43474. "typeIdentifier": "t_uint256",
  43475. "typeString": "uint256"
  43476. },
  43477. "typeName": {
  43478. "id": 10410,
  43479. "name": "uint256",
  43480. "nodeType": "ElementaryTypeName",
  43481. "src": "27584:7:50",
  43482. "typeDescriptions": {
  43483. "typeIdentifier": "t_uint256",
  43484. "typeString": "uint256"
  43485. }
  43486. },
  43487. "visibility": "internal"
  43488. },
  43489. {
  43490. "constant": false,
  43491. "id": 10413,
  43492. "mutability": "mutable",
  43493. "name": "p1",
  43494. "nameLocation": "27601:2:50",
  43495. "nodeType": "VariableDeclaration",
  43496. "scope": 10432,
  43497. "src": "27596:7:50",
  43498. "stateVariable": false,
  43499. "storageLocation": "default",
  43500. "typeDescriptions": {
  43501. "typeIdentifier": "t_bool",
  43502. "typeString": "bool"
  43503. },
  43504. "typeName": {
  43505. "id": 10412,
  43506. "name": "bool",
  43507. "nodeType": "ElementaryTypeName",
  43508. "src": "27596:4:50",
  43509. "typeDescriptions": {
  43510. "typeIdentifier": "t_bool",
  43511. "typeString": "bool"
  43512. }
  43513. },
  43514. "visibility": "internal"
  43515. },
  43516. {
  43517. "constant": false,
  43518. "id": 10415,
  43519. "mutability": "mutable",
  43520. "name": "p2",
  43521. "nameLocation": "27610:2:50",
  43522. "nodeType": "VariableDeclaration",
  43523. "scope": 10432,
  43524. "src": "27605:7:50",
  43525. "stateVariable": false,
  43526. "storageLocation": "default",
  43527. "typeDescriptions": {
  43528. "typeIdentifier": "t_bool",
  43529. "typeString": "bool"
  43530. },
  43531. "typeName": {
  43532. "id": 10414,
  43533. "name": "bool",
  43534. "nodeType": "ElementaryTypeName",
  43535. "src": "27605:4:50",
  43536. "typeDescriptions": {
  43537. "typeIdentifier": "t_bool",
  43538. "typeString": "bool"
  43539. }
  43540. },
  43541. "visibility": "internal"
  43542. },
  43543. {
  43544. "constant": false,
  43545. "id": 10417,
  43546. "mutability": "mutable",
  43547. "name": "p3",
  43548. "nameLocation": "27628:2:50",
  43549. "nodeType": "VariableDeclaration",
  43550. "scope": 10432,
  43551. "src": "27614:16:50",
  43552. "stateVariable": false,
  43553. "storageLocation": "memory",
  43554. "typeDescriptions": {
  43555. "typeIdentifier": "t_string_memory_ptr",
  43556. "typeString": "string"
  43557. },
  43558. "typeName": {
  43559. "id": 10416,
  43560. "name": "string",
  43561. "nodeType": "ElementaryTypeName",
  43562. "src": "27614:6:50",
  43563. "typeDescriptions": {
  43564. "typeIdentifier": "t_string_storage_ptr",
  43565. "typeString": "string"
  43566. }
  43567. },
  43568. "visibility": "internal"
  43569. }
  43570. ],
  43571. "src": "27583:48:50"
  43572. },
  43573. "returnParameters": {
  43574. "id": 10419,
  43575. "nodeType": "ParameterList",
  43576. "parameters": [],
  43577. "src": "27646:0:50"
  43578. },
  43579. "scope": 15355,
  43580. "stateMutability": "pure",
  43581. "virtual": false,
  43582. "visibility": "internal"
  43583. },
  43584. {
  43585. "id": 10455,
  43586. "nodeType": "FunctionDefinition",
  43587. "src": "27758:170:50",
  43588. "nodes": [],
  43589. "body": {
  43590. "id": 10454,
  43591. "nodeType": "Block",
  43592. "src": "27824:104:50",
  43593. "nodes": [],
  43594. "statements": [
  43595. {
  43596. "expression": {
  43597. "arguments": [
  43598. {
  43599. "arguments": [
  43600. {
  43601. "hexValue": "6c6f672875696e743235362c626f6f6c2c626f6f6c2c626f6f6c29",
  43602. "id": 10446,
  43603. "isConstant": false,
  43604. "isLValue": false,
  43605. "isPure": true,
  43606. "kind": "string",
  43607. "lValueRequested": false,
  43608. "nodeType": "Literal",
  43609. "src": "27874:29:50",
  43610. "typeDescriptions": {
  43611. "typeIdentifier": "t_stringliteral_b6f577a1520f8fa7d40eaff9dcd5f293e28b7606bd07d0a450b13db93da80473",
  43612. "typeString": "literal_string \"log(uint256,bool,bool,bool)\""
  43613. },
  43614. "value": "log(uint256,bool,bool,bool)"
  43615. },
  43616. {
  43617. "id": 10447,
  43618. "name": "p0",
  43619. "nodeType": "Identifier",
  43620. "overloadedDeclarations": [],
  43621. "referencedDeclaration": 10434,
  43622. "src": "27905:2:50",
  43623. "typeDescriptions": {
  43624. "typeIdentifier": "t_uint256",
  43625. "typeString": "uint256"
  43626. }
  43627. },
  43628. {
  43629. "id": 10448,
  43630. "name": "p1",
  43631. "nodeType": "Identifier",
  43632. "overloadedDeclarations": [],
  43633. "referencedDeclaration": 10436,
  43634. "src": "27909:2:50",
  43635. "typeDescriptions": {
  43636. "typeIdentifier": "t_bool",
  43637. "typeString": "bool"
  43638. }
  43639. },
  43640. {
  43641. "id": 10449,
  43642. "name": "p2",
  43643. "nodeType": "Identifier",
  43644. "overloadedDeclarations": [],
  43645. "referencedDeclaration": 10438,
  43646. "src": "27913:2:50",
  43647. "typeDescriptions": {
  43648. "typeIdentifier": "t_bool",
  43649. "typeString": "bool"
  43650. }
  43651. },
  43652. {
  43653. "id": 10450,
  43654. "name": "p3",
  43655. "nodeType": "Identifier",
  43656. "overloadedDeclarations": [],
  43657. "referencedDeclaration": 10440,
  43658. "src": "27917:2:50",
  43659. "typeDescriptions": {
  43660. "typeIdentifier": "t_bool",
  43661. "typeString": "bool"
  43662. }
  43663. }
  43664. ],
  43665. "expression": {
  43666. "argumentTypes": [
  43667. {
  43668. "typeIdentifier": "t_stringliteral_b6f577a1520f8fa7d40eaff9dcd5f293e28b7606bd07d0a450b13db93da80473",
  43669. "typeString": "literal_string \"log(uint256,bool,bool,bool)\""
  43670. },
  43671. {
  43672. "typeIdentifier": "t_uint256",
  43673. "typeString": "uint256"
  43674. },
  43675. {
  43676. "typeIdentifier": "t_bool",
  43677. "typeString": "bool"
  43678. },
  43679. {
  43680. "typeIdentifier": "t_bool",
  43681. "typeString": "bool"
  43682. },
  43683. {
  43684. "typeIdentifier": "t_bool",
  43685. "typeString": "bool"
  43686. }
  43687. ],
  43688. "expression": {
  43689. "id": 10444,
  43690. "name": "abi",
  43691. "nodeType": "Identifier",
  43692. "overloadedDeclarations": [],
  43693. "referencedDeclaration": -1,
  43694. "src": "27850:3:50",
  43695. "typeDescriptions": {
  43696. "typeIdentifier": "t_magic_abi",
  43697. "typeString": "abi"
  43698. }
  43699. },
  43700. "id": 10445,
  43701. "isConstant": false,
  43702. "isLValue": false,
  43703. "isPure": true,
  43704. "lValueRequested": false,
  43705. "memberLocation": "27854:19:50",
  43706. "memberName": "encodeWithSignature",
  43707. "nodeType": "MemberAccess",
  43708. "src": "27850:23:50",
  43709. "typeDescriptions": {
  43710. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  43711. "typeString": "function (string memory) pure returns (bytes memory)"
  43712. }
  43713. },
  43714. "id": 10451,
  43715. "isConstant": false,
  43716. "isLValue": false,
  43717. "isPure": false,
  43718. "kind": "functionCall",
  43719. "lValueRequested": false,
  43720. "nameLocations": [],
  43721. "names": [],
  43722. "nodeType": "FunctionCall",
  43723. "src": "27850:70:50",
  43724. "tryCall": false,
  43725. "typeDescriptions": {
  43726. "typeIdentifier": "t_bytes_memory_ptr",
  43727. "typeString": "bytes memory"
  43728. }
  43729. }
  43730. ],
  43731. "expression": {
  43732. "argumentTypes": [
  43733. {
  43734. "typeIdentifier": "t_bytes_memory_ptr",
  43735. "typeString": "bytes memory"
  43736. }
  43737. ],
  43738. "id": 10443,
  43739. "name": "_sendLogPayload",
  43740. "nodeType": "Identifier",
  43741. "overloadedDeclarations": [],
  43742. "referencedDeclaration": 7315,
  43743. "src": "27834:15:50",
  43744. "typeDescriptions": {
  43745. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  43746. "typeString": "function (bytes memory) pure"
  43747. }
  43748. },
  43749. "id": 10452,
  43750. "isConstant": false,
  43751. "isLValue": false,
  43752. "isPure": false,
  43753. "kind": "functionCall",
  43754. "lValueRequested": false,
  43755. "nameLocations": [],
  43756. "names": [],
  43757. "nodeType": "FunctionCall",
  43758. "src": "27834:87:50",
  43759. "tryCall": false,
  43760. "typeDescriptions": {
  43761. "typeIdentifier": "t_tuple$__$",
  43762. "typeString": "tuple()"
  43763. }
  43764. },
  43765. "id": 10453,
  43766. "nodeType": "ExpressionStatement",
  43767. "src": "27834:87:50"
  43768. }
  43769. ]
  43770. },
  43771. "implemented": true,
  43772. "kind": "function",
  43773. "modifiers": [],
  43774. "name": "log",
  43775. "nameLocation": "27767:3:50",
  43776. "parameters": {
  43777. "id": 10441,
  43778. "nodeType": "ParameterList",
  43779. "parameters": [
  43780. {
  43781. "constant": false,
  43782. "id": 10434,
  43783. "mutability": "mutable",
  43784. "name": "p0",
  43785. "nameLocation": "27779:2:50",
  43786. "nodeType": "VariableDeclaration",
  43787. "scope": 10455,
  43788. "src": "27771:10:50",
  43789. "stateVariable": false,
  43790. "storageLocation": "default",
  43791. "typeDescriptions": {
  43792. "typeIdentifier": "t_uint256",
  43793. "typeString": "uint256"
  43794. },
  43795. "typeName": {
  43796. "id": 10433,
  43797. "name": "uint256",
  43798. "nodeType": "ElementaryTypeName",
  43799. "src": "27771:7:50",
  43800. "typeDescriptions": {
  43801. "typeIdentifier": "t_uint256",
  43802. "typeString": "uint256"
  43803. }
  43804. },
  43805. "visibility": "internal"
  43806. },
  43807. {
  43808. "constant": false,
  43809. "id": 10436,
  43810. "mutability": "mutable",
  43811. "name": "p1",
  43812. "nameLocation": "27788:2:50",
  43813. "nodeType": "VariableDeclaration",
  43814. "scope": 10455,
  43815. "src": "27783:7:50",
  43816. "stateVariable": false,
  43817. "storageLocation": "default",
  43818. "typeDescriptions": {
  43819. "typeIdentifier": "t_bool",
  43820. "typeString": "bool"
  43821. },
  43822. "typeName": {
  43823. "id": 10435,
  43824. "name": "bool",
  43825. "nodeType": "ElementaryTypeName",
  43826. "src": "27783:4:50",
  43827. "typeDescriptions": {
  43828. "typeIdentifier": "t_bool",
  43829. "typeString": "bool"
  43830. }
  43831. },
  43832. "visibility": "internal"
  43833. },
  43834. {
  43835. "constant": false,
  43836. "id": 10438,
  43837. "mutability": "mutable",
  43838. "name": "p2",
  43839. "nameLocation": "27797:2:50",
  43840. "nodeType": "VariableDeclaration",
  43841. "scope": 10455,
  43842. "src": "27792:7:50",
  43843. "stateVariable": false,
  43844. "storageLocation": "default",
  43845. "typeDescriptions": {
  43846. "typeIdentifier": "t_bool",
  43847. "typeString": "bool"
  43848. },
  43849. "typeName": {
  43850. "id": 10437,
  43851. "name": "bool",
  43852. "nodeType": "ElementaryTypeName",
  43853. "src": "27792:4:50",
  43854. "typeDescriptions": {
  43855. "typeIdentifier": "t_bool",
  43856. "typeString": "bool"
  43857. }
  43858. },
  43859. "visibility": "internal"
  43860. },
  43861. {
  43862. "constant": false,
  43863. "id": 10440,
  43864. "mutability": "mutable",
  43865. "name": "p3",
  43866. "nameLocation": "27806:2:50",
  43867. "nodeType": "VariableDeclaration",
  43868. "scope": 10455,
  43869. "src": "27801:7:50",
  43870. "stateVariable": false,
  43871. "storageLocation": "default",
  43872. "typeDescriptions": {
  43873. "typeIdentifier": "t_bool",
  43874. "typeString": "bool"
  43875. },
  43876. "typeName": {
  43877. "id": 10439,
  43878. "name": "bool",
  43879. "nodeType": "ElementaryTypeName",
  43880. "src": "27801:4:50",
  43881. "typeDescriptions": {
  43882. "typeIdentifier": "t_bool",
  43883. "typeString": "bool"
  43884. }
  43885. },
  43886. "visibility": "internal"
  43887. }
  43888. ],
  43889. "src": "27770:39:50"
  43890. },
  43891. "returnParameters": {
  43892. "id": 10442,
  43893. "nodeType": "ParameterList",
  43894. "parameters": [],
  43895. "src": "27824:0:50"
  43896. },
  43897. "scope": 15355,
  43898. "stateMutability": "pure",
  43899. "virtual": false,
  43900. "visibility": "internal"
  43901. },
  43902. {
  43903. "id": 10478,
  43904. "nodeType": "FunctionDefinition",
  43905. "src": "27934:176:50",
  43906. "nodes": [],
  43907. "body": {
  43908. "id": 10477,
  43909. "nodeType": "Block",
  43910. "src": "28003:107:50",
  43911. "nodes": [],
  43912. "statements": [
  43913. {
  43914. "expression": {
  43915. "arguments": [
  43916. {
  43917. "arguments": [
  43918. {
  43919. "hexValue": "6c6f672875696e743235362c626f6f6c2c626f6f6c2c6164647265737329",
  43920. "id": 10469,
  43921. "isConstant": false,
  43922. "isLValue": false,
  43923. "isPure": true,
  43924. "kind": "string",
  43925. "lValueRequested": false,
  43926. "nodeType": "Literal",
  43927. "src": "28053:32:50",
  43928. "typeDescriptions": {
  43929. "typeIdentifier": "t_stringliteral_69640b598ea5b9e4e68e932871cb8a509ce832c6718a902773532568b8c95c31",
  43930. "typeString": "literal_string \"log(uint256,bool,bool,address)\""
  43931. },
  43932. "value": "log(uint256,bool,bool,address)"
  43933. },
  43934. {
  43935. "id": 10470,
  43936. "name": "p0",
  43937. "nodeType": "Identifier",
  43938. "overloadedDeclarations": [],
  43939. "referencedDeclaration": 10457,
  43940. "src": "28087:2:50",
  43941. "typeDescriptions": {
  43942. "typeIdentifier": "t_uint256",
  43943. "typeString": "uint256"
  43944. }
  43945. },
  43946. {
  43947. "id": 10471,
  43948. "name": "p1",
  43949. "nodeType": "Identifier",
  43950. "overloadedDeclarations": [],
  43951. "referencedDeclaration": 10459,
  43952. "src": "28091:2:50",
  43953. "typeDescriptions": {
  43954. "typeIdentifier": "t_bool",
  43955. "typeString": "bool"
  43956. }
  43957. },
  43958. {
  43959. "id": 10472,
  43960. "name": "p2",
  43961. "nodeType": "Identifier",
  43962. "overloadedDeclarations": [],
  43963. "referencedDeclaration": 10461,
  43964. "src": "28095:2:50",
  43965. "typeDescriptions": {
  43966. "typeIdentifier": "t_bool",
  43967. "typeString": "bool"
  43968. }
  43969. },
  43970. {
  43971. "id": 10473,
  43972. "name": "p3",
  43973. "nodeType": "Identifier",
  43974. "overloadedDeclarations": [],
  43975. "referencedDeclaration": 10463,
  43976. "src": "28099:2:50",
  43977. "typeDescriptions": {
  43978. "typeIdentifier": "t_address",
  43979. "typeString": "address"
  43980. }
  43981. }
  43982. ],
  43983. "expression": {
  43984. "argumentTypes": [
  43985. {
  43986. "typeIdentifier": "t_stringliteral_69640b598ea5b9e4e68e932871cb8a509ce832c6718a902773532568b8c95c31",
  43987. "typeString": "literal_string \"log(uint256,bool,bool,address)\""
  43988. },
  43989. {
  43990. "typeIdentifier": "t_uint256",
  43991. "typeString": "uint256"
  43992. },
  43993. {
  43994. "typeIdentifier": "t_bool",
  43995. "typeString": "bool"
  43996. },
  43997. {
  43998. "typeIdentifier": "t_bool",
  43999. "typeString": "bool"
  44000. },
  44001. {
  44002. "typeIdentifier": "t_address",
  44003. "typeString": "address"
  44004. }
  44005. ],
  44006. "expression": {
  44007. "id": 10467,
  44008. "name": "abi",
  44009. "nodeType": "Identifier",
  44010. "overloadedDeclarations": [],
  44011. "referencedDeclaration": -1,
  44012. "src": "28029:3:50",
  44013. "typeDescriptions": {
  44014. "typeIdentifier": "t_magic_abi",
  44015. "typeString": "abi"
  44016. }
  44017. },
  44018. "id": 10468,
  44019. "isConstant": false,
  44020. "isLValue": false,
  44021. "isPure": true,
  44022. "lValueRequested": false,
  44023. "memberLocation": "28033:19:50",
  44024. "memberName": "encodeWithSignature",
  44025. "nodeType": "MemberAccess",
  44026. "src": "28029:23:50",
  44027. "typeDescriptions": {
  44028. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  44029. "typeString": "function (string memory) pure returns (bytes memory)"
  44030. }
  44031. },
  44032. "id": 10474,
  44033. "isConstant": false,
  44034. "isLValue": false,
  44035. "isPure": false,
  44036. "kind": "functionCall",
  44037. "lValueRequested": false,
  44038. "nameLocations": [],
  44039. "names": [],
  44040. "nodeType": "FunctionCall",
  44041. "src": "28029:73:50",
  44042. "tryCall": false,
  44043. "typeDescriptions": {
  44044. "typeIdentifier": "t_bytes_memory_ptr",
  44045. "typeString": "bytes memory"
  44046. }
  44047. }
  44048. ],
  44049. "expression": {
  44050. "argumentTypes": [
  44051. {
  44052. "typeIdentifier": "t_bytes_memory_ptr",
  44053. "typeString": "bytes memory"
  44054. }
  44055. ],
  44056. "id": 10466,
  44057. "name": "_sendLogPayload",
  44058. "nodeType": "Identifier",
  44059. "overloadedDeclarations": [],
  44060. "referencedDeclaration": 7315,
  44061. "src": "28013:15:50",
  44062. "typeDescriptions": {
  44063. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  44064. "typeString": "function (bytes memory) pure"
  44065. }
  44066. },
  44067. "id": 10475,
  44068. "isConstant": false,
  44069. "isLValue": false,
  44070. "isPure": false,
  44071. "kind": "functionCall",
  44072. "lValueRequested": false,
  44073. "nameLocations": [],
  44074. "names": [],
  44075. "nodeType": "FunctionCall",
  44076. "src": "28013:90:50",
  44077. "tryCall": false,
  44078. "typeDescriptions": {
  44079. "typeIdentifier": "t_tuple$__$",
  44080. "typeString": "tuple()"
  44081. }
  44082. },
  44083. "id": 10476,
  44084. "nodeType": "ExpressionStatement",
  44085. "src": "28013:90:50"
  44086. }
  44087. ]
  44088. },
  44089. "implemented": true,
  44090. "kind": "function",
  44091. "modifiers": [],
  44092. "name": "log",
  44093. "nameLocation": "27943:3:50",
  44094. "parameters": {
  44095. "id": 10464,
  44096. "nodeType": "ParameterList",
  44097. "parameters": [
  44098. {
  44099. "constant": false,
  44100. "id": 10457,
  44101. "mutability": "mutable",
  44102. "name": "p0",
  44103. "nameLocation": "27955:2:50",
  44104. "nodeType": "VariableDeclaration",
  44105. "scope": 10478,
  44106. "src": "27947:10:50",
  44107. "stateVariable": false,
  44108. "storageLocation": "default",
  44109. "typeDescriptions": {
  44110. "typeIdentifier": "t_uint256",
  44111. "typeString": "uint256"
  44112. },
  44113. "typeName": {
  44114. "id": 10456,
  44115. "name": "uint256",
  44116. "nodeType": "ElementaryTypeName",
  44117. "src": "27947:7:50",
  44118. "typeDescriptions": {
  44119. "typeIdentifier": "t_uint256",
  44120. "typeString": "uint256"
  44121. }
  44122. },
  44123. "visibility": "internal"
  44124. },
  44125. {
  44126. "constant": false,
  44127. "id": 10459,
  44128. "mutability": "mutable",
  44129. "name": "p1",
  44130. "nameLocation": "27964:2:50",
  44131. "nodeType": "VariableDeclaration",
  44132. "scope": 10478,
  44133. "src": "27959:7:50",
  44134. "stateVariable": false,
  44135. "storageLocation": "default",
  44136. "typeDescriptions": {
  44137. "typeIdentifier": "t_bool",
  44138. "typeString": "bool"
  44139. },
  44140. "typeName": {
  44141. "id": 10458,
  44142. "name": "bool",
  44143. "nodeType": "ElementaryTypeName",
  44144. "src": "27959:4:50",
  44145. "typeDescriptions": {
  44146. "typeIdentifier": "t_bool",
  44147. "typeString": "bool"
  44148. }
  44149. },
  44150. "visibility": "internal"
  44151. },
  44152. {
  44153. "constant": false,
  44154. "id": 10461,
  44155. "mutability": "mutable",
  44156. "name": "p2",
  44157. "nameLocation": "27973:2:50",
  44158. "nodeType": "VariableDeclaration",
  44159. "scope": 10478,
  44160. "src": "27968:7:50",
  44161. "stateVariable": false,
  44162. "storageLocation": "default",
  44163. "typeDescriptions": {
  44164. "typeIdentifier": "t_bool",
  44165. "typeString": "bool"
  44166. },
  44167. "typeName": {
  44168. "id": 10460,
  44169. "name": "bool",
  44170. "nodeType": "ElementaryTypeName",
  44171. "src": "27968:4:50",
  44172. "typeDescriptions": {
  44173. "typeIdentifier": "t_bool",
  44174. "typeString": "bool"
  44175. }
  44176. },
  44177. "visibility": "internal"
  44178. },
  44179. {
  44180. "constant": false,
  44181. "id": 10463,
  44182. "mutability": "mutable",
  44183. "name": "p3",
  44184. "nameLocation": "27985:2:50",
  44185. "nodeType": "VariableDeclaration",
  44186. "scope": 10478,
  44187. "src": "27977:10:50",
  44188. "stateVariable": false,
  44189. "storageLocation": "default",
  44190. "typeDescriptions": {
  44191. "typeIdentifier": "t_address",
  44192. "typeString": "address"
  44193. },
  44194. "typeName": {
  44195. "id": 10462,
  44196. "name": "address",
  44197. "nodeType": "ElementaryTypeName",
  44198. "src": "27977:7:50",
  44199. "stateMutability": "nonpayable",
  44200. "typeDescriptions": {
  44201. "typeIdentifier": "t_address",
  44202. "typeString": "address"
  44203. }
  44204. },
  44205. "visibility": "internal"
  44206. }
  44207. ],
  44208. "src": "27946:42:50"
  44209. },
  44210. "returnParameters": {
  44211. "id": 10465,
  44212. "nodeType": "ParameterList",
  44213. "parameters": [],
  44214. "src": "28003:0:50"
  44215. },
  44216. "scope": 15355,
  44217. "stateMutability": "pure",
  44218. "virtual": false,
  44219. "visibility": "internal"
  44220. },
  44221. {
  44222. "id": 10501,
  44223. "nodeType": "FunctionDefinition",
  44224. "src": "28116:182:50",
  44225. "nodes": [],
  44226. "body": {
  44227. "id": 10500,
  44228. "nodeType": "Block",
  44229. "src": "28188:110:50",
  44230. "nodes": [],
  44231. "statements": [
  44232. {
  44233. "expression": {
  44234. "arguments": [
  44235. {
  44236. "arguments": [
  44237. {
  44238. "hexValue": "6c6f672875696e743235362c626f6f6c2c616464726573732c75696e7432353629",
  44239. "id": 10492,
  44240. "isConstant": false,
  44241. "isLValue": false,
  44242. "isPure": true,
  44243. "kind": "string",
  44244. "lValueRequested": false,
  44245. "nodeType": "Literal",
  44246. "src": "28238:35:50",
  44247. "typeDescriptions": {
  44248. "typeIdentifier": "t_stringliteral_078287f5d654caee11cca90bb8c074a9529509cd07319dc17a93fa036ea5ea88",
  44249. "typeString": "literal_string \"log(uint256,bool,address,uint256)\""
  44250. },
  44251. "value": "log(uint256,bool,address,uint256)"
  44252. },
  44253. {
  44254. "id": 10493,
  44255. "name": "p0",
  44256. "nodeType": "Identifier",
  44257. "overloadedDeclarations": [],
  44258. "referencedDeclaration": 10480,
  44259. "src": "28275:2:50",
  44260. "typeDescriptions": {
  44261. "typeIdentifier": "t_uint256",
  44262. "typeString": "uint256"
  44263. }
  44264. },
  44265. {
  44266. "id": 10494,
  44267. "name": "p1",
  44268. "nodeType": "Identifier",
  44269. "overloadedDeclarations": [],
  44270. "referencedDeclaration": 10482,
  44271. "src": "28279:2:50",
  44272. "typeDescriptions": {
  44273. "typeIdentifier": "t_bool",
  44274. "typeString": "bool"
  44275. }
  44276. },
  44277. {
  44278. "id": 10495,
  44279. "name": "p2",
  44280. "nodeType": "Identifier",
  44281. "overloadedDeclarations": [],
  44282. "referencedDeclaration": 10484,
  44283. "src": "28283:2:50",
  44284. "typeDescriptions": {
  44285. "typeIdentifier": "t_address",
  44286. "typeString": "address"
  44287. }
  44288. },
  44289. {
  44290. "id": 10496,
  44291. "name": "p3",
  44292. "nodeType": "Identifier",
  44293. "overloadedDeclarations": [],
  44294. "referencedDeclaration": 10486,
  44295. "src": "28287:2:50",
  44296. "typeDescriptions": {
  44297. "typeIdentifier": "t_uint256",
  44298. "typeString": "uint256"
  44299. }
  44300. }
  44301. ],
  44302. "expression": {
  44303. "argumentTypes": [
  44304. {
  44305. "typeIdentifier": "t_stringliteral_078287f5d654caee11cca90bb8c074a9529509cd07319dc17a93fa036ea5ea88",
  44306. "typeString": "literal_string \"log(uint256,bool,address,uint256)\""
  44307. },
  44308. {
  44309. "typeIdentifier": "t_uint256",
  44310. "typeString": "uint256"
  44311. },
  44312. {
  44313. "typeIdentifier": "t_bool",
  44314. "typeString": "bool"
  44315. },
  44316. {
  44317. "typeIdentifier": "t_address",
  44318. "typeString": "address"
  44319. },
  44320. {
  44321. "typeIdentifier": "t_uint256",
  44322. "typeString": "uint256"
  44323. }
  44324. ],
  44325. "expression": {
  44326. "id": 10490,
  44327. "name": "abi",
  44328. "nodeType": "Identifier",
  44329. "overloadedDeclarations": [],
  44330. "referencedDeclaration": -1,
  44331. "src": "28214:3:50",
  44332. "typeDescriptions": {
  44333. "typeIdentifier": "t_magic_abi",
  44334. "typeString": "abi"
  44335. }
  44336. },
  44337. "id": 10491,
  44338. "isConstant": false,
  44339. "isLValue": false,
  44340. "isPure": true,
  44341. "lValueRequested": false,
  44342. "memberLocation": "28218:19:50",
  44343. "memberName": "encodeWithSignature",
  44344. "nodeType": "MemberAccess",
  44345. "src": "28214:23:50",
  44346. "typeDescriptions": {
  44347. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  44348. "typeString": "function (string memory) pure returns (bytes memory)"
  44349. }
  44350. },
  44351. "id": 10497,
  44352. "isConstant": false,
  44353. "isLValue": false,
  44354. "isPure": false,
  44355. "kind": "functionCall",
  44356. "lValueRequested": false,
  44357. "nameLocations": [],
  44358. "names": [],
  44359. "nodeType": "FunctionCall",
  44360. "src": "28214:76:50",
  44361. "tryCall": false,
  44362. "typeDescriptions": {
  44363. "typeIdentifier": "t_bytes_memory_ptr",
  44364. "typeString": "bytes memory"
  44365. }
  44366. }
  44367. ],
  44368. "expression": {
  44369. "argumentTypes": [
  44370. {
  44371. "typeIdentifier": "t_bytes_memory_ptr",
  44372. "typeString": "bytes memory"
  44373. }
  44374. ],
  44375. "id": 10489,
  44376. "name": "_sendLogPayload",
  44377. "nodeType": "Identifier",
  44378. "overloadedDeclarations": [],
  44379. "referencedDeclaration": 7315,
  44380. "src": "28198:15:50",
  44381. "typeDescriptions": {
  44382. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  44383. "typeString": "function (bytes memory) pure"
  44384. }
  44385. },
  44386. "id": 10498,
  44387. "isConstant": false,
  44388. "isLValue": false,
  44389. "isPure": false,
  44390. "kind": "functionCall",
  44391. "lValueRequested": false,
  44392. "nameLocations": [],
  44393. "names": [],
  44394. "nodeType": "FunctionCall",
  44395. "src": "28198:93:50",
  44396. "tryCall": false,
  44397. "typeDescriptions": {
  44398. "typeIdentifier": "t_tuple$__$",
  44399. "typeString": "tuple()"
  44400. }
  44401. },
  44402. "id": 10499,
  44403. "nodeType": "ExpressionStatement",
  44404. "src": "28198:93:50"
  44405. }
  44406. ]
  44407. },
  44408. "implemented": true,
  44409. "kind": "function",
  44410. "modifiers": [],
  44411. "name": "log",
  44412. "nameLocation": "28125:3:50",
  44413. "parameters": {
  44414. "id": 10487,
  44415. "nodeType": "ParameterList",
  44416. "parameters": [
  44417. {
  44418. "constant": false,
  44419. "id": 10480,
  44420. "mutability": "mutable",
  44421. "name": "p0",
  44422. "nameLocation": "28137:2:50",
  44423. "nodeType": "VariableDeclaration",
  44424. "scope": 10501,
  44425. "src": "28129:10:50",
  44426. "stateVariable": false,
  44427. "storageLocation": "default",
  44428. "typeDescriptions": {
  44429. "typeIdentifier": "t_uint256",
  44430. "typeString": "uint256"
  44431. },
  44432. "typeName": {
  44433. "id": 10479,
  44434. "name": "uint256",
  44435. "nodeType": "ElementaryTypeName",
  44436. "src": "28129:7:50",
  44437. "typeDescriptions": {
  44438. "typeIdentifier": "t_uint256",
  44439. "typeString": "uint256"
  44440. }
  44441. },
  44442. "visibility": "internal"
  44443. },
  44444. {
  44445. "constant": false,
  44446. "id": 10482,
  44447. "mutability": "mutable",
  44448. "name": "p1",
  44449. "nameLocation": "28146:2:50",
  44450. "nodeType": "VariableDeclaration",
  44451. "scope": 10501,
  44452. "src": "28141:7:50",
  44453. "stateVariable": false,
  44454. "storageLocation": "default",
  44455. "typeDescriptions": {
  44456. "typeIdentifier": "t_bool",
  44457. "typeString": "bool"
  44458. },
  44459. "typeName": {
  44460. "id": 10481,
  44461. "name": "bool",
  44462. "nodeType": "ElementaryTypeName",
  44463. "src": "28141:4:50",
  44464. "typeDescriptions": {
  44465. "typeIdentifier": "t_bool",
  44466. "typeString": "bool"
  44467. }
  44468. },
  44469. "visibility": "internal"
  44470. },
  44471. {
  44472. "constant": false,
  44473. "id": 10484,
  44474. "mutability": "mutable",
  44475. "name": "p2",
  44476. "nameLocation": "28158:2:50",
  44477. "nodeType": "VariableDeclaration",
  44478. "scope": 10501,
  44479. "src": "28150:10:50",
  44480. "stateVariable": false,
  44481. "storageLocation": "default",
  44482. "typeDescriptions": {
  44483. "typeIdentifier": "t_address",
  44484. "typeString": "address"
  44485. },
  44486. "typeName": {
  44487. "id": 10483,
  44488. "name": "address",
  44489. "nodeType": "ElementaryTypeName",
  44490. "src": "28150:7:50",
  44491. "stateMutability": "nonpayable",
  44492. "typeDescriptions": {
  44493. "typeIdentifier": "t_address",
  44494. "typeString": "address"
  44495. }
  44496. },
  44497. "visibility": "internal"
  44498. },
  44499. {
  44500. "constant": false,
  44501. "id": 10486,
  44502. "mutability": "mutable",
  44503. "name": "p3",
  44504. "nameLocation": "28170:2:50",
  44505. "nodeType": "VariableDeclaration",
  44506. "scope": 10501,
  44507. "src": "28162:10:50",
  44508. "stateVariable": false,
  44509. "storageLocation": "default",
  44510. "typeDescriptions": {
  44511. "typeIdentifier": "t_uint256",
  44512. "typeString": "uint256"
  44513. },
  44514. "typeName": {
  44515. "id": 10485,
  44516. "name": "uint256",
  44517. "nodeType": "ElementaryTypeName",
  44518. "src": "28162:7:50",
  44519. "typeDescriptions": {
  44520. "typeIdentifier": "t_uint256",
  44521. "typeString": "uint256"
  44522. }
  44523. },
  44524. "visibility": "internal"
  44525. }
  44526. ],
  44527. "src": "28128:45:50"
  44528. },
  44529. "returnParameters": {
  44530. "id": 10488,
  44531. "nodeType": "ParameterList",
  44532. "parameters": [],
  44533. "src": "28188:0:50"
  44534. },
  44535. "scope": 15355,
  44536. "stateMutability": "pure",
  44537. "virtual": false,
  44538. "visibility": "internal"
  44539. },
  44540. {
  44541. "id": 10524,
  44542. "nodeType": "FunctionDefinition",
  44543. "src": "28304:187:50",
  44544. "nodes": [],
  44545. "body": {
  44546. "id": 10523,
  44547. "nodeType": "Block",
  44548. "src": "28382:109:50",
  44549. "nodes": [],
  44550. "statements": [
  44551. {
  44552. "expression": {
  44553. "arguments": [
  44554. {
  44555. "arguments": [
  44556. {
  44557. "hexValue": "6c6f672875696e743235362c626f6f6c2c616464726573732c737472696e6729",
  44558. "id": 10515,
  44559. "isConstant": false,
  44560. "isLValue": false,
  44561. "isPure": true,
  44562. "kind": "string",
  44563. "lValueRequested": false,
  44564. "nodeType": "Literal",
  44565. "src": "28432:34:50",
  44566. "typeDescriptions": {
  44567. "typeIdentifier": "t_stringliteral_ade052c70a8f7736e3d4ca12bfb5de52ba51cd4551a71eb41200e5ca9b193461",
  44568. "typeString": "literal_string \"log(uint256,bool,address,string)\""
  44569. },
  44570. "value": "log(uint256,bool,address,string)"
  44571. },
  44572. {
  44573. "id": 10516,
  44574. "name": "p0",
  44575. "nodeType": "Identifier",
  44576. "overloadedDeclarations": [],
  44577. "referencedDeclaration": 10503,
  44578. "src": "28468:2:50",
  44579. "typeDescriptions": {
  44580. "typeIdentifier": "t_uint256",
  44581. "typeString": "uint256"
  44582. }
  44583. },
  44584. {
  44585. "id": 10517,
  44586. "name": "p1",
  44587. "nodeType": "Identifier",
  44588. "overloadedDeclarations": [],
  44589. "referencedDeclaration": 10505,
  44590. "src": "28472:2:50",
  44591. "typeDescriptions": {
  44592. "typeIdentifier": "t_bool",
  44593. "typeString": "bool"
  44594. }
  44595. },
  44596. {
  44597. "id": 10518,
  44598. "name": "p2",
  44599. "nodeType": "Identifier",
  44600. "overloadedDeclarations": [],
  44601. "referencedDeclaration": 10507,
  44602. "src": "28476:2:50",
  44603. "typeDescriptions": {
  44604. "typeIdentifier": "t_address",
  44605. "typeString": "address"
  44606. }
  44607. },
  44608. {
  44609. "id": 10519,
  44610. "name": "p3",
  44611. "nodeType": "Identifier",
  44612. "overloadedDeclarations": [],
  44613. "referencedDeclaration": 10509,
  44614. "src": "28480:2:50",
  44615. "typeDescriptions": {
  44616. "typeIdentifier": "t_string_memory_ptr",
  44617. "typeString": "string memory"
  44618. }
  44619. }
  44620. ],
  44621. "expression": {
  44622. "argumentTypes": [
  44623. {
  44624. "typeIdentifier": "t_stringliteral_ade052c70a8f7736e3d4ca12bfb5de52ba51cd4551a71eb41200e5ca9b193461",
  44625. "typeString": "literal_string \"log(uint256,bool,address,string)\""
  44626. },
  44627. {
  44628. "typeIdentifier": "t_uint256",
  44629. "typeString": "uint256"
  44630. },
  44631. {
  44632. "typeIdentifier": "t_bool",
  44633. "typeString": "bool"
  44634. },
  44635. {
  44636. "typeIdentifier": "t_address",
  44637. "typeString": "address"
  44638. },
  44639. {
  44640. "typeIdentifier": "t_string_memory_ptr",
  44641. "typeString": "string memory"
  44642. }
  44643. ],
  44644. "expression": {
  44645. "id": 10513,
  44646. "name": "abi",
  44647. "nodeType": "Identifier",
  44648. "overloadedDeclarations": [],
  44649. "referencedDeclaration": -1,
  44650. "src": "28408:3:50",
  44651. "typeDescriptions": {
  44652. "typeIdentifier": "t_magic_abi",
  44653. "typeString": "abi"
  44654. }
  44655. },
  44656. "id": 10514,
  44657. "isConstant": false,
  44658. "isLValue": false,
  44659. "isPure": true,
  44660. "lValueRequested": false,
  44661. "memberLocation": "28412:19:50",
  44662. "memberName": "encodeWithSignature",
  44663. "nodeType": "MemberAccess",
  44664. "src": "28408:23:50",
  44665. "typeDescriptions": {
  44666. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  44667. "typeString": "function (string memory) pure returns (bytes memory)"
  44668. }
  44669. },
  44670. "id": 10520,
  44671. "isConstant": false,
  44672. "isLValue": false,
  44673. "isPure": false,
  44674. "kind": "functionCall",
  44675. "lValueRequested": false,
  44676. "nameLocations": [],
  44677. "names": [],
  44678. "nodeType": "FunctionCall",
  44679. "src": "28408:75:50",
  44680. "tryCall": false,
  44681. "typeDescriptions": {
  44682. "typeIdentifier": "t_bytes_memory_ptr",
  44683. "typeString": "bytes memory"
  44684. }
  44685. }
  44686. ],
  44687. "expression": {
  44688. "argumentTypes": [
  44689. {
  44690. "typeIdentifier": "t_bytes_memory_ptr",
  44691. "typeString": "bytes memory"
  44692. }
  44693. ],
  44694. "id": 10512,
  44695. "name": "_sendLogPayload",
  44696. "nodeType": "Identifier",
  44697. "overloadedDeclarations": [],
  44698. "referencedDeclaration": 7315,
  44699. "src": "28392:15:50",
  44700. "typeDescriptions": {
  44701. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  44702. "typeString": "function (bytes memory) pure"
  44703. }
  44704. },
  44705. "id": 10521,
  44706. "isConstant": false,
  44707. "isLValue": false,
  44708. "isPure": false,
  44709. "kind": "functionCall",
  44710. "lValueRequested": false,
  44711. "nameLocations": [],
  44712. "names": [],
  44713. "nodeType": "FunctionCall",
  44714. "src": "28392:92:50",
  44715. "tryCall": false,
  44716. "typeDescriptions": {
  44717. "typeIdentifier": "t_tuple$__$",
  44718. "typeString": "tuple()"
  44719. }
  44720. },
  44721. "id": 10522,
  44722. "nodeType": "ExpressionStatement",
  44723. "src": "28392:92:50"
  44724. }
  44725. ]
  44726. },
  44727. "implemented": true,
  44728. "kind": "function",
  44729. "modifiers": [],
  44730. "name": "log",
  44731. "nameLocation": "28313:3:50",
  44732. "parameters": {
  44733. "id": 10510,
  44734. "nodeType": "ParameterList",
  44735. "parameters": [
  44736. {
  44737. "constant": false,
  44738. "id": 10503,
  44739. "mutability": "mutable",
  44740. "name": "p0",
  44741. "nameLocation": "28325:2:50",
  44742. "nodeType": "VariableDeclaration",
  44743. "scope": 10524,
  44744. "src": "28317:10:50",
  44745. "stateVariable": false,
  44746. "storageLocation": "default",
  44747. "typeDescriptions": {
  44748. "typeIdentifier": "t_uint256",
  44749. "typeString": "uint256"
  44750. },
  44751. "typeName": {
  44752. "id": 10502,
  44753. "name": "uint256",
  44754. "nodeType": "ElementaryTypeName",
  44755. "src": "28317:7:50",
  44756. "typeDescriptions": {
  44757. "typeIdentifier": "t_uint256",
  44758. "typeString": "uint256"
  44759. }
  44760. },
  44761. "visibility": "internal"
  44762. },
  44763. {
  44764. "constant": false,
  44765. "id": 10505,
  44766. "mutability": "mutable",
  44767. "name": "p1",
  44768. "nameLocation": "28334:2:50",
  44769. "nodeType": "VariableDeclaration",
  44770. "scope": 10524,
  44771. "src": "28329:7:50",
  44772. "stateVariable": false,
  44773. "storageLocation": "default",
  44774. "typeDescriptions": {
  44775. "typeIdentifier": "t_bool",
  44776. "typeString": "bool"
  44777. },
  44778. "typeName": {
  44779. "id": 10504,
  44780. "name": "bool",
  44781. "nodeType": "ElementaryTypeName",
  44782. "src": "28329:4:50",
  44783. "typeDescriptions": {
  44784. "typeIdentifier": "t_bool",
  44785. "typeString": "bool"
  44786. }
  44787. },
  44788. "visibility": "internal"
  44789. },
  44790. {
  44791. "constant": false,
  44792. "id": 10507,
  44793. "mutability": "mutable",
  44794. "name": "p2",
  44795. "nameLocation": "28346:2:50",
  44796. "nodeType": "VariableDeclaration",
  44797. "scope": 10524,
  44798. "src": "28338:10:50",
  44799. "stateVariable": false,
  44800. "storageLocation": "default",
  44801. "typeDescriptions": {
  44802. "typeIdentifier": "t_address",
  44803. "typeString": "address"
  44804. },
  44805. "typeName": {
  44806. "id": 10506,
  44807. "name": "address",
  44808. "nodeType": "ElementaryTypeName",
  44809. "src": "28338:7:50",
  44810. "stateMutability": "nonpayable",
  44811. "typeDescriptions": {
  44812. "typeIdentifier": "t_address",
  44813. "typeString": "address"
  44814. }
  44815. },
  44816. "visibility": "internal"
  44817. },
  44818. {
  44819. "constant": false,
  44820. "id": 10509,
  44821. "mutability": "mutable",
  44822. "name": "p3",
  44823. "nameLocation": "28364:2:50",
  44824. "nodeType": "VariableDeclaration",
  44825. "scope": 10524,
  44826. "src": "28350:16:50",
  44827. "stateVariable": false,
  44828. "storageLocation": "memory",
  44829. "typeDescriptions": {
  44830. "typeIdentifier": "t_string_memory_ptr",
  44831. "typeString": "string"
  44832. },
  44833. "typeName": {
  44834. "id": 10508,
  44835. "name": "string",
  44836. "nodeType": "ElementaryTypeName",
  44837. "src": "28350:6:50",
  44838. "typeDescriptions": {
  44839. "typeIdentifier": "t_string_storage_ptr",
  44840. "typeString": "string"
  44841. }
  44842. },
  44843. "visibility": "internal"
  44844. }
  44845. ],
  44846. "src": "28316:51:50"
  44847. },
  44848. "returnParameters": {
  44849. "id": 10511,
  44850. "nodeType": "ParameterList",
  44851. "parameters": [],
  44852. "src": "28382:0:50"
  44853. },
  44854. "scope": 15355,
  44855. "stateMutability": "pure",
  44856. "virtual": false,
  44857. "visibility": "internal"
  44858. },
  44859. {
  44860. "id": 10547,
  44861. "nodeType": "FunctionDefinition",
  44862. "src": "28497:176:50",
  44863. "nodes": [],
  44864. "body": {
  44865. "id": 10546,
  44866. "nodeType": "Block",
  44867. "src": "28566:107:50",
  44868. "nodes": [],
  44869. "statements": [
  44870. {
  44871. "expression": {
  44872. "arguments": [
  44873. {
  44874. "arguments": [
  44875. {
  44876. "hexValue": "6c6f672875696e743235362c626f6f6c2c616464726573732c626f6f6c29",
  44877. "id": 10538,
  44878. "isConstant": false,
  44879. "isLValue": false,
  44880. "isPure": true,
  44881. "kind": "string",
  44882. "lValueRequested": false,
  44883. "nodeType": "Literal",
  44884. "src": "28616:32:50",
  44885. "typeDescriptions": {
  44886. "typeIdentifier": "t_stringliteral_454d54a5a1119d55883b5fbee0d6f19af54017eb1650d2284224aac472880f6a",
  44887. "typeString": "literal_string \"log(uint256,bool,address,bool)\""
  44888. },
  44889. "value": "log(uint256,bool,address,bool)"
  44890. },
  44891. {
  44892. "id": 10539,
  44893. "name": "p0",
  44894. "nodeType": "Identifier",
  44895. "overloadedDeclarations": [],
  44896. "referencedDeclaration": 10526,
  44897. "src": "28650:2:50",
  44898. "typeDescriptions": {
  44899. "typeIdentifier": "t_uint256",
  44900. "typeString": "uint256"
  44901. }
  44902. },
  44903. {
  44904. "id": 10540,
  44905. "name": "p1",
  44906. "nodeType": "Identifier",
  44907. "overloadedDeclarations": [],
  44908. "referencedDeclaration": 10528,
  44909. "src": "28654:2:50",
  44910. "typeDescriptions": {
  44911. "typeIdentifier": "t_bool",
  44912. "typeString": "bool"
  44913. }
  44914. },
  44915. {
  44916. "id": 10541,
  44917. "name": "p2",
  44918. "nodeType": "Identifier",
  44919. "overloadedDeclarations": [],
  44920. "referencedDeclaration": 10530,
  44921. "src": "28658:2:50",
  44922. "typeDescriptions": {
  44923. "typeIdentifier": "t_address",
  44924. "typeString": "address"
  44925. }
  44926. },
  44927. {
  44928. "id": 10542,
  44929. "name": "p3",
  44930. "nodeType": "Identifier",
  44931. "overloadedDeclarations": [],
  44932. "referencedDeclaration": 10532,
  44933. "src": "28662:2:50",
  44934. "typeDescriptions": {
  44935. "typeIdentifier": "t_bool",
  44936. "typeString": "bool"
  44937. }
  44938. }
  44939. ],
  44940. "expression": {
  44941. "argumentTypes": [
  44942. {
  44943. "typeIdentifier": "t_stringliteral_454d54a5a1119d55883b5fbee0d6f19af54017eb1650d2284224aac472880f6a",
  44944. "typeString": "literal_string \"log(uint256,bool,address,bool)\""
  44945. },
  44946. {
  44947. "typeIdentifier": "t_uint256",
  44948. "typeString": "uint256"
  44949. },
  44950. {
  44951. "typeIdentifier": "t_bool",
  44952. "typeString": "bool"
  44953. },
  44954. {
  44955. "typeIdentifier": "t_address",
  44956. "typeString": "address"
  44957. },
  44958. {
  44959. "typeIdentifier": "t_bool",
  44960. "typeString": "bool"
  44961. }
  44962. ],
  44963. "expression": {
  44964. "id": 10536,
  44965. "name": "abi",
  44966. "nodeType": "Identifier",
  44967. "overloadedDeclarations": [],
  44968. "referencedDeclaration": -1,
  44969. "src": "28592:3:50",
  44970. "typeDescriptions": {
  44971. "typeIdentifier": "t_magic_abi",
  44972. "typeString": "abi"
  44973. }
  44974. },
  44975. "id": 10537,
  44976. "isConstant": false,
  44977. "isLValue": false,
  44978. "isPure": true,
  44979. "lValueRequested": false,
  44980. "memberLocation": "28596:19:50",
  44981. "memberName": "encodeWithSignature",
  44982. "nodeType": "MemberAccess",
  44983. "src": "28592:23:50",
  44984. "typeDescriptions": {
  44985. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  44986. "typeString": "function (string memory) pure returns (bytes memory)"
  44987. }
  44988. },
  44989. "id": 10543,
  44990. "isConstant": false,
  44991. "isLValue": false,
  44992. "isPure": false,
  44993. "kind": "functionCall",
  44994. "lValueRequested": false,
  44995. "nameLocations": [],
  44996. "names": [],
  44997. "nodeType": "FunctionCall",
  44998. "src": "28592:73:50",
  44999. "tryCall": false,
  45000. "typeDescriptions": {
  45001. "typeIdentifier": "t_bytes_memory_ptr",
  45002. "typeString": "bytes memory"
  45003. }
  45004. }
  45005. ],
  45006. "expression": {
  45007. "argumentTypes": [
  45008. {
  45009. "typeIdentifier": "t_bytes_memory_ptr",
  45010. "typeString": "bytes memory"
  45011. }
  45012. ],
  45013. "id": 10535,
  45014. "name": "_sendLogPayload",
  45015. "nodeType": "Identifier",
  45016. "overloadedDeclarations": [],
  45017. "referencedDeclaration": 7315,
  45018. "src": "28576:15:50",
  45019. "typeDescriptions": {
  45020. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  45021. "typeString": "function (bytes memory) pure"
  45022. }
  45023. },
  45024. "id": 10544,
  45025. "isConstant": false,
  45026. "isLValue": false,
  45027. "isPure": false,
  45028. "kind": "functionCall",
  45029. "lValueRequested": false,
  45030. "nameLocations": [],
  45031. "names": [],
  45032. "nodeType": "FunctionCall",
  45033. "src": "28576:90:50",
  45034. "tryCall": false,
  45035. "typeDescriptions": {
  45036. "typeIdentifier": "t_tuple$__$",
  45037. "typeString": "tuple()"
  45038. }
  45039. },
  45040. "id": 10545,
  45041. "nodeType": "ExpressionStatement",
  45042. "src": "28576:90:50"
  45043. }
  45044. ]
  45045. },
  45046. "implemented": true,
  45047. "kind": "function",
  45048. "modifiers": [],
  45049. "name": "log",
  45050. "nameLocation": "28506:3:50",
  45051. "parameters": {
  45052. "id": 10533,
  45053. "nodeType": "ParameterList",
  45054. "parameters": [
  45055. {
  45056. "constant": false,
  45057. "id": 10526,
  45058. "mutability": "mutable",
  45059. "name": "p0",
  45060. "nameLocation": "28518:2:50",
  45061. "nodeType": "VariableDeclaration",
  45062. "scope": 10547,
  45063. "src": "28510:10:50",
  45064. "stateVariable": false,
  45065. "storageLocation": "default",
  45066. "typeDescriptions": {
  45067. "typeIdentifier": "t_uint256",
  45068. "typeString": "uint256"
  45069. },
  45070. "typeName": {
  45071. "id": 10525,
  45072. "name": "uint256",
  45073. "nodeType": "ElementaryTypeName",
  45074. "src": "28510:7:50",
  45075. "typeDescriptions": {
  45076. "typeIdentifier": "t_uint256",
  45077. "typeString": "uint256"
  45078. }
  45079. },
  45080. "visibility": "internal"
  45081. },
  45082. {
  45083. "constant": false,
  45084. "id": 10528,
  45085. "mutability": "mutable",
  45086. "name": "p1",
  45087. "nameLocation": "28527:2:50",
  45088. "nodeType": "VariableDeclaration",
  45089. "scope": 10547,
  45090. "src": "28522:7:50",
  45091. "stateVariable": false,
  45092. "storageLocation": "default",
  45093. "typeDescriptions": {
  45094. "typeIdentifier": "t_bool",
  45095. "typeString": "bool"
  45096. },
  45097. "typeName": {
  45098. "id": 10527,
  45099. "name": "bool",
  45100. "nodeType": "ElementaryTypeName",
  45101. "src": "28522:4:50",
  45102. "typeDescriptions": {
  45103. "typeIdentifier": "t_bool",
  45104. "typeString": "bool"
  45105. }
  45106. },
  45107. "visibility": "internal"
  45108. },
  45109. {
  45110. "constant": false,
  45111. "id": 10530,
  45112. "mutability": "mutable",
  45113. "name": "p2",
  45114. "nameLocation": "28539:2:50",
  45115. "nodeType": "VariableDeclaration",
  45116. "scope": 10547,
  45117. "src": "28531:10:50",
  45118. "stateVariable": false,
  45119. "storageLocation": "default",
  45120. "typeDescriptions": {
  45121. "typeIdentifier": "t_address",
  45122. "typeString": "address"
  45123. },
  45124. "typeName": {
  45125. "id": 10529,
  45126. "name": "address",
  45127. "nodeType": "ElementaryTypeName",
  45128. "src": "28531:7:50",
  45129. "stateMutability": "nonpayable",
  45130. "typeDescriptions": {
  45131. "typeIdentifier": "t_address",
  45132. "typeString": "address"
  45133. }
  45134. },
  45135. "visibility": "internal"
  45136. },
  45137. {
  45138. "constant": false,
  45139. "id": 10532,
  45140. "mutability": "mutable",
  45141. "name": "p3",
  45142. "nameLocation": "28548:2:50",
  45143. "nodeType": "VariableDeclaration",
  45144. "scope": 10547,
  45145. "src": "28543:7:50",
  45146. "stateVariable": false,
  45147. "storageLocation": "default",
  45148. "typeDescriptions": {
  45149. "typeIdentifier": "t_bool",
  45150. "typeString": "bool"
  45151. },
  45152. "typeName": {
  45153. "id": 10531,
  45154. "name": "bool",
  45155. "nodeType": "ElementaryTypeName",
  45156. "src": "28543:4:50",
  45157. "typeDescriptions": {
  45158. "typeIdentifier": "t_bool",
  45159. "typeString": "bool"
  45160. }
  45161. },
  45162. "visibility": "internal"
  45163. }
  45164. ],
  45165. "src": "28509:42:50"
  45166. },
  45167. "returnParameters": {
  45168. "id": 10534,
  45169. "nodeType": "ParameterList",
  45170. "parameters": [],
  45171. "src": "28566:0:50"
  45172. },
  45173. "scope": 15355,
  45174. "stateMutability": "pure",
  45175. "virtual": false,
  45176. "visibility": "internal"
  45177. },
  45178. {
  45179. "id": 10570,
  45180. "nodeType": "FunctionDefinition",
  45181. "src": "28679:182:50",
  45182. "nodes": [],
  45183. "body": {
  45184. "id": 10569,
  45185. "nodeType": "Block",
  45186. "src": "28751:110:50",
  45187. "nodes": [],
  45188. "statements": [
  45189. {
  45190. "expression": {
  45191. "arguments": [
  45192. {
  45193. "arguments": [
  45194. {
  45195. "hexValue": "6c6f672875696e743235362c626f6f6c2c616464726573732c6164647265737329",
  45196. "id": 10561,
  45197. "isConstant": false,
  45198. "isLValue": false,
  45199. "isPure": true,
  45200. "kind": "string",
  45201. "lValueRequested": false,
  45202. "nodeType": "Literal",
  45203. "src": "28801:35:50",
  45204. "typeDescriptions": {
  45205. "typeIdentifier": "t_stringliteral_a1ef4cbbfd0316a849f14b661567c9c341a49bccb745dfb6a3d9b82c389ac190",
  45206. "typeString": "literal_string \"log(uint256,bool,address,address)\""
  45207. },
  45208. "value": "log(uint256,bool,address,address)"
  45209. },
  45210. {
  45211. "id": 10562,
  45212. "name": "p0",
  45213. "nodeType": "Identifier",
  45214. "overloadedDeclarations": [],
  45215. "referencedDeclaration": 10549,
  45216. "src": "28838:2:50",
  45217. "typeDescriptions": {
  45218. "typeIdentifier": "t_uint256",
  45219. "typeString": "uint256"
  45220. }
  45221. },
  45222. {
  45223. "id": 10563,
  45224. "name": "p1",
  45225. "nodeType": "Identifier",
  45226. "overloadedDeclarations": [],
  45227. "referencedDeclaration": 10551,
  45228. "src": "28842:2:50",
  45229. "typeDescriptions": {
  45230. "typeIdentifier": "t_bool",
  45231. "typeString": "bool"
  45232. }
  45233. },
  45234. {
  45235. "id": 10564,
  45236. "name": "p2",
  45237. "nodeType": "Identifier",
  45238. "overloadedDeclarations": [],
  45239. "referencedDeclaration": 10553,
  45240. "src": "28846:2:50",
  45241. "typeDescriptions": {
  45242. "typeIdentifier": "t_address",
  45243. "typeString": "address"
  45244. }
  45245. },
  45246. {
  45247. "id": 10565,
  45248. "name": "p3",
  45249. "nodeType": "Identifier",
  45250. "overloadedDeclarations": [],
  45251. "referencedDeclaration": 10555,
  45252. "src": "28850:2:50",
  45253. "typeDescriptions": {
  45254. "typeIdentifier": "t_address",
  45255. "typeString": "address"
  45256. }
  45257. }
  45258. ],
  45259. "expression": {
  45260. "argumentTypes": [
  45261. {
  45262. "typeIdentifier": "t_stringliteral_a1ef4cbbfd0316a849f14b661567c9c341a49bccb745dfb6a3d9b82c389ac190",
  45263. "typeString": "literal_string \"log(uint256,bool,address,address)\""
  45264. },
  45265. {
  45266. "typeIdentifier": "t_uint256",
  45267. "typeString": "uint256"
  45268. },
  45269. {
  45270. "typeIdentifier": "t_bool",
  45271. "typeString": "bool"
  45272. },
  45273. {
  45274. "typeIdentifier": "t_address",
  45275. "typeString": "address"
  45276. },
  45277. {
  45278. "typeIdentifier": "t_address",
  45279. "typeString": "address"
  45280. }
  45281. ],
  45282. "expression": {
  45283. "id": 10559,
  45284. "name": "abi",
  45285. "nodeType": "Identifier",
  45286. "overloadedDeclarations": [],
  45287. "referencedDeclaration": -1,
  45288. "src": "28777:3:50",
  45289. "typeDescriptions": {
  45290. "typeIdentifier": "t_magic_abi",
  45291. "typeString": "abi"
  45292. }
  45293. },
  45294. "id": 10560,
  45295. "isConstant": false,
  45296. "isLValue": false,
  45297. "isPure": true,
  45298. "lValueRequested": false,
  45299. "memberLocation": "28781:19:50",
  45300. "memberName": "encodeWithSignature",
  45301. "nodeType": "MemberAccess",
  45302. "src": "28777:23:50",
  45303. "typeDescriptions": {
  45304. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  45305. "typeString": "function (string memory) pure returns (bytes memory)"
  45306. }
  45307. },
  45308. "id": 10566,
  45309. "isConstant": false,
  45310. "isLValue": false,
  45311. "isPure": false,
  45312. "kind": "functionCall",
  45313. "lValueRequested": false,
  45314. "nameLocations": [],
  45315. "names": [],
  45316. "nodeType": "FunctionCall",
  45317. "src": "28777:76:50",
  45318. "tryCall": false,
  45319. "typeDescriptions": {
  45320. "typeIdentifier": "t_bytes_memory_ptr",
  45321. "typeString": "bytes memory"
  45322. }
  45323. }
  45324. ],
  45325. "expression": {
  45326. "argumentTypes": [
  45327. {
  45328. "typeIdentifier": "t_bytes_memory_ptr",
  45329. "typeString": "bytes memory"
  45330. }
  45331. ],
  45332. "id": 10558,
  45333. "name": "_sendLogPayload",
  45334. "nodeType": "Identifier",
  45335. "overloadedDeclarations": [],
  45336. "referencedDeclaration": 7315,
  45337. "src": "28761:15:50",
  45338. "typeDescriptions": {
  45339. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  45340. "typeString": "function (bytes memory) pure"
  45341. }
  45342. },
  45343. "id": 10567,
  45344. "isConstant": false,
  45345. "isLValue": false,
  45346. "isPure": false,
  45347. "kind": "functionCall",
  45348. "lValueRequested": false,
  45349. "nameLocations": [],
  45350. "names": [],
  45351. "nodeType": "FunctionCall",
  45352. "src": "28761:93:50",
  45353. "tryCall": false,
  45354. "typeDescriptions": {
  45355. "typeIdentifier": "t_tuple$__$",
  45356. "typeString": "tuple()"
  45357. }
  45358. },
  45359. "id": 10568,
  45360. "nodeType": "ExpressionStatement",
  45361. "src": "28761:93:50"
  45362. }
  45363. ]
  45364. },
  45365. "implemented": true,
  45366. "kind": "function",
  45367. "modifiers": [],
  45368. "name": "log",
  45369. "nameLocation": "28688:3:50",
  45370. "parameters": {
  45371. "id": 10556,
  45372. "nodeType": "ParameterList",
  45373. "parameters": [
  45374. {
  45375. "constant": false,
  45376. "id": 10549,
  45377. "mutability": "mutable",
  45378. "name": "p0",
  45379. "nameLocation": "28700:2:50",
  45380. "nodeType": "VariableDeclaration",
  45381. "scope": 10570,
  45382. "src": "28692:10:50",
  45383. "stateVariable": false,
  45384. "storageLocation": "default",
  45385. "typeDescriptions": {
  45386. "typeIdentifier": "t_uint256",
  45387. "typeString": "uint256"
  45388. },
  45389. "typeName": {
  45390. "id": 10548,
  45391. "name": "uint256",
  45392. "nodeType": "ElementaryTypeName",
  45393. "src": "28692:7:50",
  45394. "typeDescriptions": {
  45395. "typeIdentifier": "t_uint256",
  45396. "typeString": "uint256"
  45397. }
  45398. },
  45399. "visibility": "internal"
  45400. },
  45401. {
  45402. "constant": false,
  45403. "id": 10551,
  45404. "mutability": "mutable",
  45405. "name": "p1",
  45406. "nameLocation": "28709:2:50",
  45407. "nodeType": "VariableDeclaration",
  45408. "scope": 10570,
  45409. "src": "28704:7:50",
  45410. "stateVariable": false,
  45411. "storageLocation": "default",
  45412. "typeDescriptions": {
  45413. "typeIdentifier": "t_bool",
  45414. "typeString": "bool"
  45415. },
  45416. "typeName": {
  45417. "id": 10550,
  45418. "name": "bool",
  45419. "nodeType": "ElementaryTypeName",
  45420. "src": "28704:4:50",
  45421. "typeDescriptions": {
  45422. "typeIdentifier": "t_bool",
  45423. "typeString": "bool"
  45424. }
  45425. },
  45426. "visibility": "internal"
  45427. },
  45428. {
  45429. "constant": false,
  45430. "id": 10553,
  45431. "mutability": "mutable",
  45432. "name": "p2",
  45433. "nameLocation": "28721:2:50",
  45434. "nodeType": "VariableDeclaration",
  45435. "scope": 10570,
  45436. "src": "28713:10:50",
  45437. "stateVariable": false,
  45438. "storageLocation": "default",
  45439. "typeDescriptions": {
  45440. "typeIdentifier": "t_address",
  45441. "typeString": "address"
  45442. },
  45443. "typeName": {
  45444. "id": 10552,
  45445. "name": "address",
  45446. "nodeType": "ElementaryTypeName",
  45447. "src": "28713:7:50",
  45448. "stateMutability": "nonpayable",
  45449. "typeDescriptions": {
  45450. "typeIdentifier": "t_address",
  45451. "typeString": "address"
  45452. }
  45453. },
  45454. "visibility": "internal"
  45455. },
  45456. {
  45457. "constant": false,
  45458. "id": 10555,
  45459. "mutability": "mutable",
  45460. "name": "p3",
  45461. "nameLocation": "28733:2:50",
  45462. "nodeType": "VariableDeclaration",
  45463. "scope": 10570,
  45464. "src": "28725:10:50",
  45465. "stateVariable": false,
  45466. "storageLocation": "default",
  45467. "typeDescriptions": {
  45468. "typeIdentifier": "t_address",
  45469. "typeString": "address"
  45470. },
  45471. "typeName": {
  45472. "id": 10554,
  45473. "name": "address",
  45474. "nodeType": "ElementaryTypeName",
  45475. "src": "28725:7:50",
  45476. "stateMutability": "nonpayable",
  45477. "typeDescriptions": {
  45478. "typeIdentifier": "t_address",
  45479. "typeString": "address"
  45480. }
  45481. },
  45482. "visibility": "internal"
  45483. }
  45484. ],
  45485. "src": "28691:45:50"
  45486. },
  45487. "returnParameters": {
  45488. "id": 10557,
  45489. "nodeType": "ParameterList",
  45490. "parameters": [],
  45491. "src": "28751:0:50"
  45492. },
  45493. "scope": 15355,
  45494. "stateMutability": "pure",
  45495. "virtual": false,
  45496. "visibility": "internal"
  45497. },
  45498. {
  45499. "id": 10593,
  45500. "nodeType": "FunctionDefinition",
  45501. "src": "28867:188:50",
  45502. "nodes": [],
  45503. "body": {
  45504. "id": 10592,
  45505. "nodeType": "Block",
  45506. "src": "28942:113:50",
  45507. "nodes": [],
  45508. "statements": [
  45509. {
  45510. "expression": {
  45511. "arguments": [
  45512. {
  45513. "arguments": [
  45514. {
  45515. "hexValue": "6c6f672875696e743235362c616464726573732c75696e743235362c75696e7432353629",
  45516. "id": 10584,
  45517. "isConstant": false,
  45518. "isLValue": false,
  45519. "isPure": true,
  45520. "kind": "string",
  45521. "lValueRequested": false,
  45522. "nodeType": "Literal",
  45523. "src": "28992:38:50",
  45524. "typeDescriptions": {
  45525. "typeIdentifier": "t_stringliteral_0c9cd9c12a2e17a9af800ac7e9a2b379066135ecb5b197bdb13381ac61cbc59a",
  45526. "typeString": "literal_string \"log(uint256,address,uint256,uint256)\""
  45527. },
  45528. "value": "log(uint256,address,uint256,uint256)"
  45529. },
  45530. {
  45531. "id": 10585,
  45532. "name": "p0",
  45533. "nodeType": "Identifier",
  45534. "overloadedDeclarations": [],
  45535. "referencedDeclaration": 10572,
  45536. "src": "29032:2:50",
  45537. "typeDescriptions": {
  45538. "typeIdentifier": "t_uint256",
  45539. "typeString": "uint256"
  45540. }
  45541. },
  45542. {
  45543. "id": 10586,
  45544. "name": "p1",
  45545. "nodeType": "Identifier",
  45546. "overloadedDeclarations": [],
  45547. "referencedDeclaration": 10574,
  45548. "src": "29036:2:50",
  45549. "typeDescriptions": {
  45550. "typeIdentifier": "t_address",
  45551. "typeString": "address"
  45552. }
  45553. },
  45554. {
  45555. "id": 10587,
  45556. "name": "p2",
  45557. "nodeType": "Identifier",
  45558. "overloadedDeclarations": [],
  45559. "referencedDeclaration": 10576,
  45560. "src": "29040:2:50",
  45561. "typeDescriptions": {
  45562. "typeIdentifier": "t_uint256",
  45563. "typeString": "uint256"
  45564. }
  45565. },
  45566. {
  45567. "id": 10588,
  45568. "name": "p3",
  45569. "nodeType": "Identifier",
  45570. "overloadedDeclarations": [],
  45571. "referencedDeclaration": 10578,
  45572. "src": "29044:2:50",
  45573. "typeDescriptions": {
  45574. "typeIdentifier": "t_uint256",
  45575. "typeString": "uint256"
  45576. }
  45577. }
  45578. ],
  45579. "expression": {
  45580. "argumentTypes": [
  45581. {
  45582. "typeIdentifier": "t_stringliteral_0c9cd9c12a2e17a9af800ac7e9a2b379066135ecb5b197bdb13381ac61cbc59a",
  45583. "typeString": "literal_string \"log(uint256,address,uint256,uint256)\""
  45584. },
  45585. {
  45586. "typeIdentifier": "t_uint256",
  45587. "typeString": "uint256"
  45588. },
  45589. {
  45590. "typeIdentifier": "t_address",
  45591. "typeString": "address"
  45592. },
  45593. {
  45594. "typeIdentifier": "t_uint256",
  45595. "typeString": "uint256"
  45596. },
  45597. {
  45598. "typeIdentifier": "t_uint256",
  45599. "typeString": "uint256"
  45600. }
  45601. ],
  45602. "expression": {
  45603. "id": 10582,
  45604. "name": "abi",
  45605. "nodeType": "Identifier",
  45606. "overloadedDeclarations": [],
  45607. "referencedDeclaration": -1,
  45608. "src": "28968:3:50",
  45609. "typeDescriptions": {
  45610. "typeIdentifier": "t_magic_abi",
  45611. "typeString": "abi"
  45612. }
  45613. },
  45614. "id": 10583,
  45615. "isConstant": false,
  45616. "isLValue": false,
  45617. "isPure": true,
  45618. "lValueRequested": false,
  45619. "memberLocation": "28972:19:50",
  45620. "memberName": "encodeWithSignature",
  45621. "nodeType": "MemberAccess",
  45622. "src": "28968:23:50",
  45623. "typeDescriptions": {
  45624. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  45625. "typeString": "function (string memory) pure returns (bytes memory)"
  45626. }
  45627. },
  45628. "id": 10589,
  45629. "isConstant": false,
  45630. "isLValue": false,
  45631. "isPure": false,
  45632. "kind": "functionCall",
  45633. "lValueRequested": false,
  45634. "nameLocations": [],
  45635. "names": [],
  45636. "nodeType": "FunctionCall",
  45637. "src": "28968:79:50",
  45638. "tryCall": false,
  45639. "typeDescriptions": {
  45640. "typeIdentifier": "t_bytes_memory_ptr",
  45641. "typeString": "bytes memory"
  45642. }
  45643. }
  45644. ],
  45645. "expression": {
  45646. "argumentTypes": [
  45647. {
  45648. "typeIdentifier": "t_bytes_memory_ptr",
  45649. "typeString": "bytes memory"
  45650. }
  45651. ],
  45652. "id": 10581,
  45653. "name": "_sendLogPayload",
  45654. "nodeType": "Identifier",
  45655. "overloadedDeclarations": [],
  45656. "referencedDeclaration": 7315,
  45657. "src": "28952:15:50",
  45658. "typeDescriptions": {
  45659. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  45660. "typeString": "function (bytes memory) pure"
  45661. }
  45662. },
  45663. "id": 10590,
  45664. "isConstant": false,
  45665. "isLValue": false,
  45666. "isPure": false,
  45667. "kind": "functionCall",
  45668. "lValueRequested": false,
  45669. "nameLocations": [],
  45670. "names": [],
  45671. "nodeType": "FunctionCall",
  45672. "src": "28952:96:50",
  45673. "tryCall": false,
  45674. "typeDescriptions": {
  45675. "typeIdentifier": "t_tuple$__$",
  45676. "typeString": "tuple()"
  45677. }
  45678. },
  45679. "id": 10591,
  45680. "nodeType": "ExpressionStatement",
  45681. "src": "28952:96:50"
  45682. }
  45683. ]
  45684. },
  45685. "implemented": true,
  45686. "kind": "function",
  45687. "modifiers": [],
  45688. "name": "log",
  45689. "nameLocation": "28876:3:50",
  45690. "parameters": {
  45691. "id": 10579,
  45692. "nodeType": "ParameterList",
  45693. "parameters": [
  45694. {
  45695. "constant": false,
  45696. "id": 10572,
  45697. "mutability": "mutable",
  45698. "name": "p0",
  45699. "nameLocation": "28888:2:50",
  45700. "nodeType": "VariableDeclaration",
  45701. "scope": 10593,
  45702. "src": "28880:10:50",
  45703. "stateVariable": false,
  45704. "storageLocation": "default",
  45705. "typeDescriptions": {
  45706. "typeIdentifier": "t_uint256",
  45707. "typeString": "uint256"
  45708. },
  45709. "typeName": {
  45710. "id": 10571,
  45711. "name": "uint256",
  45712. "nodeType": "ElementaryTypeName",
  45713. "src": "28880:7:50",
  45714. "typeDescriptions": {
  45715. "typeIdentifier": "t_uint256",
  45716. "typeString": "uint256"
  45717. }
  45718. },
  45719. "visibility": "internal"
  45720. },
  45721. {
  45722. "constant": false,
  45723. "id": 10574,
  45724. "mutability": "mutable",
  45725. "name": "p1",
  45726. "nameLocation": "28900:2:50",
  45727. "nodeType": "VariableDeclaration",
  45728. "scope": 10593,
  45729. "src": "28892:10:50",
  45730. "stateVariable": false,
  45731. "storageLocation": "default",
  45732. "typeDescriptions": {
  45733. "typeIdentifier": "t_address",
  45734. "typeString": "address"
  45735. },
  45736. "typeName": {
  45737. "id": 10573,
  45738. "name": "address",
  45739. "nodeType": "ElementaryTypeName",
  45740. "src": "28892:7:50",
  45741. "stateMutability": "nonpayable",
  45742. "typeDescriptions": {
  45743. "typeIdentifier": "t_address",
  45744. "typeString": "address"
  45745. }
  45746. },
  45747. "visibility": "internal"
  45748. },
  45749. {
  45750. "constant": false,
  45751. "id": 10576,
  45752. "mutability": "mutable",
  45753. "name": "p2",
  45754. "nameLocation": "28912:2:50",
  45755. "nodeType": "VariableDeclaration",
  45756. "scope": 10593,
  45757. "src": "28904:10:50",
  45758. "stateVariable": false,
  45759. "storageLocation": "default",
  45760. "typeDescriptions": {
  45761. "typeIdentifier": "t_uint256",
  45762. "typeString": "uint256"
  45763. },
  45764. "typeName": {
  45765. "id": 10575,
  45766. "name": "uint256",
  45767. "nodeType": "ElementaryTypeName",
  45768. "src": "28904:7:50",
  45769. "typeDescriptions": {
  45770. "typeIdentifier": "t_uint256",
  45771. "typeString": "uint256"
  45772. }
  45773. },
  45774. "visibility": "internal"
  45775. },
  45776. {
  45777. "constant": false,
  45778. "id": 10578,
  45779. "mutability": "mutable",
  45780. "name": "p3",
  45781. "nameLocation": "28924:2:50",
  45782. "nodeType": "VariableDeclaration",
  45783. "scope": 10593,
  45784. "src": "28916:10:50",
  45785. "stateVariable": false,
  45786. "storageLocation": "default",
  45787. "typeDescriptions": {
  45788. "typeIdentifier": "t_uint256",
  45789. "typeString": "uint256"
  45790. },
  45791. "typeName": {
  45792. "id": 10577,
  45793. "name": "uint256",
  45794. "nodeType": "ElementaryTypeName",
  45795. "src": "28916:7:50",
  45796. "typeDescriptions": {
  45797. "typeIdentifier": "t_uint256",
  45798. "typeString": "uint256"
  45799. }
  45800. },
  45801. "visibility": "internal"
  45802. }
  45803. ],
  45804. "src": "28879:48:50"
  45805. },
  45806. "returnParameters": {
  45807. "id": 10580,
  45808. "nodeType": "ParameterList",
  45809. "parameters": [],
  45810. "src": "28942:0:50"
  45811. },
  45812. "scope": 15355,
  45813. "stateMutability": "pure",
  45814. "virtual": false,
  45815. "visibility": "internal"
  45816. },
  45817. {
  45818. "id": 10616,
  45819. "nodeType": "FunctionDefinition",
  45820. "src": "29061:193:50",
  45821. "nodes": [],
  45822. "body": {
  45823. "id": 10615,
  45824. "nodeType": "Block",
  45825. "src": "29142:112:50",
  45826. "nodes": [],
  45827. "statements": [
  45828. {
  45829. "expression": {
  45830. "arguments": [
  45831. {
  45832. "arguments": [
  45833. {
  45834. "hexValue": "6c6f672875696e743235362c616464726573732c75696e743235362c737472696e6729",
  45835. "id": 10607,
  45836. "isConstant": false,
  45837. "isLValue": false,
  45838. "isPure": true,
  45839. "kind": "string",
  45840. "lValueRequested": false,
  45841. "nodeType": "Literal",
  45842. "src": "29192:37:50",
  45843. "typeDescriptions": {
  45844. "typeIdentifier": "t_stringliteral_ddb06521f885b932f9898b05830c564a50fea82133f47ad308278affbd84d0bd",
  45845. "typeString": "literal_string \"log(uint256,address,uint256,string)\""
  45846. },
  45847. "value": "log(uint256,address,uint256,string)"
  45848. },
  45849. {
  45850. "id": 10608,
  45851. "name": "p0",
  45852. "nodeType": "Identifier",
  45853. "overloadedDeclarations": [],
  45854. "referencedDeclaration": 10595,
  45855. "src": "29231:2:50",
  45856. "typeDescriptions": {
  45857. "typeIdentifier": "t_uint256",
  45858. "typeString": "uint256"
  45859. }
  45860. },
  45861. {
  45862. "id": 10609,
  45863. "name": "p1",
  45864. "nodeType": "Identifier",
  45865. "overloadedDeclarations": [],
  45866. "referencedDeclaration": 10597,
  45867. "src": "29235:2:50",
  45868. "typeDescriptions": {
  45869. "typeIdentifier": "t_address",
  45870. "typeString": "address"
  45871. }
  45872. },
  45873. {
  45874. "id": 10610,
  45875. "name": "p2",
  45876. "nodeType": "Identifier",
  45877. "overloadedDeclarations": [],
  45878. "referencedDeclaration": 10599,
  45879. "src": "29239:2:50",
  45880. "typeDescriptions": {
  45881. "typeIdentifier": "t_uint256",
  45882. "typeString": "uint256"
  45883. }
  45884. },
  45885. {
  45886. "id": 10611,
  45887. "name": "p3",
  45888. "nodeType": "Identifier",
  45889. "overloadedDeclarations": [],
  45890. "referencedDeclaration": 10601,
  45891. "src": "29243:2:50",
  45892. "typeDescriptions": {
  45893. "typeIdentifier": "t_string_memory_ptr",
  45894. "typeString": "string memory"
  45895. }
  45896. }
  45897. ],
  45898. "expression": {
  45899. "argumentTypes": [
  45900. {
  45901. "typeIdentifier": "t_stringliteral_ddb06521f885b932f9898b05830c564a50fea82133f47ad308278affbd84d0bd",
  45902. "typeString": "literal_string \"log(uint256,address,uint256,string)\""
  45903. },
  45904. {
  45905. "typeIdentifier": "t_uint256",
  45906. "typeString": "uint256"
  45907. },
  45908. {
  45909. "typeIdentifier": "t_address",
  45910. "typeString": "address"
  45911. },
  45912. {
  45913. "typeIdentifier": "t_uint256",
  45914. "typeString": "uint256"
  45915. },
  45916. {
  45917. "typeIdentifier": "t_string_memory_ptr",
  45918. "typeString": "string memory"
  45919. }
  45920. ],
  45921. "expression": {
  45922. "id": 10605,
  45923. "name": "abi",
  45924. "nodeType": "Identifier",
  45925. "overloadedDeclarations": [],
  45926. "referencedDeclaration": -1,
  45927. "src": "29168:3:50",
  45928. "typeDescriptions": {
  45929. "typeIdentifier": "t_magic_abi",
  45930. "typeString": "abi"
  45931. }
  45932. },
  45933. "id": 10606,
  45934. "isConstant": false,
  45935. "isLValue": false,
  45936. "isPure": true,
  45937. "lValueRequested": false,
  45938. "memberLocation": "29172:19:50",
  45939. "memberName": "encodeWithSignature",
  45940. "nodeType": "MemberAccess",
  45941. "src": "29168:23:50",
  45942. "typeDescriptions": {
  45943. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  45944. "typeString": "function (string memory) pure returns (bytes memory)"
  45945. }
  45946. },
  45947. "id": 10612,
  45948. "isConstant": false,
  45949. "isLValue": false,
  45950. "isPure": false,
  45951. "kind": "functionCall",
  45952. "lValueRequested": false,
  45953. "nameLocations": [],
  45954. "names": [],
  45955. "nodeType": "FunctionCall",
  45956. "src": "29168:78:50",
  45957. "tryCall": false,
  45958. "typeDescriptions": {
  45959. "typeIdentifier": "t_bytes_memory_ptr",
  45960. "typeString": "bytes memory"
  45961. }
  45962. }
  45963. ],
  45964. "expression": {
  45965. "argumentTypes": [
  45966. {
  45967. "typeIdentifier": "t_bytes_memory_ptr",
  45968. "typeString": "bytes memory"
  45969. }
  45970. ],
  45971. "id": 10604,
  45972. "name": "_sendLogPayload",
  45973. "nodeType": "Identifier",
  45974. "overloadedDeclarations": [],
  45975. "referencedDeclaration": 7315,
  45976. "src": "29152:15:50",
  45977. "typeDescriptions": {
  45978. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  45979. "typeString": "function (bytes memory) pure"
  45980. }
  45981. },
  45982. "id": 10613,
  45983. "isConstant": false,
  45984. "isLValue": false,
  45985. "isPure": false,
  45986. "kind": "functionCall",
  45987. "lValueRequested": false,
  45988. "nameLocations": [],
  45989. "names": [],
  45990. "nodeType": "FunctionCall",
  45991. "src": "29152:95:50",
  45992. "tryCall": false,
  45993. "typeDescriptions": {
  45994. "typeIdentifier": "t_tuple$__$",
  45995. "typeString": "tuple()"
  45996. }
  45997. },
  45998. "id": 10614,
  45999. "nodeType": "ExpressionStatement",
  46000. "src": "29152:95:50"
  46001. }
  46002. ]
  46003. },
  46004. "implemented": true,
  46005. "kind": "function",
  46006. "modifiers": [],
  46007. "name": "log",
  46008. "nameLocation": "29070:3:50",
  46009. "parameters": {
  46010. "id": 10602,
  46011. "nodeType": "ParameterList",
  46012. "parameters": [
  46013. {
  46014. "constant": false,
  46015. "id": 10595,
  46016. "mutability": "mutable",
  46017. "name": "p0",
  46018. "nameLocation": "29082:2:50",
  46019. "nodeType": "VariableDeclaration",
  46020. "scope": 10616,
  46021. "src": "29074:10:50",
  46022. "stateVariable": false,
  46023. "storageLocation": "default",
  46024. "typeDescriptions": {
  46025. "typeIdentifier": "t_uint256",
  46026. "typeString": "uint256"
  46027. },
  46028. "typeName": {
  46029. "id": 10594,
  46030. "name": "uint256",
  46031. "nodeType": "ElementaryTypeName",
  46032. "src": "29074:7:50",
  46033. "typeDescriptions": {
  46034. "typeIdentifier": "t_uint256",
  46035. "typeString": "uint256"
  46036. }
  46037. },
  46038. "visibility": "internal"
  46039. },
  46040. {
  46041. "constant": false,
  46042. "id": 10597,
  46043. "mutability": "mutable",
  46044. "name": "p1",
  46045. "nameLocation": "29094:2:50",
  46046. "nodeType": "VariableDeclaration",
  46047. "scope": 10616,
  46048. "src": "29086:10:50",
  46049. "stateVariable": false,
  46050. "storageLocation": "default",
  46051. "typeDescriptions": {
  46052. "typeIdentifier": "t_address",
  46053. "typeString": "address"
  46054. },
  46055. "typeName": {
  46056. "id": 10596,
  46057. "name": "address",
  46058. "nodeType": "ElementaryTypeName",
  46059. "src": "29086:7:50",
  46060. "stateMutability": "nonpayable",
  46061. "typeDescriptions": {
  46062. "typeIdentifier": "t_address",
  46063. "typeString": "address"
  46064. }
  46065. },
  46066. "visibility": "internal"
  46067. },
  46068. {
  46069. "constant": false,
  46070. "id": 10599,
  46071. "mutability": "mutable",
  46072. "name": "p2",
  46073. "nameLocation": "29106:2:50",
  46074. "nodeType": "VariableDeclaration",
  46075. "scope": 10616,
  46076. "src": "29098:10:50",
  46077. "stateVariable": false,
  46078. "storageLocation": "default",
  46079. "typeDescriptions": {
  46080. "typeIdentifier": "t_uint256",
  46081. "typeString": "uint256"
  46082. },
  46083. "typeName": {
  46084. "id": 10598,
  46085. "name": "uint256",
  46086. "nodeType": "ElementaryTypeName",
  46087. "src": "29098:7:50",
  46088. "typeDescriptions": {
  46089. "typeIdentifier": "t_uint256",
  46090. "typeString": "uint256"
  46091. }
  46092. },
  46093. "visibility": "internal"
  46094. },
  46095. {
  46096. "constant": false,
  46097. "id": 10601,
  46098. "mutability": "mutable",
  46099. "name": "p3",
  46100. "nameLocation": "29124:2:50",
  46101. "nodeType": "VariableDeclaration",
  46102. "scope": 10616,
  46103. "src": "29110:16:50",
  46104. "stateVariable": false,
  46105. "storageLocation": "memory",
  46106. "typeDescriptions": {
  46107. "typeIdentifier": "t_string_memory_ptr",
  46108. "typeString": "string"
  46109. },
  46110. "typeName": {
  46111. "id": 10600,
  46112. "name": "string",
  46113. "nodeType": "ElementaryTypeName",
  46114. "src": "29110:6:50",
  46115. "typeDescriptions": {
  46116. "typeIdentifier": "t_string_storage_ptr",
  46117. "typeString": "string"
  46118. }
  46119. },
  46120. "visibility": "internal"
  46121. }
  46122. ],
  46123. "src": "29073:54:50"
  46124. },
  46125. "returnParameters": {
  46126. "id": 10603,
  46127. "nodeType": "ParameterList",
  46128. "parameters": [],
  46129. "src": "29142:0:50"
  46130. },
  46131. "scope": 15355,
  46132. "stateMutability": "pure",
  46133. "virtual": false,
  46134. "visibility": "internal"
  46135. },
  46136. {
  46137. "id": 10639,
  46138. "nodeType": "FunctionDefinition",
  46139. "src": "29260:182:50",
  46140. "nodes": [],
  46141. "body": {
  46142. "id": 10638,
  46143. "nodeType": "Block",
  46144. "src": "29332:110:50",
  46145. "nodes": [],
  46146. "statements": [
  46147. {
  46148. "expression": {
  46149. "arguments": [
  46150. {
  46151. "arguments": [
  46152. {
  46153. "hexValue": "6c6f672875696e743235362c616464726573732c75696e743235362c626f6f6c29",
  46154. "id": 10630,
  46155. "isConstant": false,
  46156. "isLValue": false,
  46157. "isPure": true,
  46158. "kind": "string",
  46159. "lValueRequested": false,
  46160. "nodeType": "Literal",
  46161. "src": "29382:35:50",
  46162. "typeDescriptions": {
  46163. "typeIdentifier": "t_stringliteral_5f743a7c155871069fb5e6df4e57e25e572bb3015b18294cc69630b2e0ae2e5f",
  46164. "typeString": "literal_string \"log(uint256,address,uint256,bool)\""
  46165. },
  46166. "value": "log(uint256,address,uint256,bool)"
  46167. },
  46168. {
  46169. "id": 10631,
  46170. "name": "p0",
  46171. "nodeType": "Identifier",
  46172. "overloadedDeclarations": [],
  46173. "referencedDeclaration": 10618,
  46174. "src": "29419:2:50",
  46175. "typeDescriptions": {
  46176. "typeIdentifier": "t_uint256",
  46177. "typeString": "uint256"
  46178. }
  46179. },
  46180. {
  46181. "id": 10632,
  46182. "name": "p1",
  46183. "nodeType": "Identifier",
  46184. "overloadedDeclarations": [],
  46185. "referencedDeclaration": 10620,
  46186. "src": "29423:2:50",
  46187. "typeDescriptions": {
  46188. "typeIdentifier": "t_address",
  46189. "typeString": "address"
  46190. }
  46191. },
  46192. {
  46193. "id": 10633,
  46194. "name": "p2",
  46195. "nodeType": "Identifier",
  46196. "overloadedDeclarations": [],
  46197. "referencedDeclaration": 10622,
  46198. "src": "29427:2:50",
  46199. "typeDescriptions": {
  46200. "typeIdentifier": "t_uint256",
  46201. "typeString": "uint256"
  46202. }
  46203. },
  46204. {
  46205. "id": 10634,
  46206. "name": "p3",
  46207. "nodeType": "Identifier",
  46208. "overloadedDeclarations": [],
  46209. "referencedDeclaration": 10624,
  46210. "src": "29431:2:50",
  46211. "typeDescriptions": {
  46212. "typeIdentifier": "t_bool",
  46213. "typeString": "bool"
  46214. }
  46215. }
  46216. ],
  46217. "expression": {
  46218. "argumentTypes": [
  46219. {
  46220. "typeIdentifier": "t_stringliteral_5f743a7c155871069fb5e6df4e57e25e572bb3015b18294cc69630b2e0ae2e5f",
  46221. "typeString": "literal_string \"log(uint256,address,uint256,bool)\""
  46222. },
  46223. {
  46224. "typeIdentifier": "t_uint256",
  46225. "typeString": "uint256"
  46226. },
  46227. {
  46228. "typeIdentifier": "t_address",
  46229. "typeString": "address"
  46230. },
  46231. {
  46232. "typeIdentifier": "t_uint256",
  46233. "typeString": "uint256"
  46234. },
  46235. {
  46236. "typeIdentifier": "t_bool",
  46237. "typeString": "bool"
  46238. }
  46239. ],
  46240. "expression": {
  46241. "id": 10628,
  46242. "name": "abi",
  46243. "nodeType": "Identifier",
  46244. "overloadedDeclarations": [],
  46245. "referencedDeclaration": -1,
  46246. "src": "29358:3:50",
  46247. "typeDescriptions": {
  46248. "typeIdentifier": "t_magic_abi",
  46249. "typeString": "abi"
  46250. }
  46251. },
  46252. "id": 10629,
  46253. "isConstant": false,
  46254. "isLValue": false,
  46255. "isPure": true,
  46256. "lValueRequested": false,
  46257. "memberLocation": "29362:19:50",
  46258. "memberName": "encodeWithSignature",
  46259. "nodeType": "MemberAccess",
  46260. "src": "29358:23:50",
  46261. "typeDescriptions": {
  46262. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  46263. "typeString": "function (string memory) pure returns (bytes memory)"
  46264. }
  46265. },
  46266. "id": 10635,
  46267. "isConstant": false,
  46268. "isLValue": false,
  46269. "isPure": false,
  46270. "kind": "functionCall",
  46271. "lValueRequested": false,
  46272. "nameLocations": [],
  46273. "names": [],
  46274. "nodeType": "FunctionCall",
  46275. "src": "29358:76:50",
  46276. "tryCall": false,
  46277. "typeDescriptions": {
  46278. "typeIdentifier": "t_bytes_memory_ptr",
  46279. "typeString": "bytes memory"
  46280. }
  46281. }
  46282. ],
  46283. "expression": {
  46284. "argumentTypes": [
  46285. {
  46286. "typeIdentifier": "t_bytes_memory_ptr",
  46287. "typeString": "bytes memory"
  46288. }
  46289. ],
  46290. "id": 10627,
  46291. "name": "_sendLogPayload",
  46292. "nodeType": "Identifier",
  46293. "overloadedDeclarations": [],
  46294. "referencedDeclaration": 7315,
  46295. "src": "29342:15:50",
  46296. "typeDescriptions": {
  46297. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  46298. "typeString": "function (bytes memory) pure"
  46299. }
  46300. },
  46301. "id": 10636,
  46302. "isConstant": false,
  46303. "isLValue": false,
  46304. "isPure": false,
  46305. "kind": "functionCall",
  46306. "lValueRequested": false,
  46307. "nameLocations": [],
  46308. "names": [],
  46309. "nodeType": "FunctionCall",
  46310. "src": "29342:93:50",
  46311. "tryCall": false,
  46312. "typeDescriptions": {
  46313. "typeIdentifier": "t_tuple$__$",
  46314. "typeString": "tuple()"
  46315. }
  46316. },
  46317. "id": 10637,
  46318. "nodeType": "ExpressionStatement",
  46319. "src": "29342:93:50"
  46320. }
  46321. ]
  46322. },
  46323. "implemented": true,
  46324. "kind": "function",
  46325. "modifiers": [],
  46326. "name": "log",
  46327. "nameLocation": "29269:3:50",
  46328. "parameters": {
  46329. "id": 10625,
  46330. "nodeType": "ParameterList",
  46331. "parameters": [
  46332. {
  46333. "constant": false,
  46334. "id": 10618,
  46335. "mutability": "mutable",
  46336. "name": "p0",
  46337. "nameLocation": "29281:2:50",
  46338. "nodeType": "VariableDeclaration",
  46339. "scope": 10639,
  46340. "src": "29273:10:50",
  46341. "stateVariable": false,
  46342. "storageLocation": "default",
  46343. "typeDescriptions": {
  46344. "typeIdentifier": "t_uint256",
  46345. "typeString": "uint256"
  46346. },
  46347. "typeName": {
  46348. "id": 10617,
  46349. "name": "uint256",
  46350. "nodeType": "ElementaryTypeName",
  46351. "src": "29273:7:50",
  46352. "typeDescriptions": {
  46353. "typeIdentifier": "t_uint256",
  46354. "typeString": "uint256"
  46355. }
  46356. },
  46357. "visibility": "internal"
  46358. },
  46359. {
  46360. "constant": false,
  46361. "id": 10620,
  46362. "mutability": "mutable",
  46363. "name": "p1",
  46364. "nameLocation": "29293:2:50",
  46365. "nodeType": "VariableDeclaration",
  46366. "scope": 10639,
  46367. "src": "29285:10:50",
  46368. "stateVariable": false,
  46369. "storageLocation": "default",
  46370. "typeDescriptions": {
  46371. "typeIdentifier": "t_address",
  46372. "typeString": "address"
  46373. },
  46374. "typeName": {
  46375. "id": 10619,
  46376. "name": "address",
  46377. "nodeType": "ElementaryTypeName",
  46378. "src": "29285:7:50",
  46379. "stateMutability": "nonpayable",
  46380. "typeDescriptions": {
  46381. "typeIdentifier": "t_address",
  46382. "typeString": "address"
  46383. }
  46384. },
  46385. "visibility": "internal"
  46386. },
  46387. {
  46388. "constant": false,
  46389. "id": 10622,
  46390. "mutability": "mutable",
  46391. "name": "p2",
  46392. "nameLocation": "29305:2:50",
  46393. "nodeType": "VariableDeclaration",
  46394. "scope": 10639,
  46395. "src": "29297:10:50",
  46396. "stateVariable": false,
  46397. "storageLocation": "default",
  46398. "typeDescriptions": {
  46399. "typeIdentifier": "t_uint256",
  46400. "typeString": "uint256"
  46401. },
  46402. "typeName": {
  46403. "id": 10621,
  46404. "name": "uint256",
  46405. "nodeType": "ElementaryTypeName",
  46406. "src": "29297:7:50",
  46407. "typeDescriptions": {
  46408. "typeIdentifier": "t_uint256",
  46409. "typeString": "uint256"
  46410. }
  46411. },
  46412. "visibility": "internal"
  46413. },
  46414. {
  46415. "constant": false,
  46416. "id": 10624,
  46417. "mutability": "mutable",
  46418. "name": "p3",
  46419. "nameLocation": "29314:2:50",
  46420. "nodeType": "VariableDeclaration",
  46421. "scope": 10639,
  46422. "src": "29309:7:50",
  46423. "stateVariable": false,
  46424. "storageLocation": "default",
  46425. "typeDescriptions": {
  46426. "typeIdentifier": "t_bool",
  46427. "typeString": "bool"
  46428. },
  46429. "typeName": {
  46430. "id": 10623,
  46431. "name": "bool",
  46432. "nodeType": "ElementaryTypeName",
  46433. "src": "29309:4:50",
  46434. "typeDescriptions": {
  46435. "typeIdentifier": "t_bool",
  46436. "typeString": "bool"
  46437. }
  46438. },
  46439. "visibility": "internal"
  46440. }
  46441. ],
  46442. "src": "29272:45:50"
  46443. },
  46444. "returnParameters": {
  46445. "id": 10626,
  46446. "nodeType": "ParameterList",
  46447. "parameters": [],
  46448. "src": "29332:0:50"
  46449. },
  46450. "scope": 15355,
  46451. "stateMutability": "pure",
  46452. "virtual": false,
  46453. "visibility": "internal"
  46454. },
  46455. {
  46456. "id": 10662,
  46457. "nodeType": "FunctionDefinition",
  46458. "src": "29448:188:50",
  46459. "nodes": [],
  46460. "body": {
  46461. "id": 10661,
  46462. "nodeType": "Block",
  46463. "src": "29523:113:50",
  46464. "nodes": [],
  46465. "statements": [
  46466. {
  46467. "expression": {
  46468. "arguments": [
  46469. {
  46470. "arguments": [
  46471. {
  46472. "hexValue": "6c6f672875696e743235362c616464726573732c75696e743235362c6164647265737329",
  46473. "id": 10653,
  46474. "isConstant": false,
  46475. "isLValue": false,
  46476. "isPure": true,
  46477. "kind": "string",
  46478. "lValueRequested": false,
  46479. "nodeType": "Literal",
  46480. "src": "29573:38:50",
  46481. "typeDescriptions": {
  46482. "typeIdentifier": "t_stringliteral_15c127b50404cc1f9627d5115fd42bf400df548658b1002bf25e12f94854b379",
  46483. "typeString": "literal_string \"log(uint256,address,uint256,address)\""
  46484. },
  46485. "value": "log(uint256,address,uint256,address)"
  46486. },
  46487. {
  46488. "id": 10654,
  46489. "name": "p0",
  46490. "nodeType": "Identifier",
  46491. "overloadedDeclarations": [],
  46492. "referencedDeclaration": 10641,
  46493. "src": "29613:2:50",
  46494. "typeDescriptions": {
  46495. "typeIdentifier": "t_uint256",
  46496. "typeString": "uint256"
  46497. }
  46498. },
  46499. {
  46500. "id": 10655,
  46501. "name": "p1",
  46502. "nodeType": "Identifier",
  46503. "overloadedDeclarations": [],
  46504. "referencedDeclaration": 10643,
  46505. "src": "29617:2:50",
  46506. "typeDescriptions": {
  46507. "typeIdentifier": "t_address",
  46508. "typeString": "address"
  46509. }
  46510. },
  46511. {
  46512. "id": 10656,
  46513. "name": "p2",
  46514. "nodeType": "Identifier",
  46515. "overloadedDeclarations": [],
  46516. "referencedDeclaration": 10645,
  46517. "src": "29621:2:50",
  46518. "typeDescriptions": {
  46519. "typeIdentifier": "t_uint256",
  46520. "typeString": "uint256"
  46521. }
  46522. },
  46523. {
  46524. "id": 10657,
  46525. "name": "p3",
  46526. "nodeType": "Identifier",
  46527. "overloadedDeclarations": [],
  46528. "referencedDeclaration": 10647,
  46529. "src": "29625:2:50",
  46530. "typeDescriptions": {
  46531. "typeIdentifier": "t_address",
  46532. "typeString": "address"
  46533. }
  46534. }
  46535. ],
  46536. "expression": {
  46537. "argumentTypes": [
  46538. {
  46539. "typeIdentifier": "t_stringliteral_15c127b50404cc1f9627d5115fd42bf400df548658b1002bf25e12f94854b379",
  46540. "typeString": "literal_string \"log(uint256,address,uint256,address)\""
  46541. },
  46542. {
  46543. "typeIdentifier": "t_uint256",
  46544. "typeString": "uint256"
  46545. },
  46546. {
  46547. "typeIdentifier": "t_address",
  46548. "typeString": "address"
  46549. },
  46550. {
  46551. "typeIdentifier": "t_uint256",
  46552. "typeString": "uint256"
  46553. },
  46554. {
  46555. "typeIdentifier": "t_address",
  46556. "typeString": "address"
  46557. }
  46558. ],
  46559. "expression": {
  46560. "id": 10651,
  46561. "name": "abi",
  46562. "nodeType": "Identifier",
  46563. "overloadedDeclarations": [],
  46564. "referencedDeclaration": -1,
  46565. "src": "29549:3:50",
  46566. "typeDescriptions": {
  46567. "typeIdentifier": "t_magic_abi",
  46568. "typeString": "abi"
  46569. }
  46570. },
  46571. "id": 10652,
  46572. "isConstant": false,
  46573. "isLValue": false,
  46574. "isPure": true,
  46575. "lValueRequested": false,
  46576. "memberLocation": "29553:19:50",
  46577. "memberName": "encodeWithSignature",
  46578. "nodeType": "MemberAccess",
  46579. "src": "29549:23:50",
  46580. "typeDescriptions": {
  46581. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  46582. "typeString": "function (string memory) pure returns (bytes memory)"
  46583. }
  46584. },
  46585. "id": 10658,
  46586. "isConstant": false,
  46587. "isLValue": false,
  46588. "isPure": false,
  46589. "kind": "functionCall",
  46590. "lValueRequested": false,
  46591. "nameLocations": [],
  46592. "names": [],
  46593. "nodeType": "FunctionCall",
  46594. "src": "29549:79:50",
  46595. "tryCall": false,
  46596. "typeDescriptions": {
  46597. "typeIdentifier": "t_bytes_memory_ptr",
  46598. "typeString": "bytes memory"
  46599. }
  46600. }
  46601. ],
  46602. "expression": {
  46603. "argumentTypes": [
  46604. {
  46605. "typeIdentifier": "t_bytes_memory_ptr",
  46606. "typeString": "bytes memory"
  46607. }
  46608. ],
  46609. "id": 10650,
  46610. "name": "_sendLogPayload",
  46611. "nodeType": "Identifier",
  46612. "overloadedDeclarations": [],
  46613. "referencedDeclaration": 7315,
  46614. "src": "29533:15:50",
  46615. "typeDescriptions": {
  46616. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  46617. "typeString": "function (bytes memory) pure"
  46618. }
  46619. },
  46620. "id": 10659,
  46621. "isConstant": false,
  46622. "isLValue": false,
  46623. "isPure": false,
  46624. "kind": "functionCall",
  46625. "lValueRequested": false,
  46626. "nameLocations": [],
  46627. "names": [],
  46628. "nodeType": "FunctionCall",
  46629. "src": "29533:96:50",
  46630. "tryCall": false,
  46631. "typeDescriptions": {
  46632. "typeIdentifier": "t_tuple$__$",
  46633. "typeString": "tuple()"
  46634. }
  46635. },
  46636. "id": 10660,
  46637. "nodeType": "ExpressionStatement",
  46638. "src": "29533:96:50"
  46639. }
  46640. ]
  46641. },
  46642. "implemented": true,
  46643. "kind": "function",
  46644. "modifiers": [],
  46645. "name": "log",
  46646. "nameLocation": "29457:3:50",
  46647. "parameters": {
  46648. "id": 10648,
  46649. "nodeType": "ParameterList",
  46650. "parameters": [
  46651. {
  46652. "constant": false,
  46653. "id": 10641,
  46654. "mutability": "mutable",
  46655. "name": "p0",
  46656. "nameLocation": "29469:2:50",
  46657. "nodeType": "VariableDeclaration",
  46658. "scope": 10662,
  46659. "src": "29461:10:50",
  46660. "stateVariable": false,
  46661. "storageLocation": "default",
  46662. "typeDescriptions": {
  46663. "typeIdentifier": "t_uint256",
  46664. "typeString": "uint256"
  46665. },
  46666. "typeName": {
  46667. "id": 10640,
  46668. "name": "uint256",
  46669. "nodeType": "ElementaryTypeName",
  46670. "src": "29461:7:50",
  46671. "typeDescriptions": {
  46672. "typeIdentifier": "t_uint256",
  46673. "typeString": "uint256"
  46674. }
  46675. },
  46676. "visibility": "internal"
  46677. },
  46678. {
  46679. "constant": false,
  46680. "id": 10643,
  46681. "mutability": "mutable",
  46682. "name": "p1",
  46683. "nameLocation": "29481:2:50",
  46684. "nodeType": "VariableDeclaration",
  46685. "scope": 10662,
  46686. "src": "29473:10:50",
  46687. "stateVariable": false,
  46688. "storageLocation": "default",
  46689. "typeDescriptions": {
  46690. "typeIdentifier": "t_address",
  46691. "typeString": "address"
  46692. },
  46693. "typeName": {
  46694. "id": 10642,
  46695. "name": "address",
  46696. "nodeType": "ElementaryTypeName",
  46697. "src": "29473:7:50",
  46698. "stateMutability": "nonpayable",
  46699. "typeDescriptions": {
  46700. "typeIdentifier": "t_address",
  46701. "typeString": "address"
  46702. }
  46703. },
  46704. "visibility": "internal"
  46705. },
  46706. {
  46707. "constant": false,
  46708. "id": 10645,
  46709. "mutability": "mutable",
  46710. "name": "p2",
  46711. "nameLocation": "29493:2:50",
  46712. "nodeType": "VariableDeclaration",
  46713. "scope": 10662,
  46714. "src": "29485:10:50",
  46715. "stateVariable": false,
  46716. "storageLocation": "default",
  46717. "typeDescriptions": {
  46718. "typeIdentifier": "t_uint256",
  46719. "typeString": "uint256"
  46720. },
  46721. "typeName": {
  46722. "id": 10644,
  46723. "name": "uint256",
  46724. "nodeType": "ElementaryTypeName",
  46725. "src": "29485:7:50",
  46726. "typeDescriptions": {
  46727. "typeIdentifier": "t_uint256",
  46728. "typeString": "uint256"
  46729. }
  46730. },
  46731. "visibility": "internal"
  46732. },
  46733. {
  46734. "constant": false,
  46735. "id": 10647,
  46736. "mutability": "mutable",
  46737. "name": "p3",
  46738. "nameLocation": "29505:2:50",
  46739. "nodeType": "VariableDeclaration",
  46740. "scope": 10662,
  46741. "src": "29497:10:50",
  46742. "stateVariable": false,
  46743. "storageLocation": "default",
  46744. "typeDescriptions": {
  46745. "typeIdentifier": "t_address",
  46746. "typeString": "address"
  46747. },
  46748. "typeName": {
  46749. "id": 10646,
  46750. "name": "address",
  46751. "nodeType": "ElementaryTypeName",
  46752. "src": "29497:7:50",
  46753. "stateMutability": "nonpayable",
  46754. "typeDescriptions": {
  46755. "typeIdentifier": "t_address",
  46756. "typeString": "address"
  46757. }
  46758. },
  46759. "visibility": "internal"
  46760. }
  46761. ],
  46762. "src": "29460:48:50"
  46763. },
  46764. "returnParameters": {
  46765. "id": 10649,
  46766. "nodeType": "ParameterList",
  46767. "parameters": [],
  46768. "src": "29523:0:50"
  46769. },
  46770. "scope": 15355,
  46771. "stateMutability": "pure",
  46772. "virtual": false,
  46773. "visibility": "internal"
  46774. },
  46775. {
  46776. "id": 10685,
  46777. "nodeType": "FunctionDefinition",
  46778. "src": "29642:193:50",
  46779. "nodes": [],
  46780. "body": {
  46781. "id": 10684,
  46782. "nodeType": "Block",
  46783. "src": "29723:112:50",
  46784. "nodes": [],
  46785. "statements": [
  46786. {
  46787. "expression": {
  46788. "arguments": [
  46789. {
  46790. "arguments": [
  46791. {
  46792. "hexValue": "6c6f672875696e743235362c616464726573732c737472696e672c75696e7432353629",
  46793. "id": 10676,
  46794. "isConstant": false,
  46795. "isLValue": false,
  46796. "isPure": true,
  46797. "kind": "string",
  46798. "lValueRequested": false,
  46799. "nodeType": "Literal",
  46800. "src": "29773:37:50",
  46801. "typeDescriptions": {
  46802. "typeIdentifier": "t_stringliteral_46826b5dec5e8aeff4504f2c138d4e9c8aadb89d9034725f3050269a35303ba0",
  46803. "typeString": "literal_string \"log(uint256,address,string,uint256)\""
  46804. },
  46805. "value": "log(uint256,address,string,uint256)"
  46806. },
  46807. {
  46808. "id": 10677,
  46809. "name": "p0",
  46810. "nodeType": "Identifier",
  46811. "overloadedDeclarations": [],
  46812. "referencedDeclaration": 10664,
  46813. "src": "29812:2:50",
  46814. "typeDescriptions": {
  46815. "typeIdentifier": "t_uint256",
  46816. "typeString": "uint256"
  46817. }
  46818. },
  46819. {
  46820. "id": 10678,
  46821. "name": "p1",
  46822. "nodeType": "Identifier",
  46823. "overloadedDeclarations": [],
  46824. "referencedDeclaration": 10666,
  46825. "src": "29816:2:50",
  46826. "typeDescriptions": {
  46827. "typeIdentifier": "t_address",
  46828. "typeString": "address"
  46829. }
  46830. },
  46831. {
  46832. "id": 10679,
  46833. "name": "p2",
  46834. "nodeType": "Identifier",
  46835. "overloadedDeclarations": [],
  46836. "referencedDeclaration": 10668,
  46837. "src": "29820:2:50",
  46838. "typeDescriptions": {
  46839. "typeIdentifier": "t_string_memory_ptr",
  46840. "typeString": "string memory"
  46841. }
  46842. },
  46843. {
  46844. "id": 10680,
  46845. "name": "p3",
  46846. "nodeType": "Identifier",
  46847. "overloadedDeclarations": [],
  46848. "referencedDeclaration": 10670,
  46849. "src": "29824:2:50",
  46850. "typeDescriptions": {
  46851. "typeIdentifier": "t_uint256",
  46852. "typeString": "uint256"
  46853. }
  46854. }
  46855. ],
  46856. "expression": {
  46857. "argumentTypes": [
  46858. {
  46859. "typeIdentifier": "t_stringliteral_46826b5dec5e8aeff4504f2c138d4e9c8aadb89d9034725f3050269a35303ba0",
  46860. "typeString": "literal_string \"log(uint256,address,string,uint256)\""
  46861. },
  46862. {
  46863. "typeIdentifier": "t_uint256",
  46864. "typeString": "uint256"
  46865. },
  46866. {
  46867. "typeIdentifier": "t_address",
  46868. "typeString": "address"
  46869. },
  46870. {
  46871. "typeIdentifier": "t_string_memory_ptr",
  46872. "typeString": "string memory"
  46873. },
  46874. {
  46875. "typeIdentifier": "t_uint256",
  46876. "typeString": "uint256"
  46877. }
  46878. ],
  46879. "expression": {
  46880. "id": 10674,
  46881. "name": "abi",
  46882. "nodeType": "Identifier",
  46883. "overloadedDeclarations": [],
  46884. "referencedDeclaration": -1,
  46885. "src": "29749:3:50",
  46886. "typeDescriptions": {
  46887. "typeIdentifier": "t_magic_abi",
  46888. "typeString": "abi"
  46889. }
  46890. },
  46891. "id": 10675,
  46892. "isConstant": false,
  46893. "isLValue": false,
  46894. "isPure": true,
  46895. "lValueRequested": false,
  46896. "memberLocation": "29753:19:50",
  46897. "memberName": "encodeWithSignature",
  46898. "nodeType": "MemberAccess",
  46899. "src": "29749:23:50",
  46900. "typeDescriptions": {
  46901. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  46902. "typeString": "function (string memory) pure returns (bytes memory)"
  46903. }
  46904. },
  46905. "id": 10681,
  46906. "isConstant": false,
  46907. "isLValue": false,
  46908. "isPure": false,
  46909. "kind": "functionCall",
  46910. "lValueRequested": false,
  46911. "nameLocations": [],
  46912. "names": [],
  46913. "nodeType": "FunctionCall",
  46914. "src": "29749:78:50",
  46915. "tryCall": false,
  46916. "typeDescriptions": {
  46917. "typeIdentifier": "t_bytes_memory_ptr",
  46918. "typeString": "bytes memory"
  46919. }
  46920. }
  46921. ],
  46922. "expression": {
  46923. "argumentTypes": [
  46924. {
  46925. "typeIdentifier": "t_bytes_memory_ptr",
  46926. "typeString": "bytes memory"
  46927. }
  46928. ],
  46929. "id": 10673,
  46930. "name": "_sendLogPayload",
  46931. "nodeType": "Identifier",
  46932. "overloadedDeclarations": [],
  46933. "referencedDeclaration": 7315,
  46934. "src": "29733:15:50",
  46935. "typeDescriptions": {
  46936. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  46937. "typeString": "function (bytes memory) pure"
  46938. }
  46939. },
  46940. "id": 10682,
  46941. "isConstant": false,
  46942. "isLValue": false,
  46943. "isPure": false,
  46944. "kind": "functionCall",
  46945. "lValueRequested": false,
  46946. "nameLocations": [],
  46947. "names": [],
  46948. "nodeType": "FunctionCall",
  46949. "src": "29733:95:50",
  46950. "tryCall": false,
  46951. "typeDescriptions": {
  46952. "typeIdentifier": "t_tuple$__$",
  46953. "typeString": "tuple()"
  46954. }
  46955. },
  46956. "id": 10683,
  46957. "nodeType": "ExpressionStatement",
  46958. "src": "29733:95:50"
  46959. }
  46960. ]
  46961. },
  46962. "implemented": true,
  46963. "kind": "function",
  46964. "modifiers": [],
  46965. "name": "log",
  46966. "nameLocation": "29651:3:50",
  46967. "parameters": {
  46968. "id": 10671,
  46969. "nodeType": "ParameterList",
  46970. "parameters": [
  46971. {
  46972. "constant": false,
  46973. "id": 10664,
  46974. "mutability": "mutable",
  46975. "name": "p0",
  46976. "nameLocation": "29663:2:50",
  46977. "nodeType": "VariableDeclaration",
  46978. "scope": 10685,
  46979. "src": "29655:10:50",
  46980. "stateVariable": false,
  46981. "storageLocation": "default",
  46982. "typeDescriptions": {
  46983. "typeIdentifier": "t_uint256",
  46984. "typeString": "uint256"
  46985. },
  46986. "typeName": {
  46987. "id": 10663,
  46988. "name": "uint256",
  46989. "nodeType": "ElementaryTypeName",
  46990. "src": "29655:7:50",
  46991. "typeDescriptions": {
  46992. "typeIdentifier": "t_uint256",
  46993. "typeString": "uint256"
  46994. }
  46995. },
  46996. "visibility": "internal"
  46997. },
  46998. {
  46999. "constant": false,
  47000. "id": 10666,
  47001. "mutability": "mutable",
  47002. "name": "p1",
  47003. "nameLocation": "29675:2:50",
  47004. "nodeType": "VariableDeclaration",
  47005. "scope": 10685,
  47006. "src": "29667:10:50",
  47007. "stateVariable": false,
  47008. "storageLocation": "default",
  47009. "typeDescriptions": {
  47010. "typeIdentifier": "t_address",
  47011. "typeString": "address"
  47012. },
  47013. "typeName": {
  47014. "id": 10665,
  47015. "name": "address",
  47016. "nodeType": "ElementaryTypeName",
  47017. "src": "29667:7:50",
  47018. "stateMutability": "nonpayable",
  47019. "typeDescriptions": {
  47020. "typeIdentifier": "t_address",
  47021. "typeString": "address"
  47022. }
  47023. },
  47024. "visibility": "internal"
  47025. },
  47026. {
  47027. "constant": false,
  47028. "id": 10668,
  47029. "mutability": "mutable",
  47030. "name": "p2",
  47031. "nameLocation": "29693:2:50",
  47032. "nodeType": "VariableDeclaration",
  47033. "scope": 10685,
  47034. "src": "29679:16:50",
  47035. "stateVariable": false,
  47036. "storageLocation": "memory",
  47037. "typeDescriptions": {
  47038. "typeIdentifier": "t_string_memory_ptr",
  47039. "typeString": "string"
  47040. },
  47041. "typeName": {
  47042. "id": 10667,
  47043. "name": "string",
  47044. "nodeType": "ElementaryTypeName",
  47045. "src": "29679:6:50",
  47046. "typeDescriptions": {
  47047. "typeIdentifier": "t_string_storage_ptr",
  47048. "typeString": "string"
  47049. }
  47050. },
  47051. "visibility": "internal"
  47052. },
  47053. {
  47054. "constant": false,
  47055. "id": 10670,
  47056. "mutability": "mutable",
  47057. "name": "p3",
  47058. "nameLocation": "29705:2:50",
  47059. "nodeType": "VariableDeclaration",
  47060. "scope": 10685,
  47061. "src": "29697:10:50",
  47062. "stateVariable": false,
  47063. "storageLocation": "default",
  47064. "typeDescriptions": {
  47065. "typeIdentifier": "t_uint256",
  47066. "typeString": "uint256"
  47067. },
  47068. "typeName": {
  47069. "id": 10669,
  47070. "name": "uint256",
  47071. "nodeType": "ElementaryTypeName",
  47072. "src": "29697:7:50",
  47073. "typeDescriptions": {
  47074. "typeIdentifier": "t_uint256",
  47075. "typeString": "uint256"
  47076. }
  47077. },
  47078. "visibility": "internal"
  47079. }
  47080. ],
  47081. "src": "29654:54:50"
  47082. },
  47083. "returnParameters": {
  47084. "id": 10672,
  47085. "nodeType": "ParameterList",
  47086. "parameters": [],
  47087. "src": "29723:0:50"
  47088. },
  47089. "scope": 15355,
  47090. "stateMutability": "pure",
  47091. "virtual": false,
  47092. "visibility": "internal"
  47093. },
  47094. {
  47095. "id": 10708,
  47096. "nodeType": "FunctionDefinition",
  47097. "src": "29841:198:50",
  47098. "nodes": [],
  47099. "body": {
  47100. "id": 10707,
  47101. "nodeType": "Block",
  47102. "src": "29928:111:50",
  47103. "nodes": [],
  47104. "statements": [
  47105. {
  47106. "expression": {
  47107. "arguments": [
  47108. {
  47109. "arguments": [
  47110. {
  47111. "hexValue": "6c6f672875696e743235362c616464726573732c737472696e672c737472696e6729",
  47112. "id": 10699,
  47113. "isConstant": false,
  47114. "isLValue": false,
  47115. "isPure": true,
  47116. "kind": "string",
  47117. "lValueRequested": false,
  47118. "nodeType": "Literal",
  47119. "src": "29978:36:50",
  47120. "typeDescriptions": {
  47121. "typeIdentifier": "t_stringliteral_3e128ca3cc785552dc4e62d3c73af79fb5f114dc6f0c0eb2bc0e3bdbbd4a1d3b",
  47122. "typeString": "literal_string \"log(uint256,address,string,string)\""
  47123. },
  47124. "value": "log(uint256,address,string,string)"
  47125. },
  47126. {
  47127. "id": 10700,
  47128. "name": "p0",
  47129. "nodeType": "Identifier",
  47130. "overloadedDeclarations": [],
  47131. "referencedDeclaration": 10687,
  47132. "src": "30016:2:50",
  47133. "typeDescriptions": {
  47134. "typeIdentifier": "t_uint256",
  47135. "typeString": "uint256"
  47136. }
  47137. },
  47138. {
  47139. "id": 10701,
  47140. "name": "p1",
  47141. "nodeType": "Identifier",
  47142. "overloadedDeclarations": [],
  47143. "referencedDeclaration": 10689,
  47144. "src": "30020:2:50",
  47145. "typeDescriptions": {
  47146. "typeIdentifier": "t_address",
  47147. "typeString": "address"
  47148. }
  47149. },
  47150. {
  47151. "id": 10702,
  47152. "name": "p2",
  47153. "nodeType": "Identifier",
  47154. "overloadedDeclarations": [],
  47155. "referencedDeclaration": 10691,
  47156. "src": "30024:2:50",
  47157. "typeDescriptions": {
  47158. "typeIdentifier": "t_string_memory_ptr",
  47159. "typeString": "string memory"
  47160. }
  47161. },
  47162. {
  47163. "id": 10703,
  47164. "name": "p3",
  47165. "nodeType": "Identifier",
  47166. "overloadedDeclarations": [],
  47167. "referencedDeclaration": 10693,
  47168. "src": "30028:2:50",
  47169. "typeDescriptions": {
  47170. "typeIdentifier": "t_string_memory_ptr",
  47171. "typeString": "string memory"
  47172. }
  47173. }
  47174. ],
  47175. "expression": {
  47176. "argumentTypes": [
  47177. {
  47178. "typeIdentifier": "t_stringliteral_3e128ca3cc785552dc4e62d3c73af79fb5f114dc6f0c0eb2bc0e3bdbbd4a1d3b",
  47179. "typeString": "literal_string \"log(uint256,address,string,string)\""
  47180. },
  47181. {
  47182. "typeIdentifier": "t_uint256",
  47183. "typeString": "uint256"
  47184. },
  47185. {
  47186. "typeIdentifier": "t_address",
  47187. "typeString": "address"
  47188. },
  47189. {
  47190. "typeIdentifier": "t_string_memory_ptr",
  47191. "typeString": "string memory"
  47192. },
  47193. {
  47194. "typeIdentifier": "t_string_memory_ptr",
  47195. "typeString": "string memory"
  47196. }
  47197. ],
  47198. "expression": {
  47199. "id": 10697,
  47200. "name": "abi",
  47201. "nodeType": "Identifier",
  47202. "overloadedDeclarations": [],
  47203. "referencedDeclaration": -1,
  47204. "src": "29954:3:50",
  47205. "typeDescriptions": {
  47206. "typeIdentifier": "t_magic_abi",
  47207. "typeString": "abi"
  47208. }
  47209. },
  47210. "id": 10698,
  47211. "isConstant": false,
  47212. "isLValue": false,
  47213. "isPure": true,
  47214. "lValueRequested": false,
  47215. "memberLocation": "29958:19:50",
  47216. "memberName": "encodeWithSignature",
  47217. "nodeType": "MemberAccess",
  47218. "src": "29954:23:50",
  47219. "typeDescriptions": {
  47220. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  47221. "typeString": "function (string memory) pure returns (bytes memory)"
  47222. }
  47223. },
  47224. "id": 10704,
  47225. "isConstant": false,
  47226. "isLValue": false,
  47227. "isPure": false,
  47228. "kind": "functionCall",
  47229. "lValueRequested": false,
  47230. "nameLocations": [],
  47231. "names": [],
  47232. "nodeType": "FunctionCall",
  47233. "src": "29954:77:50",
  47234. "tryCall": false,
  47235. "typeDescriptions": {
  47236. "typeIdentifier": "t_bytes_memory_ptr",
  47237. "typeString": "bytes memory"
  47238. }
  47239. }
  47240. ],
  47241. "expression": {
  47242. "argumentTypes": [
  47243. {
  47244. "typeIdentifier": "t_bytes_memory_ptr",
  47245. "typeString": "bytes memory"
  47246. }
  47247. ],
  47248. "id": 10696,
  47249. "name": "_sendLogPayload",
  47250. "nodeType": "Identifier",
  47251. "overloadedDeclarations": [],
  47252. "referencedDeclaration": 7315,
  47253. "src": "29938:15:50",
  47254. "typeDescriptions": {
  47255. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  47256. "typeString": "function (bytes memory) pure"
  47257. }
  47258. },
  47259. "id": 10705,
  47260. "isConstant": false,
  47261. "isLValue": false,
  47262. "isPure": false,
  47263. "kind": "functionCall",
  47264. "lValueRequested": false,
  47265. "nameLocations": [],
  47266. "names": [],
  47267. "nodeType": "FunctionCall",
  47268. "src": "29938:94:50",
  47269. "tryCall": false,
  47270. "typeDescriptions": {
  47271. "typeIdentifier": "t_tuple$__$",
  47272. "typeString": "tuple()"
  47273. }
  47274. },
  47275. "id": 10706,
  47276. "nodeType": "ExpressionStatement",
  47277. "src": "29938:94:50"
  47278. }
  47279. ]
  47280. },
  47281. "implemented": true,
  47282. "kind": "function",
  47283. "modifiers": [],
  47284. "name": "log",
  47285. "nameLocation": "29850:3:50",
  47286. "parameters": {
  47287. "id": 10694,
  47288. "nodeType": "ParameterList",
  47289. "parameters": [
  47290. {
  47291. "constant": false,
  47292. "id": 10687,
  47293. "mutability": "mutable",
  47294. "name": "p0",
  47295. "nameLocation": "29862:2:50",
  47296. "nodeType": "VariableDeclaration",
  47297. "scope": 10708,
  47298. "src": "29854:10:50",
  47299. "stateVariable": false,
  47300. "storageLocation": "default",
  47301. "typeDescriptions": {
  47302. "typeIdentifier": "t_uint256",
  47303. "typeString": "uint256"
  47304. },
  47305. "typeName": {
  47306. "id": 10686,
  47307. "name": "uint256",
  47308. "nodeType": "ElementaryTypeName",
  47309. "src": "29854:7:50",
  47310. "typeDescriptions": {
  47311. "typeIdentifier": "t_uint256",
  47312. "typeString": "uint256"
  47313. }
  47314. },
  47315. "visibility": "internal"
  47316. },
  47317. {
  47318. "constant": false,
  47319. "id": 10689,
  47320. "mutability": "mutable",
  47321. "name": "p1",
  47322. "nameLocation": "29874:2:50",
  47323. "nodeType": "VariableDeclaration",
  47324. "scope": 10708,
  47325. "src": "29866:10:50",
  47326. "stateVariable": false,
  47327. "storageLocation": "default",
  47328. "typeDescriptions": {
  47329. "typeIdentifier": "t_address",
  47330. "typeString": "address"
  47331. },
  47332. "typeName": {
  47333. "id": 10688,
  47334. "name": "address",
  47335. "nodeType": "ElementaryTypeName",
  47336. "src": "29866:7:50",
  47337. "stateMutability": "nonpayable",
  47338. "typeDescriptions": {
  47339. "typeIdentifier": "t_address",
  47340. "typeString": "address"
  47341. }
  47342. },
  47343. "visibility": "internal"
  47344. },
  47345. {
  47346. "constant": false,
  47347. "id": 10691,
  47348. "mutability": "mutable",
  47349. "name": "p2",
  47350. "nameLocation": "29892:2:50",
  47351. "nodeType": "VariableDeclaration",
  47352. "scope": 10708,
  47353. "src": "29878:16:50",
  47354. "stateVariable": false,
  47355. "storageLocation": "memory",
  47356. "typeDescriptions": {
  47357. "typeIdentifier": "t_string_memory_ptr",
  47358. "typeString": "string"
  47359. },
  47360. "typeName": {
  47361. "id": 10690,
  47362. "name": "string",
  47363. "nodeType": "ElementaryTypeName",
  47364. "src": "29878:6:50",
  47365. "typeDescriptions": {
  47366. "typeIdentifier": "t_string_storage_ptr",
  47367. "typeString": "string"
  47368. }
  47369. },
  47370. "visibility": "internal"
  47371. },
  47372. {
  47373. "constant": false,
  47374. "id": 10693,
  47375. "mutability": "mutable",
  47376. "name": "p3",
  47377. "nameLocation": "29910:2:50",
  47378. "nodeType": "VariableDeclaration",
  47379. "scope": 10708,
  47380. "src": "29896:16:50",
  47381. "stateVariable": false,
  47382. "storageLocation": "memory",
  47383. "typeDescriptions": {
  47384. "typeIdentifier": "t_string_memory_ptr",
  47385. "typeString": "string"
  47386. },
  47387. "typeName": {
  47388. "id": 10692,
  47389. "name": "string",
  47390. "nodeType": "ElementaryTypeName",
  47391. "src": "29896:6:50",
  47392. "typeDescriptions": {
  47393. "typeIdentifier": "t_string_storage_ptr",
  47394. "typeString": "string"
  47395. }
  47396. },
  47397. "visibility": "internal"
  47398. }
  47399. ],
  47400. "src": "29853:60:50"
  47401. },
  47402. "returnParameters": {
  47403. "id": 10695,
  47404. "nodeType": "ParameterList",
  47405. "parameters": [],
  47406. "src": "29928:0:50"
  47407. },
  47408. "scope": 15355,
  47409. "stateMutability": "pure",
  47410. "virtual": false,
  47411. "visibility": "internal"
  47412. },
  47413. {
  47414. "id": 10731,
  47415. "nodeType": "FunctionDefinition",
  47416. "src": "30045:187:50",
  47417. "nodes": [],
  47418. "body": {
  47419. "id": 10730,
  47420. "nodeType": "Block",
  47421. "src": "30123:109:50",
  47422. "nodes": [],
  47423. "statements": [
  47424. {
  47425. "expression": {
  47426. "arguments": [
  47427. {
  47428. "arguments": [
  47429. {
  47430. "hexValue": "6c6f672875696e743235362c616464726573732c737472696e672c626f6f6c29",
  47431. "id": 10722,
  47432. "isConstant": false,
  47433. "isLValue": false,
  47434. "isPure": true,
  47435. "kind": "string",
  47436. "lValueRequested": false,
  47437. "nodeType": "Literal",
  47438. "src": "30173:34:50",
  47439. "typeDescriptions": {
  47440. "typeIdentifier": "t_stringliteral_cc32ab07df108ae88df1c6b9771e60e5cd39cbe0f0e92481af8633000db2c64b",
  47441. "typeString": "literal_string \"log(uint256,address,string,bool)\""
  47442. },
  47443. "value": "log(uint256,address,string,bool)"
  47444. },
  47445. {
  47446. "id": 10723,
  47447. "name": "p0",
  47448. "nodeType": "Identifier",
  47449. "overloadedDeclarations": [],
  47450. "referencedDeclaration": 10710,
  47451. "src": "30209:2:50",
  47452. "typeDescriptions": {
  47453. "typeIdentifier": "t_uint256",
  47454. "typeString": "uint256"
  47455. }
  47456. },
  47457. {
  47458. "id": 10724,
  47459. "name": "p1",
  47460. "nodeType": "Identifier",
  47461. "overloadedDeclarations": [],
  47462. "referencedDeclaration": 10712,
  47463. "src": "30213:2:50",
  47464. "typeDescriptions": {
  47465. "typeIdentifier": "t_address",
  47466. "typeString": "address"
  47467. }
  47468. },
  47469. {
  47470. "id": 10725,
  47471. "name": "p2",
  47472. "nodeType": "Identifier",
  47473. "overloadedDeclarations": [],
  47474. "referencedDeclaration": 10714,
  47475. "src": "30217:2:50",
  47476. "typeDescriptions": {
  47477. "typeIdentifier": "t_string_memory_ptr",
  47478. "typeString": "string memory"
  47479. }
  47480. },
  47481. {
  47482. "id": 10726,
  47483. "name": "p3",
  47484. "nodeType": "Identifier",
  47485. "overloadedDeclarations": [],
  47486. "referencedDeclaration": 10716,
  47487. "src": "30221:2:50",
  47488. "typeDescriptions": {
  47489. "typeIdentifier": "t_bool",
  47490. "typeString": "bool"
  47491. }
  47492. }
  47493. ],
  47494. "expression": {
  47495. "argumentTypes": [
  47496. {
  47497. "typeIdentifier": "t_stringliteral_cc32ab07df108ae88df1c6b9771e60e5cd39cbe0f0e92481af8633000db2c64b",
  47498. "typeString": "literal_string \"log(uint256,address,string,bool)\""
  47499. },
  47500. {
  47501. "typeIdentifier": "t_uint256",
  47502. "typeString": "uint256"
  47503. },
  47504. {
  47505. "typeIdentifier": "t_address",
  47506. "typeString": "address"
  47507. },
  47508. {
  47509. "typeIdentifier": "t_string_memory_ptr",
  47510. "typeString": "string memory"
  47511. },
  47512. {
  47513. "typeIdentifier": "t_bool",
  47514. "typeString": "bool"
  47515. }
  47516. ],
  47517. "expression": {
  47518. "id": 10720,
  47519. "name": "abi",
  47520. "nodeType": "Identifier",
  47521. "overloadedDeclarations": [],
  47522. "referencedDeclaration": -1,
  47523. "src": "30149:3:50",
  47524. "typeDescriptions": {
  47525. "typeIdentifier": "t_magic_abi",
  47526. "typeString": "abi"
  47527. }
  47528. },
  47529. "id": 10721,
  47530. "isConstant": false,
  47531. "isLValue": false,
  47532. "isPure": true,
  47533. "lValueRequested": false,
  47534. "memberLocation": "30153:19:50",
  47535. "memberName": "encodeWithSignature",
  47536. "nodeType": "MemberAccess",
  47537. "src": "30149:23:50",
  47538. "typeDescriptions": {
  47539. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  47540. "typeString": "function (string memory) pure returns (bytes memory)"
  47541. }
  47542. },
  47543. "id": 10727,
  47544. "isConstant": false,
  47545. "isLValue": false,
  47546. "isPure": false,
  47547. "kind": "functionCall",
  47548. "lValueRequested": false,
  47549. "nameLocations": [],
  47550. "names": [],
  47551. "nodeType": "FunctionCall",
  47552. "src": "30149:75:50",
  47553. "tryCall": false,
  47554. "typeDescriptions": {
  47555. "typeIdentifier": "t_bytes_memory_ptr",
  47556. "typeString": "bytes memory"
  47557. }
  47558. }
  47559. ],
  47560. "expression": {
  47561. "argumentTypes": [
  47562. {
  47563. "typeIdentifier": "t_bytes_memory_ptr",
  47564. "typeString": "bytes memory"
  47565. }
  47566. ],
  47567. "id": 10719,
  47568. "name": "_sendLogPayload",
  47569. "nodeType": "Identifier",
  47570. "overloadedDeclarations": [],
  47571. "referencedDeclaration": 7315,
  47572. "src": "30133:15:50",
  47573. "typeDescriptions": {
  47574. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  47575. "typeString": "function (bytes memory) pure"
  47576. }
  47577. },
  47578. "id": 10728,
  47579. "isConstant": false,
  47580. "isLValue": false,
  47581. "isPure": false,
  47582. "kind": "functionCall",
  47583. "lValueRequested": false,
  47584. "nameLocations": [],
  47585. "names": [],
  47586. "nodeType": "FunctionCall",
  47587. "src": "30133:92:50",
  47588. "tryCall": false,
  47589. "typeDescriptions": {
  47590. "typeIdentifier": "t_tuple$__$",
  47591. "typeString": "tuple()"
  47592. }
  47593. },
  47594. "id": 10729,
  47595. "nodeType": "ExpressionStatement",
  47596. "src": "30133:92:50"
  47597. }
  47598. ]
  47599. },
  47600. "implemented": true,
  47601. "kind": "function",
  47602. "modifiers": [],
  47603. "name": "log",
  47604. "nameLocation": "30054:3:50",
  47605. "parameters": {
  47606. "id": 10717,
  47607. "nodeType": "ParameterList",
  47608. "parameters": [
  47609. {
  47610. "constant": false,
  47611. "id": 10710,
  47612. "mutability": "mutable",
  47613. "name": "p0",
  47614. "nameLocation": "30066:2:50",
  47615. "nodeType": "VariableDeclaration",
  47616. "scope": 10731,
  47617. "src": "30058:10:50",
  47618. "stateVariable": false,
  47619. "storageLocation": "default",
  47620. "typeDescriptions": {
  47621. "typeIdentifier": "t_uint256",
  47622. "typeString": "uint256"
  47623. },
  47624. "typeName": {
  47625. "id": 10709,
  47626. "name": "uint256",
  47627. "nodeType": "ElementaryTypeName",
  47628. "src": "30058:7:50",
  47629. "typeDescriptions": {
  47630. "typeIdentifier": "t_uint256",
  47631. "typeString": "uint256"
  47632. }
  47633. },
  47634. "visibility": "internal"
  47635. },
  47636. {
  47637. "constant": false,
  47638. "id": 10712,
  47639. "mutability": "mutable",
  47640. "name": "p1",
  47641. "nameLocation": "30078:2:50",
  47642. "nodeType": "VariableDeclaration",
  47643. "scope": 10731,
  47644. "src": "30070:10:50",
  47645. "stateVariable": false,
  47646. "storageLocation": "default",
  47647. "typeDescriptions": {
  47648. "typeIdentifier": "t_address",
  47649. "typeString": "address"
  47650. },
  47651. "typeName": {
  47652. "id": 10711,
  47653. "name": "address",
  47654. "nodeType": "ElementaryTypeName",
  47655. "src": "30070:7:50",
  47656. "stateMutability": "nonpayable",
  47657. "typeDescriptions": {
  47658. "typeIdentifier": "t_address",
  47659. "typeString": "address"
  47660. }
  47661. },
  47662. "visibility": "internal"
  47663. },
  47664. {
  47665. "constant": false,
  47666. "id": 10714,
  47667. "mutability": "mutable",
  47668. "name": "p2",
  47669. "nameLocation": "30096:2:50",
  47670. "nodeType": "VariableDeclaration",
  47671. "scope": 10731,
  47672. "src": "30082:16:50",
  47673. "stateVariable": false,
  47674. "storageLocation": "memory",
  47675. "typeDescriptions": {
  47676. "typeIdentifier": "t_string_memory_ptr",
  47677. "typeString": "string"
  47678. },
  47679. "typeName": {
  47680. "id": 10713,
  47681. "name": "string",
  47682. "nodeType": "ElementaryTypeName",
  47683. "src": "30082:6:50",
  47684. "typeDescriptions": {
  47685. "typeIdentifier": "t_string_storage_ptr",
  47686. "typeString": "string"
  47687. }
  47688. },
  47689. "visibility": "internal"
  47690. },
  47691. {
  47692. "constant": false,
  47693. "id": 10716,
  47694. "mutability": "mutable",
  47695. "name": "p3",
  47696. "nameLocation": "30105:2:50",
  47697. "nodeType": "VariableDeclaration",
  47698. "scope": 10731,
  47699. "src": "30100:7:50",
  47700. "stateVariable": false,
  47701. "storageLocation": "default",
  47702. "typeDescriptions": {
  47703. "typeIdentifier": "t_bool",
  47704. "typeString": "bool"
  47705. },
  47706. "typeName": {
  47707. "id": 10715,
  47708. "name": "bool",
  47709. "nodeType": "ElementaryTypeName",
  47710. "src": "30100:4:50",
  47711. "typeDescriptions": {
  47712. "typeIdentifier": "t_bool",
  47713. "typeString": "bool"
  47714. }
  47715. },
  47716. "visibility": "internal"
  47717. }
  47718. ],
  47719. "src": "30057:51:50"
  47720. },
  47721. "returnParameters": {
  47722. "id": 10718,
  47723. "nodeType": "ParameterList",
  47724. "parameters": [],
  47725. "src": "30123:0:50"
  47726. },
  47727. "scope": 15355,
  47728. "stateMutability": "pure",
  47729. "virtual": false,
  47730. "visibility": "internal"
  47731. },
  47732. {
  47733. "id": 10754,
  47734. "nodeType": "FunctionDefinition",
  47735. "src": "30238:193:50",
  47736. "nodes": [],
  47737. "body": {
  47738. "id": 10753,
  47739. "nodeType": "Block",
  47740. "src": "30319:112:50",
  47741. "nodes": [],
  47742. "statements": [
  47743. {
  47744. "expression": {
  47745. "arguments": [
  47746. {
  47747. "arguments": [
  47748. {
  47749. "hexValue": "6c6f672875696e743235362c616464726573732c737472696e672c6164647265737329",
  47750. "id": 10745,
  47751. "isConstant": false,
  47752. "isLValue": false,
  47753. "isPure": true,
  47754. "kind": "string",
  47755. "lValueRequested": false,
  47756. "nodeType": "Literal",
  47757. "src": "30369:37:50",
  47758. "typeDescriptions": {
  47759. "typeIdentifier": "t_stringliteral_9cba8fffa4a3e6f47d307a71f619bf1719d0a75680c6c916d7776ea0341039b9",
  47760. "typeString": "literal_string \"log(uint256,address,string,address)\""
  47761. },
  47762. "value": "log(uint256,address,string,address)"
  47763. },
  47764. {
  47765. "id": 10746,
  47766. "name": "p0",
  47767. "nodeType": "Identifier",
  47768. "overloadedDeclarations": [],
  47769. "referencedDeclaration": 10733,
  47770. "src": "30408:2:50",
  47771. "typeDescriptions": {
  47772. "typeIdentifier": "t_uint256",
  47773. "typeString": "uint256"
  47774. }
  47775. },
  47776. {
  47777. "id": 10747,
  47778. "name": "p1",
  47779. "nodeType": "Identifier",
  47780. "overloadedDeclarations": [],
  47781. "referencedDeclaration": 10735,
  47782. "src": "30412:2:50",
  47783. "typeDescriptions": {
  47784. "typeIdentifier": "t_address",
  47785. "typeString": "address"
  47786. }
  47787. },
  47788. {
  47789. "id": 10748,
  47790. "name": "p2",
  47791. "nodeType": "Identifier",
  47792. "overloadedDeclarations": [],
  47793. "referencedDeclaration": 10737,
  47794. "src": "30416:2:50",
  47795. "typeDescriptions": {
  47796. "typeIdentifier": "t_string_memory_ptr",
  47797. "typeString": "string memory"
  47798. }
  47799. },
  47800. {
  47801. "id": 10749,
  47802. "name": "p3",
  47803. "nodeType": "Identifier",
  47804. "overloadedDeclarations": [],
  47805. "referencedDeclaration": 10739,
  47806. "src": "30420:2:50",
  47807. "typeDescriptions": {
  47808. "typeIdentifier": "t_address",
  47809. "typeString": "address"
  47810. }
  47811. }
  47812. ],
  47813. "expression": {
  47814. "argumentTypes": [
  47815. {
  47816. "typeIdentifier": "t_stringliteral_9cba8fffa4a3e6f47d307a71f619bf1719d0a75680c6c916d7776ea0341039b9",
  47817. "typeString": "literal_string \"log(uint256,address,string,address)\""
  47818. },
  47819. {
  47820. "typeIdentifier": "t_uint256",
  47821. "typeString": "uint256"
  47822. },
  47823. {
  47824. "typeIdentifier": "t_address",
  47825. "typeString": "address"
  47826. },
  47827. {
  47828. "typeIdentifier": "t_string_memory_ptr",
  47829. "typeString": "string memory"
  47830. },
  47831. {
  47832. "typeIdentifier": "t_address",
  47833. "typeString": "address"
  47834. }
  47835. ],
  47836. "expression": {
  47837. "id": 10743,
  47838. "name": "abi",
  47839. "nodeType": "Identifier",
  47840. "overloadedDeclarations": [],
  47841. "referencedDeclaration": -1,
  47842. "src": "30345:3:50",
  47843. "typeDescriptions": {
  47844. "typeIdentifier": "t_magic_abi",
  47845. "typeString": "abi"
  47846. }
  47847. },
  47848. "id": 10744,
  47849. "isConstant": false,
  47850. "isLValue": false,
  47851. "isPure": true,
  47852. "lValueRequested": false,
  47853. "memberLocation": "30349:19:50",
  47854. "memberName": "encodeWithSignature",
  47855. "nodeType": "MemberAccess",
  47856. "src": "30345:23:50",
  47857. "typeDescriptions": {
  47858. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  47859. "typeString": "function (string memory) pure returns (bytes memory)"
  47860. }
  47861. },
  47862. "id": 10750,
  47863. "isConstant": false,
  47864. "isLValue": false,
  47865. "isPure": false,
  47866. "kind": "functionCall",
  47867. "lValueRequested": false,
  47868. "nameLocations": [],
  47869. "names": [],
  47870. "nodeType": "FunctionCall",
  47871. "src": "30345:78:50",
  47872. "tryCall": false,
  47873. "typeDescriptions": {
  47874. "typeIdentifier": "t_bytes_memory_ptr",
  47875. "typeString": "bytes memory"
  47876. }
  47877. }
  47878. ],
  47879. "expression": {
  47880. "argumentTypes": [
  47881. {
  47882. "typeIdentifier": "t_bytes_memory_ptr",
  47883. "typeString": "bytes memory"
  47884. }
  47885. ],
  47886. "id": 10742,
  47887. "name": "_sendLogPayload",
  47888. "nodeType": "Identifier",
  47889. "overloadedDeclarations": [],
  47890. "referencedDeclaration": 7315,
  47891. "src": "30329:15:50",
  47892. "typeDescriptions": {
  47893. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  47894. "typeString": "function (bytes memory) pure"
  47895. }
  47896. },
  47897. "id": 10751,
  47898. "isConstant": false,
  47899. "isLValue": false,
  47900. "isPure": false,
  47901. "kind": "functionCall",
  47902. "lValueRequested": false,
  47903. "nameLocations": [],
  47904. "names": [],
  47905. "nodeType": "FunctionCall",
  47906. "src": "30329:95:50",
  47907. "tryCall": false,
  47908. "typeDescriptions": {
  47909. "typeIdentifier": "t_tuple$__$",
  47910. "typeString": "tuple()"
  47911. }
  47912. },
  47913. "id": 10752,
  47914. "nodeType": "ExpressionStatement",
  47915. "src": "30329:95:50"
  47916. }
  47917. ]
  47918. },
  47919. "implemented": true,
  47920. "kind": "function",
  47921. "modifiers": [],
  47922. "name": "log",
  47923. "nameLocation": "30247:3:50",
  47924. "parameters": {
  47925. "id": 10740,
  47926. "nodeType": "ParameterList",
  47927. "parameters": [
  47928. {
  47929. "constant": false,
  47930. "id": 10733,
  47931. "mutability": "mutable",
  47932. "name": "p0",
  47933. "nameLocation": "30259:2:50",
  47934. "nodeType": "VariableDeclaration",
  47935. "scope": 10754,
  47936. "src": "30251:10:50",
  47937. "stateVariable": false,
  47938. "storageLocation": "default",
  47939. "typeDescriptions": {
  47940. "typeIdentifier": "t_uint256",
  47941. "typeString": "uint256"
  47942. },
  47943. "typeName": {
  47944. "id": 10732,
  47945. "name": "uint256",
  47946. "nodeType": "ElementaryTypeName",
  47947. "src": "30251:7:50",
  47948. "typeDescriptions": {
  47949. "typeIdentifier": "t_uint256",
  47950. "typeString": "uint256"
  47951. }
  47952. },
  47953. "visibility": "internal"
  47954. },
  47955. {
  47956. "constant": false,
  47957. "id": 10735,
  47958. "mutability": "mutable",
  47959. "name": "p1",
  47960. "nameLocation": "30271:2:50",
  47961. "nodeType": "VariableDeclaration",
  47962. "scope": 10754,
  47963. "src": "30263:10:50",
  47964. "stateVariable": false,
  47965. "storageLocation": "default",
  47966. "typeDescriptions": {
  47967. "typeIdentifier": "t_address",
  47968. "typeString": "address"
  47969. },
  47970. "typeName": {
  47971. "id": 10734,
  47972. "name": "address",
  47973. "nodeType": "ElementaryTypeName",
  47974. "src": "30263:7:50",
  47975. "stateMutability": "nonpayable",
  47976. "typeDescriptions": {
  47977. "typeIdentifier": "t_address",
  47978. "typeString": "address"
  47979. }
  47980. },
  47981. "visibility": "internal"
  47982. },
  47983. {
  47984. "constant": false,
  47985. "id": 10737,
  47986. "mutability": "mutable",
  47987. "name": "p2",
  47988. "nameLocation": "30289:2:50",
  47989. "nodeType": "VariableDeclaration",
  47990. "scope": 10754,
  47991. "src": "30275:16:50",
  47992. "stateVariable": false,
  47993. "storageLocation": "memory",
  47994. "typeDescriptions": {
  47995. "typeIdentifier": "t_string_memory_ptr",
  47996. "typeString": "string"
  47997. },
  47998. "typeName": {
  47999. "id": 10736,
  48000. "name": "string",
  48001. "nodeType": "ElementaryTypeName",
  48002. "src": "30275:6:50",
  48003. "typeDescriptions": {
  48004. "typeIdentifier": "t_string_storage_ptr",
  48005. "typeString": "string"
  48006. }
  48007. },
  48008. "visibility": "internal"
  48009. },
  48010. {
  48011. "constant": false,
  48012. "id": 10739,
  48013. "mutability": "mutable",
  48014. "name": "p3",
  48015. "nameLocation": "30301:2:50",
  48016. "nodeType": "VariableDeclaration",
  48017. "scope": 10754,
  48018. "src": "30293:10:50",
  48019. "stateVariable": false,
  48020. "storageLocation": "default",
  48021. "typeDescriptions": {
  48022. "typeIdentifier": "t_address",
  48023. "typeString": "address"
  48024. },
  48025. "typeName": {
  48026. "id": 10738,
  48027. "name": "address",
  48028. "nodeType": "ElementaryTypeName",
  48029. "src": "30293:7:50",
  48030. "stateMutability": "nonpayable",
  48031. "typeDescriptions": {
  48032. "typeIdentifier": "t_address",
  48033. "typeString": "address"
  48034. }
  48035. },
  48036. "visibility": "internal"
  48037. }
  48038. ],
  48039. "src": "30250:54:50"
  48040. },
  48041. "returnParameters": {
  48042. "id": 10741,
  48043. "nodeType": "ParameterList",
  48044. "parameters": [],
  48045. "src": "30319:0:50"
  48046. },
  48047. "scope": 15355,
  48048. "stateMutability": "pure",
  48049. "virtual": false,
  48050. "visibility": "internal"
  48051. },
  48052. {
  48053. "id": 10777,
  48054. "nodeType": "FunctionDefinition",
  48055. "src": "30437:182:50",
  48056. "nodes": [],
  48057. "body": {
  48058. "id": 10776,
  48059. "nodeType": "Block",
  48060. "src": "30509:110:50",
  48061. "nodes": [],
  48062. "statements": [
  48063. {
  48064. "expression": {
  48065. "arguments": [
  48066. {
  48067. "arguments": [
  48068. {
  48069. "hexValue": "6c6f672875696e743235362c616464726573732c626f6f6c2c75696e7432353629",
  48070. "id": 10768,
  48071. "isConstant": false,
  48072. "isLValue": false,
  48073. "isPure": true,
  48074. "kind": "string",
  48075. "lValueRequested": false,
  48076. "nodeType": "Literal",
  48077. "src": "30559:35:50",
  48078. "typeDescriptions": {
  48079. "typeIdentifier": "t_stringliteral_5abd992a7a64be8afc8745d44215dd5b4a31f8b03abd4cb03ff6565b7f51c1b1",
  48080. "typeString": "literal_string \"log(uint256,address,bool,uint256)\""
  48081. },
  48082. "value": "log(uint256,address,bool,uint256)"
  48083. },
  48084. {
  48085. "id": 10769,
  48086. "name": "p0",
  48087. "nodeType": "Identifier",
  48088. "overloadedDeclarations": [],
  48089. "referencedDeclaration": 10756,
  48090. "src": "30596:2:50",
  48091. "typeDescriptions": {
  48092. "typeIdentifier": "t_uint256",
  48093. "typeString": "uint256"
  48094. }
  48095. },
  48096. {
  48097. "id": 10770,
  48098. "name": "p1",
  48099. "nodeType": "Identifier",
  48100. "overloadedDeclarations": [],
  48101. "referencedDeclaration": 10758,
  48102. "src": "30600:2:50",
  48103. "typeDescriptions": {
  48104. "typeIdentifier": "t_address",
  48105. "typeString": "address"
  48106. }
  48107. },
  48108. {
  48109. "id": 10771,
  48110. "name": "p2",
  48111. "nodeType": "Identifier",
  48112. "overloadedDeclarations": [],
  48113. "referencedDeclaration": 10760,
  48114. "src": "30604:2:50",
  48115. "typeDescriptions": {
  48116. "typeIdentifier": "t_bool",
  48117. "typeString": "bool"
  48118. }
  48119. },
  48120. {
  48121. "id": 10772,
  48122. "name": "p3",
  48123. "nodeType": "Identifier",
  48124. "overloadedDeclarations": [],
  48125. "referencedDeclaration": 10762,
  48126. "src": "30608:2:50",
  48127. "typeDescriptions": {
  48128. "typeIdentifier": "t_uint256",
  48129. "typeString": "uint256"
  48130. }
  48131. }
  48132. ],
  48133. "expression": {
  48134. "argumentTypes": [
  48135. {
  48136. "typeIdentifier": "t_stringliteral_5abd992a7a64be8afc8745d44215dd5b4a31f8b03abd4cb03ff6565b7f51c1b1",
  48137. "typeString": "literal_string \"log(uint256,address,bool,uint256)\""
  48138. },
  48139. {
  48140. "typeIdentifier": "t_uint256",
  48141. "typeString": "uint256"
  48142. },
  48143. {
  48144. "typeIdentifier": "t_address",
  48145. "typeString": "address"
  48146. },
  48147. {
  48148. "typeIdentifier": "t_bool",
  48149. "typeString": "bool"
  48150. },
  48151. {
  48152. "typeIdentifier": "t_uint256",
  48153. "typeString": "uint256"
  48154. }
  48155. ],
  48156. "expression": {
  48157. "id": 10766,
  48158. "name": "abi",
  48159. "nodeType": "Identifier",
  48160. "overloadedDeclarations": [],
  48161. "referencedDeclaration": -1,
  48162. "src": "30535:3:50",
  48163. "typeDescriptions": {
  48164. "typeIdentifier": "t_magic_abi",
  48165. "typeString": "abi"
  48166. }
  48167. },
  48168. "id": 10767,
  48169. "isConstant": false,
  48170. "isLValue": false,
  48171. "isPure": true,
  48172. "lValueRequested": false,
  48173. "memberLocation": "30539:19:50",
  48174. "memberName": "encodeWithSignature",
  48175. "nodeType": "MemberAccess",
  48176. "src": "30535:23:50",
  48177. "typeDescriptions": {
  48178. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  48179. "typeString": "function (string memory) pure returns (bytes memory)"
  48180. }
  48181. },
  48182. "id": 10773,
  48183. "isConstant": false,
  48184. "isLValue": false,
  48185. "isPure": false,
  48186. "kind": "functionCall",
  48187. "lValueRequested": false,
  48188. "nameLocations": [],
  48189. "names": [],
  48190. "nodeType": "FunctionCall",
  48191. "src": "30535:76:50",
  48192. "tryCall": false,
  48193. "typeDescriptions": {
  48194. "typeIdentifier": "t_bytes_memory_ptr",
  48195. "typeString": "bytes memory"
  48196. }
  48197. }
  48198. ],
  48199. "expression": {
  48200. "argumentTypes": [
  48201. {
  48202. "typeIdentifier": "t_bytes_memory_ptr",
  48203. "typeString": "bytes memory"
  48204. }
  48205. ],
  48206. "id": 10765,
  48207. "name": "_sendLogPayload",
  48208. "nodeType": "Identifier",
  48209. "overloadedDeclarations": [],
  48210. "referencedDeclaration": 7315,
  48211. "src": "30519:15:50",
  48212. "typeDescriptions": {
  48213. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  48214. "typeString": "function (bytes memory) pure"
  48215. }
  48216. },
  48217. "id": 10774,
  48218. "isConstant": false,
  48219. "isLValue": false,
  48220. "isPure": false,
  48221. "kind": "functionCall",
  48222. "lValueRequested": false,
  48223. "nameLocations": [],
  48224. "names": [],
  48225. "nodeType": "FunctionCall",
  48226. "src": "30519:93:50",
  48227. "tryCall": false,
  48228. "typeDescriptions": {
  48229. "typeIdentifier": "t_tuple$__$",
  48230. "typeString": "tuple()"
  48231. }
  48232. },
  48233. "id": 10775,
  48234. "nodeType": "ExpressionStatement",
  48235. "src": "30519:93:50"
  48236. }
  48237. ]
  48238. },
  48239. "implemented": true,
  48240. "kind": "function",
  48241. "modifiers": [],
  48242. "name": "log",
  48243. "nameLocation": "30446:3:50",
  48244. "parameters": {
  48245. "id": 10763,
  48246. "nodeType": "ParameterList",
  48247. "parameters": [
  48248. {
  48249. "constant": false,
  48250. "id": 10756,
  48251. "mutability": "mutable",
  48252. "name": "p0",
  48253. "nameLocation": "30458:2:50",
  48254. "nodeType": "VariableDeclaration",
  48255. "scope": 10777,
  48256. "src": "30450:10:50",
  48257. "stateVariable": false,
  48258. "storageLocation": "default",
  48259. "typeDescriptions": {
  48260. "typeIdentifier": "t_uint256",
  48261. "typeString": "uint256"
  48262. },
  48263. "typeName": {
  48264. "id": 10755,
  48265. "name": "uint256",
  48266. "nodeType": "ElementaryTypeName",
  48267. "src": "30450:7:50",
  48268. "typeDescriptions": {
  48269. "typeIdentifier": "t_uint256",
  48270. "typeString": "uint256"
  48271. }
  48272. },
  48273. "visibility": "internal"
  48274. },
  48275. {
  48276. "constant": false,
  48277. "id": 10758,
  48278. "mutability": "mutable",
  48279. "name": "p1",
  48280. "nameLocation": "30470:2:50",
  48281. "nodeType": "VariableDeclaration",
  48282. "scope": 10777,
  48283. "src": "30462:10:50",
  48284. "stateVariable": false,
  48285. "storageLocation": "default",
  48286. "typeDescriptions": {
  48287. "typeIdentifier": "t_address",
  48288. "typeString": "address"
  48289. },
  48290. "typeName": {
  48291. "id": 10757,
  48292. "name": "address",
  48293. "nodeType": "ElementaryTypeName",
  48294. "src": "30462:7:50",
  48295. "stateMutability": "nonpayable",
  48296. "typeDescriptions": {
  48297. "typeIdentifier": "t_address",
  48298. "typeString": "address"
  48299. }
  48300. },
  48301. "visibility": "internal"
  48302. },
  48303. {
  48304. "constant": false,
  48305. "id": 10760,
  48306. "mutability": "mutable",
  48307. "name": "p2",
  48308. "nameLocation": "30479:2:50",
  48309. "nodeType": "VariableDeclaration",
  48310. "scope": 10777,
  48311. "src": "30474:7:50",
  48312. "stateVariable": false,
  48313. "storageLocation": "default",
  48314. "typeDescriptions": {
  48315. "typeIdentifier": "t_bool",
  48316. "typeString": "bool"
  48317. },
  48318. "typeName": {
  48319. "id": 10759,
  48320. "name": "bool",
  48321. "nodeType": "ElementaryTypeName",
  48322. "src": "30474:4:50",
  48323. "typeDescriptions": {
  48324. "typeIdentifier": "t_bool",
  48325. "typeString": "bool"
  48326. }
  48327. },
  48328. "visibility": "internal"
  48329. },
  48330. {
  48331. "constant": false,
  48332. "id": 10762,
  48333. "mutability": "mutable",
  48334. "name": "p3",
  48335. "nameLocation": "30491:2:50",
  48336. "nodeType": "VariableDeclaration",
  48337. "scope": 10777,
  48338. "src": "30483:10:50",
  48339. "stateVariable": false,
  48340. "storageLocation": "default",
  48341. "typeDescriptions": {
  48342. "typeIdentifier": "t_uint256",
  48343. "typeString": "uint256"
  48344. },
  48345. "typeName": {
  48346. "id": 10761,
  48347. "name": "uint256",
  48348. "nodeType": "ElementaryTypeName",
  48349. "src": "30483:7:50",
  48350. "typeDescriptions": {
  48351. "typeIdentifier": "t_uint256",
  48352. "typeString": "uint256"
  48353. }
  48354. },
  48355. "visibility": "internal"
  48356. }
  48357. ],
  48358. "src": "30449:45:50"
  48359. },
  48360. "returnParameters": {
  48361. "id": 10764,
  48362. "nodeType": "ParameterList",
  48363. "parameters": [],
  48364. "src": "30509:0:50"
  48365. },
  48366. "scope": 15355,
  48367. "stateMutability": "pure",
  48368. "virtual": false,
  48369. "visibility": "internal"
  48370. },
  48371. {
  48372. "id": 10800,
  48373. "nodeType": "FunctionDefinition",
  48374. "src": "30625:187:50",
  48375. "nodes": [],
  48376. "body": {
  48377. "id": 10799,
  48378. "nodeType": "Block",
  48379. "src": "30703:109:50",
  48380. "nodes": [],
  48381. "statements": [
  48382. {
  48383. "expression": {
  48384. "arguments": [
  48385. {
  48386. "arguments": [
  48387. {
  48388. "hexValue": "6c6f672875696e743235362c616464726573732c626f6f6c2c737472696e6729",
  48389. "id": 10791,
  48390. "isConstant": false,
  48391. "isLValue": false,
  48392. "isPure": true,
  48393. "kind": "string",
  48394. "lValueRequested": false,
  48395. "nodeType": "Literal",
  48396. "src": "30753:34:50",
  48397. "typeDescriptions": {
  48398. "typeIdentifier": "t_stringliteral_90fb06aa0f94ddb9149d9a0d0271a9fd2b331af93ebc6a4aece22e4f82154c7d",
  48399. "typeString": "literal_string \"log(uint256,address,bool,string)\""
  48400. },
  48401. "value": "log(uint256,address,bool,string)"
  48402. },
  48403. {
  48404. "id": 10792,
  48405. "name": "p0",
  48406. "nodeType": "Identifier",
  48407. "overloadedDeclarations": [],
  48408. "referencedDeclaration": 10779,
  48409. "src": "30789:2:50",
  48410. "typeDescriptions": {
  48411. "typeIdentifier": "t_uint256",
  48412. "typeString": "uint256"
  48413. }
  48414. },
  48415. {
  48416. "id": 10793,
  48417. "name": "p1",
  48418. "nodeType": "Identifier",
  48419. "overloadedDeclarations": [],
  48420. "referencedDeclaration": 10781,
  48421. "src": "30793:2:50",
  48422. "typeDescriptions": {
  48423. "typeIdentifier": "t_address",
  48424. "typeString": "address"
  48425. }
  48426. },
  48427. {
  48428. "id": 10794,
  48429. "name": "p2",
  48430. "nodeType": "Identifier",
  48431. "overloadedDeclarations": [],
  48432. "referencedDeclaration": 10783,
  48433. "src": "30797:2:50",
  48434. "typeDescriptions": {
  48435. "typeIdentifier": "t_bool",
  48436. "typeString": "bool"
  48437. }
  48438. },
  48439. {
  48440. "id": 10795,
  48441. "name": "p3",
  48442. "nodeType": "Identifier",
  48443. "overloadedDeclarations": [],
  48444. "referencedDeclaration": 10785,
  48445. "src": "30801:2:50",
  48446. "typeDescriptions": {
  48447. "typeIdentifier": "t_string_memory_ptr",
  48448. "typeString": "string memory"
  48449. }
  48450. }
  48451. ],
  48452. "expression": {
  48453. "argumentTypes": [
  48454. {
  48455. "typeIdentifier": "t_stringliteral_90fb06aa0f94ddb9149d9a0d0271a9fd2b331af93ebc6a4aece22e4f82154c7d",
  48456. "typeString": "literal_string \"log(uint256,address,bool,string)\""
  48457. },
  48458. {
  48459. "typeIdentifier": "t_uint256",
  48460. "typeString": "uint256"
  48461. },
  48462. {
  48463. "typeIdentifier": "t_address",
  48464. "typeString": "address"
  48465. },
  48466. {
  48467. "typeIdentifier": "t_bool",
  48468. "typeString": "bool"
  48469. },
  48470. {
  48471. "typeIdentifier": "t_string_memory_ptr",
  48472. "typeString": "string memory"
  48473. }
  48474. ],
  48475. "expression": {
  48476. "id": 10789,
  48477. "name": "abi",
  48478. "nodeType": "Identifier",
  48479. "overloadedDeclarations": [],
  48480. "referencedDeclaration": -1,
  48481. "src": "30729:3:50",
  48482. "typeDescriptions": {
  48483. "typeIdentifier": "t_magic_abi",
  48484. "typeString": "abi"
  48485. }
  48486. },
  48487. "id": 10790,
  48488. "isConstant": false,
  48489. "isLValue": false,
  48490. "isPure": true,
  48491. "lValueRequested": false,
  48492. "memberLocation": "30733:19:50",
  48493. "memberName": "encodeWithSignature",
  48494. "nodeType": "MemberAccess",
  48495. "src": "30729:23:50",
  48496. "typeDescriptions": {
  48497. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  48498. "typeString": "function (string memory) pure returns (bytes memory)"
  48499. }
  48500. },
  48501. "id": 10796,
  48502. "isConstant": false,
  48503. "isLValue": false,
  48504. "isPure": false,
  48505. "kind": "functionCall",
  48506. "lValueRequested": false,
  48507. "nameLocations": [],
  48508. "names": [],
  48509. "nodeType": "FunctionCall",
  48510. "src": "30729:75:50",
  48511. "tryCall": false,
  48512. "typeDescriptions": {
  48513. "typeIdentifier": "t_bytes_memory_ptr",
  48514. "typeString": "bytes memory"
  48515. }
  48516. }
  48517. ],
  48518. "expression": {
  48519. "argumentTypes": [
  48520. {
  48521. "typeIdentifier": "t_bytes_memory_ptr",
  48522. "typeString": "bytes memory"
  48523. }
  48524. ],
  48525. "id": 10788,
  48526. "name": "_sendLogPayload",
  48527. "nodeType": "Identifier",
  48528. "overloadedDeclarations": [],
  48529. "referencedDeclaration": 7315,
  48530. "src": "30713:15:50",
  48531. "typeDescriptions": {
  48532. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  48533. "typeString": "function (bytes memory) pure"
  48534. }
  48535. },
  48536. "id": 10797,
  48537. "isConstant": false,
  48538. "isLValue": false,
  48539. "isPure": false,
  48540. "kind": "functionCall",
  48541. "lValueRequested": false,
  48542. "nameLocations": [],
  48543. "names": [],
  48544. "nodeType": "FunctionCall",
  48545. "src": "30713:92:50",
  48546. "tryCall": false,
  48547. "typeDescriptions": {
  48548. "typeIdentifier": "t_tuple$__$",
  48549. "typeString": "tuple()"
  48550. }
  48551. },
  48552. "id": 10798,
  48553. "nodeType": "ExpressionStatement",
  48554. "src": "30713:92:50"
  48555. }
  48556. ]
  48557. },
  48558. "implemented": true,
  48559. "kind": "function",
  48560. "modifiers": [],
  48561. "name": "log",
  48562. "nameLocation": "30634:3:50",
  48563. "parameters": {
  48564. "id": 10786,
  48565. "nodeType": "ParameterList",
  48566. "parameters": [
  48567. {
  48568. "constant": false,
  48569. "id": 10779,
  48570. "mutability": "mutable",
  48571. "name": "p0",
  48572. "nameLocation": "30646:2:50",
  48573. "nodeType": "VariableDeclaration",
  48574. "scope": 10800,
  48575. "src": "30638:10:50",
  48576. "stateVariable": false,
  48577. "storageLocation": "default",
  48578. "typeDescriptions": {
  48579. "typeIdentifier": "t_uint256",
  48580. "typeString": "uint256"
  48581. },
  48582. "typeName": {
  48583. "id": 10778,
  48584. "name": "uint256",
  48585. "nodeType": "ElementaryTypeName",
  48586. "src": "30638:7:50",
  48587. "typeDescriptions": {
  48588. "typeIdentifier": "t_uint256",
  48589. "typeString": "uint256"
  48590. }
  48591. },
  48592. "visibility": "internal"
  48593. },
  48594. {
  48595. "constant": false,
  48596. "id": 10781,
  48597. "mutability": "mutable",
  48598. "name": "p1",
  48599. "nameLocation": "30658:2:50",
  48600. "nodeType": "VariableDeclaration",
  48601. "scope": 10800,
  48602. "src": "30650:10:50",
  48603. "stateVariable": false,
  48604. "storageLocation": "default",
  48605. "typeDescriptions": {
  48606. "typeIdentifier": "t_address",
  48607. "typeString": "address"
  48608. },
  48609. "typeName": {
  48610. "id": 10780,
  48611. "name": "address",
  48612. "nodeType": "ElementaryTypeName",
  48613. "src": "30650:7:50",
  48614. "stateMutability": "nonpayable",
  48615. "typeDescriptions": {
  48616. "typeIdentifier": "t_address",
  48617. "typeString": "address"
  48618. }
  48619. },
  48620. "visibility": "internal"
  48621. },
  48622. {
  48623. "constant": false,
  48624. "id": 10783,
  48625. "mutability": "mutable",
  48626. "name": "p2",
  48627. "nameLocation": "30667:2:50",
  48628. "nodeType": "VariableDeclaration",
  48629. "scope": 10800,
  48630. "src": "30662:7:50",
  48631. "stateVariable": false,
  48632. "storageLocation": "default",
  48633. "typeDescriptions": {
  48634. "typeIdentifier": "t_bool",
  48635. "typeString": "bool"
  48636. },
  48637. "typeName": {
  48638. "id": 10782,
  48639. "name": "bool",
  48640. "nodeType": "ElementaryTypeName",
  48641. "src": "30662:4:50",
  48642. "typeDescriptions": {
  48643. "typeIdentifier": "t_bool",
  48644. "typeString": "bool"
  48645. }
  48646. },
  48647. "visibility": "internal"
  48648. },
  48649. {
  48650. "constant": false,
  48651. "id": 10785,
  48652. "mutability": "mutable",
  48653. "name": "p3",
  48654. "nameLocation": "30685:2:50",
  48655. "nodeType": "VariableDeclaration",
  48656. "scope": 10800,
  48657. "src": "30671:16:50",
  48658. "stateVariable": false,
  48659. "storageLocation": "memory",
  48660. "typeDescriptions": {
  48661. "typeIdentifier": "t_string_memory_ptr",
  48662. "typeString": "string"
  48663. },
  48664. "typeName": {
  48665. "id": 10784,
  48666. "name": "string",
  48667. "nodeType": "ElementaryTypeName",
  48668. "src": "30671:6:50",
  48669. "typeDescriptions": {
  48670. "typeIdentifier": "t_string_storage_ptr",
  48671. "typeString": "string"
  48672. }
  48673. },
  48674. "visibility": "internal"
  48675. }
  48676. ],
  48677. "src": "30637:51:50"
  48678. },
  48679. "returnParameters": {
  48680. "id": 10787,
  48681. "nodeType": "ParameterList",
  48682. "parameters": [],
  48683. "src": "30703:0:50"
  48684. },
  48685. "scope": 15355,
  48686. "stateMutability": "pure",
  48687. "virtual": false,
  48688. "visibility": "internal"
  48689. },
  48690. {
  48691. "id": 10823,
  48692. "nodeType": "FunctionDefinition",
  48693. "src": "30818:176:50",
  48694. "nodes": [],
  48695. "body": {
  48696. "id": 10822,
  48697. "nodeType": "Block",
  48698. "src": "30887:107:50",
  48699. "nodes": [],
  48700. "statements": [
  48701. {
  48702. "expression": {
  48703. "arguments": [
  48704. {
  48705. "arguments": [
  48706. {
  48707. "hexValue": "6c6f672875696e743235362c616464726573732c626f6f6c2c626f6f6c29",
  48708. "id": 10814,
  48709. "isConstant": false,
  48710. "isLValue": false,
  48711. "isPure": true,
  48712. "kind": "string",
  48713. "lValueRequested": false,
  48714. "nodeType": "Literal",
  48715. "src": "30937:32:50",
  48716. "typeDescriptions": {
  48717. "typeIdentifier": "t_stringliteral_e351140f919f09731a4793c7bb4d5f07234902f499ced9e1e3c9639d2685c6f1",
  48718. "typeString": "literal_string \"log(uint256,address,bool,bool)\""
  48719. },
  48720. "value": "log(uint256,address,bool,bool)"
  48721. },
  48722. {
  48723. "id": 10815,
  48724. "name": "p0",
  48725. "nodeType": "Identifier",
  48726. "overloadedDeclarations": [],
  48727. "referencedDeclaration": 10802,
  48728. "src": "30971:2:50",
  48729. "typeDescriptions": {
  48730. "typeIdentifier": "t_uint256",
  48731. "typeString": "uint256"
  48732. }
  48733. },
  48734. {
  48735. "id": 10816,
  48736. "name": "p1",
  48737. "nodeType": "Identifier",
  48738. "overloadedDeclarations": [],
  48739. "referencedDeclaration": 10804,
  48740. "src": "30975:2:50",
  48741. "typeDescriptions": {
  48742. "typeIdentifier": "t_address",
  48743. "typeString": "address"
  48744. }
  48745. },
  48746. {
  48747. "id": 10817,
  48748. "name": "p2",
  48749. "nodeType": "Identifier",
  48750. "overloadedDeclarations": [],
  48751. "referencedDeclaration": 10806,
  48752. "src": "30979:2:50",
  48753. "typeDescriptions": {
  48754. "typeIdentifier": "t_bool",
  48755. "typeString": "bool"
  48756. }
  48757. },
  48758. {
  48759. "id": 10818,
  48760. "name": "p3",
  48761. "nodeType": "Identifier",
  48762. "overloadedDeclarations": [],
  48763. "referencedDeclaration": 10808,
  48764. "src": "30983:2:50",
  48765. "typeDescriptions": {
  48766. "typeIdentifier": "t_bool",
  48767. "typeString": "bool"
  48768. }
  48769. }
  48770. ],
  48771. "expression": {
  48772. "argumentTypes": [
  48773. {
  48774. "typeIdentifier": "t_stringliteral_e351140f919f09731a4793c7bb4d5f07234902f499ced9e1e3c9639d2685c6f1",
  48775. "typeString": "literal_string \"log(uint256,address,bool,bool)\""
  48776. },
  48777. {
  48778. "typeIdentifier": "t_uint256",
  48779. "typeString": "uint256"
  48780. },
  48781. {
  48782. "typeIdentifier": "t_address",
  48783. "typeString": "address"
  48784. },
  48785. {
  48786. "typeIdentifier": "t_bool",
  48787. "typeString": "bool"
  48788. },
  48789. {
  48790. "typeIdentifier": "t_bool",
  48791. "typeString": "bool"
  48792. }
  48793. ],
  48794. "expression": {
  48795. "id": 10812,
  48796. "name": "abi",
  48797. "nodeType": "Identifier",
  48798. "overloadedDeclarations": [],
  48799. "referencedDeclaration": -1,
  48800. "src": "30913:3:50",
  48801. "typeDescriptions": {
  48802. "typeIdentifier": "t_magic_abi",
  48803. "typeString": "abi"
  48804. }
  48805. },
  48806. "id": 10813,
  48807. "isConstant": false,
  48808. "isLValue": false,
  48809. "isPure": true,
  48810. "lValueRequested": false,
  48811. "memberLocation": "30917:19:50",
  48812. "memberName": "encodeWithSignature",
  48813. "nodeType": "MemberAccess",
  48814. "src": "30913:23:50",
  48815. "typeDescriptions": {
  48816. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  48817. "typeString": "function (string memory) pure returns (bytes memory)"
  48818. }
  48819. },
  48820. "id": 10819,
  48821. "isConstant": false,
  48822. "isLValue": false,
  48823. "isPure": false,
  48824. "kind": "functionCall",
  48825. "lValueRequested": false,
  48826. "nameLocations": [],
  48827. "names": [],
  48828. "nodeType": "FunctionCall",
  48829. "src": "30913:73:50",
  48830. "tryCall": false,
  48831. "typeDescriptions": {
  48832. "typeIdentifier": "t_bytes_memory_ptr",
  48833. "typeString": "bytes memory"
  48834. }
  48835. }
  48836. ],
  48837. "expression": {
  48838. "argumentTypes": [
  48839. {
  48840. "typeIdentifier": "t_bytes_memory_ptr",
  48841. "typeString": "bytes memory"
  48842. }
  48843. ],
  48844. "id": 10811,
  48845. "name": "_sendLogPayload",
  48846. "nodeType": "Identifier",
  48847. "overloadedDeclarations": [],
  48848. "referencedDeclaration": 7315,
  48849. "src": "30897:15:50",
  48850. "typeDescriptions": {
  48851. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  48852. "typeString": "function (bytes memory) pure"
  48853. }
  48854. },
  48855. "id": 10820,
  48856. "isConstant": false,
  48857. "isLValue": false,
  48858. "isPure": false,
  48859. "kind": "functionCall",
  48860. "lValueRequested": false,
  48861. "nameLocations": [],
  48862. "names": [],
  48863. "nodeType": "FunctionCall",
  48864. "src": "30897:90:50",
  48865. "tryCall": false,
  48866. "typeDescriptions": {
  48867. "typeIdentifier": "t_tuple$__$",
  48868. "typeString": "tuple()"
  48869. }
  48870. },
  48871. "id": 10821,
  48872. "nodeType": "ExpressionStatement",
  48873. "src": "30897:90:50"
  48874. }
  48875. ]
  48876. },
  48877. "implemented": true,
  48878. "kind": "function",
  48879. "modifiers": [],
  48880. "name": "log",
  48881. "nameLocation": "30827:3:50",
  48882. "parameters": {
  48883. "id": 10809,
  48884. "nodeType": "ParameterList",
  48885. "parameters": [
  48886. {
  48887. "constant": false,
  48888. "id": 10802,
  48889. "mutability": "mutable",
  48890. "name": "p0",
  48891. "nameLocation": "30839:2:50",
  48892. "nodeType": "VariableDeclaration",
  48893. "scope": 10823,
  48894. "src": "30831:10:50",
  48895. "stateVariable": false,
  48896. "storageLocation": "default",
  48897. "typeDescriptions": {
  48898. "typeIdentifier": "t_uint256",
  48899. "typeString": "uint256"
  48900. },
  48901. "typeName": {
  48902. "id": 10801,
  48903. "name": "uint256",
  48904. "nodeType": "ElementaryTypeName",
  48905. "src": "30831:7:50",
  48906. "typeDescriptions": {
  48907. "typeIdentifier": "t_uint256",
  48908. "typeString": "uint256"
  48909. }
  48910. },
  48911. "visibility": "internal"
  48912. },
  48913. {
  48914. "constant": false,
  48915. "id": 10804,
  48916. "mutability": "mutable",
  48917. "name": "p1",
  48918. "nameLocation": "30851:2:50",
  48919. "nodeType": "VariableDeclaration",
  48920. "scope": 10823,
  48921. "src": "30843:10:50",
  48922. "stateVariable": false,
  48923. "storageLocation": "default",
  48924. "typeDescriptions": {
  48925. "typeIdentifier": "t_address",
  48926. "typeString": "address"
  48927. },
  48928. "typeName": {
  48929. "id": 10803,
  48930. "name": "address",
  48931. "nodeType": "ElementaryTypeName",
  48932. "src": "30843:7:50",
  48933. "stateMutability": "nonpayable",
  48934. "typeDescriptions": {
  48935. "typeIdentifier": "t_address",
  48936. "typeString": "address"
  48937. }
  48938. },
  48939. "visibility": "internal"
  48940. },
  48941. {
  48942. "constant": false,
  48943. "id": 10806,
  48944. "mutability": "mutable",
  48945. "name": "p2",
  48946. "nameLocation": "30860:2:50",
  48947. "nodeType": "VariableDeclaration",
  48948. "scope": 10823,
  48949. "src": "30855:7:50",
  48950. "stateVariable": false,
  48951. "storageLocation": "default",
  48952. "typeDescriptions": {
  48953. "typeIdentifier": "t_bool",
  48954. "typeString": "bool"
  48955. },
  48956. "typeName": {
  48957. "id": 10805,
  48958. "name": "bool",
  48959. "nodeType": "ElementaryTypeName",
  48960. "src": "30855:4:50",
  48961. "typeDescriptions": {
  48962. "typeIdentifier": "t_bool",
  48963. "typeString": "bool"
  48964. }
  48965. },
  48966. "visibility": "internal"
  48967. },
  48968. {
  48969. "constant": false,
  48970. "id": 10808,
  48971. "mutability": "mutable",
  48972. "name": "p3",
  48973. "nameLocation": "30869:2:50",
  48974. "nodeType": "VariableDeclaration",
  48975. "scope": 10823,
  48976. "src": "30864:7:50",
  48977. "stateVariable": false,
  48978. "storageLocation": "default",
  48979. "typeDescriptions": {
  48980. "typeIdentifier": "t_bool",
  48981. "typeString": "bool"
  48982. },
  48983. "typeName": {
  48984. "id": 10807,
  48985. "name": "bool",
  48986. "nodeType": "ElementaryTypeName",
  48987. "src": "30864:4:50",
  48988. "typeDescriptions": {
  48989. "typeIdentifier": "t_bool",
  48990. "typeString": "bool"
  48991. }
  48992. },
  48993. "visibility": "internal"
  48994. }
  48995. ],
  48996. "src": "30830:42:50"
  48997. },
  48998. "returnParameters": {
  48999. "id": 10810,
  49000. "nodeType": "ParameterList",
  49001. "parameters": [],
  49002. "src": "30887:0:50"
  49003. },
  49004. "scope": 15355,
  49005. "stateMutability": "pure",
  49006. "virtual": false,
  49007. "visibility": "internal"
  49008. },
  49009. {
  49010. "id": 10846,
  49011. "nodeType": "FunctionDefinition",
  49012. "src": "31000:182:50",
  49013. "nodes": [],
  49014. "body": {
  49015. "id": 10845,
  49016. "nodeType": "Block",
  49017. "src": "31072:110:50",
  49018. "nodes": [],
  49019. "statements": [
  49020. {
  49021. "expression": {
  49022. "arguments": [
  49023. {
  49024. "arguments": [
  49025. {
  49026. "hexValue": "6c6f672875696e743235362c616464726573732c626f6f6c2c6164647265737329",
  49027. "id": 10837,
  49028. "isConstant": false,
  49029. "isLValue": false,
  49030. "isPure": true,
  49031. "kind": "string",
  49032. "lValueRequested": false,
  49033. "nodeType": "Literal",
  49034. "src": "31122:35:50",
  49035. "typeDescriptions": {
  49036. "typeIdentifier": "t_stringliteral_ef72c5130890d3b81e89bdbf9a039a84547328dd01c955d6bb1088aaf2252d05",
  49037. "typeString": "literal_string \"log(uint256,address,bool,address)\""
  49038. },
  49039. "value": "log(uint256,address,bool,address)"
  49040. },
  49041. {
  49042. "id": 10838,
  49043. "name": "p0",
  49044. "nodeType": "Identifier",
  49045. "overloadedDeclarations": [],
  49046. "referencedDeclaration": 10825,
  49047. "src": "31159:2:50",
  49048. "typeDescriptions": {
  49049. "typeIdentifier": "t_uint256",
  49050. "typeString": "uint256"
  49051. }
  49052. },
  49053. {
  49054. "id": 10839,
  49055. "name": "p1",
  49056. "nodeType": "Identifier",
  49057. "overloadedDeclarations": [],
  49058. "referencedDeclaration": 10827,
  49059. "src": "31163:2:50",
  49060. "typeDescriptions": {
  49061. "typeIdentifier": "t_address",
  49062. "typeString": "address"
  49063. }
  49064. },
  49065. {
  49066. "id": 10840,
  49067. "name": "p2",
  49068. "nodeType": "Identifier",
  49069. "overloadedDeclarations": [],
  49070. "referencedDeclaration": 10829,
  49071. "src": "31167:2:50",
  49072. "typeDescriptions": {
  49073. "typeIdentifier": "t_bool",
  49074. "typeString": "bool"
  49075. }
  49076. },
  49077. {
  49078. "id": 10841,
  49079. "name": "p3",
  49080. "nodeType": "Identifier",
  49081. "overloadedDeclarations": [],
  49082. "referencedDeclaration": 10831,
  49083. "src": "31171:2:50",
  49084. "typeDescriptions": {
  49085. "typeIdentifier": "t_address",
  49086. "typeString": "address"
  49087. }
  49088. }
  49089. ],
  49090. "expression": {
  49091. "argumentTypes": [
  49092. {
  49093. "typeIdentifier": "t_stringliteral_ef72c5130890d3b81e89bdbf9a039a84547328dd01c955d6bb1088aaf2252d05",
  49094. "typeString": "literal_string \"log(uint256,address,bool,address)\""
  49095. },
  49096. {
  49097. "typeIdentifier": "t_uint256",
  49098. "typeString": "uint256"
  49099. },
  49100. {
  49101. "typeIdentifier": "t_address",
  49102. "typeString": "address"
  49103. },
  49104. {
  49105. "typeIdentifier": "t_bool",
  49106. "typeString": "bool"
  49107. },
  49108. {
  49109. "typeIdentifier": "t_address",
  49110. "typeString": "address"
  49111. }
  49112. ],
  49113. "expression": {
  49114. "id": 10835,
  49115. "name": "abi",
  49116. "nodeType": "Identifier",
  49117. "overloadedDeclarations": [],
  49118. "referencedDeclaration": -1,
  49119. "src": "31098:3:50",
  49120. "typeDescriptions": {
  49121. "typeIdentifier": "t_magic_abi",
  49122. "typeString": "abi"
  49123. }
  49124. },
  49125. "id": 10836,
  49126. "isConstant": false,
  49127. "isLValue": false,
  49128. "isPure": true,
  49129. "lValueRequested": false,
  49130. "memberLocation": "31102:19:50",
  49131. "memberName": "encodeWithSignature",
  49132. "nodeType": "MemberAccess",
  49133. "src": "31098:23:50",
  49134. "typeDescriptions": {
  49135. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  49136. "typeString": "function (string memory) pure returns (bytes memory)"
  49137. }
  49138. },
  49139. "id": 10842,
  49140. "isConstant": false,
  49141. "isLValue": false,
  49142. "isPure": false,
  49143. "kind": "functionCall",
  49144. "lValueRequested": false,
  49145. "nameLocations": [],
  49146. "names": [],
  49147. "nodeType": "FunctionCall",
  49148. "src": "31098:76:50",
  49149. "tryCall": false,
  49150. "typeDescriptions": {
  49151. "typeIdentifier": "t_bytes_memory_ptr",
  49152. "typeString": "bytes memory"
  49153. }
  49154. }
  49155. ],
  49156. "expression": {
  49157. "argumentTypes": [
  49158. {
  49159. "typeIdentifier": "t_bytes_memory_ptr",
  49160. "typeString": "bytes memory"
  49161. }
  49162. ],
  49163. "id": 10834,
  49164. "name": "_sendLogPayload",
  49165. "nodeType": "Identifier",
  49166. "overloadedDeclarations": [],
  49167. "referencedDeclaration": 7315,
  49168. "src": "31082:15:50",
  49169. "typeDescriptions": {
  49170. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  49171. "typeString": "function (bytes memory) pure"
  49172. }
  49173. },
  49174. "id": 10843,
  49175. "isConstant": false,
  49176. "isLValue": false,
  49177. "isPure": false,
  49178. "kind": "functionCall",
  49179. "lValueRequested": false,
  49180. "nameLocations": [],
  49181. "names": [],
  49182. "nodeType": "FunctionCall",
  49183. "src": "31082:93:50",
  49184. "tryCall": false,
  49185. "typeDescriptions": {
  49186. "typeIdentifier": "t_tuple$__$",
  49187. "typeString": "tuple()"
  49188. }
  49189. },
  49190. "id": 10844,
  49191. "nodeType": "ExpressionStatement",
  49192. "src": "31082:93:50"
  49193. }
  49194. ]
  49195. },
  49196. "implemented": true,
  49197. "kind": "function",
  49198. "modifiers": [],
  49199. "name": "log",
  49200. "nameLocation": "31009:3:50",
  49201. "parameters": {
  49202. "id": 10832,
  49203. "nodeType": "ParameterList",
  49204. "parameters": [
  49205. {
  49206. "constant": false,
  49207. "id": 10825,
  49208. "mutability": "mutable",
  49209. "name": "p0",
  49210. "nameLocation": "31021:2:50",
  49211. "nodeType": "VariableDeclaration",
  49212. "scope": 10846,
  49213. "src": "31013:10:50",
  49214. "stateVariable": false,
  49215. "storageLocation": "default",
  49216. "typeDescriptions": {
  49217. "typeIdentifier": "t_uint256",
  49218. "typeString": "uint256"
  49219. },
  49220. "typeName": {
  49221. "id": 10824,
  49222. "name": "uint256",
  49223. "nodeType": "ElementaryTypeName",
  49224. "src": "31013:7:50",
  49225. "typeDescriptions": {
  49226. "typeIdentifier": "t_uint256",
  49227. "typeString": "uint256"
  49228. }
  49229. },
  49230. "visibility": "internal"
  49231. },
  49232. {
  49233. "constant": false,
  49234. "id": 10827,
  49235. "mutability": "mutable",
  49236. "name": "p1",
  49237. "nameLocation": "31033:2:50",
  49238. "nodeType": "VariableDeclaration",
  49239. "scope": 10846,
  49240. "src": "31025:10:50",
  49241. "stateVariable": false,
  49242. "storageLocation": "default",
  49243. "typeDescriptions": {
  49244. "typeIdentifier": "t_address",
  49245. "typeString": "address"
  49246. },
  49247. "typeName": {
  49248. "id": 10826,
  49249. "name": "address",
  49250. "nodeType": "ElementaryTypeName",
  49251. "src": "31025:7:50",
  49252. "stateMutability": "nonpayable",
  49253. "typeDescriptions": {
  49254. "typeIdentifier": "t_address",
  49255. "typeString": "address"
  49256. }
  49257. },
  49258. "visibility": "internal"
  49259. },
  49260. {
  49261. "constant": false,
  49262. "id": 10829,
  49263. "mutability": "mutable",
  49264. "name": "p2",
  49265. "nameLocation": "31042:2:50",
  49266. "nodeType": "VariableDeclaration",
  49267. "scope": 10846,
  49268. "src": "31037:7:50",
  49269. "stateVariable": false,
  49270. "storageLocation": "default",
  49271. "typeDescriptions": {
  49272. "typeIdentifier": "t_bool",
  49273. "typeString": "bool"
  49274. },
  49275. "typeName": {
  49276. "id": 10828,
  49277. "name": "bool",
  49278. "nodeType": "ElementaryTypeName",
  49279. "src": "31037:4:50",
  49280. "typeDescriptions": {
  49281. "typeIdentifier": "t_bool",
  49282. "typeString": "bool"
  49283. }
  49284. },
  49285. "visibility": "internal"
  49286. },
  49287. {
  49288. "constant": false,
  49289. "id": 10831,
  49290. "mutability": "mutable",
  49291. "name": "p3",
  49292. "nameLocation": "31054:2:50",
  49293. "nodeType": "VariableDeclaration",
  49294. "scope": 10846,
  49295. "src": "31046:10:50",
  49296. "stateVariable": false,
  49297. "storageLocation": "default",
  49298. "typeDescriptions": {
  49299. "typeIdentifier": "t_address",
  49300. "typeString": "address"
  49301. },
  49302. "typeName": {
  49303. "id": 10830,
  49304. "name": "address",
  49305. "nodeType": "ElementaryTypeName",
  49306. "src": "31046:7:50",
  49307. "stateMutability": "nonpayable",
  49308. "typeDescriptions": {
  49309. "typeIdentifier": "t_address",
  49310. "typeString": "address"
  49311. }
  49312. },
  49313. "visibility": "internal"
  49314. }
  49315. ],
  49316. "src": "31012:45:50"
  49317. },
  49318. "returnParameters": {
  49319. "id": 10833,
  49320. "nodeType": "ParameterList",
  49321. "parameters": [],
  49322. "src": "31072:0:50"
  49323. },
  49324. "scope": 15355,
  49325. "stateMutability": "pure",
  49326. "virtual": false,
  49327. "visibility": "internal"
  49328. },
  49329. {
  49330. "id": 10869,
  49331. "nodeType": "FunctionDefinition",
  49332. "src": "31188:188:50",
  49333. "nodes": [],
  49334. "body": {
  49335. "id": 10868,
  49336. "nodeType": "Block",
  49337. "src": "31263:113:50",
  49338. "nodes": [],
  49339. "statements": [
  49340. {
  49341. "expression": {
  49342. "arguments": [
  49343. {
  49344. "arguments": [
  49345. {
  49346. "hexValue": "6c6f672875696e743235362c616464726573732c616464726573732c75696e7432353629",
  49347. "id": 10860,
  49348. "isConstant": false,
  49349. "isLValue": false,
  49350. "isPure": true,
  49351. "kind": "string",
  49352. "lValueRequested": false,
  49353. "nodeType": "Literal",
  49354. "src": "31313:38:50",
  49355. "typeDescriptions": {
  49356. "typeIdentifier": "t_stringliteral_736efbb692cd4ba0c879f89673f1c5a7eb58e7bd2b833c4d30d41d3aa9c7a23a",
  49357. "typeString": "literal_string \"log(uint256,address,address,uint256)\""
  49358. },
  49359. "value": "log(uint256,address,address,uint256)"
  49360. },
  49361. {
  49362. "id": 10861,
  49363. "name": "p0",
  49364. "nodeType": "Identifier",
  49365. "overloadedDeclarations": [],
  49366. "referencedDeclaration": 10848,
  49367. "src": "31353:2:50",
  49368. "typeDescriptions": {
  49369. "typeIdentifier": "t_uint256",
  49370. "typeString": "uint256"
  49371. }
  49372. },
  49373. {
  49374. "id": 10862,
  49375. "name": "p1",
  49376. "nodeType": "Identifier",
  49377. "overloadedDeclarations": [],
  49378. "referencedDeclaration": 10850,
  49379. "src": "31357:2:50",
  49380. "typeDescriptions": {
  49381. "typeIdentifier": "t_address",
  49382. "typeString": "address"
  49383. }
  49384. },
  49385. {
  49386. "id": 10863,
  49387. "name": "p2",
  49388. "nodeType": "Identifier",
  49389. "overloadedDeclarations": [],
  49390. "referencedDeclaration": 10852,
  49391. "src": "31361:2:50",
  49392. "typeDescriptions": {
  49393. "typeIdentifier": "t_address",
  49394. "typeString": "address"
  49395. }
  49396. },
  49397. {
  49398. "id": 10864,
  49399. "name": "p3",
  49400. "nodeType": "Identifier",
  49401. "overloadedDeclarations": [],
  49402. "referencedDeclaration": 10854,
  49403. "src": "31365:2:50",
  49404. "typeDescriptions": {
  49405. "typeIdentifier": "t_uint256",
  49406. "typeString": "uint256"
  49407. }
  49408. }
  49409. ],
  49410. "expression": {
  49411. "argumentTypes": [
  49412. {
  49413. "typeIdentifier": "t_stringliteral_736efbb692cd4ba0c879f89673f1c5a7eb58e7bd2b833c4d30d41d3aa9c7a23a",
  49414. "typeString": "literal_string \"log(uint256,address,address,uint256)\""
  49415. },
  49416. {
  49417. "typeIdentifier": "t_uint256",
  49418. "typeString": "uint256"
  49419. },
  49420. {
  49421. "typeIdentifier": "t_address",
  49422. "typeString": "address"
  49423. },
  49424. {
  49425. "typeIdentifier": "t_address",
  49426. "typeString": "address"
  49427. },
  49428. {
  49429. "typeIdentifier": "t_uint256",
  49430. "typeString": "uint256"
  49431. }
  49432. ],
  49433. "expression": {
  49434. "id": 10858,
  49435. "name": "abi",
  49436. "nodeType": "Identifier",
  49437. "overloadedDeclarations": [],
  49438. "referencedDeclaration": -1,
  49439. "src": "31289:3:50",
  49440. "typeDescriptions": {
  49441. "typeIdentifier": "t_magic_abi",
  49442. "typeString": "abi"
  49443. }
  49444. },
  49445. "id": 10859,
  49446. "isConstant": false,
  49447. "isLValue": false,
  49448. "isPure": true,
  49449. "lValueRequested": false,
  49450. "memberLocation": "31293:19:50",
  49451. "memberName": "encodeWithSignature",
  49452. "nodeType": "MemberAccess",
  49453. "src": "31289:23:50",
  49454. "typeDescriptions": {
  49455. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  49456. "typeString": "function (string memory) pure returns (bytes memory)"
  49457. }
  49458. },
  49459. "id": 10865,
  49460. "isConstant": false,
  49461. "isLValue": false,
  49462. "isPure": false,
  49463. "kind": "functionCall",
  49464. "lValueRequested": false,
  49465. "nameLocations": [],
  49466. "names": [],
  49467. "nodeType": "FunctionCall",
  49468. "src": "31289:79:50",
  49469. "tryCall": false,
  49470. "typeDescriptions": {
  49471. "typeIdentifier": "t_bytes_memory_ptr",
  49472. "typeString": "bytes memory"
  49473. }
  49474. }
  49475. ],
  49476. "expression": {
  49477. "argumentTypes": [
  49478. {
  49479. "typeIdentifier": "t_bytes_memory_ptr",
  49480. "typeString": "bytes memory"
  49481. }
  49482. ],
  49483. "id": 10857,
  49484. "name": "_sendLogPayload",
  49485. "nodeType": "Identifier",
  49486. "overloadedDeclarations": [],
  49487. "referencedDeclaration": 7315,
  49488. "src": "31273:15:50",
  49489. "typeDescriptions": {
  49490. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  49491. "typeString": "function (bytes memory) pure"
  49492. }
  49493. },
  49494. "id": 10866,
  49495. "isConstant": false,
  49496. "isLValue": false,
  49497. "isPure": false,
  49498. "kind": "functionCall",
  49499. "lValueRequested": false,
  49500. "nameLocations": [],
  49501. "names": [],
  49502. "nodeType": "FunctionCall",
  49503. "src": "31273:96:50",
  49504. "tryCall": false,
  49505. "typeDescriptions": {
  49506. "typeIdentifier": "t_tuple$__$",
  49507. "typeString": "tuple()"
  49508. }
  49509. },
  49510. "id": 10867,
  49511. "nodeType": "ExpressionStatement",
  49512. "src": "31273:96:50"
  49513. }
  49514. ]
  49515. },
  49516. "implemented": true,
  49517. "kind": "function",
  49518. "modifiers": [],
  49519. "name": "log",
  49520. "nameLocation": "31197:3:50",
  49521. "parameters": {
  49522. "id": 10855,
  49523. "nodeType": "ParameterList",
  49524. "parameters": [
  49525. {
  49526. "constant": false,
  49527. "id": 10848,
  49528. "mutability": "mutable",
  49529. "name": "p0",
  49530. "nameLocation": "31209:2:50",
  49531. "nodeType": "VariableDeclaration",
  49532. "scope": 10869,
  49533. "src": "31201:10:50",
  49534. "stateVariable": false,
  49535. "storageLocation": "default",
  49536. "typeDescriptions": {
  49537. "typeIdentifier": "t_uint256",
  49538. "typeString": "uint256"
  49539. },
  49540. "typeName": {
  49541. "id": 10847,
  49542. "name": "uint256",
  49543. "nodeType": "ElementaryTypeName",
  49544. "src": "31201:7:50",
  49545. "typeDescriptions": {
  49546. "typeIdentifier": "t_uint256",
  49547. "typeString": "uint256"
  49548. }
  49549. },
  49550. "visibility": "internal"
  49551. },
  49552. {
  49553. "constant": false,
  49554. "id": 10850,
  49555. "mutability": "mutable",
  49556. "name": "p1",
  49557. "nameLocation": "31221:2:50",
  49558. "nodeType": "VariableDeclaration",
  49559. "scope": 10869,
  49560. "src": "31213:10:50",
  49561. "stateVariable": false,
  49562. "storageLocation": "default",
  49563. "typeDescriptions": {
  49564. "typeIdentifier": "t_address",
  49565. "typeString": "address"
  49566. },
  49567. "typeName": {
  49568. "id": 10849,
  49569. "name": "address",
  49570. "nodeType": "ElementaryTypeName",
  49571. "src": "31213:7:50",
  49572. "stateMutability": "nonpayable",
  49573. "typeDescriptions": {
  49574. "typeIdentifier": "t_address",
  49575. "typeString": "address"
  49576. }
  49577. },
  49578. "visibility": "internal"
  49579. },
  49580. {
  49581. "constant": false,
  49582. "id": 10852,
  49583. "mutability": "mutable",
  49584. "name": "p2",
  49585. "nameLocation": "31233:2:50",
  49586. "nodeType": "VariableDeclaration",
  49587. "scope": 10869,
  49588. "src": "31225:10:50",
  49589. "stateVariable": false,
  49590. "storageLocation": "default",
  49591. "typeDescriptions": {
  49592. "typeIdentifier": "t_address",
  49593. "typeString": "address"
  49594. },
  49595. "typeName": {
  49596. "id": 10851,
  49597. "name": "address",
  49598. "nodeType": "ElementaryTypeName",
  49599. "src": "31225:7:50",
  49600. "stateMutability": "nonpayable",
  49601. "typeDescriptions": {
  49602. "typeIdentifier": "t_address",
  49603. "typeString": "address"
  49604. }
  49605. },
  49606. "visibility": "internal"
  49607. },
  49608. {
  49609. "constant": false,
  49610. "id": 10854,
  49611. "mutability": "mutable",
  49612. "name": "p3",
  49613. "nameLocation": "31245:2:50",
  49614. "nodeType": "VariableDeclaration",
  49615. "scope": 10869,
  49616. "src": "31237:10:50",
  49617. "stateVariable": false,
  49618. "storageLocation": "default",
  49619. "typeDescriptions": {
  49620. "typeIdentifier": "t_uint256",
  49621. "typeString": "uint256"
  49622. },
  49623. "typeName": {
  49624. "id": 10853,
  49625. "name": "uint256",
  49626. "nodeType": "ElementaryTypeName",
  49627. "src": "31237:7:50",
  49628. "typeDescriptions": {
  49629. "typeIdentifier": "t_uint256",
  49630. "typeString": "uint256"
  49631. }
  49632. },
  49633. "visibility": "internal"
  49634. }
  49635. ],
  49636. "src": "31200:48:50"
  49637. },
  49638. "returnParameters": {
  49639. "id": 10856,
  49640. "nodeType": "ParameterList",
  49641. "parameters": [],
  49642. "src": "31263:0:50"
  49643. },
  49644. "scope": 15355,
  49645. "stateMutability": "pure",
  49646. "virtual": false,
  49647. "visibility": "internal"
  49648. },
  49649. {
  49650. "id": 10892,
  49651. "nodeType": "FunctionDefinition",
  49652. "src": "31382:193:50",
  49653. "nodes": [],
  49654. "body": {
  49655. "id": 10891,
  49656. "nodeType": "Block",
  49657. "src": "31463:112:50",
  49658. "nodes": [],
  49659. "statements": [
  49660. {
  49661. "expression": {
  49662. "arguments": [
  49663. {
  49664. "arguments": [
  49665. {
  49666. "hexValue": "6c6f672875696e743235362c616464726573732c616464726573732c737472696e6729",
  49667. "id": 10883,
  49668. "isConstant": false,
  49669. "isLValue": false,
  49670. "isPure": true,
  49671. "kind": "string",
  49672. "lValueRequested": false,
  49673. "nodeType": "Literal",
  49674. "src": "31513:37:50",
  49675. "typeDescriptions": {
  49676. "typeIdentifier": "t_stringliteral_031c6f73458c2a0d841ad5d5914dceb24973d9df898a3826eec79330397cd882",
  49677. "typeString": "literal_string \"log(uint256,address,address,string)\""
  49678. },
  49679. "value": "log(uint256,address,address,string)"
  49680. },
  49681. {
  49682. "id": 10884,
  49683. "name": "p0",
  49684. "nodeType": "Identifier",
  49685. "overloadedDeclarations": [],
  49686. "referencedDeclaration": 10871,
  49687. "src": "31552:2:50",
  49688. "typeDescriptions": {
  49689. "typeIdentifier": "t_uint256",
  49690. "typeString": "uint256"
  49691. }
  49692. },
  49693. {
  49694. "id": 10885,
  49695. "name": "p1",
  49696. "nodeType": "Identifier",
  49697. "overloadedDeclarations": [],
  49698. "referencedDeclaration": 10873,
  49699. "src": "31556:2:50",
  49700. "typeDescriptions": {
  49701. "typeIdentifier": "t_address",
  49702. "typeString": "address"
  49703. }
  49704. },
  49705. {
  49706. "id": 10886,
  49707. "name": "p2",
  49708. "nodeType": "Identifier",
  49709. "overloadedDeclarations": [],
  49710. "referencedDeclaration": 10875,
  49711. "src": "31560:2:50",
  49712. "typeDescriptions": {
  49713. "typeIdentifier": "t_address",
  49714. "typeString": "address"
  49715. }
  49716. },
  49717. {
  49718. "id": 10887,
  49719. "name": "p3",
  49720. "nodeType": "Identifier",
  49721. "overloadedDeclarations": [],
  49722. "referencedDeclaration": 10877,
  49723. "src": "31564:2:50",
  49724. "typeDescriptions": {
  49725. "typeIdentifier": "t_string_memory_ptr",
  49726. "typeString": "string memory"
  49727. }
  49728. }
  49729. ],
  49730. "expression": {
  49731. "argumentTypes": [
  49732. {
  49733. "typeIdentifier": "t_stringliteral_031c6f73458c2a0d841ad5d5914dceb24973d9df898a3826eec79330397cd882",
  49734. "typeString": "literal_string \"log(uint256,address,address,string)\""
  49735. },
  49736. {
  49737. "typeIdentifier": "t_uint256",
  49738. "typeString": "uint256"
  49739. },
  49740. {
  49741. "typeIdentifier": "t_address",
  49742. "typeString": "address"
  49743. },
  49744. {
  49745. "typeIdentifier": "t_address",
  49746. "typeString": "address"
  49747. },
  49748. {
  49749. "typeIdentifier": "t_string_memory_ptr",
  49750. "typeString": "string memory"
  49751. }
  49752. ],
  49753. "expression": {
  49754. "id": 10881,
  49755. "name": "abi",
  49756. "nodeType": "Identifier",
  49757. "overloadedDeclarations": [],
  49758. "referencedDeclaration": -1,
  49759. "src": "31489:3:50",
  49760. "typeDescriptions": {
  49761. "typeIdentifier": "t_magic_abi",
  49762. "typeString": "abi"
  49763. }
  49764. },
  49765. "id": 10882,
  49766. "isConstant": false,
  49767. "isLValue": false,
  49768. "isPure": true,
  49769. "lValueRequested": false,
  49770. "memberLocation": "31493:19:50",
  49771. "memberName": "encodeWithSignature",
  49772. "nodeType": "MemberAccess",
  49773. "src": "31489:23:50",
  49774. "typeDescriptions": {
  49775. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  49776. "typeString": "function (string memory) pure returns (bytes memory)"
  49777. }
  49778. },
  49779. "id": 10888,
  49780. "isConstant": false,
  49781. "isLValue": false,
  49782. "isPure": false,
  49783. "kind": "functionCall",
  49784. "lValueRequested": false,
  49785. "nameLocations": [],
  49786. "names": [],
  49787. "nodeType": "FunctionCall",
  49788. "src": "31489:78:50",
  49789. "tryCall": false,
  49790. "typeDescriptions": {
  49791. "typeIdentifier": "t_bytes_memory_ptr",
  49792. "typeString": "bytes memory"
  49793. }
  49794. }
  49795. ],
  49796. "expression": {
  49797. "argumentTypes": [
  49798. {
  49799. "typeIdentifier": "t_bytes_memory_ptr",
  49800. "typeString": "bytes memory"
  49801. }
  49802. ],
  49803. "id": 10880,
  49804. "name": "_sendLogPayload",
  49805. "nodeType": "Identifier",
  49806. "overloadedDeclarations": [],
  49807. "referencedDeclaration": 7315,
  49808. "src": "31473:15:50",
  49809. "typeDescriptions": {
  49810. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  49811. "typeString": "function (bytes memory) pure"
  49812. }
  49813. },
  49814. "id": 10889,
  49815. "isConstant": false,
  49816. "isLValue": false,
  49817. "isPure": false,
  49818. "kind": "functionCall",
  49819. "lValueRequested": false,
  49820. "nameLocations": [],
  49821. "names": [],
  49822. "nodeType": "FunctionCall",
  49823. "src": "31473:95:50",
  49824. "tryCall": false,
  49825. "typeDescriptions": {
  49826. "typeIdentifier": "t_tuple$__$",
  49827. "typeString": "tuple()"
  49828. }
  49829. },
  49830. "id": 10890,
  49831. "nodeType": "ExpressionStatement",
  49832. "src": "31473:95:50"
  49833. }
  49834. ]
  49835. },
  49836. "implemented": true,
  49837. "kind": "function",
  49838. "modifiers": [],
  49839. "name": "log",
  49840. "nameLocation": "31391:3:50",
  49841. "parameters": {
  49842. "id": 10878,
  49843. "nodeType": "ParameterList",
  49844. "parameters": [
  49845. {
  49846. "constant": false,
  49847. "id": 10871,
  49848. "mutability": "mutable",
  49849. "name": "p0",
  49850. "nameLocation": "31403:2:50",
  49851. "nodeType": "VariableDeclaration",
  49852. "scope": 10892,
  49853. "src": "31395:10:50",
  49854. "stateVariable": false,
  49855. "storageLocation": "default",
  49856. "typeDescriptions": {
  49857. "typeIdentifier": "t_uint256",
  49858. "typeString": "uint256"
  49859. },
  49860. "typeName": {
  49861. "id": 10870,
  49862. "name": "uint256",
  49863. "nodeType": "ElementaryTypeName",
  49864. "src": "31395:7:50",
  49865. "typeDescriptions": {
  49866. "typeIdentifier": "t_uint256",
  49867. "typeString": "uint256"
  49868. }
  49869. },
  49870. "visibility": "internal"
  49871. },
  49872. {
  49873. "constant": false,
  49874. "id": 10873,
  49875. "mutability": "mutable",
  49876. "name": "p1",
  49877. "nameLocation": "31415:2:50",
  49878. "nodeType": "VariableDeclaration",
  49879. "scope": 10892,
  49880. "src": "31407:10:50",
  49881. "stateVariable": false,
  49882. "storageLocation": "default",
  49883. "typeDescriptions": {
  49884. "typeIdentifier": "t_address",
  49885. "typeString": "address"
  49886. },
  49887. "typeName": {
  49888. "id": 10872,
  49889. "name": "address",
  49890. "nodeType": "ElementaryTypeName",
  49891. "src": "31407:7:50",
  49892. "stateMutability": "nonpayable",
  49893. "typeDescriptions": {
  49894. "typeIdentifier": "t_address",
  49895. "typeString": "address"
  49896. }
  49897. },
  49898. "visibility": "internal"
  49899. },
  49900. {
  49901. "constant": false,
  49902. "id": 10875,
  49903. "mutability": "mutable",
  49904. "name": "p2",
  49905. "nameLocation": "31427:2:50",
  49906. "nodeType": "VariableDeclaration",
  49907. "scope": 10892,
  49908. "src": "31419:10:50",
  49909. "stateVariable": false,
  49910. "storageLocation": "default",
  49911. "typeDescriptions": {
  49912. "typeIdentifier": "t_address",
  49913. "typeString": "address"
  49914. },
  49915. "typeName": {
  49916. "id": 10874,
  49917. "name": "address",
  49918. "nodeType": "ElementaryTypeName",
  49919. "src": "31419:7:50",
  49920. "stateMutability": "nonpayable",
  49921. "typeDescriptions": {
  49922. "typeIdentifier": "t_address",
  49923. "typeString": "address"
  49924. }
  49925. },
  49926. "visibility": "internal"
  49927. },
  49928. {
  49929. "constant": false,
  49930. "id": 10877,
  49931. "mutability": "mutable",
  49932. "name": "p3",
  49933. "nameLocation": "31445:2:50",
  49934. "nodeType": "VariableDeclaration",
  49935. "scope": 10892,
  49936. "src": "31431:16:50",
  49937. "stateVariable": false,
  49938. "storageLocation": "memory",
  49939. "typeDescriptions": {
  49940. "typeIdentifier": "t_string_memory_ptr",
  49941. "typeString": "string"
  49942. },
  49943. "typeName": {
  49944. "id": 10876,
  49945. "name": "string",
  49946. "nodeType": "ElementaryTypeName",
  49947. "src": "31431:6:50",
  49948. "typeDescriptions": {
  49949. "typeIdentifier": "t_string_storage_ptr",
  49950. "typeString": "string"
  49951. }
  49952. },
  49953. "visibility": "internal"
  49954. }
  49955. ],
  49956. "src": "31394:54:50"
  49957. },
  49958. "returnParameters": {
  49959. "id": 10879,
  49960. "nodeType": "ParameterList",
  49961. "parameters": [],
  49962. "src": "31463:0:50"
  49963. },
  49964. "scope": 15355,
  49965. "stateMutability": "pure",
  49966. "virtual": false,
  49967. "visibility": "internal"
  49968. },
  49969. {
  49970. "id": 10915,
  49971. "nodeType": "FunctionDefinition",
  49972. "src": "31581:182:50",
  49973. "nodes": [],
  49974. "body": {
  49975. "id": 10914,
  49976. "nodeType": "Block",
  49977. "src": "31653:110:50",
  49978. "nodes": [],
  49979. "statements": [
  49980. {
  49981. "expression": {
  49982. "arguments": [
  49983. {
  49984. "arguments": [
  49985. {
  49986. "hexValue": "6c6f672875696e743235362c616464726573732c616464726573732c626f6f6c29",
  49987. "id": 10906,
  49988. "isConstant": false,
  49989. "isLValue": false,
  49990. "isPure": true,
  49991. "kind": "string",
  49992. "lValueRequested": false,
  49993. "nodeType": "Literal",
  49994. "src": "31703:35:50",
  49995. "typeDescriptions": {
  49996. "typeIdentifier": "t_stringliteral_091ffaf5e3365a794bfeb97b8157886a9ba00c981ee88d8a8fdb0cc96a5e6c1d",
  49997. "typeString": "literal_string \"log(uint256,address,address,bool)\""
  49998. },
  49999. "value": "log(uint256,address,address,bool)"
  50000. },
  50001. {
  50002. "id": 10907,
  50003. "name": "p0",
  50004. "nodeType": "Identifier",
  50005. "overloadedDeclarations": [],
  50006. "referencedDeclaration": 10894,
  50007. "src": "31740:2:50",
  50008. "typeDescriptions": {
  50009. "typeIdentifier": "t_uint256",
  50010. "typeString": "uint256"
  50011. }
  50012. },
  50013. {
  50014. "id": 10908,
  50015. "name": "p1",
  50016. "nodeType": "Identifier",
  50017. "overloadedDeclarations": [],
  50018. "referencedDeclaration": 10896,
  50019. "src": "31744:2:50",
  50020. "typeDescriptions": {
  50021. "typeIdentifier": "t_address",
  50022. "typeString": "address"
  50023. }
  50024. },
  50025. {
  50026. "id": 10909,
  50027. "name": "p2",
  50028. "nodeType": "Identifier",
  50029. "overloadedDeclarations": [],
  50030. "referencedDeclaration": 10898,
  50031. "src": "31748:2:50",
  50032. "typeDescriptions": {
  50033. "typeIdentifier": "t_address",
  50034. "typeString": "address"
  50035. }
  50036. },
  50037. {
  50038. "id": 10910,
  50039. "name": "p3",
  50040. "nodeType": "Identifier",
  50041. "overloadedDeclarations": [],
  50042. "referencedDeclaration": 10900,
  50043. "src": "31752:2:50",
  50044. "typeDescriptions": {
  50045. "typeIdentifier": "t_bool",
  50046. "typeString": "bool"
  50047. }
  50048. }
  50049. ],
  50050. "expression": {
  50051. "argumentTypes": [
  50052. {
  50053. "typeIdentifier": "t_stringliteral_091ffaf5e3365a794bfeb97b8157886a9ba00c981ee88d8a8fdb0cc96a5e6c1d",
  50054. "typeString": "literal_string \"log(uint256,address,address,bool)\""
  50055. },
  50056. {
  50057. "typeIdentifier": "t_uint256",
  50058. "typeString": "uint256"
  50059. },
  50060. {
  50061. "typeIdentifier": "t_address",
  50062. "typeString": "address"
  50063. },
  50064. {
  50065. "typeIdentifier": "t_address",
  50066. "typeString": "address"
  50067. },
  50068. {
  50069. "typeIdentifier": "t_bool",
  50070. "typeString": "bool"
  50071. }
  50072. ],
  50073. "expression": {
  50074. "id": 10904,
  50075. "name": "abi",
  50076. "nodeType": "Identifier",
  50077. "overloadedDeclarations": [],
  50078. "referencedDeclaration": -1,
  50079. "src": "31679:3:50",
  50080. "typeDescriptions": {
  50081. "typeIdentifier": "t_magic_abi",
  50082. "typeString": "abi"
  50083. }
  50084. },
  50085. "id": 10905,
  50086. "isConstant": false,
  50087. "isLValue": false,
  50088. "isPure": true,
  50089. "lValueRequested": false,
  50090. "memberLocation": "31683:19:50",
  50091. "memberName": "encodeWithSignature",
  50092. "nodeType": "MemberAccess",
  50093. "src": "31679:23:50",
  50094. "typeDescriptions": {
  50095. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  50096. "typeString": "function (string memory) pure returns (bytes memory)"
  50097. }
  50098. },
  50099. "id": 10911,
  50100. "isConstant": false,
  50101. "isLValue": false,
  50102. "isPure": false,
  50103. "kind": "functionCall",
  50104. "lValueRequested": false,
  50105. "nameLocations": [],
  50106. "names": [],
  50107. "nodeType": "FunctionCall",
  50108. "src": "31679:76:50",
  50109. "tryCall": false,
  50110. "typeDescriptions": {
  50111. "typeIdentifier": "t_bytes_memory_ptr",
  50112. "typeString": "bytes memory"
  50113. }
  50114. }
  50115. ],
  50116. "expression": {
  50117. "argumentTypes": [
  50118. {
  50119. "typeIdentifier": "t_bytes_memory_ptr",
  50120. "typeString": "bytes memory"
  50121. }
  50122. ],
  50123. "id": 10903,
  50124. "name": "_sendLogPayload",
  50125. "nodeType": "Identifier",
  50126. "overloadedDeclarations": [],
  50127. "referencedDeclaration": 7315,
  50128. "src": "31663:15:50",
  50129. "typeDescriptions": {
  50130. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  50131. "typeString": "function (bytes memory) pure"
  50132. }
  50133. },
  50134. "id": 10912,
  50135. "isConstant": false,
  50136. "isLValue": false,
  50137. "isPure": false,
  50138. "kind": "functionCall",
  50139. "lValueRequested": false,
  50140. "nameLocations": [],
  50141. "names": [],
  50142. "nodeType": "FunctionCall",
  50143. "src": "31663:93:50",
  50144. "tryCall": false,
  50145. "typeDescriptions": {
  50146. "typeIdentifier": "t_tuple$__$",
  50147. "typeString": "tuple()"
  50148. }
  50149. },
  50150. "id": 10913,
  50151. "nodeType": "ExpressionStatement",
  50152. "src": "31663:93:50"
  50153. }
  50154. ]
  50155. },
  50156. "implemented": true,
  50157. "kind": "function",
  50158. "modifiers": [],
  50159. "name": "log",
  50160. "nameLocation": "31590:3:50",
  50161. "parameters": {
  50162. "id": 10901,
  50163. "nodeType": "ParameterList",
  50164. "parameters": [
  50165. {
  50166. "constant": false,
  50167. "id": 10894,
  50168. "mutability": "mutable",
  50169. "name": "p0",
  50170. "nameLocation": "31602:2:50",
  50171. "nodeType": "VariableDeclaration",
  50172. "scope": 10915,
  50173. "src": "31594:10:50",
  50174. "stateVariable": false,
  50175. "storageLocation": "default",
  50176. "typeDescriptions": {
  50177. "typeIdentifier": "t_uint256",
  50178. "typeString": "uint256"
  50179. },
  50180. "typeName": {
  50181. "id": 10893,
  50182. "name": "uint256",
  50183. "nodeType": "ElementaryTypeName",
  50184. "src": "31594:7:50",
  50185. "typeDescriptions": {
  50186. "typeIdentifier": "t_uint256",
  50187. "typeString": "uint256"
  50188. }
  50189. },
  50190. "visibility": "internal"
  50191. },
  50192. {
  50193. "constant": false,
  50194. "id": 10896,
  50195. "mutability": "mutable",
  50196. "name": "p1",
  50197. "nameLocation": "31614:2:50",
  50198. "nodeType": "VariableDeclaration",
  50199. "scope": 10915,
  50200. "src": "31606:10:50",
  50201. "stateVariable": false,
  50202. "storageLocation": "default",
  50203. "typeDescriptions": {
  50204. "typeIdentifier": "t_address",
  50205. "typeString": "address"
  50206. },
  50207. "typeName": {
  50208. "id": 10895,
  50209. "name": "address",
  50210. "nodeType": "ElementaryTypeName",
  50211. "src": "31606:7:50",
  50212. "stateMutability": "nonpayable",
  50213. "typeDescriptions": {
  50214. "typeIdentifier": "t_address",
  50215. "typeString": "address"
  50216. }
  50217. },
  50218. "visibility": "internal"
  50219. },
  50220. {
  50221. "constant": false,
  50222. "id": 10898,
  50223. "mutability": "mutable",
  50224. "name": "p2",
  50225. "nameLocation": "31626:2:50",
  50226. "nodeType": "VariableDeclaration",
  50227. "scope": 10915,
  50228. "src": "31618:10:50",
  50229. "stateVariable": false,
  50230. "storageLocation": "default",
  50231. "typeDescriptions": {
  50232. "typeIdentifier": "t_address",
  50233. "typeString": "address"
  50234. },
  50235. "typeName": {
  50236. "id": 10897,
  50237. "name": "address",
  50238. "nodeType": "ElementaryTypeName",
  50239. "src": "31618:7:50",
  50240. "stateMutability": "nonpayable",
  50241. "typeDescriptions": {
  50242. "typeIdentifier": "t_address",
  50243. "typeString": "address"
  50244. }
  50245. },
  50246. "visibility": "internal"
  50247. },
  50248. {
  50249. "constant": false,
  50250. "id": 10900,
  50251. "mutability": "mutable",
  50252. "name": "p3",
  50253. "nameLocation": "31635:2:50",
  50254. "nodeType": "VariableDeclaration",
  50255. "scope": 10915,
  50256. "src": "31630:7:50",
  50257. "stateVariable": false,
  50258. "storageLocation": "default",
  50259. "typeDescriptions": {
  50260. "typeIdentifier": "t_bool",
  50261. "typeString": "bool"
  50262. },
  50263. "typeName": {
  50264. "id": 10899,
  50265. "name": "bool",
  50266. "nodeType": "ElementaryTypeName",
  50267. "src": "31630:4:50",
  50268. "typeDescriptions": {
  50269. "typeIdentifier": "t_bool",
  50270. "typeString": "bool"
  50271. }
  50272. },
  50273. "visibility": "internal"
  50274. }
  50275. ],
  50276. "src": "31593:45:50"
  50277. },
  50278. "returnParameters": {
  50279. "id": 10902,
  50280. "nodeType": "ParameterList",
  50281. "parameters": [],
  50282. "src": "31653:0:50"
  50283. },
  50284. "scope": 15355,
  50285. "stateMutability": "pure",
  50286. "virtual": false,
  50287. "visibility": "internal"
  50288. },
  50289. {
  50290. "id": 10938,
  50291. "nodeType": "FunctionDefinition",
  50292. "src": "31769:188:50",
  50293. "nodes": [],
  50294. "body": {
  50295. "id": 10937,
  50296. "nodeType": "Block",
  50297. "src": "31844:113:50",
  50298. "nodes": [],
  50299. "statements": [
  50300. {
  50301. "expression": {
  50302. "arguments": [
  50303. {
  50304. "arguments": [
  50305. {
  50306. "hexValue": "6c6f672875696e743235362c616464726573732c616464726573732c6164647265737329",
  50307. "id": 10929,
  50308. "isConstant": false,
  50309. "isLValue": false,
  50310. "isPure": true,
  50311. "kind": "string",
  50312. "lValueRequested": false,
  50313. "nodeType": "Literal",
  50314. "src": "31894:38:50",
  50315. "typeDescriptions": {
  50316. "typeIdentifier": "t_stringliteral_2488b414330cbd4ddab2b849dacd8bed50b19b82318ec6e4a5ccdf72ee519553",
  50317. "typeString": "literal_string \"log(uint256,address,address,address)\""
  50318. },
  50319. "value": "log(uint256,address,address,address)"
  50320. },
  50321. {
  50322. "id": 10930,
  50323. "name": "p0",
  50324. "nodeType": "Identifier",
  50325. "overloadedDeclarations": [],
  50326. "referencedDeclaration": 10917,
  50327. "src": "31934:2:50",
  50328. "typeDescriptions": {
  50329. "typeIdentifier": "t_uint256",
  50330. "typeString": "uint256"
  50331. }
  50332. },
  50333. {
  50334. "id": 10931,
  50335. "name": "p1",
  50336. "nodeType": "Identifier",
  50337. "overloadedDeclarations": [],
  50338. "referencedDeclaration": 10919,
  50339. "src": "31938:2:50",
  50340. "typeDescriptions": {
  50341. "typeIdentifier": "t_address",
  50342. "typeString": "address"
  50343. }
  50344. },
  50345. {
  50346. "id": 10932,
  50347. "name": "p2",
  50348. "nodeType": "Identifier",
  50349. "overloadedDeclarations": [],
  50350. "referencedDeclaration": 10921,
  50351. "src": "31942:2:50",
  50352. "typeDescriptions": {
  50353. "typeIdentifier": "t_address",
  50354. "typeString": "address"
  50355. }
  50356. },
  50357. {
  50358. "id": 10933,
  50359. "name": "p3",
  50360. "nodeType": "Identifier",
  50361. "overloadedDeclarations": [],
  50362. "referencedDeclaration": 10923,
  50363. "src": "31946:2:50",
  50364. "typeDescriptions": {
  50365. "typeIdentifier": "t_address",
  50366. "typeString": "address"
  50367. }
  50368. }
  50369. ],
  50370. "expression": {
  50371. "argumentTypes": [
  50372. {
  50373. "typeIdentifier": "t_stringliteral_2488b414330cbd4ddab2b849dacd8bed50b19b82318ec6e4a5ccdf72ee519553",
  50374. "typeString": "literal_string \"log(uint256,address,address,address)\""
  50375. },
  50376. {
  50377. "typeIdentifier": "t_uint256",
  50378. "typeString": "uint256"
  50379. },
  50380. {
  50381. "typeIdentifier": "t_address",
  50382. "typeString": "address"
  50383. },
  50384. {
  50385. "typeIdentifier": "t_address",
  50386. "typeString": "address"
  50387. },
  50388. {
  50389. "typeIdentifier": "t_address",
  50390. "typeString": "address"
  50391. }
  50392. ],
  50393. "expression": {
  50394. "id": 10927,
  50395. "name": "abi",
  50396. "nodeType": "Identifier",
  50397. "overloadedDeclarations": [],
  50398. "referencedDeclaration": -1,
  50399. "src": "31870:3:50",
  50400. "typeDescriptions": {
  50401. "typeIdentifier": "t_magic_abi",
  50402. "typeString": "abi"
  50403. }
  50404. },
  50405. "id": 10928,
  50406. "isConstant": false,
  50407. "isLValue": false,
  50408. "isPure": true,
  50409. "lValueRequested": false,
  50410. "memberLocation": "31874:19:50",
  50411. "memberName": "encodeWithSignature",
  50412. "nodeType": "MemberAccess",
  50413. "src": "31870:23:50",
  50414. "typeDescriptions": {
  50415. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  50416. "typeString": "function (string memory) pure returns (bytes memory)"
  50417. }
  50418. },
  50419. "id": 10934,
  50420. "isConstant": false,
  50421. "isLValue": false,
  50422. "isPure": false,
  50423. "kind": "functionCall",
  50424. "lValueRequested": false,
  50425. "nameLocations": [],
  50426. "names": [],
  50427. "nodeType": "FunctionCall",
  50428. "src": "31870:79:50",
  50429. "tryCall": false,
  50430. "typeDescriptions": {
  50431. "typeIdentifier": "t_bytes_memory_ptr",
  50432. "typeString": "bytes memory"
  50433. }
  50434. }
  50435. ],
  50436. "expression": {
  50437. "argumentTypes": [
  50438. {
  50439. "typeIdentifier": "t_bytes_memory_ptr",
  50440. "typeString": "bytes memory"
  50441. }
  50442. ],
  50443. "id": 10926,
  50444. "name": "_sendLogPayload",
  50445. "nodeType": "Identifier",
  50446. "overloadedDeclarations": [],
  50447. "referencedDeclaration": 7315,
  50448. "src": "31854:15:50",
  50449. "typeDescriptions": {
  50450. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  50451. "typeString": "function (bytes memory) pure"
  50452. }
  50453. },
  50454. "id": 10935,
  50455. "isConstant": false,
  50456. "isLValue": false,
  50457. "isPure": false,
  50458. "kind": "functionCall",
  50459. "lValueRequested": false,
  50460. "nameLocations": [],
  50461. "names": [],
  50462. "nodeType": "FunctionCall",
  50463. "src": "31854:96:50",
  50464. "tryCall": false,
  50465. "typeDescriptions": {
  50466. "typeIdentifier": "t_tuple$__$",
  50467. "typeString": "tuple()"
  50468. }
  50469. },
  50470. "id": 10936,
  50471. "nodeType": "ExpressionStatement",
  50472. "src": "31854:96:50"
  50473. }
  50474. ]
  50475. },
  50476. "implemented": true,
  50477. "kind": "function",
  50478. "modifiers": [],
  50479. "name": "log",
  50480. "nameLocation": "31778:3:50",
  50481. "parameters": {
  50482. "id": 10924,
  50483. "nodeType": "ParameterList",
  50484. "parameters": [
  50485. {
  50486. "constant": false,
  50487. "id": 10917,
  50488. "mutability": "mutable",
  50489. "name": "p0",
  50490. "nameLocation": "31790:2:50",
  50491. "nodeType": "VariableDeclaration",
  50492. "scope": 10938,
  50493. "src": "31782:10:50",
  50494. "stateVariable": false,
  50495. "storageLocation": "default",
  50496. "typeDescriptions": {
  50497. "typeIdentifier": "t_uint256",
  50498. "typeString": "uint256"
  50499. },
  50500. "typeName": {
  50501. "id": 10916,
  50502. "name": "uint256",
  50503. "nodeType": "ElementaryTypeName",
  50504. "src": "31782:7:50",
  50505. "typeDescriptions": {
  50506. "typeIdentifier": "t_uint256",
  50507. "typeString": "uint256"
  50508. }
  50509. },
  50510. "visibility": "internal"
  50511. },
  50512. {
  50513. "constant": false,
  50514. "id": 10919,
  50515. "mutability": "mutable",
  50516. "name": "p1",
  50517. "nameLocation": "31802:2:50",
  50518. "nodeType": "VariableDeclaration",
  50519. "scope": 10938,
  50520. "src": "31794:10:50",
  50521. "stateVariable": false,
  50522. "storageLocation": "default",
  50523. "typeDescriptions": {
  50524. "typeIdentifier": "t_address",
  50525. "typeString": "address"
  50526. },
  50527. "typeName": {
  50528. "id": 10918,
  50529. "name": "address",
  50530. "nodeType": "ElementaryTypeName",
  50531. "src": "31794:7:50",
  50532. "stateMutability": "nonpayable",
  50533. "typeDescriptions": {
  50534. "typeIdentifier": "t_address",
  50535. "typeString": "address"
  50536. }
  50537. },
  50538. "visibility": "internal"
  50539. },
  50540. {
  50541. "constant": false,
  50542. "id": 10921,
  50543. "mutability": "mutable",
  50544. "name": "p2",
  50545. "nameLocation": "31814:2:50",
  50546. "nodeType": "VariableDeclaration",
  50547. "scope": 10938,
  50548. "src": "31806:10:50",
  50549. "stateVariable": false,
  50550. "storageLocation": "default",
  50551. "typeDescriptions": {
  50552. "typeIdentifier": "t_address",
  50553. "typeString": "address"
  50554. },
  50555. "typeName": {
  50556. "id": 10920,
  50557. "name": "address",
  50558. "nodeType": "ElementaryTypeName",
  50559. "src": "31806:7:50",
  50560. "stateMutability": "nonpayable",
  50561. "typeDescriptions": {
  50562. "typeIdentifier": "t_address",
  50563. "typeString": "address"
  50564. }
  50565. },
  50566. "visibility": "internal"
  50567. },
  50568. {
  50569. "constant": false,
  50570. "id": 10923,
  50571. "mutability": "mutable",
  50572. "name": "p3",
  50573. "nameLocation": "31826:2:50",
  50574. "nodeType": "VariableDeclaration",
  50575. "scope": 10938,
  50576. "src": "31818:10:50",
  50577. "stateVariable": false,
  50578. "storageLocation": "default",
  50579. "typeDescriptions": {
  50580. "typeIdentifier": "t_address",
  50581. "typeString": "address"
  50582. },
  50583. "typeName": {
  50584. "id": 10922,
  50585. "name": "address",
  50586. "nodeType": "ElementaryTypeName",
  50587. "src": "31818:7:50",
  50588. "stateMutability": "nonpayable",
  50589. "typeDescriptions": {
  50590. "typeIdentifier": "t_address",
  50591. "typeString": "address"
  50592. }
  50593. },
  50594. "visibility": "internal"
  50595. }
  50596. ],
  50597. "src": "31781:48:50"
  50598. },
  50599. "returnParameters": {
  50600. "id": 10925,
  50601. "nodeType": "ParameterList",
  50602. "parameters": [],
  50603. "src": "31844:0:50"
  50604. },
  50605. "scope": 15355,
  50606. "stateMutability": "pure",
  50607. "virtual": false,
  50608. "visibility": "internal"
  50609. },
  50610. {
  50611. "id": 10961,
  50612. "nodeType": "FunctionDefinition",
  50613. "src": "31963:193:50",
  50614. "nodes": [],
  50615. "body": {
  50616. "id": 10960,
  50617. "nodeType": "Block",
  50618. "src": "32044:112:50",
  50619. "nodes": [],
  50620. "statements": [
  50621. {
  50622. "expression": {
  50623. "arguments": [
  50624. {
  50625. "arguments": [
  50626. {
  50627. "hexValue": "6c6f6728737472696e672c75696e743235362c75696e743235362c75696e7432353629",
  50628. "id": 10952,
  50629. "isConstant": false,
  50630. "isLValue": false,
  50631. "isPure": true,
  50632. "kind": "string",
  50633. "lValueRequested": false,
  50634. "nodeType": "Literal",
  50635. "src": "32094:37:50",
  50636. "typeDescriptions": {
  50637. "typeIdentifier": "t_stringliteral_a7a8785394d9aadf7945b4e3d27726dea716dc88e3f64cc80b3aa9abbd2751c5",
  50638. "typeString": "literal_string \"log(string,uint256,uint256,uint256)\""
  50639. },
  50640. "value": "log(string,uint256,uint256,uint256)"
  50641. },
  50642. {
  50643. "id": 10953,
  50644. "name": "p0",
  50645. "nodeType": "Identifier",
  50646. "overloadedDeclarations": [],
  50647. "referencedDeclaration": 10940,
  50648. "src": "32133:2:50",
  50649. "typeDescriptions": {
  50650. "typeIdentifier": "t_string_memory_ptr",
  50651. "typeString": "string memory"
  50652. }
  50653. },
  50654. {
  50655. "id": 10954,
  50656. "name": "p1",
  50657. "nodeType": "Identifier",
  50658. "overloadedDeclarations": [],
  50659. "referencedDeclaration": 10942,
  50660. "src": "32137:2:50",
  50661. "typeDescriptions": {
  50662. "typeIdentifier": "t_uint256",
  50663. "typeString": "uint256"
  50664. }
  50665. },
  50666. {
  50667. "id": 10955,
  50668. "name": "p2",
  50669. "nodeType": "Identifier",
  50670. "overloadedDeclarations": [],
  50671. "referencedDeclaration": 10944,
  50672. "src": "32141:2:50",
  50673. "typeDescriptions": {
  50674. "typeIdentifier": "t_uint256",
  50675. "typeString": "uint256"
  50676. }
  50677. },
  50678. {
  50679. "id": 10956,
  50680. "name": "p3",
  50681. "nodeType": "Identifier",
  50682. "overloadedDeclarations": [],
  50683. "referencedDeclaration": 10946,
  50684. "src": "32145:2:50",
  50685. "typeDescriptions": {
  50686. "typeIdentifier": "t_uint256",
  50687. "typeString": "uint256"
  50688. }
  50689. }
  50690. ],
  50691. "expression": {
  50692. "argumentTypes": [
  50693. {
  50694. "typeIdentifier": "t_stringliteral_a7a8785394d9aadf7945b4e3d27726dea716dc88e3f64cc80b3aa9abbd2751c5",
  50695. "typeString": "literal_string \"log(string,uint256,uint256,uint256)\""
  50696. },
  50697. {
  50698. "typeIdentifier": "t_string_memory_ptr",
  50699. "typeString": "string memory"
  50700. },
  50701. {
  50702. "typeIdentifier": "t_uint256",
  50703. "typeString": "uint256"
  50704. },
  50705. {
  50706. "typeIdentifier": "t_uint256",
  50707. "typeString": "uint256"
  50708. },
  50709. {
  50710. "typeIdentifier": "t_uint256",
  50711. "typeString": "uint256"
  50712. }
  50713. ],
  50714. "expression": {
  50715. "id": 10950,
  50716. "name": "abi",
  50717. "nodeType": "Identifier",
  50718. "overloadedDeclarations": [],
  50719. "referencedDeclaration": -1,
  50720. "src": "32070:3:50",
  50721. "typeDescriptions": {
  50722. "typeIdentifier": "t_magic_abi",
  50723. "typeString": "abi"
  50724. }
  50725. },
  50726. "id": 10951,
  50727. "isConstant": false,
  50728. "isLValue": false,
  50729. "isPure": true,
  50730. "lValueRequested": false,
  50731. "memberLocation": "32074:19:50",
  50732. "memberName": "encodeWithSignature",
  50733. "nodeType": "MemberAccess",
  50734. "src": "32070:23:50",
  50735. "typeDescriptions": {
  50736. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  50737. "typeString": "function (string memory) pure returns (bytes memory)"
  50738. }
  50739. },
  50740. "id": 10957,
  50741. "isConstant": false,
  50742. "isLValue": false,
  50743. "isPure": false,
  50744. "kind": "functionCall",
  50745. "lValueRequested": false,
  50746. "nameLocations": [],
  50747. "names": [],
  50748. "nodeType": "FunctionCall",
  50749. "src": "32070:78:50",
  50750. "tryCall": false,
  50751. "typeDescriptions": {
  50752. "typeIdentifier": "t_bytes_memory_ptr",
  50753. "typeString": "bytes memory"
  50754. }
  50755. }
  50756. ],
  50757. "expression": {
  50758. "argumentTypes": [
  50759. {
  50760. "typeIdentifier": "t_bytes_memory_ptr",
  50761. "typeString": "bytes memory"
  50762. }
  50763. ],
  50764. "id": 10949,
  50765. "name": "_sendLogPayload",
  50766. "nodeType": "Identifier",
  50767. "overloadedDeclarations": [],
  50768. "referencedDeclaration": 7315,
  50769. "src": "32054:15:50",
  50770. "typeDescriptions": {
  50771. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  50772. "typeString": "function (bytes memory) pure"
  50773. }
  50774. },
  50775. "id": 10958,
  50776. "isConstant": false,
  50777. "isLValue": false,
  50778. "isPure": false,
  50779. "kind": "functionCall",
  50780. "lValueRequested": false,
  50781. "nameLocations": [],
  50782. "names": [],
  50783. "nodeType": "FunctionCall",
  50784. "src": "32054:95:50",
  50785. "tryCall": false,
  50786. "typeDescriptions": {
  50787. "typeIdentifier": "t_tuple$__$",
  50788. "typeString": "tuple()"
  50789. }
  50790. },
  50791. "id": 10959,
  50792. "nodeType": "ExpressionStatement",
  50793. "src": "32054:95:50"
  50794. }
  50795. ]
  50796. },
  50797. "implemented": true,
  50798. "kind": "function",
  50799. "modifiers": [],
  50800. "name": "log",
  50801. "nameLocation": "31972:3:50",
  50802. "parameters": {
  50803. "id": 10947,
  50804. "nodeType": "ParameterList",
  50805. "parameters": [
  50806. {
  50807. "constant": false,
  50808. "id": 10940,
  50809. "mutability": "mutable",
  50810. "name": "p0",
  50811. "nameLocation": "31990:2:50",
  50812. "nodeType": "VariableDeclaration",
  50813. "scope": 10961,
  50814. "src": "31976:16:50",
  50815. "stateVariable": false,
  50816. "storageLocation": "memory",
  50817. "typeDescriptions": {
  50818. "typeIdentifier": "t_string_memory_ptr",
  50819. "typeString": "string"
  50820. },
  50821. "typeName": {
  50822. "id": 10939,
  50823. "name": "string",
  50824. "nodeType": "ElementaryTypeName",
  50825. "src": "31976:6:50",
  50826. "typeDescriptions": {
  50827. "typeIdentifier": "t_string_storage_ptr",
  50828. "typeString": "string"
  50829. }
  50830. },
  50831. "visibility": "internal"
  50832. },
  50833. {
  50834. "constant": false,
  50835. "id": 10942,
  50836. "mutability": "mutable",
  50837. "name": "p1",
  50838. "nameLocation": "32002:2:50",
  50839. "nodeType": "VariableDeclaration",
  50840. "scope": 10961,
  50841. "src": "31994:10:50",
  50842. "stateVariable": false,
  50843. "storageLocation": "default",
  50844. "typeDescriptions": {
  50845. "typeIdentifier": "t_uint256",
  50846. "typeString": "uint256"
  50847. },
  50848. "typeName": {
  50849. "id": 10941,
  50850. "name": "uint256",
  50851. "nodeType": "ElementaryTypeName",
  50852. "src": "31994:7:50",
  50853. "typeDescriptions": {
  50854. "typeIdentifier": "t_uint256",
  50855. "typeString": "uint256"
  50856. }
  50857. },
  50858. "visibility": "internal"
  50859. },
  50860. {
  50861. "constant": false,
  50862. "id": 10944,
  50863. "mutability": "mutable",
  50864. "name": "p2",
  50865. "nameLocation": "32014:2:50",
  50866. "nodeType": "VariableDeclaration",
  50867. "scope": 10961,
  50868. "src": "32006:10:50",
  50869. "stateVariable": false,
  50870. "storageLocation": "default",
  50871. "typeDescriptions": {
  50872. "typeIdentifier": "t_uint256",
  50873. "typeString": "uint256"
  50874. },
  50875. "typeName": {
  50876. "id": 10943,
  50877. "name": "uint256",
  50878. "nodeType": "ElementaryTypeName",
  50879. "src": "32006:7:50",
  50880. "typeDescriptions": {
  50881. "typeIdentifier": "t_uint256",
  50882. "typeString": "uint256"
  50883. }
  50884. },
  50885. "visibility": "internal"
  50886. },
  50887. {
  50888. "constant": false,
  50889. "id": 10946,
  50890. "mutability": "mutable",
  50891. "name": "p3",
  50892. "nameLocation": "32026:2:50",
  50893. "nodeType": "VariableDeclaration",
  50894. "scope": 10961,
  50895. "src": "32018:10:50",
  50896. "stateVariable": false,
  50897. "storageLocation": "default",
  50898. "typeDescriptions": {
  50899. "typeIdentifier": "t_uint256",
  50900. "typeString": "uint256"
  50901. },
  50902. "typeName": {
  50903. "id": 10945,
  50904. "name": "uint256",
  50905. "nodeType": "ElementaryTypeName",
  50906. "src": "32018:7:50",
  50907. "typeDescriptions": {
  50908. "typeIdentifier": "t_uint256",
  50909. "typeString": "uint256"
  50910. }
  50911. },
  50912. "visibility": "internal"
  50913. }
  50914. ],
  50915. "src": "31975:54:50"
  50916. },
  50917. "returnParameters": {
  50918. "id": 10948,
  50919. "nodeType": "ParameterList",
  50920. "parameters": [],
  50921. "src": "32044:0:50"
  50922. },
  50923. "scope": 15355,
  50924. "stateMutability": "pure",
  50925. "virtual": false,
  50926. "visibility": "internal"
  50927. },
  50928. {
  50929. "id": 10984,
  50930. "nodeType": "FunctionDefinition",
  50931. "src": "32162:198:50",
  50932. "nodes": [],
  50933. "body": {
  50934. "id": 10983,
  50935. "nodeType": "Block",
  50936. "src": "32249:111:50",
  50937. "nodes": [],
  50938. "statements": [
  50939. {
  50940. "expression": {
  50941. "arguments": [
  50942. {
  50943. "arguments": [
  50944. {
  50945. "hexValue": "6c6f6728737472696e672c75696e743235362c75696e743235362c737472696e6729",
  50946. "id": 10975,
  50947. "isConstant": false,
  50948. "isLValue": false,
  50949. "isPure": true,
  50950. "kind": "string",
  50951. "lValueRequested": false,
  50952. "nodeType": "Literal",
  50953. "src": "32299:36:50",
  50954. "typeDescriptions": {
  50955. "typeIdentifier": "t_stringliteral_854b34964800cd321ba295da547026c9cfe69753667a81487e80d237f63c927f",
  50956. "typeString": "literal_string \"log(string,uint256,uint256,string)\""
  50957. },
  50958. "value": "log(string,uint256,uint256,string)"
  50959. },
  50960. {
  50961. "id": 10976,
  50962. "name": "p0",
  50963. "nodeType": "Identifier",
  50964. "overloadedDeclarations": [],
  50965. "referencedDeclaration": 10963,
  50966. "src": "32337:2:50",
  50967. "typeDescriptions": {
  50968. "typeIdentifier": "t_string_memory_ptr",
  50969. "typeString": "string memory"
  50970. }
  50971. },
  50972. {
  50973. "id": 10977,
  50974. "name": "p1",
  50975. "nodeType": "Identifier",
  50976. "overloadedDeclarations": [],
  50977. "referencedDeclaration": 10965,
  50978. "src": "32341:2:50",
  50979. "typeDescriptions": {
  50980. "typeIdentifier": "t_uint256",
  50981. "typeString": "uint256"
  50982. }
  50983. },
  50984. {
  50985. "id": 10978,
  50986. "name": "p2",
  50987. "nodeType": "Identifier",
  50988. "overloadedDeclarations": [],
  50989. "referencedDeclaration": 10967,
  50990. "src": "32345:2:50",
  50991. "typeDescriptions": {
  50992. "typeIdentifier": "t_uint256",
  50993. "typeString": "uint256"
  50994. }
  50995. },
  50996. {
  50997. "id": 10979,
  50998. "name": "p3",
  50999. "nodeType": "Identifier",
  51000. "overloadedDeclarations": [],
  51001. "referencedDeclaration": 10969,
  51002. "src": "32349:2:50",
  51003. "typeDescriptions": {
  51004. "typeIdentifier": "t_string_memory_ptr",
  51005. "typeString": "string memory"
  51006. }
  51007. }
  51008. ],
  51009. "expression": {
  51010. "argumentTypes": [
  51011. {
  51012. "typeIdentifier": "t_stringliteral_854b34964800cd321ba295da547026c9cfe69753667a81487e80d237f63c927f",
  51013. "typeString": "literal_string \"log(string,uint256,uint256,string)\""
  51014. },
  51015. {
  51016. "typeIdentifier": "t_string_memory_ptr",
  51017. "typeString": "string memory"
  51018. },
  51019. {
  51020. "typeIdentifier": "t_uint256",
  51021. "typeString": "uint256"
  51022. },
  51023. {
  51024. "typeIdentifier": "t_uint256",
  51025. "typeString": "uint256"
  51026. },
  51027. {
  51028. "typeIdentifier": "t_string_memory_ptr",
  51029. "typeString": "string memory"
  51030. }
  51031. ],
  51032. "expression": {
  51033. "id": 10973,
  51034. "name": "abi",
  51035. "nodeType": "Identifier",
  51036. "overloadedDeclarations": [],
  51037. "referencedDeclaration": -1,
  51038. "src": "32275:3:50",
  51039. "typeDescriptions": {
  51040. "typeIdentifier": "t_magic_abi",
  51041. "typeString": "abi"
  51042. }
  51043. },
  51044. "id": 10974,
  51045. "isConstant": false,
  51046. "isLValue": false,
  51047. "isPure": true,
  51048. "lValueRequested": false,
  51049. "memberLocation": "32279:19:50",
  51050. "memberName": "encodeWithSignature",
  51051. "nodeType": "MemberAccess",
  51052. "src": "32275:23:50",
  51053. "typeDescriptions": {
  51054. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  51055. "typeString": "function (string memory) pure returns (bytes memory)"
  51056. }
  51057. },
  51058. "id": 10980,
  51059. "isConstant": false,
  51060. "isLValue": false,
  51061. "isPure": false,
  51062. "kind": "functionCall",
  51063. "lValueRequested": false,
  51064. "nameLocations": [],
  51065. "names": [],
  51066. "nodeType": "FunctionCall",
  51067. "src": "32275:77:50",
  51068. "tryCall": false,
  51069. "typeDescriptions": {
  51070. "typeIdentifier": "t_bytes_memory_ptr",
  51071. "typeString": "bytes memory"
  51072. }
  51073. }
  51074. ],
  51075. "expression": {
  51076. "argumentTypes": [
  51077. {
  51078. "typeIdentifier": "t_bytes_memory_ptr",
  51079. "typeString": "bytes memory"
  51080. }
  51081. ],
  51082. "id": 10972,
  51083. "name": "_sendLogPayload",
  51084. "nodeType": "Identifier",
  51085. "overloadedDeclarations": [],
  51086. "referencedDeclaration": 7315,
  51087. "src": "32259:15:50",
  51088. "typeDescriptions": {
  51089. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  51090. "typeString": "function (bytes memory) pure"
  51091. }
  51092. },
  51093. "id": 10981,
  51094. "isConstant": false,
  51095. "isLValue": false,
  51096. "isPure": false,
  51097. "kind": "functionCall",
  51098. "lValueRequested": false,
  51099. "nameLocations": [],
  51100. "names": [],
  51101. "nodeType": "FunctionCall",
  51102. "src": "32259:94:50",
  51103. "tryCall": false,
  51104. "typeDescriptions": {
  51105. "typeIdentifier": "t_tuple$__$",
  51106. "typeString": "tuple()"
  51107. }
  51108. },
  51109. "id": 10982,
  51110. "nodeType": "ExpressionStatement",
  51111. "src": "32259:94:50"
  51112. }
  51113. ]
  51114. },
  51115. "implemented": true,
  51116. "kind": "function",
  51117. "modifiers": [],
  51118. "name": "log",
  51119. "nameLocation": "32171:3:50",
  51120. "parameters": {
  51121. "id": 10970,
  51122. "nodeType": "ParameterList",
  51123. "parameters": [
  51124. {
  51125. "constant": false,
  51126. "id": 10963,
  51127. "mutability": "mutable",
  51128. "name": "p0",
  51129. "nameLocation": "32189:2:50",
  51130. "nodeType": "VariableDeclaration",
  51131. "scope": 10984,
  51132. "src": "32175:16:50",
  51133. "stateVariable": false,
  51134. "storageLocation": "memory",
  51135. "typeDescriptions": {
  51136. "typeIdentifier": "t_string_memory_ptr",
  51137. "typeString": "string"
  51138. },
  51139. "typeName": {
  51140. "id": 10962,
  51141. "name": "string",
  51142. "nodeType": "ElementaryTypeName",
  51143. "src": "32175:6:50",
  51144. "typeDescriptions": {
  51145. "typeIdentifier": "t_string_storage_ptr",
  51146. "typeString": "string"
  51147. }
  51148. },
  51149. "visibility": "internal"
  51150. },
  51151. {
  51152. "constant": false,
  51153. "id": 10965,
  51154. "mutability": "mutable",
  51155. "name": "p1",
  51156. "nameLocation": "32201:2:50",
  51157. "nodeType": "VariableDeclaration",
  51158. "scope": 10984,
  51159. "src": "32193:10:50",
  51160. "stateVariable": false,
  51161. "storageLocation": "default",
  51162. "typeDescriptions": {
  51163. "typeIdentifier": "t_uint256",
  51164. "typeString": "uint256"
  51165. },
  51166. "typeName": {
  51167. "id": 10964,
  51168. "name": "uint256",
  51169. "nodeType": "ElementaryTypeName",
  51170. "src": "32193:7:50",
  51171. "typeDescriptions": {
  51172. "typeIdentifier": "t_uint256",
  51173. "typeString": "uint256"
  51174. }
  51175. },
  51176. "visibility": "internal"
  51177. },
  51178. {
  51179. "constant": false,
  51180. "id": 10967,
  51181. "mutability": "mutable",
  51182. "name": "p2",
  51183. "nameLocation": "32213:2:50",
  51184. "nodeType": "VariableDeclaration",
  51185. "scope": 10984,
  51186. "src": "32205:10:50",
  51187. "stateVariable": false,
  51188. "storageLocation": "default",
  51189. "typeDescriptions": {
  51190. "typeIdentifier": "t_uint256",
  51191. "typeString": "uint256"
  51192. },
  51193. "typeName": {
  51194. "id": 10966,
  51195. "name": "uint256",
  51196. "nodeType": "ElementaryTypeName",
  51197. "src": "32205:7:50",
  51198. "typeDescriptions": {
  51199. "typeIdentifier": "t_uint256",
  51200. "typeString": "uint256"
  51201. }
  51202. },
  51203. "visibility": "internal"
  51204. },
  51205. {
  51206. "constant": false,
  51207. "id": 10969,
  51208. "mutability": "mutable",
  51209. "name": "p3",
  51210. "nameLocation": "32231:2:50",
  51211. "nodeType": "VariableDeclaration",
  51212. "scope": 10984,
  51213. "src": "32217:16:50",
  51214. "stateVariable": false,
  51215. "storageLocation": "memory",
  51216. "typeDescriptions": {
  51217. "typeIdentifier": "t_string_memory_ptr",
  51218. "typeString": "string"
  51219. },
  51220. "typeName": {
  51221. "id": 10968,
  51222. "name": "string",
  51223. "nodeType": "ElementaryTypeName",
  51224. "src": "32217:6:50",
  51225. "typeDescriptions": {
  51226. "typeIdentifier": "t_string_storage_ptr",
  51227. "typeString": "string"
  51228. }
  51229. },
  51230. "visibility": "internal"
  51231. }
  51232. ],
  51233. "src": "32174:60:50"
  51234. },
  51235. "returnParameters": {
  51236. "id": 10971,
  51237. "nodeType": "ParameterList",
  51238. "parameters": [],
  51239. "src": "32249:0:50"
  51240. },
  51241. "scope": 15355,
  51242. "stateMutability": "pure",
  51243. "virtual": false,
  51244. "visibility": "internal"
  51245. },
  51246. {
  51247. "id": 11007,
  51248. "nodeType": "FunctionDefinition",
  51249. "src": "32366:187:50",
  51250. "nodes": [],
  51251. "body": {
  51252. "id": 11006,
  51253. "nodeType": "Block",
  51254. "src": "32444:109:50",
  51255. "nodes": [],
  51256. "statements": [
  51257. {
  51258. "expression": {
  51259. "arguments": [
  51260. {
  51261. "arguments": [
  51262. {
  51263. "hexValue": "6c6f6728737472696e672c75696e743235362c75696e743235362c626f6f6c29",
  51264. "id": 10998,
  51265. "isConstant": false,
  51266. "isLValue": false,
  51267. "isPure": true,
  51268. "kind": "string",
  51269. "lValueRequested": false,
  51270. "nodeType": "Literal",
  51271. "src": "32494:34:50",
  51272. "typeDescriptions": {
  51273. "typeIdentifier": "t_stringliteral_7626db92bcbe8fb38799da91134ebae6bc6c7b10cb0db567e752720b8fd9ae0f",
  51274. "typeString": "literal_string \"log(string,uint256,uint256,bool)\""
  51275. },
  51276. "value": "log(string,uint256,uint256,bool)"
  51277. },
  51278. {
  51279. "id": 10999,
  51280. "name": "p0",
  51281. "nodeType": "Identifier",
  51282. "overloadedDeclarations": [],
  51283. "referencedDeclaration": 10986,
  51284. "src": "32530:2:50",
  51285. "typeDescriptions": {
  51286. "typeIdentifier": "t_string_memory_ptr",
  51287. "typeString": "string memory"
  51288. }
  51289. },
  51290. {
  51291. "id": 11000,
  51292. "name": "p1",
  51293. "nodeType": "Identifier",
  51294. "overloadedDeclarations": [],
  51295. "referencedDeclaration": 10988,
  51296. "src": "32534:2:50",
  51297. "typeDescriptions": {
  51298. "typeIdentifier": "t_uint256",
  51299. "typeString": "uint256"
  51300. }
  51301. },
  51302. {
  51303. "id": 11001,
  51304. "name": "p2",
  51305. "nodeType": "Identifier",
  51306. "overloadedDeclarations": [],
  51307. "referencedDeclaration": 10990,
  51308. "src": "32538:2:50",
  51309. "typeDescriptions": {
  51310. "typeIdentifier": "t_uint256",
  51311. "typeString": "uint256"
  51312. }
  51313. },
  51314. {
  51315. "id": 11002,
  51316. "name": "p3",
  51317. "nodeType": "Identifier",
  51318. "overloadedDeclarations": [],
  51319. "referencedDeclaration": 10992,
  51320. "src": "32542:2:50",
  51321. "typeDescriptions": {
  51322. "typeIdentifier": "t_bool",
  51323. "typeString": "bool"
  51324. }
  51325. }
  51326. ],
  51327. "expression": {
  51328. "argumentTypes": [
  51329. {
  51330. "typeIdentifier": "t_stringliteral_7626db92bcbe8fb38799da91134ebae6bc6c7b10cb0db567e752720b8fd9ae0f",
  51331. "typeString": "literal_string \"log(string,uint256,uint256,bool)\""
  51332. },
  51333. {
  51334. "typeIdentifier": "t_string_memory_ptr",
  51335. "typeString": "string memory"
  51336. },
  51337. {
  51338. "typeIdentifier": "t_uint256",
  51339. "typeString": "uint256"
  51340. },
  51341. {
  51342. "typeIdentifier": "t_uint256",
  51343. "typeString": "uint256"
  51344. },
  51345. {
  51346. "typeIdentifier": "t_bool",
  51347. "typeString": "bool"
  51348. }
  51349. ],
  51350. "expression": {
  51351. "id": 10996,
  51352. "name": "abi",
  51353. "nodeType": "Identifier",
  51354. "overloadedDeclarations": [],
  51355. "referencedDeclaration": -1,
  51356. "src": "32470:3:50",
  51357. "typeDescriptions": {
  51358. "typeIdentifier": "t_magic_abi",
  51359. "typeString": "abi"
  51360. }
  51361. },
  51362. "id": 10997,
  51363. "isConstant": false,
  51364. "isLValue": false,
  51365. "isPure": true,
  51366. "lValueRequested": false,
  51367. "memberLocation": "32474:19:50",
  51368. "memberName": "encodeWithSignature",
  51369. "nodeType": "MemberAccess",
  51370. "src": "32470:23:50",
  51371. "typeDescriptions": {
  51372. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  51373. "typeString": "function (string memory) pure returns (bytes memory)"
  51374. }
  51375. },
  51376. "id": 11003,
  51377. "isConstant": false,
  51378. "isLValue": false,
  51379. "isPure": false,
  51380. "kind": "functionCall",
  51381. "lValueRequested": false,
  51382. "nameLocations": [],
  51383. "names": [],
  51384. "nodeType": "FunctionCall",
  51385. "src": "32470:75:50",
  51386. "tryCall": false,
  51387. "typeDescriptions": {
  51388. "typeIdentifier": "t_bytes_memory_ptr",
  51389. "typeString": "bytes memory"
  51390. }
  51391. }
  51392. ],
  51393. "expression": {
  51394. "argumentTypes": [
  51395. {
  51396. "typeIdentifier": "t_bytes_memory_ptr",
  51397. "typeString": "bytes memory"
  51398. }
  51399. ],
  51400. "id": 10995,
  51401. "name": "_sendLogPayload",
  51402. "nodeType": "Identifier",
  51403. "overloadedDeclarations": [],
  51404. "referencedDeclaration": 7315,
  51405. "src": "32454:15:50",
  51406. "typeDescriptions": {
  51407. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  51408. "typeString": "function (bytes memory) pure"
  51409. }
  51410. },
  51411. "id": 11004,
  51412. "isConstant": false,
  51413. "isLValue": false,
  51414. "isPure": false,
  51415. "kind": "functionCall",
  51416. "lValueRequested": false,
  51417. "nameLocations": [],
  51418. "names": [],
  51419. "nodeType": "FunctionCall",
  51420. "src": "32454:92:50",
  51421. "tryCall": false,
  51422. "typeDescriptions": {
  51423. "typeIdentifier": "t_tuple$__$",
  51424. "typeString": "tuple()"
  51425. }
  51426. },
  51427. "id": 11005,
  51428. "nodeType": "ExpressionStatement",
  51429. "src": "32454:92:50"
  51430. }
  51431. ]
  51432. },
  51433. "implemented": true,
  51434. "kind": "function",
  51435. "modifiers": [],
  51436. "name": "log",
  51437. "nameLocation": "32375:3:50",
  51438. "parameters": {
  51439. "id": 10993,
  51440. "nodeType": "ParameterList",
  51441. "parameters": [
  51442. {
  51443. "constant": false,
  51444. "id": 10986,
  51445. "mutability": "mutable",
  51446. "name": "p0",
  51447. "nameLocation": "32393:2:50",
  51448. "nodeType": "VariableDeclaration",
  51449. "scope": 11007,
  51450. "src": "32379:16:50",
  51451. "stateVariable": false,
  51452. "storageLocation": "memory",
  51453. "typeDescriptions": {
  51454. "typeIdentifier": "t_string_memory_ptr",
  51455. "typeString": "string"
  51456. },
  51457. "typeName": {
  51458. "id": 10985,
  51459. "name": "string",
  51460. "nodeType": "ElementaryTypeName",
  51461. "src": "32379:6:50",
  51462. "typeDescriptions": {
  51463. "typeIdentifier": "t_string_storage_ptr",
  51464. "typeString": "string"
  51465. }
  51466. },
  51467. "visibility": "internal"
  51468. },
  51469. {
  51470. "constant": false,
  51471. "id": 10988,
  51472. "mutability": "mutable",
  51473. "name": "p1",
  51474. "nameLocation": "32405:2:50",
  51475. "nodeType": "VariableDeclaration",
  51476. "scope": 11007,
  51477. "src": "32397:10:50",
  51478. "stateVariable": false,
  51479. "storageLocation": "default",
  51480. "typeDescriptions": {
  51481. "typeIdentifier": "t_uint256",
  51482. "typeString": "uint256"
  51483. },
  51484. "typeName": {
  51485. "id": 10987,
  51486. "name": "uint256",
  51487. "nodeType": "ElementaryTypeName",
  51488. "src": "32397:7:50",
  51489. "typeDescriptions": {
  51490. "typeIdentifier": "t_uint256",
  51491. "typeString": "uint256"
  51492. }
  51493. },
  51494. "visibility": "internal"
  51495. },
  51496. {
  51497. "constant": false,
  51498. "id": 10990,
  51499. "mutability": "mutable",
  51500. "name": "p2",
  51501. "nameLocation": "32417:2:50",
  51502. "nodeType": "VariableDeclaration",
  51503. "scope": 11007,
  51504. "src": "32409:10:50",
  51505. "stateVariable": false,
  51506. "storageLocation": "default",
  51507. "typeDescriptions": {
  51508. "typeIdentifier": "t_uint256",
  51509. "typeString": "uint256"
  51510. },
  51511. "typeName": {
  51512. "id": 10989,
  51513. "name": "uint256",
  51514. "nodeType": "ElementaryTypeName",
  51515. "src": "32409:7:50",
  51516. "typeDescriptions": {
  51517. "typeIdentifier": "t_uint256",
  51518. "typeString": "uint256"
  51519. }
  51520. },
  51521. "visibility": "internal"
  51522. },
  51523. {
  51524. "constant": false,
  51525. "id": 10992,
  51526. "mutability": "mutable",
  51527. "name": "p3",
  51528. "nameLocation": "32426:2:50",
  51529. "nodeType": "VariableDeclaration",
  51530. "scope": 11007,
  51531. "src": "32421:7:50",
  51532. "stateVariable": false,
  51533. "storageLocation": "default",
  51534. "typeDescriptions": {
  51535. "typeIdentifier": "t_bool",
  51536. "typeString": "bool"
  51537. },
  51538. "typeName": {
  51539. "id": 10991,
  51540. "name": "bool",
  51541. "nodeType": "ElementaryTypeName",
  51542. "src": "32421:4:50",
  51543. "typeDescriptions": {
  51544. "typeIdentifier": "t_bool",
  51545. "typeString": "bool"
  51546. }
  51547. },
  51548. "visibility": "internal"
  51549. }
  51550. ],
  51551. "src": "32378:51:50"
  51552. },
  51553. "returnParameters": {
  51554. "id": 10994,
  51555. "nodeType": "ParameterList",
  51556. "parameters": [],
  51557. "src": "32444:0:50"
  51558. },
  51559. "scope": 15355,
  51560. "stateMutability": "pure",
  51561. "virtual": false,
  51562. "visibility": "internal"
  51563. },
  51564. {
  51565. "id": 11030,
  51566. "nodeType": "FunctionDefinition",
  51567. "src": "32559:193:50",
  51568. "nodes": [],
  51569. "body": {
  51570. "id": 11029,
  51571. "nodeType": "Block",
  51572. "src": "32640:112:50",
  51573. "nodes": [],
  51574. "statements": [
  51575. {
  51576. "expression": {
  51577. "arguments": [
  51578. {
  51579. "arguments": [
  51580. {
  51581. "hexValue": "6c6f6728737472696e672c75696e743235362c75696e743235362c6164647265737329",
  51582. "id": 11021,
  51583. "isConstant": false,
  51584. "isLValue": false,
  51585. "isPure": true,
  51586. "kind": "string",
  51587. "lValueRequested": false,
  51588. "nodeType": "Literal",
  51589. "src": "32690:37:50",
  51590. "typeDescriptions": {
  51591. "typeIdentifier": "t_stringliteral_e21de278b3902dab5803384c9ad03fb95c973bc87490e387079e41c7f244f118",
  51592. "typeString": "literal_string \"log(string,uint256,uint256,address)\""
  51593. },
  51594. "value": "log(string,uint256,uint256,address)"
  51595. },
  51596. {
  51597. "id": 11022,
  51598. "name": "p0",
  51599. "nodeType": "Identifier",
  51600. "overloadedDeclarations": [],
  51601. "referencedDeclaration": 11009,
  51602. "src": "32729:2:50",
  51603. "typeDescriptions": {
  51604. "typeIdentifier": "t_string_memory_ptr",
  51605. "typeString": "string memory"
  51606. }
  51607. },
  51608. {
  51609. "id": 11023,
  51610. "name": "p1",
  51611. "nodeType": "Identifier",
  51612. "overloadedDeclarations": [],
  51613. "referencedDeclaration": 11011,
  51614. "src": "32733:2:50",
  51615. "typeDescriptions": {
  51616. "typeIdentifier": "t_uint256",
  51617. "typeString": "uint256"
  51618. }
  51619. },
  51620. {
  51621. "id": 11024,
  51622. "name": "p2",
  51623. "nodeType": "Identifier",
  51624. "overloadedDeclarations": [],
  51625. "referencedDeclaration": 11013,
  51626. "src": "32737:2:50",
  51627. "typeDescriptions": {
  51628. "typeIdentifier": "t_uint256",
  51629. "typeString": "uint256"
  51630. }
  51631. },
  51632. {
  51633. "id": 11025,
  51634. "name": "p3",
  51635. "nodeType": "Identifier",
  51636. "overloadedDeclarations": [],
  51637. "referencedDeclaration": 11015,
  51638. "src": "32741:2:50",
  51639. "typeDescriptions": {
  51640. "typeIdentifier": "t_address",
  51641. "typeString": "address"
  51642. }
  51643. }
  51644. ],
  51645. "expression": {
  51646. "argumentTypes": [
  51647. {
  51648. "typeIdentifier": "t_stringliteral_e21de278b3902dab5803384c9ad03fb95c973bc87490e387079e41c7f244f118",
  51649. "typeString": "literal_string \"log(string,uint256,uint256,address)\""
  51650. },
  51651. {
  51652. "typeIdentifier": "t_string_memory_ptr",
  51653. "typeString": "string memory"
  51654. },
  51655. {
  51656. "typeIdentifier": "t_uint256",
  51657. "typeString": "uint256"
  51658. },
  51659. {
  51660. "typeIdentifier": "t_uint256",
  51661. "typeString": "uint256"
  51662. },
  51663. {
  51664. "typeIdentifier": "t_address",
  51665. "typeString": "address"
  51666. }
  51667. ],
  51668. "expression": {
  51669. "id": 11019,
  51670. "name": "abi",
  51671. "nodeType": "Identifier",
  51672. "overloadedDeclarations": [],
  51673. "referencedDeclaration": -1,
  51674. "src": "32666:3:50",
  51675. "typeDescriptions": {
  51676. "typeIdentifier": "t_magic_abi",
  51677. "typeString": "abi"
  51678. }
  51679. },
  51680. "id": 11020,
  51681. "isConstant": false,
  51682. "isLValue": false,
  51683. "isPure": true,
  51684. "lValueRequested": false,
  51685. "memberLocation": "32670:19:50",
  51686. "memberName": "encodeWithSignature",
  51687. "nodeType": "MemberAccess",
  51688. "src": "32666:23:50",
  51689. "typeDescriptions": {
  51690. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  51691. "typeString": "function (string memory) pure returns (bytes memory)"
  51692. }
  51693. },
  51694. "id": 11026,
  51695. "isConstant": false,
  51696. "isLValue": false,
  51697. "isPure": false,
  51698. "kind": "functionCall",
  51699. "lValueRequested": false,
  51700. "nameLocations": [],
  51701. "names": [],
  51702. "nodeType": "FunctionCall",
  51703. "src": "32666:78:50",
  51704. "tryCall": false,
  51705. "typeDescriptions": {
  51706. "typeIdentifier": "t_bytes_memory_ptr",
  51707. "typeString": "bytes memory"
  51708. }
  51709. }
  51710. ],
  51711. "expression": {
  51712. "argumentTypes": [
  51713. {
  51714. "typeIdentifier": "t_bytes_memory_ptr",
  51715. "typeString": "bytes memory"
  51716. }
  51717. ],
  51718. "id": 11018,
  51719. "name": "_sendLogPayload",
  51720. "nodeType": "Identifier",
  51721. "overloadedDeclarations": [],
  51722. "referencedDeclaration": 7315,
  51723. "src": "32650:15:50",
  51724. "typeDescriptions": {
  51725. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  51726. "typeString": "function (bytes memory) pure"
  51727. }
  51728. },
  51729. "id": 11027,
  51730. "isConstant": false,
  51731. "isLValue": false,
  51732. "isPure": false,
  51733. "kind": "functionCall",
  51734. "lValueRequested": false,
  51735. "nameLocations": [],
  51736. "names": [],
  51737. "nodeType": "FunctionCall",
  51738. "src": "32650:95:50",
  51739. "tryCall": false,
  51740. "typeDescriptions": {
  51741. "typeIdentifier": "t_tuple$__$",
  51742. "typeString": "tuple()"
  51743. }
  51744. },
  51745. "id": 11028,
  51746. "nodeType": "ExpressionStatement",
  51747. "src": "32650:95:50"
  51748. }
  51749. ]
  51750. },
  51751. "implemented": true,
  51752. "kind": "function",
  51753. "modifiers": [],
  51754. "name": "log",
  51755. "nameLocation": "32568:3:50",
  51756. "parameters": {
  51757. "id": 11016,
  51758. "nodeType": "ParameterList",
  51759. "parameters": [
  51760. {
  51761. "constant": false,
  51762. "id": 11009,
  51763. "mutability": "mutable",
  51764. "name": "p0",
  51765. "nameLocation": "32586:2:50",
  51766. "nodeType": "VariableDeclaration",
  51767. "scope": 11030,
  51768. "src": "32572:16:50",
  51769. "stateVariable": false,
  51770. "storageLocation": "memory",
  51771. "typeDescriptions": {
  51772. "typeIdentifier": "t_string_memory_ptr",
  51773. "typeString": "string"
  51774. },
  51775. "typeName": {
  51776. "id": 11008,
  51777. "name": "string",
  51778. "nodeType": "ElementaryTypeName",
  51779. "src": "32572:6:50",
  51780. "typeDescriptions": {
  51781. "typeIdentifier": "t_string_storage_ptr",
  51782. "typeString": "string"
  51783. }
  51784. },
  51785. "visibility": "internal"
  51786. },
  51787. {
  51788. "constant": false,
  51789. "id": 11011,
  51790. "mutability": "mutable",
  51791. "name": "p1",
  51792. "nameLocation": "32598:2:50",
  51793. "nodeType": "VariableDeclaration",
  51794. "scope": 11030,
  51795. "src": "32590:10:50",
  51796. "stateVariable": false,
  51797. "storageLocation": "default",
  51798. "typeDescriptions": {
  51799. "typeIdentifier": "t_uint256",
  51800. "typeString": "uint256"
  51801. },
  51802. "typeName": {
  51803. "id": 11010,
  51804. "name": "uint256",
  51805. "nodeType": "ElementaryTypeName",
  51806. "src": "32590:7:50",
  51807. "typeDescriptions": {
  51808. "typeIdentifier": "t_uint256",
  51809. "typeString": "uint256"
  51810. }
  51811. },
  51812. "visibility": "internal"
  51813. },
  51814. {
  51815. "constant": false,
  51816. "id": 11013,
  51817. "mutability": "mutable",
  51818. "name": "p2",
  51819. "nameLocation": "32610:2:50",
  51820. "nodeType": "VariableDeclaration",
  51821. "scope": 11030,
  51822. "src": "32602:10:50",
  51823. "stateVariable": false,
  51824. "storageLocation": "default",
  51825. "typeDescriptions": {
  51826. "typeIdentifier": "t_uint256",
  51827. "typeString": "uint256"
  51828. },
  51829. "typeName": {
  51830. "id": 11012,
  51831. "name": "uint256",
  51832. "nodeType": "ElementaryTypeName",
  51833. "src": "32602:7:50",
  51834. "typeDescriptions": {
  51835. "typeIdentifier": "t_uint256",
  51836. "typeString": "uint256"
  51837. }
  51838. },
  51839. "visibility": "internal"
  51840. },
  51841. {
  51842. "constant": false,
  51843. "id": 11015,
  51844. "mutability": "mutable",
  51845. "name": "p3",
  51846. "nameLocation": "32622:2:50",
  51847. "nodeType": "VariableDeclaration",
  51848. "scope": 11030,
  51849. "src": "32614:10:50",
  51850. "stateVariable": false,
  51851. "storageLocation": "default",
  51852. "typeDescriptions": {
  51853. "typeIdentifier": "t_address",
  51854. "typeString": "address"
  51855. },
  51856. "typeName": {
  51857. "id": 11014,
  51858. "name": "address",
  51859. "nodeType": "ElementaryTypeName",
  51860. "src": "32614:7:50",
  51861. "stateMutability": "nonpayable",
  51862. "typeDescriptions": {
  51863. "typeIdentifier": "t_address",
  51864. "typeString": "address"
  51865. }
  51866. },
  51867. "visibility": "internal"
  51868. }
  51869. ],
  51870. "src": "32571:54:50"
  51871. },
  51872. "returnParameters": {
  51873. "id": 11017,
  51874. "nodeType": "ParameterList",
  51875. "parameters": [],
  51876. "src": "32640:0:50"
  51877. },
  51878. "scope": 15355,
  51879. "stateMutability": "pure",
  51880. "virtual": false,
  51881. "visibility": "internal"
  51882. },
  51883. {
  51884. "id": 11053,
  51885. "nodeType": "FunctionDefinition",
  51886. "src": "32758:198:50",
  51887. "nodes": [],
  51888. "body": {
  51889. "id": 11052,
  51890. "nodeType": "Block",
  51891. "src": "32845:111:50",
  51892. "nodes": [],
  51893. "statements": [
  51894. {
  51895. "expression": {
  51896. "arguments": [
  51897. {
  51898. "arguments": [
  51899. {
  51900. "hexValue": "6c6f6728737472696e672c75696e743235362c737472696e672c75696e7432353629",
  51901. "id": 11044,
  51902. "isConstant": false,
  51903. "isLValue": false,
  51904. "isPure": true,
  51905. "kind": "string",
  51906. "lValueRequested": false,
  51907. "nodeType": "Literal",
  51908. "src": "32895:36:50",
  51909. "typeDescriptions": {
  51910. "typeIdentifier": "t_stringliteral_c67ea9d1db4353b82da41ad5e5b85243320ba3a89399b41c13eee1ab804e84c9",
  51911. "typeString": "literal_string \"log(string,uint256,string,uint256)\""
  51912. },
  51913. "value": "log(string,uint256,string,uint256)"
  51914. },
  51915. {
  51916. "id": 11045,
  51917. "name": "p0",
  51918. "nodeType": "Identifier",
  51919. "overloadedDeclarations": [],
  51920. "referencedDeclaration": 11032,
  51921. "src": "32933:2:50",
  51922. "typeDescriptions": {
  51923. "typeIdentifier": "t_string_memory_ptr",
  51924. "typeString": "string memory"
  51925. }
  51926. },
  51927. {
  51928. "id": 11046,
  51929. "name": "p1",
  51930. "nodeType": "Identifier",
  51931. "overloadedDeclarations": [],
  51932. "referencedDeclaration": 11034,
  51933. "src": "32937:2:50",
  51934. "typeDescriptions": {
  51935. "typeIdentifier": "t_uint256",
  51936. "typeString": "uint256"
  51937. }
  51938. },
  51939. {
  51940. "id": 11047,
  51941. "name": "p2",
  51942. "nodeType": "Identifier",
  51943. "overloadedDeclarations": [],
  51944. "referencedDeclaration": 11036,
  51945. "src": "32941:2:50",
  51946. "typeDescriptions": {
  51947. "typeIdentifier": "t_string_memory_ptr",
  51948. "typeString": "string memory"
  51949. }
  51950. },
  51951. {
  51952. "id": 11048,
  51953. "name": "p3",
  51954. "nodeType": "Identifier",
  51955. "overloadedDeclarations": [],
  51956. "referencedDeclaration": 11038,
  51957. "src": "32945:2:50",
  51958. "typeDescriptions": {
  51959. "typeIdentifier": "t_uint256",
  51960. "typeString": "uint256"
  51961. }
  51962. }
  51963. ],
  51964. "expression": {
  51965. "argumentTypes": [
  51966. {
  51967. "typeIdentifier": "t_stringliteral_c67ea9d1db4353b82da41ad5e5b85243320ba3a89399b41c13eee1ab804e84c9",
  51968. "typeString": "literal_string \"log(string,uint256,string,uint256)\""
  51969. },
  51970. {
  51971. "typeIdentifier": "t_string_memory_ptr",
  51972. "typeString": "string memory"
  51973. },
  51974. {
  51975. "typeIdentifier": "t_uint256",
  51976. "typeString": "uint256"
  51977. },
  51978. {
  51979. "typeIdentifier": "t_string_memory_ptr",
  51980. "typeString": "string memory"
  51981. },
  51982. {
  51983. "typeIdentifier": "t_uint256",
  51984. "typeString": "uint256"
  51985. }
  51986. ],
  51987. "expression": {
  51988. "id": 11042,
  51989. "name": "abi",
  51990. "nodeType": "Identifier",
  51991. "overloadedDeclarations": [],
  51992. "referencedDeclaration": -1,
  51993. "src": "32871:3:50",
  51994. "typeDescriptions": {
  51995. "typeIdentifier": "t_magic_abi",
  51996. "typeString": "abi"
  51997. }
  51998. },
  51999. "id": 11043,
  52000. "isConstant": false,
  52001. "isLValue": false,
  52002. "isPure": true,
  52003. "lValueRequested": false,
  52004. "memberLocation": "32875:19:50",
  52005. "memberName": "encodeWithSignature",
  52006. "nodeType": "MemberAccess",
  52007. "src": "32871:23:50",
  52008. "typeDescriptions": {
  52009. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  52010. "typeString": "function (string memory) pure returns (bytes memory)"
  52011. }
  52012. },
  52013. "id": 11049,
  52014. "isConstant": false,
  52015. "isLValue": false,
  52016. "isPure": false,
  52017. "kind": "functionCall",
  52018. "lValueRequested": false,
  52019. "nameLocations": [],
  52020. "names": [],
  52021. "nodeType": "FunctionCall",
  52022. "src": "32871:77:50",
  52023. "tryCall": false,
  52024. "typeDescriptions": {
  52025. "typeIdentifier": "t_bytes_memory_ptr",
  52026. "typeString": "bytes memory"
  52027. }
  52028. }
  52029. ],
  52030. "expression": {
  52031. "argumentTypes": [
  52032. {
  52033. "typeIdentifier": "t_bytes_memory_ptr",
  52034. "typeString": "bytes memory"
  52035. }
  52036. ],
  52037. "id": 11041,
  52038. "name": "_sendLogPayload",
  52039. "nodeType": "Identifier",
  52040. "overloadedDeclarations": [],
  52041. "referencedDeclaration": 7315,
  52042. "src": "32855:15:50",
  52043. "typeDescriptions": {
  52044. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  52045. "typeString": "function (bytes memory) pure"
  52046. }
  52047. },
  52048. "id": 11050,
  52049. "isConstant": false,
  52050. "isLValue": false,
  52051. "isPure": false,
  52052. "kind": "functionCall",
  52053. "lValueRequested": false,
  52054. "nameLocations": [],
  52055. "names": [],
  52056. "nodeType": "FunctionCall",
  52057. "src": "32855:94:50",
  52058. "tryCall": false,
  52059. "typeDescriptions": {
  52060. "typeIdentifier": "t_tuple$__$",
  52061. "typeString": "tuple()"
  52062. }
  52063. },
  52064. "id": 11051,
  52065. "nodeType": "ExpressionStatement",
  52066. "src": "32855:94:50"
  52067. }
  52068. ]
  52069. },
  52070. "implemented": true,
  52071. "kind": "function",
  52072. "modifiers": [],
  52073. "name": "log",
  52074. "nameLocation": "32767:3:50",
  52075. "parameters": {
  52076. "id": 11039,
  52077. "nodeType": "ParameterList",
  52078. "parameters": [
  52079. {
  52080. "constant": false,
  52081. "id": 11032,
  52082. "mutability": "mutable",
  52083. "name": "p0",
  52084. "nameLocation": "32785:2:50",
  52085. "nodeType": "VariableDeclaration",
  52086. "scope": 11053,
  52087. "src": "32771:16:50",
  52088. "stateVariable": false,
  52089. "storageLocation": "memory",
  52090. "typeDescriptions": {
  52091. "typeIdentifier": "t_string_memory_ptr",
  52092. "typeString": "string"
  52093. },
  52094. "typeName": {
  52095. "id": 11031,
  52096. "name": "string",
  52097. "nodeType": "ElementaryTypeName",
  52098. "src": "32771:6:50",
  52099. "typeDescriptions": {
  52100. "typeIdentifier": "t_string_storage_ptr",
  52101. "typeString": "string"
  52102. }
  52103. },
  52104. "visibility": "internal"
  52105. },
  52106. {
  52107. "constant": false,
  52108. "id": 11034,
  52109. "mutability": "mutable",
  52110. "name": "p1",
  52111. "nameLocation": "32797:2:50",
  52112. "nodeType": "VariableDeclaration",
  52113. "scope": 11053,
  52114. "src": "32789:10:50",
  52115. "stateVariable": false,
  52116. "storageLocation": "default",
  52117. "typeDescriptions": {
  52118. "typeIdentifier": "t_uint256",
  52119. "typeString": "uint256"
  52120. },
  52121. "typeName": {
  52122. "id": 11033,
  52123. "name": "uint256",
  52124. "nodeType": "ElementaryTypeName",
  52125. "src": "32789:7:50",
  52126. "typeDescriptions": {
  52127. "typeIdentifier": "t_uint256",
  52128. "typeString": "uint256"
  52129. }
  52130. },
  52131. "visibility": "internal"
  52132. },
  52133. {
  52134. "constant": false,
  52135. "id": 11036,
  52136. "mutability": "mutable",
  52137. "name": "p2",
  52138. "nameLocation": "32815:2:50",
  52139. "nodeType": "VariableDeclaration",
  52140. "scope": 11053,
  52141. "src": "32801:16:50",
  52142. "stateVariable": false,
  52143. "storageLocation": "memory",
  52144. "typeDescriptions": {
  52145. "typeIdentifier": "t_string_memory_ptr",
  52146. "typeString": "string"
  52147. },
  52148. "typeName": {
  52149. "id": 11035,
  52150. "name": "string",
  52151. "nodeType": "ElementaryTypeName",
  52152. "src": "32801:6:50",
  52153. "typeDescriptions": {
  52154. "typeIdentifier": "t_string_storage_ptr",
  52155. "typeString": "string"
  52156. }
  52157. },
  52158. "visibility": "internal"
  52159. },
  52160. {
  52161. "constant": false,
  52162. "id": 11038,
  52163. "mutability": "mutable",
  52164. "name": "p3",
  52165. "nameLocation": "32827:2:50",
  52166. "nodeType": "VariableDeclaration",
  52167. "scope": 11053,
  52168. "src": "32819:10:50",
  52169. "stateVariable": false,
  52170. "storageLocation": "default",
  52171. "typeDescriptions": {
  52172. "typeIdentifier": "t_uint256",
  52173. "typeString": "uint256"
  52174. },
  52175. "typeName": {
  52176. "id": 11037,
  52177. "name": "uint256",
  52178. "nodeType": "ElementaryTypeName",
  52179. "src": "32819:7:50",
  52180. "typeDescriptions": {
  52181. "typeIdentifier": "t_uint256",
  52182. "typeString": "uint256"
  52183. }
  52184. },
  52185. "visibility": "internal"
  52186. }
  52187. ],
  52188. "src": "32770:60:50"
  52189. },
  52190. "returnParameters": {
  52191. "id": 11040,
  52192. "nodeType": "ParameterList",
  52193. "parameters": [],
  52194. "src": "32845:0:50"
  52195. },
  52196. "scope": 15355,
  52197. "stateMutability": "pure",
  52198. "virtual": false,
  52199. "visibility": "internal"
  52200. },
  52201. {
  52202. "id": 11076,
  52203. "nodeType": "FunctionDefinition",
  52204. "src": "32962:203:50",
  52205. "nodes": [],
  52206. "body": {
  52207. "id": 11075,
  52208. "nodeType": "Block",
  52209. "src": "33055:110:50",
  52210. "nodes": [],
  52211. "statements": [
  52212. {
  52213. "expression": {
  52214. "arguments": [
  52215. {
  52216. "arguments": [
  52217. {
  52218. "hexValue": "6c6f6728737472696e672c75696e743235362c737472696e672c737472696e6729",
  52219. "id": 11067,
  52220. "isConstant": false,
  52221. "isLValue": false,
  52222. "isPure": true,
  52223. "kind": "string",
  52224. "lValueRequested": false,
  52225. "nodeType": "Literal",
  52226. "src": "33105:35:50",
  52227. "typeDescriptions": {
  52228. "typeIdentifier": "t_stringliteral_5ab84e1fba099b79ad99dc62242807811428e5c36b5f473a3b74e319a04c4089",
  52229. "typeString": "literal_string \"log(string,uint256,string,string)\""
  52230. },
  52231. "value": "log(string,uint256,string,string)"
  52232. },
  52233. {
  52234. "id": 11068,
  52235. "name": "p0",
  52236. "nodeType": "Identifier",
  52237. "overloadedDeclarations": [],
  52238. "referencedDeclaration": 11055,
  52239. "src": "33142:2:50",
  52240. "typeDescriptions": {
  52241. "typeIdentifier": "t_string_memory_ptr",
  52242. "typeString": "string memory"
  52243. }
  52244. },
  52245. {
  52246. "id": 11069,
  52247. "name": "p1",
  52248. "nodeType": "Identifier",
  52249. "overloadedDeclarations": [],
  52250. "referencedDeclaration": 11057,
  52251. "src": "33146:2:50",
  52252. "typeDescriptions": {
  52253. "typeIdentifier": "t_uint256",
  52254. "typeString": "uint256"
  52255. }
  52256. },
  52257. {
  52258. "id": 11070,
  52259. "name": "p2",
  52260. "nodeType": "Identifier",
  52261. "overloadedDeclarations": [],
  52262. "referencedDeclaration": 11059,
  52263. "src": "33150:2:50",
  52264. "typeDescriptions": {
  52265. "typeIdentifier": "t_string_memory_ptr",
  52266. "typeString": "string memory"
  52267. }
  52268. },
  52269. {
  52270. "id": 11071,
  52271. "name": "p3",
  52272. "nodeType": "Identifier",
  52273. "overloadedDeclarations": [],
  52274. "referencedDeclaration": 11061,
  52275. "src": "33154:2:50",
  52276. "typeDescriptions": {
  52277. "typeIdentifier": "t_string_memory_ptr",
  52278. "typeString": "string memory"
  52279. }
  52280. }
  52281. ],
  52282. "expression": {
  52283. "argumentTypes": [
  52284. {
  52285. "typeIdentifier": "t_stringliteral_5ab84e1fba099b79ad99dc62242807811428e5c36b5f473a3b74e319a04c4089",
  52286. "typeString": "literal_string \"log(string,uint256,string,string)\""
  52287. },
  52288. {
  52289. "typeIdentifier": "t_string_memory_ptr",
  52290. "typeString": "string memory"
  52291. },
  52292. {
  52293. "typeIdentifier": "t_uint256",
  52294. "typeString": "uint256"
  52295. },
  52296. {
  52297. "typeIdentifier": "t_string_memory_ptr",
  52298. "typeString": "string memory"
  52299. },
  52300. {
  52301. "typeIdentifier": "t_string_memory_ptr",
  52302. "typeString": "string memory"
  52303. }
  52304. ],
  52305. "expression": {
  52306. "id": 11065,
  52307. "name": "abi",
  52308. "nodeType": "Identifier",
  52309. "overloadedDeclarations": [],
  52310. "referencedDeclaration": -1,
  52311. "src": "33081:3:50",
  52312. "typeDescriptions": {
  52313. "typeIdentifier": "t_magic_abi",
  52314. "typeString": "abi"
  52315. }
  52316. },
  52317. "id": 11066,
  52318. "isConstant": false,
  52319. "isLValue": false,
  52320. "isPure": true,
  52321. "lValueRequested": false,
  52322. "memberLocation": "33085:19:50",
  52323. "memberName": "encodeWithSignature",
  52324. "nodeType": "MemberAccess",
  52325. "src": "33081:23:50",
  52326. "typeDescriptions": {
  52327. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  52328. "typeString": "function (string memory) pure returns (bytes memory)"
  52329. }
  52330. },
  52331. "id": 11072,
  52332. "isConstant": false,
  52333. "isLValue": false,
  52334. "isPure": false,
  52335. "kind": "functionCall",
  52336. "lValueRequested": false,
  52337. "nameLocations": [],
  52338. "names": [],
  52339. "nodeType": "FunctionCall",
  52340. "src": "33081:76:50",
  52341. "tryCall": false,
  52342. "typeDescriptions": {
  52343. "typeIdentifier": "t_bytes_memory_ptr",
  52344. "typeString": "bytes memory"
  52345. }
  52346. }
  52347. ],
  52348. "expression": {
  52349. "argumentTypes": [
  52350. {
  52351. "typeIdentifier": "t_bytes_memory_ptr",
  52352. "typeString": "bytes memory"
  52353. }
  52354. ],
  52355. "id": 11064,
  52356. "name": "_sendLogPayload",
  52357. "nodeType": "Identifier",
  52358. "overloadedDeclarations": [],
  52359. "referencedDeclaration": 7315,
  52360. "src": "33065:15:50",
  52361. "typeDescriptions": {
  52362. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  52363. "typeString": "function (bytes memory) pure"
  52364. }
  52365. },
  52366. "id": 11073,
  52367. "isConstant": false,
  52368. "isLValue": false,
  52369. "isPure": false,
  52370. "kind": "functionCall",
  52371. "lValueRequested": false,
  52372. "nameLocations": [],
  52373. "names": [],
  52374. "nodeType": "FunctionCall",
  52375. "src": "33065:93:50",
  52376. "tryCall": false,
  52377. "typeDescriptions": {
  52378. "typeIdentifier": "t_tuple$__$",
  52379. "typeString": "tuple()"
  52380. }
  52381. },
  52382. "id": 11074,
  52383. "nodeType": "ExpressionStatement",
  52384. "src": "33065:93:50"
  52385. }
  52386. ]
  52387. },
  52388. "implemented": true,
  52389. "kind": "function",
  52390. "modifiers": [],
  52391. "name": "log",
  52392. "nameLocation": "32971:3:50",
  52393. "parameters": {
  52394. "id": 11062,
  52395. "nodeType": "ParameterList",
  52396. "parameters": [
  52397. {
  52398. "constant": false,
  52399. "id": 11055,
  52400. "mutability": "mutable",
  52401. "name": "p0",
  52402. "nameLocation": "32989:2:50",
  52403. "nodeType": "VariableDeclaration",
  52404. "scope": 11076,
  52405. "src": "32975:16:50",
  52406. "stateVariable": false,
  52407. "storageLocation": "memory",
  52408. "typeDescriptions": {
  52409. "typeIdentifier": "t_string_memory_ptr",
  52410. "typeString": "string"
  52411. },
  52412. "typeName": {
  52413. "id": 11054,
  52414. "name": "string",
  52415. "nodeType": "ElementaryTypeName",
  52416. "src": "32975:6:50",
  52417. "typeDescriptions": {
  52418. "typeIdentifier": "t_string_storage_ptr",
  52419. "typeString": "string"
  52420. }
  52421. },
  52422. "visibility": "internal"
  52423. },
  52424. {
  52425. "constant": false,
  52426. "id": 11057,
  52427. "mutability": "mutable",
  52428. "name": "p1",
  52429. "nameLocation": "33001:2:50",
  52430. "nodeType": "VariableDeclaration",
  52431. "scope": 11076,
  52432. "src": "32993:10:50",
  52433. "stateVariable": false,
  52434. "storageLocation": "default",
  52435. "typeDescriptions": {
  52436. "typeIdentifier": "t_uint256",
  52437. "typeString": "uint256"
  52438. },
  52439. "typeName": {
  52440. "id": 11056,
  52441. "name": "uint256",
  52442. "nodeType": "ElementaryTypeName",
  52443. "src": "32993:7:50",
  52444. "typeDescriptions": {
  52445. "typeIdentifier": "t_uint256",
  52446. "typeString": "uint256"
  52447. }
  52448. },
  52449. "visibility": "internal"
  52450. },
  52451. {
  52452. "constant": false,
  52453. "id": 11059,
  52454. "mutability": "mutable",
  52455. "name": "p2",
  52456. "nameLocation": "33019:2:50",
  52457. "nodeType": "VariableDeclaration",
  52458. "scope": 11076,
  52459. "src": "33005:16:50",
  52460. "stateVariable": false,
  52461. "storageLocation": "memory",
  52462. "typeDescriptions": {
  52463. "typeIdentifier": "t_string_memory_ptr",
  52464. "typeString": "string"
  52465. },
  52466. "typeName": {
  52467. "id": 11058,
  52468. "name": "string",
  52469. "nodeType": "ElementaryTypeName",
  52470. "src": "33005:6:50",
  52471. "typeDescriptions": {
  52472. "typeIdentifier": "t_string_storage_ptr",
  52473. "typeString": "string"
  52474. }
  52475. },
  52476. "visibility": "internal"
  52477. },
  52478. {
  52479. "constant": false,
  52480. "id": 11061,
  52481. "mutability": "mutable",
  52482. "name": "p3",
  52483. "nameLocation": "33037:2:50",
  52484. "nodeType": "VariableDeclaration",
  52485. "scope": 11076,
  52486. "src": "33023:16:50",
  52487. "stateVariable": false,
  52488. "storageLocation": "memory",
  52489. "typeDescriptions": {
  52490. "typeIdentifier": "t_string_memory_ptr",
  52491. "typeString": "string"
  52492. },
  52493. "typeName": {
  52494. "id": 11060,
  52495. "name": "string",
  52496. "nodeType": "ElementaryTypeName",
  52497. "src": "33023:6:50",
  52498. "typeDescriptions": {
  52499. "typeIdentifier": "t_string_storage_ptr",
  52500. "typeString": "string"
  52501. }
  52502. },
  52503. "visibility": "internal"
  52504. }
  52505. ],
  52506. "src": "32974:66:50"
  52507. },
  52508. "returnParameters": {
  52509. "id": 11063,
  52510. "nodeType": "ParameterList",
  52511. "parameters": [],
  52512. "src": "33055:0:50"
  52513. },
  52514. "scope": 15355,
  52515. "stateMutability": "pure",
  52516. "virtual": false,
  52517. "visibility": "internal"
  52518. },
  52519. {
  52520. "id": 11099,
  52521. "nodeType": "FunctionDefinition",
  52522. "src": "33171:192:50",
  52523. "nodes": [],
  52524. "body": {
  52525. "id": 11098,
  52526. "nodeType": "Block",
  52527. "src": "33255:108:50",
  52528. "nodes": [],
  52529. "statements": [
  52530. {
  52531. "expression": {
  52532. "arguments": [
  52533. {
  52534. "arguments": [
  52535. {
  52536. "hexValue": "6c6f6728737472696e672c75696e743235362c737472696e672c626f6f6c29",
  52537. "id": 11090,
  52538. "isConstant": false,
  52539. "isLValue": false,
  52540. "isPure": true,
  52541. "kind": "string",
  52542. "lValueRequested": false,
  52543. "nodeType": "Literal",
  52544. "src": "33305:33:50",
  52545. "typeDescriptions": {
  52546. "typeIdentifier": "t_stringliteral_7d24491d69f4bc88a6e68cd8228b6698af11fe37f60f65c80e3f11428a8eba2f",
  52547. "typeString": "literal_string \"log(string,uint256,string,bool)\""
  52548. },
  52549. "value": "log(string,uint256,string,bool)"
  52550. },
  52551. {
  52552. "id": 11091,
  52553. "name": "p0",
  52554. "nodeType": "Identifier",
  52555. "overloadedDeclarations": [],
  52556. "referencedDeclaration": 11078,
  52557. "src": "33340:2:50",
  52558. "typeDescriptions": {
  52559. "typeIdentifier": "t_string_memory_ptr",
  52560. "typeString": "string memory"
  52561. }
  52562. },
  52563. {
  52564. "id": 11092,
  52565. "name": "p1",
  52566. "nodeType": "Identifier",
  52567. "overloadedDeclarations": [],
  52568. "referencedDeclaration": 11080,
  52569. "src": "33344:2:50",
  52570. "typeDescriptions": {
  52571. "typeIdentifier": "t_uint256",
  52572. "typeString": "uint256"
  52573. }
  52574. },
  52575. {
  52576. "id": 11093,
  52577. "name": "p2",
  52578. "nodeType": "Identifier",
  52579. "overloadedDeclarations": [],
  52580. "referencedDeclaration": 11082,
  52581. "src": "33348:2:50",
  52582. "typeDescriptions": {
  52583. "typeIdentifier": "t_string_memory_ptr",
  52584. "typeString": "string memory"
  52585. }
  52586. },
  52587. {
  52588. "id": 11094,
  52589. "name": "p3",
  52590. "nodeType": "Identifier",
  52591. "overloadedDeclarations": [],
  52592. "referencedDeclaration": 11084,
  52593. "src": "33352:2:50",
  52594. "typeDescriptions": {
  52595. "typeIdentifier": "t_bool",
  52596. "typeString": "bool"
  52597. }
  52598. }
  52599. ],
  52600. "expression": {
  52601. "argumentTypes": [
  52602. {
  52603. "typeIdentifier": "t_stringliteral_7d24491d69f4bc88a6e68cd8228b6698af11fe37f60f65c80e3f11428a8eba2f",
  52604. "typeString": "literal_string \"log(string,uint256,string,bool)\""
  52605. },
  52606. {
  52607. "typeIdentifier": "t_string_memory_ptr",
  52608. "typeString": "string memory"
  52609. },
  52610. {
  52611. "typeIdentifier": "t_uint256",
  52612. "typeString": "uint256"
  52613. },
  52614. {
  52615. "typeIdentifier": "t_string_memory_ptr",
  52616. "typeString": "string memory"
  52617. },
  52618. {
  52619. "typeIdentifier": "t_bool",
  52620. "typeString": "bool"
  52621. }
  52622. ],
  52623. "expression": {
  52624. "id": 11088,
  52625. "name": "abi",
  52626. "nodeType": "Identifier",
  52627. "overloadedDeclarations": [],
  52628. "referencedDeclaration": -1,
  52629. "src": "33281:3:50",
  52630. "typeDescriptions": {
  52631. "typeIdentifier": "t_magic_abi",
  52632. "typeString": "abi"
  52633. }
  52634. },
  52635. "id": 11089,
  52636. "isConstant": false,
  52637. "isLValue": false,
  52638. "isPure": true,
  52639. "lValueRequested": false,
  52640. "memberLocation": "33285:19:50",
  52641. "memberName": "encodeWithSignature",
  52642. "nodeType": "MemberAccess",
  52643. "src": "33281:23:50",
  52644. "typeDescriptions": {
  52645. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  52646. "typeString": "function (string memory) pure returns (bytes memory)"
  52647. }
  52648. },
  52649. "id": 11095,
  52650. "isConstant": false,
  52651. "isLValue": false,
  52652. "isPure": false,
  52653. "kind": "functionCall",
  52654. "lValueRequested": false,
  52655. "nameLocations": [],
  52656. "names": [],
  52657. "nodeType": "FunctionCall",
  52658. "src": "33281:74:50",
  52659. "tryCall": false,
  52660. "typeDescriptions": {
  52661. "typeIdentifier": "t_bytes_memory_ptr",
  52662. "typeString": "bytes memory"
  52663. }
  52664. }
  52665. ],
  52666. "expression": {
  52667. "argumentTypes": [
  52668. {
  52669. "typeIdentifier": "t_bytes_memory_ptr",
  52670. "typeString": "bytes memory"
  52671. }
  52672. ],
  52673. "id": 11087,
  52674. "name": "_sendLogPayload",
  52675. "nodeType": "Identifier",
  52676. "overloadedDeclarations": [],
  52677. "referencedDeclaration": 7315,
  52678. "src": "33265:15:50",
  52679. "typeDescriptions": {
  52680. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  52681. "typeString": "function (bytes memory) pure"
  52682. }
  52683. },
  52684. "id": 11096,
  52685. "isConstant": false,
  52686. "isLValue": false,
  52687. "isPure": false,
  52688. "kind": "functionCall",
  52689. "lValueRequested": false,
  52690. "nameLocations": [],
  52691. "names": [],
  52692. "nodeType": "FunctionCall",
  52693. "src": "33265:91:50",
  52694. "tryCall": false,
  52695. "typeDescriptions": {
  52696. "typeIdentifier": "t_tuple$__$",
  52697. "typeString": "tuple()"
  52698. }
  52699. },
  52700. "id": 11097,
  52701. "nodeType": "ExpressionStatement",
  52702. "src": "33265:91:50"
  52703. }
  52704. ]
  52705. },
  52706. "implemented": true,
  52707. "kind": "function",
  52708. "modifiers": [],
  52709. "name": "log",
  52710. "nameLocation": "33180:3:50",
  52711. "parameters": {
  52712. "id": 11085,
  52713. "nodeType": "ParameterList",
  52714. "parameters": [
  52715. {
  52716. "constant": false,
  52717. "id": 11078,
  52718. "mutability": "mutable",
  52719. "name": "p0",
  52720. "nameLocation": "33198:2:50",
  52721. "nodeType": "VariableDeclaration",
  52722. "scope": 11099,
  52723. "src": "33184:16:50",
  52724. "stateVariable": false,
  52725. "storageLocation": "memory",
  52726. "typeDescriptions": {
  52727. "typeIdentifier": "t_string_memory_ptr",
  52728. "typeString": "string"
  52729. },
  52730. "typeName": {
  52731. "id": 11077,
  52732. "name": "string",
  52733. "nodeType": "ElementaryTypeName",
  52734. "src": "33184:6:50",
  52735. "typeDescriptions": {
  52736. "typeIdentifier": "t_string_storage_ptr",
  52737. "typeString": "string"
  52738. }
  52739. },
  52740. "visibility": "internal"
  52741. },
  52742. {
  52743. "constant": false,
  52744. "id": 11080,
  52745. "mutability": "mutable",
  52746. "name": "p1",
  52747. "nameLocation": "33210:2:50",
  52748. "nodeType": "VariableDeclaration",
  52749. "scope": 11099,
  52750. "src": "33202:10:50",
  52751. "stateVariable": false,
  52752. "storageLocation": "default",
  52753. "typeDescriptions": {
  52754. "typeIdentifier": "t_uint256",
  52755. "typeString": "uint256"
  52756. },
  52757. "typeName": {
  52758. "id": 11079,
  52759. "name": "uint256",
  52760. "nodeType": "ElementaryTypeName",
  52761. "src": "33202:7:50",
  52762. "typeDescriptions": {
  52763. "typeIdentifier": "t_uint256",
  52764. "typeString": "uint256"
  52765. }
  52766. },
  52767. "visibility": "internal"
  52768. },
  52769. {
  52770. "constant": false,
  52771. "id": 11082,
  52772. "mutability": "mutable",
  52773. "name": "p2",
  52774. "nameLocation": "33228:2:50",
  52775. "nodeType": "VariableDeclaration",
  52776. "scope": 11099,
  52777. "src": "33214:16:50",
  52778. "stateVariable": false,
  52779. "storageLocation": "memory",
  52780. "typeDescriptions": {
  52781. "typeIdentifier": "t_string_memory_ptr",
  52782. "typeString": "string"
  52783. },
  52784. "typeName": {
  52785. "id": 11081,
  52786. "name": "string",
  52787. "nodeType": "ElementaryTypeName",
  52788. "src": "33214:6:50",
  52789. "typeDescriptions": {
  52790. "typeIdentifier": "t_string_storage_ptr",
  52791. "typeString": "string"
  52792. }
  52793. },
  52794. "visibility": "internal"
  52795. },
  52796. {
  52797. "constant": false,
  52798. "id": 11084,
  52799. "mutability": "mutable",
  52800. "name": "p3",
  52801. "nameLocation": "33237:2:50",
  52802. "nodeType": "VariableDeclaration",
  52803. "scope": 11099,
  52804. "src": "33232:7:50",
  52805. "stateVariable": false,
  52806. "storageLocation": "default",
  52807. "typeDescriptions": {
  52808. "typeIdentifier": "t_bool",
  52809. "typeString": "bool"
  52810. },
  52811. "typeName": {
  52812. "id": 11083,
  52813. "name": "bool",
  52814. "nodeType": "ElementaryTypeName",
  52815. "src": "33232:4:50",
  52816. "typeDescriptions": {
  52817. "typeIdentifier": "t_bool",
  52818. "typeString": "bool"
  52819. }
  52820. },
  52821. "visibility": "internal"
  52822. }
  52823. ],
  52824. "src": "33183:57:50"
  52825. },
  52826. "returnParameters": {
  52827. "id": 11086,
  52828. "nodeType": "ParameterList",
  52829. "parameters": [],
  52830. "src": "33255:0:50"
  52831. },
  52832. "scope": 15355,
  52833. "stateMutability": "pure",
  52834. "virtual": false,
  52835. "visibility": "internal"
  52836. },
  52837. {
  52838. "id": 11122,
  52839. "nodeType": "FunctionDefinition",
  52840. "src": "33369:198:50",
  52841. "nodes": [],
  52842. "body": {
  52843. "id": 11121,
  52844. "nodeType": "Block",
  52845. "src": "33456:111:50",
  52846. "nodes": [],
  52847. "statements": [
  52848. {
  52849. "expression": {
  52850. "arguments": [
  52851. {
  52852. "arguments": [
  52853. {
  52854. "hexValue": "6c6f6728737472696e672c75696e743235362c737472696e672c6164647265737329",
  52855. "id": 11113,
  52856. "isConstant": false,
  52857. "isLValue": false,
  52858. "isPure": true,
  52859. "kind": "string",
  52860. "lValueRequested": false,
  52861. "nodeType": "Literal",
  52862. "src": "33506:36:50",
  52863. "typeDescriptions": {
  52864. "typeIdentifier": "t_stringliteral_7c4632a48572fa2d4647539e525c9742d692f8e780540d6116f897ab472257cb",
  52865. "typeString": "literal_string \"log(string,uint256,string,address)\""
  52866. },
  52867. "value": "log(string,uint256,string,address)"
  52868. },
  52869. {
  52870. "id": 11114,
  52871. "name": "p0",
  52872. "nodeType": "Identifier",
  52873. "overloadedDeclarations": [],
  52874. "referencedDeclaration": 11101,
  52875. "src": "33544:2:50",
  52876. "typeDescriptions": {
  52877. "typeIdentifier": "t_string_memory_ptr",
  52878. "typeString": "string memory"
  52879. }
  52880. },
  52881. {
  52882. "id": 11115,
  52883. "name": "p1",
  52884. "nodeType": "Identifier",
  52885. "overloadedDeclarations": [],
  52886. "referencedDeclaration": 11103,
  52887. "src": "33548:2:50",
  52888. "typeDescriptions": {
  52889. "typeIdentifier": "t_uint256",
  52890. "typeString": "uint256"
  52891. }
  52892. },
  52893. {
  52894. "id": 11116,
  52895. "name": "p2",
  52896. "nodeType": "Identifier",
  52897. "overloadedDeclarations": [],
  52898. "referencedDeclaration": 11105,
  52899. "src": "33552:2:50",
  52900. "typeDescriptions": {
  52901. "typeIdentifier": "t_string_memory_ptr",
  52902. "typeString": "string memory"
  52903. }
  52904. },
  52905. {
  52906. "id": 11117,
  52907. "name": "p3",
  52908. "nodeType": "Identifier",
  52909. "overloadedDeclarations": [],
  52910. "referencedDeclaration": 11107,
  52911. "src": "33556:2:50",
  52912. "typeDescriptions": {
  52913. "typeIdentifier": "t_address",
  52914. "typeString": "address"
  52915. }
  52916. }
  52917. ],
  52918. "expression": {
  52919. "argumentTypes": [
  52920. {
  52921. "typeIdentifier": "t_stringliteral_7c4632a48572fa2d4647539e525c9742d692f8e780540d6116f897ab472257cb",
  52922. "typeString": "literal_string \"log(string,uint256,string,address)\""
  52923. },
  52924. {
  52925. "typeIdentifier": "t_string_memory_ptr",
  52926. "typeString": "string memory"
  52927. },
  52928. {
  52929. "typeIdentifier": "t_uint256",
  52930. "typeString": "uint256"
  52931. },
  52932. {
  52933. "typeIdentifier": "t_string_memory_ptr",
  52934. "typeString": "string memory"
  52935. },
  52936. {
  52937. "typeIdentifier": "t_address",
  52938. "typeString": "address"
  52939. }
  52940. ],
  52941. "expression": {
  52942. "id": 11111,
  52943. "name": "abi",
  52944. "nodeType": "Identifier",
  52945. "overloadedDeclarations": [],
  52946. "referencedDeclaration": -1,
  52947. "src": "33482:3:50",
  52948. "typeDescriptions": {
  52949. "typeIdentifier": "t_magic_abi",
  52950. "typeString": "abi"
  52951. }
  52952. },
  52953. "id": 11112,
  52954. "isConstant": false,
  52955. "isLValue": false,
  52956. "isPure": true,
  52957. "lValueRequested": false,
  52958. "memberLocation": "33486:19:50",
  52959. "memberName": "encodeWithSignature",
  52960. "nodeType": "MemberAccess",
  52961. "src": "33482:23:50",
  52962. "typeDescriptions": {
  52963. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  52964. "typeString": "function (string memory) pure returns (bytes memory)"
  52965. }
  52966. },
  52967. "id": 11118,
  52968. "isConstant": false,
  52969. "isLValue": false,
  52970. "isPure": false,
  52971. "kind": "functionCall",
  52972. "lValueRequested": false,
  52973. "nameLocations": [],
  52974. "names": [],
  52975. "nodeType": "FunctionCall",
  52976. "src": "33482:77:50",
  52977. "tryCall": false,
  52978. "typeDescriptions": {
  52979. "typeIdentifier": "t_bytes_memory_ptr",
  52980. "typeString": "bytes memory"
  52981. }
  52982. }
  52983. ],
  52984. "expression": {
  52985. "argumentTypes": [
  52986. {
  52987. "typeIdentifier": "t_bytes_memory_ptr",
  52988. "typeString": "bytes memory"
  52989. }
  52990. ],
  52991. "id": 11110,
  52992. "name": "_sendLogPayload",
  52993. "nodeType": "Identifier",
  52994. "overloadedDeclarations": [],
  52995. "referencedDeclaration": 7315,
  52996. "src": "33466:15:50",
  52997. "typeDescriptions": {
  52998. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  52999. "typeString": "function (bytes memory) pure"
  53000. }
  53001. },
  53002. "id": 11119,
  53003. "isConstant": false,
  53004. "isLValue": false,
  53005. "isPure": false,
  53006. "kind": "functionCall",
  53007. "lValueRequested": false,
  53008. "nameLocations": [],
  53009. "names": [],
  53010. "nodeType": "FunctionCall",
  53011. "src": "33466:94:50",
  53012. "tryCall": false,
  53013. "typeDescriptions": {
  53014. "typeIdentifier": "t_tuple$__$",
  53015. "typeString": "tuple()"
  53016. }
  53017. },
  53018. "id": 11120,
  53019. "nodeType": "ExpressionStatement",
  53020. "src": "33466:94:50"
  53021. }
  53022. ]
  53023. },
  53024. "implemented": true,
  53025. "kind": "function",
  53026. "modifiers": [],
  53027. "name": "log",
  53028. "nameLocation": "33378:3:50",
  53029. "parameters": {
  53030. "id": 11108,
  53031. "nodeType": "ParameterList",
  53032. "parameters": [
  53033. {
  53034. "constant": false,
  53035. "id": 11101,
  53036. "mutability": "mutable",
  53037. "name": "p0",
  53038. "nameLocation": "33396:2:50",
  53039. "nodeType": "VariableDeclaration",
  53040. "scope": 11122,
  53041. "src": "33382:16:50",
  53042. "stateVariable": false,
  53043. "storageLocation": "memory",
  53044. "typeDescriptions": {
  53045. "typeIdentifier": "t_string_memory_ptr",
  53046. "typeString": "string"
  53047. },
  53048. "typeName": {
  53049. "id": 11100,
  53050. "name": "string",
  53051. "nodeType": "ElementaryTypeName",
  53052. "src": "33382:6:50",
  53053. "typeDescriptions": {
  53054. "typeIdentifier": "t_string_storage_ptr",
  53055. "typeString": "string"
  53056. }
  53057. },
  53058. "visibility": "internal"
  53059. },
  53060. {
  53061. "constant": false,
  53062. "id": 11103,
  53063. "mutability": "mutable",
  53064. "name": "p1",
  53065. "nameLocation": "33408:2:50",
  53066. "nodeType": "VariableDeclaration",
  53067. "scope": 11122,
  53068. "src": "33400:10:50",
  53069. "stateVariable": false,
  53070. "storageLocation": "default",
  53071. "typeDescriptions": {
  53072. "typeIdentifier": "t_uint256",
  53073. "typeString": "uint256"
  53074. },
  53075. "typeName": {
  53076. "id": 11102,
  53077. "name": "uint256",
  53078. "nodeType": "ElementaryTypeName",
  53079. "src": "33400:7:50",
  53080. "typeDescriptions": {
  53081. "typeIdentifier": "t_uint256",
  53082. "typeString": "uint256"
  53083. }
  53084. },
  53085. "visibility": "internal"
  53086. },
  53087. {
  53088. "constant": false,
  53089. "id": 11105,
  53090. "mutability": "mutable",
  53091. "name": "p2",
  53092. "nameLocation": "33426:2:50",
  53093. "nodeType": "VariableDeclaration",
  53094. "scope": 11122,
  53095. "src": "33412:16:50",
  53096. "stateVariable": false,
  53097. "storageLocation": "memory",
  53098. "typeDescriptions": {
  53099. "typeIdentifier": "t_string_memory_ptr",
  53100. "typeString": "string"
  53101. },
  53102. "typeName": {
  53103. "id": 11104,
  53104. "name": "string",
  53105. "nodeType": "ElementaryTypeName",
  53106. "src": "33412:6:50",
  53107. "typeDescriptions": {
  53108. "typeIdentifier": "t_string_storage_ptr",
  53109. "typeString": "string"
  53110. }
  53111. },
  53112. "visibility": "internal"
  53113. },
  53114. {
  53115. "constant": false,
  53116. "id": 11107,
  53117. "mutability": "mutable",
  53118. "name": "p3",
  53119. "nameLocation": "33438:2:50",
  53120. "nodeType": "VariableDeclaration",
  53121. "scope": 11122,
  53122. "src": "33430:10:50",
  53123. "stateVariable": false,
  53124. "storageLocation": "default",
  53125. "typeDescriptions": {
  53126. "typeIdentifier": "t_address",
  53127. "typeString": "address"
  53128. },
  53129. "typeName": {
  53130. "id": 11106,
  53131. "name": "address",
  53132. "nodeType": "ElementaryTypeName",
  53133. "src": "33430:7:50",
  53134. "stateMutability": "nonpayable",
  53135. "typeDescriptions": {
  53136. "typeIdentifier": "t_address",
  53137. "typeString": "address"
  53138. }
  53139. },
  53140. "visibility": "internal"
  53141. }
  53142. ],
  53143. "src": "33381:60:50"
  53144. },
  53145. "returnParameters": {
  53146. "id": 11109,
  53147. "nodeType": "ParameterList",
  53148. "parameters": [],
  53149. "src": "33456:0:50"
  53150. },
  53151. "scope": 15355,
  53152. "stateMutability": "pure",
  53153. "virtual": false,
  53154. "visibility": "internal"
  53155. },
  53156. {
  53157. "id": 11145,
  53158. "nodeType": "FunctionDefinition",
  53159. "src": "33573:187:50",
  53160. "nodes": [],
  53161. "body": {
  53162. "id": 11144,
  53163. "nodeType": "Block",
  53164. "src": "33651:109:50",
  53165. "nodes": [],
  53166. "statements": [
  53167. {
  53168. "expression": {
  53169. "arguments": [
  53170. {
  53171. "arguments": [
  53172. {
  53173. "hexValue": "6c6f6728737472696e672c75696e743235362c626f6f6c2c75696e7432353629",
  53174. "id": 11136,
  53175. "isConstant": false,
  53176. "isLValue": false,
  53177. "isPure": true,
  53178. "kind": "string",
  53179. "lValueRequested": false,
  53180. "nodeType": "Literal",
  53181. "src": "33701:34:50",
  53182. "typeDescriptions": {
  53183. "typeIdentifier": "t_stringliteral_e41b6f6f58a4f880a3266f23bebaff73175ff4306317c20982bc2eabc04edd13",
  53184. "typeString": "literal_string \"log(string,uint256,bool,uint256)\""
  53185. },
  53186. "value": "log(string,uint256,bool,uint256)"
  53187. },
  53188. {
  53189. "id": 11137,
  53190. "name": "p0",
  53191. "nodeType": "Identifier",
  53192. "overloadedDeclarations": [],
  53193. "referencedDeclaration": 11124,
  53194. "src": "33737:2:50",
  53195. "typeDescriptions": {
  53196. "typeIdentifier": "t_string_memory_ptr",
  53197. "typeString": "string memory"
  53198. }
  53199. },
  53200. {
  53201. "id": 11138,
  53202. "name": "p1",
  53203. "nodeType": "Identifier",
  53204. "overloadedDeclarations": [],
  53205. "referencedDeclaration": 11126,
  53206. "src": "33741:2:50",
  53207. "typeDescriptions": {
  53208. "typeIdentifier": "t_uint256",
  53209. "typeString": "uint256"
  53210. }
  53211. },
  53212. {
  53213. "id": 11139,
  53214. "name": "p2",
  53215. "nodeType": "Identifier",
  53216. "overloadedDeclarations": [],
  53217. "referencedDeclaration": 11128,
  53218. "src": "33745:2:50",
  53219. "typeDescriptions": {
  53220. "typeIdentifier": "t_bool",
  53221. "typeString": "bool"
  53222. }
  53223. },
  53224. {
  53225. "id": 11140,
  53226. "name": "p3",
  53227. "nodeType": "Identifier",
  53228. "overloadedDeclarations": [],
  53229. "referencedDeclaration": 11130,
  53230. "src": "33749:2:50",
  53231. "typeDescriptions": {
  53232. "typeIdentifier": "t_uint256",
  53233. "typeString": "uint256"
  53234. }
  53235. }
  53236. ],
  53237. "expression": {
  53238. "argumentTypes": [
  53239. {
  53240. "typeIdentifier": "t_stringliteral_e41b6f6f58a4f880a3266f23bebaff73175ff4306317c20982bc2eabc04edd13",
  53241. "typeString": "literal_string \"log(string,uint256,bool,uint256)\""
  53242. },
  53243. {
  53244. "typeIdentifier": "t_string_memory_ptr",
  53245. "typeString": "string memory"
  53246. },
  53247. {
  53248. "typeIdentifier": "t_uint256",
  53249. "typeString": "uint256"
  53250. },
  53251. {
  53252. "typeIdentifier": "t_bool",
  53253. "typeString": "bool"
  53254. },
  53255. {
  53256. "typeIdentifier": "t_uint256",
  53257. "typeString": "uint256"
  53258. }
  53259. ],
  53260. "expression": {
  53261. "id": 11134,
  53262. "name": "abi",
  53263. "nodeType": "Identifier",
  53264. "overloadedDeclarations": [],
  53265. "referencedDeclaration": -1,
  53266. "src": "33677:3:50",
  53267. "typeDescriptions": {
  53268. "typeIdentifier": "t_magic_abi",
  53269. "typeString": "abi"
  53270. }
  53271. },
  53272. "id": 11135,
  53273. "isConstant": false,
  53274. "isLValue": false,
  53275. "isPure": true,
  53276. "lValueRequested": false,
  53277. "memberLocation": "33681:19:50",
  53278. "memberName": "encodeWithSignature",
  53279. "nodeType": "MemberAccess",
  53280. "src": "33677:23:50",
  53281. "typeDescriptions": {
  53282. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  53283. "typeString": "function (string memory) pure returns (bytes memory)"
  53284. }
  53285. },
  53286. "id": 11141,
  53287. "isConstant": false,
  53288. "isLValue": false,
  53289. "isPure": false,
  53290. "kind": "functionCall",
  53291. "lValueRequested": false,
  53292. "nameLocations": [],
  53293. "names": [],
  53294. "nodeType": "FunctionCall",
  53295. "src": "33677:75:50",
  53296. "tryCall": false,
  53297. "typeDescriptions": {
  53298. "typeIdentifier": "t_bytes_memory_ptr",
  53299. "typeString": "bytes memory"
  53300. }
  53301. }
  53302. ],
  53303. "expression": {
  53304. "argumentTypes": [
  53305. {
  53306. "typeIdentifier": "t_bytes_memory_ptr",
  53307. "typeString": "bytes memory"
  53308. }
  53309. ],
  53310. "id": 11133,
  53311. "name": "_sendLogPayload",
  53312. "nodeType": "Identifier",
  53313. "overloadedDeclarations": [],
  53314. "referencedDeclaration": 7315,
  53315. "src": "33661:15:50",
  53316. "typeDescriptions": {
  53317. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  53318. "typeString": "function (bytes memory) pure"
  53319. }
  53320. },
  53321. "id": 11142,
  53322. "isConstant": false,
  53323. "isLValue": false,
  53324. "isPure": false,
  53325. "kind": "functionCall",
  53326. "lValueRequested": false,
  53327. "nameLocations": [],
  53328. "names": [],
  53329. "nodeType": "FunctionCall",
  53330. "src": "33661:92:50",
  53331. "tryCall": false,
  53332. "typeDescriptions": {
  53333. "typeIdentifier": "t_tuple$__$",
  53334. "typeString": "tuple()"
  53335. }
  53336. },
  53337. "id": 11143,
  53338. "nodeType": "ExpressionStatement",
  53339. "src": "33661:92:50"
  53340. }
  53341. ]
  53342. },
  53343. "implemented": true,
  53344. "kind": "function",
  53345. "modifiers": [],
  53346. "name": "log",
  53347. "nameLocation": "33582:3:50",
  53348. "parameters": {
  53349. "id": 11131,
  53350. "nodeType": "ParameterList",
  53351. "parameters": [
  53352. {
  53353. "constant": false,
  53354. "id": 11124,
  53355. "mutability": "mutable",
  53356. "name": "p0",
  53357. "nameLocation": "33600:2:50",
  53358. "nodeType": "VariableDeclaration",
  53359. "scope": 11145,
  53360. "src": "33586:16:50",
  53361. "stateVariable": false,
  53362. "storageLocation": "memory",
  53363. "typeDescriptions": {
  53364. "typeIdentifier": "t_string_memory_ptr",
  53365. "typeString": "string"
  53366. },
  53367. "typeName": {
  53368. "id": 11123,
  53369. "name": "string",
  53370. "nodeType": "ElementaryTypeName",
  53371. "src": "33586:6:50",
  53372. "typeDescriptions": {
  53373. "typeIdentifier": "t_string_storage_ptr",
  53374. "typeString": "string"
  53375. }
  53376. },
  53377. "visibility": "internal"
  53378. },
  53379. {
  53380. "constant": false,
  53381. "id": 11126,
  53382. "mutability": "mutable",
  53383. "name": "p1",
  53384. "nameLocation": "33612:2:50",
  53385. "nodeType": "VariableDeclaration",
  53386. "scope": 11145,
  53387. "src": "33604:10:50",
  53388. "stateVariable": false,
  53389. "storageLocation": "default",
  53390. "typeDescriptions": {
  53391. "typeIdentifier": "t_uint256",
  53392. "typeString": "uint256"
  53393. },
  53394. "typeName": {
  53395. "id": 11125,
  53396. "name": "uint256",
  53397. "nodeType": "ElementaryTypeName",
  53398. "src": "33604:7:50",
  53399. "typeDescriptions": {
  53400. "typeIdentifier": "t_uint256",
  53401. "typeString": "uint256"
  53402. }
  53403. },
  53404. "visibility": "internal"
  53405. },
  53406. {
  53407. "constant": false,
  53408. "id": 11128,
  53409. "mutability": "mutable",
  53410. "name": "p2",
  53411. "nameLocation": "33621:2:50",
  53412. "nodeType": "VariableDeclaration",
  53413. "scope": 11145,
  53414. "src": "33616:7:50",
  53415. "stateVariable": false,
  53416. "storageLocation": "default",
  53417. "typeDescriptions": {
  53418. "typeIdentifier": "t_bool",
  53419. "typeString": "bool"
  53420. },
  53421. "typeName": {
  53422. "id": 11127,
  53423. "name": "bool",
  53424. "nodeType": "ElementaryTypeName",
  53425. "src": "33616:4:50",
  53426. "typeDescriptions": {
  53427. "typeIdentifier": "t_bool",
  53428. "typeString": "bool"
  53429. }
  53430. },
  53431. "visibility": "internal"
  53432. },
  53433. {
  53434. "constant": false,
  53435. "id": 11130,
  53436. "mutability": "mutable",
  53437. "name": "p3",
  53438. "nameLocation": "33633:2:50",
  53439. "nodeType": "VariableDeclaration",
  53440. "scope": 11145,
  53441. "src": "33625:10:50",
  53442. "stateVariable": false,
  53443. "storageLocation": "default",
  53444. "typeDescriptions": {
  53445. "typeIdentifier": "t_uint256",
  53446. "typeString": "uint256"
  53447. },
  53448. "typeName": {
  53449. "id": 11129,
  53450. "name": "uint256",
  53451. "nodeType": "ElementaryTypeName",
  53452. "src": "33625:7:50",
  53453. "typeDescriptions": {
  53454. "typeIdentifier": "t_uint256",
  53455. "typeString": "uint256"
  53456. }
  53457. },
  53458. "visibility": "internal"
  53459. }
  53460. ],
  53461. "src": "33585:51:50"
  53462. },
  53463. "returnParameters": {
  53464. "id": 11132,
  53465. "nodeType": "ParameterList",
  53466. "parameters": [],
  53467. "src": "33651:0:50"
  53468. },
  53469. "scope": 15355,
  53470. "stateMutability": "pure",
  53471. "virtual": false,
  53472. "visibility": "internal"
  53473. },
  53474. {
  53475. "id": 11168,
  53476. "nodeType": "FunctionDefinition",
  53477. "src": "33766:192:50",
  53478. "nodes": [],
  53479. "body": {
  53480. "id": 11167,
  53481. "nodeType": "Block",
  53482. "src": "33850:108:50",
  53483. "nodes": [],
  53484. "statements": [
  53485. {
  53486. "expression": {
  53487. "arguments": [
  53488. {
  53489. "arguments": [
  53490. {
  53491. "hexValue": "6c6f6728737472696e672c75696e743235362c626f6f6c2c737472696e6729",
  53492. "id": 11159,
  53493. "isConstant": false,
  53494. "isLValue": false,
  53495. "isPure": true,
  53496. "kind": "string",
  53497. "lValueRequested": false,
  53498. "nodeType": "Literal",
  53499. "src": "33900:33:50",
  53500. "typeDescriptions": {
  53501. "typeIdentifier": "t_stringliteral_abf73a9831ab2bdeb8da9d06a81eab42196b20e336ab670ecba37bac94839d87",
  53502. "typeString": "literal_string \"log(string,uint256,bool,string)\""
  53503. },
  53504. "value": "log(string,uint256,bool,string)"
  53505. },
  53506. {
  53507. "id": 11160,
  53508. "name": "p0",
  53509. "nodeType": "Identifier",
  53510. "overloadedDeclarations": [],
  53511. "referencedDeclaration": 11147,
  53512. "src": "33935:2:50",
  53513. "typeDescriptions": {
  53514. "typeIdentifier": "t_string_memory_ptr",
  53515. "typeString": "string memory"
  53516. }
  53517. },
  53518. {
  53519. "id": 11161,
  53520. "name": "p1",
  53521. "nodeType": "Identifier",
  53522. "overloadedDeclarations": [],
  53523. "referencedDeclaration": 11149,
  53524. "src": "33939:2:50",
  53525. "typeDescriptions": {
  53526. "typeIdentifier": "t_uint256",
  53527. "typeString": "uint256"
  53528. }
  53529. },
  53530. {
  53531. "id": 11162,
  53532. "name": "p2",
  53533. "nodeType": "Identifier",
  53534. "overloadedDeclarations": [],
  53535. "referencedDeclaration": 11151,
  53536. "src": "33943:2:50",
  53537. "typeDescriptions": {
  53538. "typeIdentifier": "t_bool",
  53539. "typeString": "bool"
  53540. }
  53541. },
  53542. {
  53543. "id": 11163,
  53544. "name": "p3",
  53545. "nodeType": "Identifier",
  53546. "overloadedDeclarations": [],
  53547. "referencedDeclaration": 11153,
  53548. "src": "33947:2:50",
  53549. "typeDescriptions": {
  53550. "typeIdentifier": "t_string_memory_ptr",
  53551. "typeString": "string memory"
  53552. }
  53553. }
  53554. ],
  53555. "expression": {
  53556. "argumentTypes": [
  53557. {
  53558. "typeIdentifier": "t_stringliteral_abf73a9831ab2bdeb8da9d06a81eab42196b20e336ab670ecba37bac94839d87",
  53559. "typeString": "literal_string \"log(string,uint256,bool,string)\""
  53560. },
  53561. {
  53562. "typeIdentifier": "t_string_memory_ptr",
  53563. "typeString": "string memory"
  53564. },
  53565. {
  53566. "typeIdentifier": "t_uint256",
  53567. "typeString": "uint256"
  53568. },
  53569. {
  53570. "typeIdentifier": "t_bool",
  53571. "typeString": "bool"
  53572. },
  53573. {
  53574. "typeIdentifier": "t_string_memory_ptr",
  53575. "typeString": "string memory"
  53576. }
  53577. ],
  53578. "expression": {
  53579. "id": 11157,
  53580. "name": "abi",
  53581. "nodeType": "Identifier",
  53582. "overloadedDeclarations": [],
  53583. "referencedDeclaration": -1,
  53584. "src": "33876:3:50",
  53585. "typeDescriptions": {
  53586. "typeIdentifier": "t_magic_abi",
  53587. "typeString": "abi"
  53588. }
  53589. },
  53590. "id": 11158,
  53591. "isConstant": false,
  53592. "isLValue": false,
  53593. "isPure": true,
  53594. "lValueRequested": false,
  53595. "memberLocation": "33880:19:50",
  53596. "memberName": "encodeWithSignature",
  53597. "nodeType": "MemberAccess",
  53598. "src": "33876:23:50",
  53599. "typeDescriptions": {
  53600. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  53601. "typeString": "function (string memory) pure returns (bytes memory)"
  53602. }
  53603. },
  53604. "id": 11164,
  53605. "isConstant": false,
  53606. "isLValue": false,
  53607. "isPure": false,
  53608. "kind": "functionCall",
  53609. "lValueRequested": false,
  53610. "nameLocations": [],
  53611. "names": [],
  53612. "nodeType": "FunctionCall",
  53613. "src": "33876:74:50",
  53614. "tryCall": false,
  53615. "typeDescriptions": {
  53616. "typeIdentifier": "t_bytes_memory_ptr",
  53617. "typeString": "bytes memory"
  53618. }
  53619. }
  53620. ],
  53621. "expression": {
  53622. "argumentTypes": [
  53623. {
  53624. "typeIdentifier": "t_bytes_memory_ptr",
  53625. "typeString": "bytes memory"
  53626. }
  53627. ],
  53628. "id": 11156,
  53629. "name": "_sendLogPayload",
  53630. "nodeType": "Identifier",
  53631. "overloadedDeclarations": [],
  53632. "referencedDeclaration": 7315,
  53633. "src": "33860:15:50",
  53634. "typeDescriptions": {
  53635. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  53636. "typeString": "function (bytes memory) pure"
  53637. }
  53638. },
  53639. "id": 11165,
  53640. "isConstant": false,
  53641. "isLValue": false,
  53642. "isPure": false,
  53643. "kind": "functionCall",
  53644. "lValueRequested": false,
  53645. "nameLocations": [],
  53646. "names": [],
  53647. "nodeType": "FunctionCall",
  53648. "src": "33860:91:50",
  53649. "tryCall": false,
  53650. "typeDescriptions": {
  53651. "typeIdentifier": "t_tuple$__$",
  53652. "typeString": "tuple()"
  53653. }
  53654. },
  53655. "id": 11166,
  53656. "nodeType": "ExpressionStatement",
  53657. "src": "33860:91:50"
  53658. }
  53659. ]
  53660. },
  53661. "implemented": true,
  53662. "kind": "function",
  53663. "modifiers": [],
  53664. "name": "log",
  53665. "nameLocation": "33775:3:50",
  53666. "parameters": {
  53667. "id": 11154,
  53668. "nodeType": "ParameterList",
  53669. "parameters": [
  53670. {
  53671. "constant": false,
  53672. "id": 11147,
  53673. "mutability": "mutable",
  53674. "name": "p0",
  53675. "nameLocation": "33793:2:50",
  53676. "nodeType": "VariableDeclaration",
  53677. "scope": 11168,
  53678. "src": "33779:16:50",
  53679. "stateVariable": false,
  53680. "storageLocation": "memory",
  53681. "typeDescriptions": {
  53682. "typeIdentifier": "t_string_memory_ptr",
  53683. "typeString": "string"
  53684. },
  53685. "typeName": {
  53686. "id": 11146,
  53687. "name": "string",
  53688. "nodeType": "ElementaryTypeName",
  53689. "src": "33779:6:50",
  53690. "typeDescriptions": {
  53691. "typeIdentifier": "t_string_storage_ptr",
  53692. "typeString": "string"
  53693. }
  53694. },
  53695. "visibility": "internal"
  53696. },
  53697. {
  53698. "constant": false,
  53699. "id": 11149,
  53700. "mutability": "mutable",
  53701. "name": "p1",
  53702. "nameLocation": "33805:2:50",
  53703. "nodeType": "VariableDeclaration",
  53704. "scope": 11168,
  53705. "src": "33797:10:50",
  53706. "stateVariable": false,
  53707. "storageLocation": "default",
  53708. "typeDescriptions": {
  53709. "typeIdentifier": "t_uint256",
  53710. "typeString": "uint256"
  53711. },
  53712. "typeName": {
  53713. "id": 11148,
  53714. "name": "uint256",
  53715. "nodeType": "ElementaryTypeName",
  53716. "src": "33797:7:50",
  53717. "typeDescriptions": {
  53718. "typeIdentifier": "t_uint256",
  53719. "typeString": "uint256"
  53720. }
  53721. },
  53722. "visibility": "internal"
  53723. },
  53724. {
  53725. "constant": false,
  53726. "id": 11151,
  53727. "mutability": "mutable",
  53728. "name": "p2",
  53729. "nameLocation": "33814:2:50",
  53730. "nodeType": "VariableDeclaration",
  53731. "scope": 11168,
  53732. "src": "33809:7:50",
  53733. "stateVariable": false,
  53734. "storageLocation": "default",
  53735. "typeDescriptions": {
  53736. "typeIdentifier": "t_bool",
  53737. "typeString": "bool"
  53738. },
  53739. "typeName": {
  53740. "id": 11150,
  53741. "name": "bool",
  53742. "nodeType": "ElementaryTypeName",
  53743. "src": "33809:4:50",
  53744. "typeDescriptions": {
  53745. "typeIdentifier": "t_bool",
  53746. "typeString": "bool"
  53747. }
  53748. },
  53749. "visibility": "internal"
  53750. },
  53751. {
  53752. "constant": false,
  53753. "id": 11153,
  53754. "mutability": "mutable",
  53755. "name": "p3",
  53756. "nameLocation": "33832:2:50",
  53757. "nodeType": "VariableDeclaration",
  53758. "scope": 11168,
  53759. "src": "33818:16:50",
  53760. "stateVariable": false,
  53761. "storageLocation": "memory",
  53762. "typeDescriptions": {
  53763. "typeIdentifier": "t_string_memory_ptr",
  53764. "typeString": "string"
  53765. },
  53766. "typeName": {
  53767. "id": 11152,
  53768. "name": "string",
  53769. "nodeType": "ElementaryTypeName",
  53770. "src": "33818:6:50",
  53771. "typeDescriptions": {
  53772. "typeIdentifier": "t_string_storage_ptr",
  53773. "typeString": "string"
  53774. }
  53775. },
  53776. "visibility": "internal"
  53777. }
  53778. ],
  53779. "src": "33778:57:50"
  53780. },
  53781. "returnParameters": {
  53782. "id": 11155,
  53783. "nodeType": "ParameterList",
  53784. "parameters": [],
  53785. "src": "33850:0:50"
  53786. },
  53787. "scope": 15355,
  53788. "stateMutability": "pure",
  53789. "virtual": false,
  53790. "visibility": "internal"
  53791. },
  53792. {
  53793. "id": 11191,
  53794. "nodeType": "FunctionDefinition",
  53795. "src": "33964:181:50",
  53796. "nodes": [],
  53797. "body": {
  53798. "id": 11190,
  53799. "nodeType": "Block",
  53800. "src": "34039:106:50",
  53801. "nodes": [],
  53802. "statements": [
  53803. {
  53804. "expression": {
  53805. "arguments": [
  53806. {
  53807. "arguments": [
  53808. {
  53809. "hexValue": "6c6f6728737472696e672c75696e743235362c626f6f6c2c626f6f6c29",
  53810. "id": 11182,
  53811. "isConstant": false,
  53812. "isLValue": false,
  53813. "isPure": true,
  53814. "kind": "string",
  53815. "lValueRequested": false,
  53816. "nodeType": "Literal",
  53817. "src": "34089:31:50",
  53818. "typeDescriptions": {
  53819. "typeIdentifier": "t_stringliteral_354c36d6798abb81721fb2beaef51c92cab9d4cf16be10f0a4724648784ecb76",
  53820. "typeString": "literal_string \"log(string,uint256,bool,bool)\""
  53821. },
  53822. "value": "log(string,uint256,bool,bool)"
  53823. },
  53824. {
  53825. "id": 11183,
  53826. "name": "p0",
  53827. "nodeType": "Identifier",
  53828. "overloadedDeclarations": [],
  53829. "referencedDeclaration": 11170,
  53830. "src": "34122:2:50",
  53831. "typeDescriptions": {
  53832. "typeIdentifier": "t_string_memory_ptr",
  53833. "typeString": "string memory"
  53834. }
  53835. },
  53836. {
  53837. "id": 11184,
  53838. "name": "p1",
  53839. "nodeType": "Identifier",
  53840. "overloadedDeclarations": [],
  53841. "referencedDeclaration": 11172,
  53842. "src": "34126:2:50",
  53843. "typeDescriptions": {
  53844. "typeIdentifier": "t_uint256",
  53845. "typeString": "uint256"
  53846. }
  53847. },
  53848. {
  53849. "id": 11185,
  53850. "name": "p2",
  53851. "nodeType": "Identifier",
  53852. "overloadedDeclarations": [],
  53853. "referencedDeclaration": 11174,
  53854. "src": "34130:2:50",
  53855. "typeDescriptions": {
  53856. "typeIdentifier": "t_bool",
  53857. "typeString": "bool"
  53858. }
  53859. },
  53860. {
  53861. "id": 11186,
  53862. "name": "p3",
  53863. "nodeType": "Identifier",
  53864. "overloadedDeclarations": [],
  53865. "referencedDeclaration": 11176,
  53866. "src": "34134:2:50",
  53867. "typeDescriptions": {
  53868. "typeIdentifier": "t_bool",
  53869. "typeString": "bool"
  53870. }
  53871. }
  53872. ],
  53873. "expression": {
  53874. "argumentTypes": [
  53875. {
  53876. "typeIdentifier": "t_stringliteral_354c36d6798abb81721fb2beaef51c92cab9d4cf16be10f0a4724648784ecb76",
  53877. "typeString": "literal_string \"log(string,uint256,bool,bool)\""
  53878. },
  53879. {
  53880. "typeIdentifier": "t_string_memory_ptr",
  53881. "typeString": "string memory"
  53882. },
  53883. {
  53884. "typeIdentifier": "t_uint256",
  53885. "typeString": "uint256"
  53886. },
  53887. {
  53888. "typeIdentifier": "t_bool",
  53889. "typeString": "bool"
  53890. },
  53891. {
  53892. "typeIdentifier": "t_bool",
  53893. "typeString": "bool"
  53894. }
  53895. ],
  53896. "expression": {
  53897. "id": 11180,
  53898. "name": "abi",
  53899. "nodeType": "Identifier",
  53900. "overloadedDeclarations": [],
  53901. "referencedDeclaration": -1,
  53902. "src": "34065:3:50",
  53903. "typeDescriptions": {
  53904. "typeIdentifier": "t_magic_abi",
  53905. "typeString": "abi"
  53906. }
  53907. },
  53908. "id": 11181,
  53909. "isConstant": false,
  53910. "isLValue": false,
  53911. "isPure": true,
  53912. "lValueRequested": false,
  53913. "memberLocation": "34069:19:50",
  53914. "memberName": "encodeWithSignature",
  53915. "nodeType": "MemberAccess",
  53916. "src": "34065:23:50",
  53917. "typeDescriptions": {
  53918. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  53919. "typeString": "function (string memory) pure returns (bytes memory)"
  53920. }
  53921. },
  53922. "id": 11187,
  53923. "isConstant": false,
  53924. "isLValue": false,
  53925. "isPure": false,
  53926. "kind": "functionCall",
  53927. "lValueRequested": false,
  53928. "nameLocations": [],
  53929. "names": [],
  53930. "nodeType": "FunctionCall",
  53931. "src": "34065:72:50",
  53932. "tryCall": false,
  53933. "typeDescriptions": {
  53934. "typeIdentifier": "t_bytes_memory_ptr",
  53935. "typeString": "bytes memory"
  53936. }
  53937. }
  53938. ],
  53939. "expression": {
  53940. "argumentTypes": [
  53941. {
  53942. "typeIdentifier": "t_bytes_memory_ptr",
  53943. "typeString": "bytes memory"
  53944. }
  53945. ],
  53946. "id": 11179,
  53947. "name": "_sendLogPayload",
  53948. "nodeType": "Identifier",
  53949. "overloadedDeclarations": [],
  53950. "referencedDeclaration": 7315,
  53951. "src": "34049:15:50",
  53952. "typeDescriptions": {
  53953. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  53954. "typeString": "function (bytes memory) pure"
  53955. }
  53956. },
  53957. "id": 11188,
  53958. "isConstant": false,
  53959. "isLValue": false,
  53960. "isPure": false,
  53961. "kind": "functionCall",
  53962. "lValueRequested": false,
  53963. "nameLocations": [],
  53964. "names": [],
  53965. "nodeType": "FunctionCall",
  53966. "src": "34049:89:50",
  53967. "tryCall": false,
  53968. "typeDescriptions": {
  53969. "typeIdentifier": "t_tuple$__$",
  53970. "typeString": "tuple()"
  53971. }
  53972. },
  53973. "id": 11189,
  53974. "nodeType": "ExpressionStatement",
  53975. "src": "34049:89:50"
  53976. }
  53977. ]
  53978. },
  53979. "implemented": true,
  53980. "kind": "function",
  53981. "modifiers": [],
  53982. "name": "log",
  53983. "nameLocation": "33973:3:50",
  53984. "parameters": {
  53985. "id": 11177,
  53986. "nodeType": "ParameterList",
  53987. "parameters": [
  53988. {
  53989. "constant": false,
  53990. "id": 11170,
  53991. "mutability": "mutable",
  53992. "name": "p0",
  53993. "nameLocation": "33991:2:50",
  53994. "nodeType": "VariableDeclaration",
  53995. "scope": 11191,
  53996. "src": "33977:16:50",
  53997. "stateVariable": false,
  53998. "storageLocation": "memory",
  53999. "typeDescriptions": {
  54000. "typeIdentifier": "t_string_memory_ptr",
  54001. "typeString": "string"
  54002. },
  54003. "typeName": {
  54004. "id": 11169,
  54005. "name": "string",
  54006. "nodeType": "ElementaryTypeName",
  54007. "src": "33977:6:50",
  54008. "typeDescriptions": {
  54009. "typeIdentifier": "t_string_storage_ptr",
  54010. "typeString": "string"
  54011. }
  54012. },
  54013. "visibility": "internal"
  54014. },
  54015. {
  54016. "constant": false,
  54017. "id": 11172,
  54018. "mutability": "mutable",
  54019. "name": "p1",
  54020. "nameLocation": "34003:2:50",
  54021. "nodeType": "VariableDeclaration",
  54022. "scope": 11191,
  54023. "src": "33995:10:50",
  54024. "stateVariable": false,
  54025. "storageLocation": "default",
  54026. "typeDescriptions": {
  54027. "typeIdentifier": "t_uint256",
  54028. "typeString": "uint256"
  54029. },
  54030. "typeName": {
  54031. "id": 11171,
  54032. "name": "uint256",
  54033. "nodeType": "ElementaryTypeName",
  54034. "src": "33995:7:50",
  54035. "typeDescriptions": {
  54036. "typeIdentifier": "t_uint256",
  54037. "typeString": "uint256"
  54038. }
  54039. },
  54040. "visibility": "internal"
  54041. },
  54042. {
  54043. "constant": false,
  54044. "id": 11174,
  54045. "mutability": "mutable",
  54046. "name": "p2",
  54047. "nameLocation": "34012:2:50",
  54048. "nodeType": "VariableDeclaration",
  54049. "scope": 11191,
  54050. "src": "34007:7:50",
  54051. "stateVariable": false,
  54052. "storageLocation": "default",
  54053. "typeDescriptions": {
  54054. "typeIdentifier": "t_bool",
  54055. "typeString": "bool"
  54056. },
  54057. "typeName": {
  54058. "id": 11173,
  54059. "name": "bool",
  54060. "nodeType": "ElementaryTypeName",
  54061. "src": "34007:4:50",
  54062. "typeDescriptions": {
  54063. "typeIdentifier": "t_bool",
  54064. "typeString": "bool"
  54065. }
  54066. },
  54067. "visibility": "internal"
  54068. },
  54069. {
  54070. "constant": false,
  54071. "id": 11176,
  54072. "mutability": "mutable",
  54073. "name": "p3",
  54074. "nameLocation": "34021:2:50",
  54075. "nodeType": "VariableDeclaration",
  54076. "scope": 11191,
  54077. "src": "34016:7:50",
  54078. "stateVariable": false,
  54079. "storageLocation": "default",
  54080. "typeDescriptions": {
  54081. "typeIdentifier": "t_bool",
  54082. "typeString": "bool"
  54083. },
  54084. "typeName": {
  54085. "id": 11175,
  54086. "name": "bool",
  54087. "nodeType": "ElementaryTypeName",
  54088. "src": "34016:4:50",
  54089. "typeDescriptions": {
  54090. "typeIdentifier": "t_bool",
  54091. "typeString": "bool"
  54092. }
  54093. },
  54094. "visibility": "internal"
  54095. }
  54096. ],
  54097. "src": "33976:48:50"
  54098. },
  54099. "returnParameters": {
  54100. "id": 11178,
  54101. "nodeType": "ParameterList",
  54102. "parameters": [],
  54103. "src": "34039:0:50"
  54104. },
  54105. "scope": 15355,
  54106. "stateMutability": "pure",
  54107. "virtual": false,
  54108. "visibility": "internal"
  54109. },
  54110. {
  54111. "id": 11214,
  54112. "nodeType": "FunctionDefinition",
  54113. "src": "34151:187:50",
  54114. "nodes": [],
  54115. "body": {
  54116. "id": 11213,
  54117. "nodeType": "Block",
  54118. "src": "34229:109:50",
  54119. "nodes": [],
  54120. "statements": [
  54121. {
  54122. "expression": {
  54123. "arguments": [
  54124. {
  54125. "arguments": [
  54126. {
  54127. "hexValue": "6c6f6728737472696e672c75696e743235362c626f6f6c2c6164647265737329",
  54128. "id": 11205,
  54129. "isConstant": false,
  54130. "isLValue": false,
  54131. "isPure": true,
  54132. "kind": "string",
  54133. "lValueRequested": false,
  54134. "nodeType": "Literal",
  54135. "src": "34279:34:50",
  54136. "typeDescriptions": {
  54137. "typeIdentifier": "t_stringliteral_e0e95b9833a204b7ba633bd63a60ec523906565f2c86d8936f7ff3e9937880f7",
  54138. "typeString": "literal_string \"log(string,uint256,bool,address)\""
  54139. },
  54140. "value": "log(string,uint256,bool,address)"
  54141. },
  54142. {
  54143. "id": 11206,
  54144. "name": "p0",
  54145. "nodeType": "Identifier",
  54146. "overloadedDeclarations": [],
  54147. "referencedDeclaration": 11193,
  54148. "src": "34315:2:50",
  54149. "typeDescriptions": {
  54150. "typeIdentifier": "t_string_memory_ptr",
  54151. "typeString": "string memory"
  54152. }
  54153. },
  54154. {
  54155. "id": 11207,
  54156. "name": "p1",
  54157. "nodeType": "Identifier",
  54158. "overloadedDeclarations": [],
  54159. "referencedDeclaration": 11195,
  54160. "src": "34319:2:50",
  54161. "typeDescriptions": {
  54162. "typeIdentifier": "t_uint256",
  54163. "typeString": "uint256"
  54164. }
  54165. },
  54166. {
  54167. "id": 11208,
  54168. "name": "p2",
  54169. "nodeType": "Identifier",
  54170. "overloadedDeclarations": [],
  54171. "referencedDeclaration": 11197,
  54172. "src": "34323:2:50",
  54173. "typeDescriptions": {
  54174. "typeIdentifier": "t_bool",
  54175. "typeString": "bool"
  54176. }
  54177. },
  54178. {
  54179. "id": 11209,
  54180. "name": "p3",
  54181. "nodeType": "Identifier",
  54182. "overloadedDeclarations": [],
  54183. "referencedDeclaration": 11199,
  54184. "src": "34327:2:50",
  54185. "typeDescriptions": {
  54186. "typeIdentifier": "t_address",
  54187. "typeString": "address"
  54188. }
  54189. }
  54190. ],
  54191. "expression": {
  54192. "argumentTypes": [
  54193. {
  54194. "typeIdentifier": "t_stringliteral_e0e95b9833a204b7ba633bd63a60ec523906565f2c86d8936f7ff3e9937880f7",
  54195. "typeString": "literal_string \"log(string,uint256,bool,address)\""
  54196. },
  54197. {
  54198. "typeIdentifier": "t_string_memory_ptr",
  54199. "typeString": "string memory"
  54200. },
  54201. {
  54202. "typeIdentifier": "t_uint256",
  54203. "typeString": "uint256"
  54204. },
  54205. {
  54206. "typeIdentifier": "t_bool",
  54207. "typeString": "bool"
  54208. },
  54209. {
  54210. "typeIdentifier": "t_address",
  54211. "typeString": "address"
  54212. }
  54213. ],
  54214. "expression": {
  54215. "id": 11203,
  54216. "name": "abi",
  54217. "nodeType": "Identifier",
  54218. "overloadedDeclarations": [],
  54219. "referencedDeclaration": -1,
  54220. "src": "34255:3:50",
  54221. "typeDescriptions": {
  54222. "typeIdentifier": "t_magic_abi",
  54223. "typeString": "abi"
  54224. }
  54225. },
  54226. "id": 11204,
  54227. "isConstant": false,
  54228. "isLValue": false,
  54229. "isPure": true,
  54230. "lValueRequested": false,
  54231. "memberLocation": "34259:19:50",
  54232. "memberName": "encodeWithSignature",
  54233. "nodeType": "MemberAccess",
  54234. "src": "34255:23:50",
  54235. "typeDescriptions": {
  54236. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  54237. "typeString": "function (string memory) pure returns (bytes memory)"
  54238. }
  54239. },
  54240. "id": 11210,
  54241. "isConstant": false,
  54242. "isLValue": false,
  54243. "isPure": false,
  54244. "kind": "functionCall",
  54245. "lValueRequested": false,
  54246. "nameLocations": [],
  54247. "names": [],
  54248. "nodeType": "FunctionCall",
  54249. "src": "34255:75:50",
  54250. "tryCall": false,
  54251. "typeDescriptions": {
  54252. "typeIdentifier": "t_bytes_memory_ptr",
  54253. "typeString": "bytes memory"
  54254. }
  54255. }
  54256. ],
  54257. "expression": {
  54258. "argumentTypes": [
  54259. {
  54260. "typeIdentifier": "t_bytes_memory_ptr",
  54261. "typeString": "bytes memory"
  54262. }
  54263. ],
  54264. "id": 11202,
  54265. "name": "_sendLogPayload",
  54266. "nodeType": "Identifier",
  54267. "overloadedDeclarations": [],
  54268. "referencedDeclaration": 7315,
  54269. "src": "34239:15:50",
  54270. "typeDescriptions": {
  54271. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  54272. "typeString": "function (bytes memory) pure"
  54273. }
  54274. },
  54275. "id": 11211,
  54276. "isConstant": false,
  54277. "isLValue": false,
  54278. "isPure": false,
  54279. "kind": "functionCall",
  54280. "lValueRequested": false,
  54281. "nameLocations": [],
  54282. "names": [],
  54283. "nodeType": "FunctionCall",
  54284. "src": "34239:92:50",
  54285. "tryCall": false,
  54286. "typeDescriptions": {
  54287. "typeIdentifier": "t_tuple$__$",
  54288. "typeString": "tuple()"
  54289. }
  54290. },
  54291. "id": 11212,
  54292. "nodeType": "ExpressionStatement",
  54293. "src": "34239:92:50"
  54294. }
  54295. ]
  54296. },
  54297. "implemented": true,
  54298. "kind": "function",
  54299. "modifiers": [],
  54300. "name": "log",
  54301. "nameLocation": "34160:3:50",
  54302. "parameters": {
  54303. "id": 11200,
  54304. "nodeType": "ParameterList",
  54305. "parameters": [
  54306. {
  54307. "constant": false,
  54308. "id": 11193,
  54309. "mutability": "mutable",
  54310. "name": "p0",
  54311. "nameLocation": "34178:2:50",
  54312. "nodeType": "VariableDeclaration",
  54313. "scope": 11214,
  54314. "src": "34164:16:50",
  54315. "stateVariable": false,
  54316. "storageLocation": "memory",
  54317. "typeDescriptions": {
  54318. "typeIdentifier": "t_string_memory_ptr",
  54319. "typeString": "string"
  54320. },
  54321. "typeName": {
  54322. "id": 11192,
  54323. "name": "string",
  54324. "nodeType": "ElementaryTypeName",
  54325. "src": "34164:6:50",
  54326. "typeDescriptions": {
  54327. "typeIdentifier": "t_string_storage_ptr",
  54328. "typeString": "string"
  54329. }
  54330. },
  54331. "visibility": "internal"
  54332. },
  54333. {
  54334. "constant": false,
  54335. "id": 11195,
  54336. "mutability": "mutable",
  54337. "name": "p1",
  54338. "nameLocation": "34190:2:50",
  54339. "nodeType": "VariableDeclaration",
  54340. "scope": 11214,
  54341. "src": "34182:10:50",
  54342. "stateVariable": false,
  54343. "storageLocation": "default",
  54344. "typeDescriptions": {
  54345. "typeIdentifier": "t_uint256",
  54346. "typeString": "uint256"
  54347. },
  54348. "typeName": {
  54349. "id": 11194,
  54350. "name": "uint256",
  54351. "nodeType": "ElementaryTypeName",
  54352. "src": "34182:7:50",
  54353. "typeDescriptions": {
  54354. "typeIdentifier": "t_uint256",
  54355. "typeString": "uint256"
  54356. }
  54357. },
  54358. "visibility": "internal"
  54359. },
  54360. {
  54361. "constant": false,
  54362. "id": 11197,
  54363. "mutability": "mutable",
  54364. "name": "p2",
  54365. "nameLocation": "34199:2:50",
  54366. "nodeType": "VariableDeclaration",
  54367. "scope": 11214,
  54368. "src": "34194:7:50",
  54369. "stateVariable": false,
  54370. "storageLocation": "default",
  54371. "typeDescriptions": {
  54372. "typeIdentifier": "t_bool",
  54373. "typeString": "bool"
  54374. },
  54375. "typeName": {
  54376. "id": 11196,
  54377. "name": "bool",
  54378. "nodeType": "ElementaryTypeName",
  54379. "src": "34194:4:50",
  54380. "typeDescriptions": {
  54381. "typeIdentifier": "t_bool",
  54382. "typeString": "bool"
  54383. }
  54384. },
  54385. "visibility": "internal"
  54386. },
  54387. {
  54388. "constant": false,
  54389. "id": 11199,
  54390. "mutability": "mutable",
  54391. "name": "p3",
  54392. "nameLocation": "34211:2:50",
  54393. "nodeType": "VariableDeclaration",
  54394. "scope": 11214,
  54395. "src": "34203:10:50",
  54396. "stateVariable": false,
  54397. "storageLocation": "default",
  54398. "typeDescriptions": {
  54399. "typeIdentifier": "t_address",
  54400. "typeString": "address"
  54401. },
  54402. "typeName": {
  54403. "id": 11198,
  54404. "name": "address",
  54405. "nodeType": "ElementaryTypeName",
  54406. "src": "34203:7:50",
  54407. "stateMutability": "nonpayable",
  54408. "typeDescriptions": {
  54409. "typeIdentifier": "t_address",
  54410. "typeString": "address"
  54411. }
  54412. },
  54413. "visibility": "internal"
  54414. }
  54415. ],
  54416. "src": "34163:51:50"
  54417. },
  54418. "returnParameters": {
  54419. "id": 11201,
  54420. "nodeType": "ParameterList",
  54421. "parameters": [],
  54422. "src": "34229:0:50"
  54423. },
  54424. "scope": 15355,
  54425. "stateMutability": "pure",
  54426. "virtual": false,
  54427. "visibility": "internal"
  54428. },
  54429. {
  54430. "id": 11237,
  54431. "nodeType": "FunctionDefinition",
  54432. "src": "34344:193:50",
  54433. "nodes": [],
  54434. "body": {
  54435. "id": 11236,
  54436. "nodeType": "Block",
  54437. "src": "34425:112:50",
  54438. "nodes": [],
  54439. "statements": [
  54440. {
  54441. "expression": {
  54442. "arguments": [
  54443. {
  54444. "arguments": [
  54445. {
  54446. "hexValue": "6c6f6728737472696e672c75696e743235362c616464726573732c75696e7432353629",
  54447. "id": 11228,
  54448. "isConstant": false,
  54449. "isLValue": false,
  54450. "isPure": true,
  54451. "kind": "string",
  54452. "lValueRequested": false,
  54453. "nodeType": "Literal",
  54454. "src": "34475:37:50",
  54455. "typeDescriptions": {
  54456. "typeIdentifier": "t_stringliteral_4f04fdc6b6271b036262883bae0d1ea5155524010fed0023b5c71c574fb937ff",
  54457. "typeString": "literal_string \"log(string,uint256,address,uint256)\""
  54458. },
  54459. "value": "log(string,uint256,address,uint256)"
  54460. },
  54461. {
  54462. "id": 11229,
  54463. "name": "p0",
  54464. "nodeType": "Identifier",
  54465. "overloadedDeclarations": [],
  54466. "referencedDeclaration": 11216,
  54467. "src": "34514:2:50",
  54468. "typeDescriptions": {
  54469. "typeIdentifier": "t_string_memory_ptr",
  54470. "typeString": "string memory"
  54471. }
  54472. },
  54473. {
  54474. "id": 11230,
  54475. "name": "p1",
  54476. "nodeType": "Identifier",
  54477. "overloadedDeclarations": [],
  54478. "referencedDeclaration": 11218,
  54479. "src": "34518:2:50",
  54480. "typeDescriptions": {
  54481. "typeIdentifier": "t_uint256",
  54482. "typeString": "uint256"
  54483. }
  54484. },
  54485. {
  54486. "id": 11231,
  54487. "name": "p2",
  54488. "nodeType": "Identifier",
  54489. "overloadedDeclarations": [],
  54490. "referencedDeclaration": 11220,
  54491. "src": "34522:2:50",
  54492. "typeDescriptions": {
  54493. "typeIdentifier": "t_address",
  54494. "typeString": "address"
  54495. }
  54496. },
  54497. {
  54498. "id": 11232,
  54499. "name": "p3",
  54500. "nodeType": "Identifier",
  54501. "overloadedDeclarations": [],
  54502. "referencedDeclaration": 11222,
  54503. "src": "34526:2:50",
  54504. "typeDescriptions": {
  54505. "typeIdentifier": "t_uint256",
  54506. "typeString": "uint256"
  54507. }
  54508. }
  54509. ],
  54510. "expression": {
  54511. "argumentTypes": [
  54512. {
  54513. "typeIdentifier": "t_stringliteral_4f04fdc6b6271b036262883bae0d1ea5155524010fed0023b5c71c574fb937ff",
  54514. "typeString": "literal_string \"log(string,uint256,address,uint256)\""
  54515. },
  54516. {
  54517. "typeIdentifier": "t_string_memory_ptr",
  54518. "typeString": "string memory"
  54519. },
  54520. {
  54521. "typeIdentifier": "t_uint256",
  54522. "typeString": "uint256"
  54523. },
  54524. {
  54525. "typeIdentifier": "t_address",
  54526. "typeString": "address"
  54527. },
  54528. {
  54529. "typeIdentifier": "t_uint256",
  54530. "typeString": "uint256"
  54531. }
  54532. ],
  54533. "expression": {
  54534. "id": 11226,
  54535. "name": "abi",
  54536. "nodeType": "Identifier",
  54537. "overloadedDeclarations": [],
  54538. "referencedDeclaration": -1,
  54539. "src": "34451:3:50",
  54540. "typeDescriptions": {
  54541. "typeIdentifier": "t_magic_abi",
  54542. "typeString": "abi"
  54543. }
  54544. },
  54545. "id": 11227,
  54546. "isConstant": false,
  54547. "isLValue": false,
  54548. "isPure": true,
  54549. "lValueRequested": false,
  54550. "memberLocation": "34455:19:50",
  54551. "memberName": "encodeWithSignature",
  54552. "nodeType": "MemberAccess",
  54553. "src": "34451:23:50",
  54554. "typeDescriptions": {
  54555. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  54556. "typeString": "function (string memory) pure returns (bytes memory)"
  54557. }
  54558. },
  54559. "id": 11233,
  54560. "isConstant": false,
  54561. "isLValue": false,
  54562. "isPure": false,
  54563. "kind": "functionCall",
  54564. "lValueRequested": false,
  54565. "nameLocations": [],
  54566. "names": [],
  54567. "nodeType": "FunctionCall",
  54568. "src": "34451:78:50",
  54569. "tryCall": false,
  54570. "typeDescriptions": {
  54571. "typeIdentifier": "t_bytes_memory_ptr",
  54572. "typeString": "bytes memory"
  54573. }
  54574. }
  54575. ],
  54576. "expression": {
  54577. "argumentTypes": [
  54578. {
  54579. "typeIdentifier": "t_bytes_memory_ptr",
  54580. "typeString": "bytes memory"
  54581. }
  54582. ],
  54583. "id": 11225,
  54584. "name": "_sendLogPayload",
  54585. "nodeType": "Identifier",
  54586. "overloadedDeclarations": [],
  54587. "referencedDeclaration": 7315,
  54588. "src": "34435:15:50",
  54589. "typeDescriptions": {
  54590. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  54591. "typeString": "function (bytes memory) pure"
  54592. }
  54593. },
  54594. "id": 11234,
  54595. "isConstant": false,
  54596. "isLValue": false,
  54597. "isPure": false,
  54598. "kind": "functionCall",
  54599. "lValueRequested": false,
  54600. "nameLocations": [],
  54601. "names": [],
  54602. "nodeType": "FunctionCall",
  54603. "src": "34435:95:50",
  54604. "tryCall": false,
  54605. "typeDescriptions": {
  54606. "typeIdentifier": "t_tuple$__$",
  54607. "typeString": "tuple()"
  54608. }
  54609. },
  54610. "id": 11235,
  54611. "nodeType": "ExpressionStatement",
  54612. "src": "34435:95:50"
  54613. }
  54614. ]
  54615. },
  54616. "implemented": true,
  54617. "kind": "function",
  54618. "modifiers": [],
  54619. "name": "log",
  54620. "nameLocation": "34353:3:50",
  54621. "parameters": {
  54622. "id": 11223,
  54623. "nodeType": "ParameterList",
  54624. "parameters": [
  54625. {
  54626. "constant": false,
  54627. "id": 11216,
  54628. "mutability": "mutable",
  54629. "name": "p0",
  54630. "nameLocation": "34371:2:50",
  54631. "nodeType": "VariableDeclaration",
  54632. "scope": 11237,
  54633. "src": "34357:16:50",
  54634. "stateVariable": false,
  54635. "storageLocation": "memory",
  54636. "typeDescriptions": {
  54637. "typeIdentifier": "t_string_memory_ptr",
  54638. "typeString": "string"
  54639. },
  54640. "typeName": {
  54641. "id": 11215,
  54642. "name": "string",
  54643. "nodeType": "ElementaryTypeName",
  54644. "src": "34357:6:50",
  54645. "typeDescriptions": {
  54646. "typeIdentifier": "t_string_storage_ptr",
  54647. "typeString": "string"
  54648. }
  54649. },
  54650. "visibility": "internal"
  54651. },
  54652. {
  54653. "constant": false,
  54654. "id": 11218,
  54655. "mutability": "mutable",
  54656. "name": "p1",
  54657. "nameLocation": "34383:2:50",
  54658. "nodeType": "VariableDeclaration",
  54659. "scope": 11237,
  54660. "src": "34375:10:50",
  54661. "stateVariable": false,
  54662. "storageLocation": "default",
  54663. "typeDescriptions": {
  54664. "typeIdentifier": "t_uint256",
  54665. "typeString": "uint256"
  54666. },
  54667. "typeName": {
  54668. "id": 11217,
  54669. "name": "uint256",
  54670. "nodeType": "ElementaryTypeName",
  54671. "src": "34375:7:50",
  54672. "typeDescriptions": {
  54673. "typeIdentifier": "t_uint256",
  54674. "typeString": "uint256"
  54675. }
  54676. },
  54677. "visibility": "internal"
  54678. },
  54679. {
  54680. "constant": false,
  54681. "id": 11220,
  54682. "mutability": "mutable",
  54683. "name": "p2",
  54684. "nameLocation": "34395:2:50",
  54685. "nodeType": "VariableDeclaration",
  54686. "scope": 11237,
  54687. "src": "34387:10:50",
  54688. "stateVariable": false,
  54689. "storageLocation": "default",
  54690. "typeDescriptions": {
  54691. "typeIdentifier": "t_address",
  54692. "typeString": "address"
  54693. },
  54694. "typeName": {
  54695. "id": 11219,
  54696. "name": "address",
  54697. "nodeType": "ElementaryTypeName",
  54698. "src": "34387:7:50",
  54699. "stateMutability": "nonpayable",
  54700. "typeDescriptions": {
  54701. "typeIdentifier": "t_address",
  54702. "typeString": "address"
  54703. }
  54704. },
  54705. "visibility": "internal"
  54706. },
  54707. {
  54708. "constant": false,
  54709. "id": 11222,
  54710. "mutability": "mutable",
  54711. "name": "p3",
  54712. "nameLocation": "34407:2:50",
  54713. "nodeType": "VariableDeclaration",
  54714. "scope": 11237,
  54715. "src": "34399:10:50",
  54716. "stateVariable": false,
  54717. "storageLocation": "default",
  54718. "typeDescriptions": {
  54719. "typeIdentifier": "t_uint256",
  54720. "typeString": "uint256"
  54721. },
  54722. "typeName": {
  54723. "id": 11221,
  54724. "name": "uint256",
  54725. "nodeType": "ElementaryTypeName",
  54726. "src": "34399:7:50",
  54727. "typeDescriptions": {
  54728. "typeIdentifier": "t_uint256",
  54729. "typeString": "uint256"
  54730. }
  54731. },
  54732. "visibility": "internal"
  54733. }
  54734. ],
  54735. "src": "34356:54:50"
  54736. },
  54737. "returnParameters": {
  54738. "id": 11224,
  54739. "nodeType": "ParameterList",
  54740. "parameters": [],
  54741. "src": "34425:0:50"
  54742. },
  54743. "scope": 15355,
  54744. "stateMutability": "pure",
  54745. "virtual": false,
  54746. "visibility": "internal"
  54747. },
  54748. {
  54749. "id": 11260,
  54750. "nodeType": "FunctionDefinition",
  54751. "src": "34543:198:50",
  54752. "nodes": [],
  54753. "body": {
  54754. "id": 11259,
  54755. "nodeType": "Block",
  54756. "src": "34630:111:50",
  54757. "nodes": [],
  54758. "statements": [
  54759. {
  54760. "expression": {
  54761. "arguments": [
  54762. {
  54763. "arguments": [
  54764. {
  54765. "hexValue": "6c6f6728737472696e672c75696e743235362c616464726573732c737472696e6729",
  54766. "id": 11251,
  54767. "isConstant": false,
  54768. "isLValue": false,
  54769. "isPure": true,
  54770. "kind": "string",
  54771. "lValueRequested": false,
  54772. "nodeType": "Literal",
  54773. "src": "34680:36:50",
  54774. "typeDescriptions": {
  54775. "typeIdentifier": "t_stringliteral_9ffb2f93ff043d0a86ff6dc2ddf23d28dfc95ecde23d406177dfe6f19d070d2b",
  54776. "typeString": "literal_string \"log(string,uint256,address,string)\""
  54777. },
  54778. "value": "log(string,uint256,address,string)"
  54779. },
  54780. {
  54781. "id": 11252,
  54782. "name": "p0",
  54783. "nodeType": "Identifier",
  54784. "overloadedDeclarations": [],
  54785. "referencedDeclaration": 11239,
  54786. "src": "34718:2:50",
  54787. "typeDescriptions": {
  54788. "typeIdentifier": "t_string_memory_ptr",
  54789. "typeString": "string memory"
  54790. }
  54791. },
  54792. {
  54793. "id": 11253,
  54794. "name": "p1",
  54795. "nodeType": "Identifier",
  54796. "overloadedDeclarations": [],
  54797. "referencedDeclaration": 11241,
  54798. "src": "34722:2:50",
  54799. "typeDescriptions": {
  54800. "typeIdentifier": "t_uint256",
  54801. "typeString": "uint256"
  54802. }
  54803. },
  54804. {
  54805. "id": 11254,
  54806. "name": "p2",
  54807. "nodeType": "Identifier",
  54808. "overloadedDeclarations": [],
  54809. "referencedDeclaration": 11243,
  54810. "src": "34726:2:50",
  54811. "typeDescriptions": {
  54812. "typeIdentifier": "t_address",
  54813. "typeString": "address"
  54814. }
  54815. },
  54816. {
  54817. "id": 11255,
  54818. "name": "p3",
  54819. "nodeType": "Identifier",
  54820. "overloadedDeclarations": [],
  54821. "referencedDeclaration": 11245,
  54822. "src": "34730:2:50",
  54823. "typeDescriptions": {
  54824. "typeIdentifier": "t_string_memory_ptr",
  54825. "typeString": "string memory"
  54826. }
  54827. }
  54828. ],
  54829. "expression": {
  54830. "argumentTypes": [
  54831. {
  54832. "typeIdentifier": "t_stringliteral_9ffb2f93ff043d0a86ff6dc2ddf23d28dfc95ecde23d406177dfe6f19d070d2b",
  54833. "typeString": "literal_string \"log(string,uint256,address,string)\""
  54834. },
  54835. {
  54836. "typeIdentifier": "t_string_memory_ptr",
  54837. "typeString": "string memory"
  54838. },
  54839. {
  54840. "typeIdentifier": "t_uint256",
  54841. "typeString": "uint256"
  54842. },
  54843. {
  54844. "typeIdentifier": "t_address",
  54845. "typeString": "address"
  54846. },
  54847. {
  54848. "typeIdentifier": "t_string_memory_ptr",
  54849. "typeString": "string memory"
  54850. }
  54851. ],
  54852. "expression": {
  54853. "id": 11249,
  54854. "name": "abi",
  54855. "nodeType": "Identifier",
  54856. "overloadedDeclarations": [],
  54857. "referencedDeclaration": -1,
  54858. "src": "34656:3:50",
  54859. "typeDescriptions": {
  54860. "typeIdentifier": "t_magic_abi",
  54861. "typeString": "abi"
  54862. }
  54863. },
  54864. "id": 11250,
  54865. "isConstant": false,
  54866. "isLValue": false,
  54867. "isPure": true,
  54868. "lValueRequested": false,
  54869. "memberLocation": "34660:19:50",
  54870. "memberName": "encodeWithSignature",
  54871. "nodeType": "MemberAccess",
  54872. "src": "34656:23:50",
  54873. "typeDescriptions": {
  54874. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  54875. "typeString": "function (string memory) pure returns (bytes memory)"
  54876. }
  54877. },
  54878. "id": 11256,
  54879. "isConstant": false,
  54880. "isLValue": false,
  54881. "isPure": false,
  54882. "kind": "functionCall",
  54883. "lValueRequested": false,
  54884. "nameLocations": [],
  54885. "names": [],
  54886. "nodeType": "FunctionCall",
  54887. "src": "34656:77:50",
  54888. "tryCall": false,
  54889. "typeDescriptions": {
  54890. "typeIdentifier": "t_bytes_memory_ptr",
  54891. "typeString": "bytes memory"
  54892. }
  54893. }
  54894. ],
  54895. "expression": {
  54896. "argumentTypes": [
  54897. {
  54898. "typeIdentifier": "t_bytes_memory_ptr",
  54899. "typeString": "bytes memory"
  54900. }
  54901. ],
  54902. "id": 11248,
  54903. "name": "_sendLogPayload",
  54904. "nodeType": "Identifier",
  54905. "overloadedDeclarations": [],
  54906. "referencedDeclaration": 7315,
  54907. "src": "34640:15:50",
  54908. "typeDescriptions": {
  54909. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  54910. "typeString": "function (bytes memory) pure"
  54911. }
  54912. },
  54913. "id": 11257,
  54914. "isConstant": false,
  54915. "isLValue": false,
  54916. "isPure": false,
  54917. "kind": "functionCall",
  54918. "lValueRequested": false,
  54919. "nameLocations": [],
  54920. "names": [],
  54921. "nodeType": "FunctionCall",
  54922. "src": "34640:94:50",
  54923. "tryCall": false,
  54924. "typeDescriptions": {
  54925. "typeIdentifier": "t_tuple$__$",
  54926. "typeString": "tuple()"
  54927. }
  54928. },
  54929. "id": 11258,
  54930. "nodeType": "ExpressionStatement",
  54931. "src": "34640:94:50"
  54932. }
  54933. ]
  54934. },
  54935. "implemented": true,
  54936. "kind": "function",
  54937. "modifiers": [],
  54938. "name": "log",
  54939. "nameLocation": "34552:3:50",
  54940. "parameters": {
  54941. "id": 11246,
  54942. "nodeType": "ParameterList",
  54943. "parameters": [
  54944. {
  54945. "constant": false,
  54946. "id": 11239,
  54947. "mutability": "mutable",
  54948. "name": "p0",
  54949. "nameLocation": "34570:2:50",
  54950. "nodeType": "VariableDeclaration",
  54951. "scope": 11260,
  54952. "src": "34556:16:50",
  54953. "stateVariable": false,
  54954. "storageLocation": "memory",
  54955. "typeDescriptions": {
  54956. "typeIdentifier": "t_string_memory_ptr",
  54957. "typeString": "string"
  54958. },
  54959. "typeName": {
  54960. "id": 11238,
  54961. "name": "string",
  54962. "nodeType": "ElementaryTypeName",
  54963. "src": "34556:6:50",
  54964. "typeDescriptions": {
  54965. "typeIdentifier": "t_string_storage_ptr",
  54966. "typeString": "string"
  54967. }
  54968. },
  54969. "visibility": "internal"
  54970. },
  54971. {
  54972. "constant": false,
  54973. "id": 11241,
  54974. "mutability": "mutable",
  54975. "name": "p1",
  54976. "nameLocation": "34582:2:50",
  54977. "nodeType": "VariableDeclaration",
  54978. "scope": 11260,
  54979. "src": "34574:10:50",
  54980. "stateVariable": false,
  54981. "storageLocation": "default",
  54982. "typeDescriptions": {
  54983. "typeIdentifier": "t_uint256",
  54984. "typeString": "uint256"
  54985. },
  54986. "typeName": {
  54987. "id": 11240,
  54988. "name": "uint256",
  54989. "nodeType": "ElementaryTypeName",
  54990. "src": "34574:7:50",
  54991. "typeDescriptions": {
  54992. "typeIdentifier": "t_uint256",
  54993. "typeString": "uint256"
  54994. }
  54995. },
  54996. "visibility": "internal"
  54997. },
  54998. {
  54999. "constant": false,
  55000. "id": 11243,
  55001. "mutability": "mutable",
  55002. "name": "p2",
  55003. "nameLocation": "34594:2:50",
  55004. "nodeType": "VariableDeclaration",
  55005. "scope": 11260,
  55006. "src": "34586:10:50",
  55007. "stateVariable": false,
  55008. "storageLocation": "default",
  55009. "typeDescriptions": {
  55010. "typeIdentifier": "t_address",
  55011. "typeString": "address"
  55012. },
  55013. "typeName": {
  55014. "id": 11242,
  55015. "name": "address",
  55016. "nodeType": "ElementaryTypeName",
  55017. "src": "34586:7:50",
  55018. "stateMutability": "nonpayable",
  55019. "typeDescriptions": {
  55020. "typeIdentifier": "t_address",
  55021. "typeString": "address"
  55022. }
  55023. },
  55024. "visibility": "internal"
  55025. },
  55026. {
  55027. "constant": false,
  55028. "id": 11245,
  55029. "mutability": "mutable",
  55030. "name": "p3",
  55031. "nameLocation": "34612:2:50",
  55032. "nodeType": "VariableDeclaration",
  55033. "scope": 11260,
  55034. "src": "34598:16:50",
  55035. "stateVariable": false,
  55036. "storageLocation": "memory",
  55037. "typeDescriptions": {
  55038. "typeIdentifier": "t_string_memory_ptr",
  55039. "typeString": "string"
  55040. },
  55041. "typeName": {
  55042. "id": 11244,
  55043. "name": "string",
  55044. "nodeType": "ElementaryTypeName",
  55045. "src": "34598:6:50",
  55046. "typeDescriptions": {
  55047. "typeIdentifier": "t_string_storage_ptr",
  55048. "typeString": "string"
  55049. }
  55050. },
  55051. "visibility": "internal"
  55052. }
  55053. ],
  55054. "src": "34555:60:50"
  55055. },
  55056. "returnParameters": {
  55057. "id": 11247,
  55058. "nodeType": "ParameterList",
  55059. "parameters": [],
  55060. "src": "34630:0:50"
  55061. },
  55062. "scope": 15355,
  55063. "stateMutability": "pure",
  55064. "virtual": false,
  55065. "visibility": "internal"
  55066. },
  55067. {
  55068. "id": 11283,
  55069. "nodeType": "FunctionDefinition",
  55070. "src": "34747:187:50",
  55071. "nodes": [],
  55072. "body": {
  55073. "id": 11282,
  55074. "nodeType": "Block",
  55075. "src": "34825:109:50",
  55076. "nodes": [],
  55077. "statements": [
  55078. {
  55079. "expression": {
  55080. "arguments": [
  55081. {
  55082. "arguments": [
  55083. {
  55084. "hexValue": "6c6f6728737472696e672c75696e743235362c616464726573732c626f6f6c29",
  55085. "id": 11274,
  55086. "isConstant": false,
  55087. "isLValue": false,
  55088. "isPure": true,
  55089. "kind": "string",
  55090. "lValueRequested": false,
  55091. "nodeType": "Literal",
  55092. "src": "34875:34:50",
  55093. "typeDescriptions": {
  55094. "typeIdentifier": "t_stringliteral_82112a429657399db0318af6ca78ff56626aa907939e7cf56b60b07035dcc190",
  55095. "typeString": "literal_string \"log(string,uint256,address,bool)\""
  55096. },
  55097. "value": "log(string,uint256,address,bool)"
  55098. },
  55099. {
  55100. "id": 11275,
  55101. "name": "p0",
  55102. "nodeType": "Identifier",
  55103. "overloadedDeclarations": [],
  55104. "referencedDeclaration": 11262,
  55105. "src": "34911:2:50",
  55106. "typeDescriptions": {
  55107. "typeIdentifier": "t_string_memory_ptr",
  55108. "typeString": "string memory"
  55109. }
  55110. },
  55111. {
  55112. "id": 11276,
  55113. "name": "p1",
  55114. "nodeType": "Identifier",
  55115. "overloadedDeclarations": [],
  55116. "referencedDeclaration": 11264,
  55117. "src": "34915:2:50",
  55118. "typeDescriptions": {
  55119. "typeIdentifier": "t_uint256",
  55120. "typeString": "uint256"
  55121. }
  55122. },
  55123. {
  55124. "id": 11277,
  55125. "name": "p2",
  55126. "nodeType": "Identifier",
  55127. "overloadedDeclarations": [],
  55128. "referencedDeclaration": 11266,
  55129. "src": "34919:2:50",
  55130. "typeDescriptions": {
  55131. "typeIdentifier": "t_address",
  55132. "typeString": "address"
  55133. }
  55134. },
  55135. {
  55136. "id": 11278,
  55137. "name": "p3",
  55138. "nodeType": "Identifier",
  55139. "overloadedDeclarations": [],
  55140. "referencedDeclaration": 11268,
  55141. "src": "34923:2:50",
  55142. "typeDescriptions": {
  55143. "typeIdentifier": "t_bool",
  55144. "typeString": "bool"
  55145. }
  55146. }
  55147. ],
  55148. "expression": {
  55149. "argumentTypes": [
  55150. {
  55151. "typeIdentifier": "t_stringliteral_82112a429657399db0318af6ca78ff56626aa907939e7cf56b60b07035dcc190",
  55152. "typeString": "literal_string \"log(string,uint256,address,bool)\""
  55153. },
  55154. {
  55155. "typeIdentifier": "t_string_memory_ptr",
  55156. "typeString": "string memory"
  55157. },
  55158. {
  55159. "typeIdentifier": "t_uint256",
  55160. "typeString": "uint256"
  55161. },
  55162. {
  55163. "typeIdentifier": "t_address",
  55164. "typeString": "address"
  55165. },
  55166. {
  55167. "typeIdentifier": "t_bool",
  55168. "typeString": "bool"
  55169. }
  55170. ],
  55171. "expression": {
  55172. "id": 11272,
  55173. "name": "abi",
  55174. "nodeType": "Identifier",
  55175. "overloadedDeclarations": [],
  55176. "referencedDeclaration": -1,
  55177. "src": "34851:3:50",
  55178. "typeDescriptions": {
  55179. "typeIdentifier": "t_magic_abi",
  55180. "typeString": "abi"
  55181. }
  55182. },
  55183. "id": 11273,
  55184. "isConstant": false,
  55185. "isLValue": false,
  55186. "isPure": true,
  55187. "lValueRequested": false,
  55188. "memberLocation": "34855:19:50",
  55189. "memberName": "encodeWithSignature",
  55190. "nodeType": "MemberAccess",
  55191. "src": "34851:23:50",
  55192. "typeDescriptions": {
  55193. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  55194. "typeString": "function (string memory) pure returns (bytes memory)"
  55195. }
  55196. },
  55197. "id": 11279,
  55198. "isConstant": false,
  55199. "isLValue": false,
  55200. "isPure": false,
  55201. "kind": "functionCall",
  55202. "lValueRequested": false,
  55203. "nameLocations": [],
  55204. "names": [],
  55205. "nodeType": "FunctionCall",
  55206. "src": "34851:75:50",
  55207. "tryCall": false,
  55208. "typeDescriptions": {
  55209. "typeIdentifier": "t_bytes_memory_ptr",
  55210. "typeString": "bytes memory"
  55211. }
  55212. }
  55213. ],
  55214. "expression": {
  55215. "argumentTypes": [
  55216. {
  55217. "typeIdentifier": "t_bytes_memory_ptr",
  55218. "typeString": "bytes memory"
  55219. }
  55220. ],
  55221. "id": 11271,
  55222. "name": "_sendLogPayload",
  55223. "nodeType": "Identifier",
  55224. "overloadedDeclarations": [],
  55225. "referencedDeclaration": 7315,
  55226. "src": "34835:15:50",
  55227. "typeDescriptions": {
  55228. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  55229. "typeString": "function (bytes memory) pure"
  55230. }
  55231. },
  55232. "id": 11280,
  55233. "isConstant": false,
  55234. "isLValue": false,
  55235. "isPure": false,
  55236. "kind": "functionCall",
  55237. "lValueRequested": false,
  55238. "nameLocations": [],
  55239. "names": [],
  55240. "nodeType": "FunctionCall",
  55241. "src": "34835:92:50",
  55242. "tryCall": false,
  55243. "typeDescriptions": {
  55244. "typeIdentifier": "t_tuple$__$",
  55245. "typeString": "tuple()"
  55246. }
  55247. },
  55248. "id": 11281,
  55249. "nodeType": "ExpressionStatement",
  55250. "src": "34835:92:50"
  55251. }
  55252. ]
  55253. },
  55254. "implemented": true,
  55255. "kind": "function",
  55256. "modifiers": [],
  55257. "name": "log",
  55258. "nameLocation": "34756:3:50",
  55259. "parameters": {
  55260. "id": 11269,
  55261. "nodeType": "ParameterList",
  55262. "parameters": [
  55263. {
  55264. "constant": false,
  55265. "id": 11262,
  55266. "mutability": "mutable",
  55267. "name": "p0",
  55268. "nameLocation": "34774:2:50",
  55269. "nodeType": "VariableDeclaration",
  55270. "scope": 11283,
  55271. "src": "34760:16:50",
  55272. "stateVariable": false,
  55273. "storageLocation": "memory",
  55274. "typeDescriptions": {
  55275. "typeIdentifier": "t_string_memory_ptr",
  55276. "typeString": "string"
  55277. },
  55278. "typeName": {
  55279. "id": 11261,
  55280. "name": "string",
  55281. "nodeType": "ElementaryTypeName",
  55282. "src": "34760:6:50",
  55283. "typeDescriptions": {
  55284. "typeIdentifier": "t_string_storage_ptr",
  55285. "typeString": "string"
  55286. }
  55287. },
  55288. "visibility": "internal"
  55289. },
  55290. {
  55291. "constant": false,
  55292. "id": 11264,
  55293. "mutability": "mutable",
  55294. "name": "p1",
  55295. "nameLocation": "34786:2:50",
  55296. "nodeType": "VariableDeclaration",
  55297. "scope": 11283,
  55298. "src": "34778:10:50",
  55299. "stateVariable": false,
  55300. "storageLocation": "default",
  55301. "typeDescriptions": {
  55302. "typeIdentifier": "t_uint256",
  55303. "typeString": "uint256"
  55304. },
  55305. "typeName": {
  55306. "id": 11263,
  55307. "name": "uint256",
  55308. "nodeType": "ElementaryTypeName",
  55309. "src": "34778:7:50",
  55310. "typeDescriptions": {
  55311. "typeIdentifier": "t_uint256",
  55312. "typeString": "uint256"
  55313. }
  55314. },
  55315. "visibility": "internal"
  55316. },
  55317. {
  55318. "constant": false,
  55319. "id": 11266,
  55320. "mutability": "mutable",
  55321. "name": "p2",
  55322. "nameLocation": "34798:2:50",
  55323. "nodeType": "VariableDeclaration",
  55324. "scope": 11283,
  55325. "src": "34790:10:50",
  55326. "stateVariable": false,
  55327. "storageLocation": "default",
  55328. "typeDescriptions": {
  55329. "typeIdentifier": "t_address",
  55330. "typeString": "address"
  55331. },
  55332. "typeName": {
  55333. "id": 11265,
  55334. "name": "address",
  55335. "nodeType": "ElementaryTypeName",
  55336. "src": "34790:7:50",
  55337. "stateMutability": "nonpayable",
  55338. "typeDescriptions": {
  55339. "typeIdentifier": "t_address",
  55340. "typeString": "address"
  55341. }
  55342. },
  55343. "visibility": "internal"
  55344. },
  55345. {
  55346. "constant": false,
  55347. "id": 11268,
  55348. "mutability": "mutable",
  55349. "name": "p3",
  55350. "nameLocation": "34807:2:50",
  55351. "nodeType": "VariableDeclaration",
  55352. "scope": 11283,
  55353. "src": "34802:7:50",
  55354. "stateVariable": false,
  55355. "storageLocation": "default",
  55356. "typeDescriptions": {
  55357. "typeIdentifier": "t_bool",
  55358. "typeString": "bool"
  55359. },
  55360. "typeName": {
  55361. "id": 11267,
  55362. "name": "bool",
  55363. "nodeType": "ElementaryTypeName",
  55364. "src": "34802:4:50",
  55365. "typeDescriptions": {
  55366. "typeIdentifier": "t_bool",
  55367. "typeString": "bool"
  55368. }
  55369. },
  55370. "visibility": "internal"
  55371. }
  55372. ],
  55373. "src": "34759:51:50"
  55374. },
  55375. "returnParameters": {
  55376. "id": 11270,
  55377. "nodeType": "ParameterList",
  55378. "parameters": [],
  55379. "src": "34825:0:50"
  55380. },
  55381. "scope": 15355,
  55382. "stateMutability": "pure",
  55383. "virtual": false,
  55384. "visibility": "internal"
  55385. },
  55386. {
  55387. "id": 11306,
  55388. "nodeType": "FunctionDefinition",
  55389. "src": "34940:193:50",
  55390. "nodes": [],
  55391. "body": {
  55392. "id": 11305,
  55393. "nodeType": "Block",
  55394. "src": "35021:112:50",
  55395. "nodes": [],
  55396. "statements": [
  55397. {
  55398. "expression": {
  55399. "arguments": [
  55400. {
  55401. "arguments": [
  55402. {
  55403. "hexValue": "6c6f6728737472696e672c75696e743235362c616464726573732c6164647265737329",
  55404. "id": 11297,
  55405. "isConstant": false,
  55406. "isLValue": false,
  55407. "isPure": true,
  55408. "kind": "string",
  55409. "lValueRequested": false,
  55410. "nodeType": "Literal",
  55411. "src": "35071:37:50",
  55412. "typeDescriptions": {
  55413. "typeIdentifier": "t_stringliteral_5ea2b7aea4409bbe3ef8ca502419b3574b002a6123a1f864be076316b8efcd1d",
  55414. "typeString": "literal_string \"log(string,uint256,address,address)\""
  55415. },
  55416. "value": "log(string,uint256,address,address)"
  55417. },
  55418. {
  55419. "id": 11298,
  55420. "name": "p0",
  55421. "nodeType": "Identifier",
  55422. "overloadedDeclarations": [],
  55423. "referencedDeclaration": 11285,
  55424. "src": "35110:2:50",
  55425. "typeDescriptions": {
  55426. "typeIdentifier": "t_string_memory_ptr",
  55427. "typeString": "string memory"
  55428. }
  55429. },
  55430. {
  55431. "id": 11299,
  55432. "name": "p1",
  55433. "nodeType": "Identifier",
  55434. "overloadedDeclarations": [],
  55435. "referencedDeclaration": 11287,
  55436. "src": "35114:2:50",
  55437. "typeDescriptions": {
  55438. "typeIdentifier": "t_uint256",
  55439. "typeString": "uint256"
  55440. }
  55441. },
  55442. {
  55443. "id": 11300,
  55444. "name": "p2",
  55445. "nodeType": "Identifier",
  55446. "overloadedDeclarations": [],
  55447. "referencedDeclaration": 11289,
  55448. "src": "35118:2:50",
  55449. "typeDescriptions": {
  55450. "typeIdentifier": "t_address",
  55451. "typeString": "address"
  55452. }
  55453. },
  55454. {
  55455. "id": 11301,
  55456. "name": "p3",
  55457. "nodeType": "Identifier",
  55458. "overloadedDeclarations": [],
  55459. "referencedDeclaration": 11291,
  55460. "src": "35122:2:50",
  55461. "typeDescriptions": {
  55462. "typeIdentifier": "t_address",
  55463. "typeString": "address"
  55464. }
  55465. }
  55466. ],
  55467. "expression": {
  55468. "argumentTypes": [
  55469. {
  55470. "typeIdentifier": "t_stringliteral_5ea2b7aea4409bbe3ef8ca502419b3574b002a6123a1f864be076316b8efcd1d",
  55471. "typeString": "literal_string \"log(string,uint256,address,address)\""
  55472. },
  55473. {
  55474. "typeIdentifier": "t_string_memory_ptr",
  55475. "typeString": "string memory"
  55476. },
  55477. {
  55478. "typeIdentifier": "t_uint256",
  55479. "typeString": "uint256"
  55480. },
  55481. {
  55482. "typeIdentifier": "t_address",
  55483. "typeString": "address"
  55484. },
  55485. {
  55486. "typeIdentifier": "t_address",
  55487. "typeString": "address"
  55488. }
  55489. ],
  55490. "expression": {
  55491. "id": 11295,
  55492. "name": "abi",
  55493. "nodeType": "Identifier",
  55494. "overloadedDeclarations": [],
  55495. "referencedDeclaration": -1,
  55496. "src": "35047:3:50",
  55497. "typeDescriptions": {
  55498. "typeIdentifier": "t_magic_abi",
  55499. "typeString": "abi"
  55500. }
  55501. },
  55502. "id": 11296,
  55503. "isConstant": false,
  55504. "isLValue": false,
  55505. "isPure": true,
  55506. "lValueRequested": false,
  55507. "memberLocation": "35051:19:50",
  55508. "memberName": "encodeWithSignature",
  55509. "nodeType": "MemberAccess",
  55510. "src": "35047:23:50",
  55511. "typeDescriptions": {
  55512. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  55513. "typeString": "function (string memory) pure returns (bytes memory)"
  55514. }
  55515. },
  55516. "id": 11302,
  55517. "isConstant": false,
  55518. "isLValue": false,
  55519. "isPure": false,
  55520. "kind": "functionCall",
  55521. "lValueRequested": false,
  55522. "nameLocations": [],
  55523. "names": [],
  55524. "nodeType": "FunctionCall",
  55525. "src": "35047:78:50",
  55526. "tryCall": false,
  55527. "typeDescriptions": {
  55528. "typeIdentifier": "t_bytes_memory_ptr",
  55529. "typeString": "bytes memory"
  55530. }
  55531. }
  55532. ],
  55533. "expression": {
  55534. "argumentTypes": [
  55535. {
  55536. "typeIdentifier": "t_bytes_memory_ptr",
  55537. "typeString": "bytes memory"
  55538. }
  55539. ],
  55540. "id": 11294,
  55541. "name": "_sendLogPayload",
  55542. "nodeType": "Identifier",
  55543. "overloadedDeclarations": [],
  55544. "referencedDeclaration": 7315,
  55545. "src": "35031:15:50",
  55546. "typeDescriptions": {
  55547. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  55548. "typeString": "function (bytes memory) pure"
  55549. }
  55550. },
  55551. "id": 11303,
  55552. "isConstant": false,
  55553. "isLValue": false,
  55554. "isPure": false,
  55555. "kind": "functionCall",
  55556. "lValueRequested": false,
  55557. "nameLocations": [],
  55558. "names": [],
  55559. "nodeType": "FunctionCall",
  55560. "src": "35031:95:50",
  55561. "tryCall": false,
  55562. "typeDescriptions": {
  55563. "typeIdentifier": "t_tuple$__$",
  55564. "typeString": "tuple()"
  55565. }
  55566. },
  55567. "id": 11304,
  55568. "nodeType": "ExpressionStatement",
  55569. "src": "35031:95:50"
  55570. }
  55571. ]
  55572. },
  55573. "implemented": true,
  55574. "kind": "function",
  55575. "modifiers": [],
  55576. "name": "log",
  55577. "nameLocation": "34949:3:50",
  55578. "parameters": {
  55579. "id": 11292,
  55580. "nodeType": "ParameterList",
  55581. "parameters": [
  55582. {
  55583. "constant": false,
  55584. "id": 11285,
  55585. "mutability": "mutable",
  55586. "name": "p0",
  55587. "nameLocation": "34967:2:50",
  55588. "nodeType": "VariableDeclaration",
  55589. "scope": 11306,
  55590. "src": "34953:16:50",
  55591. "stateVariable": false,
  55592. "storageLocation": "memory",
  55593. "typeDescriptions": {
  55594. "typeIdentifier": "t_string_memory_ptr",
  55595. "typeString": "string"
  55596. },
  55597. "typeName": {
  55598. "id": 11284,
  55599. "name": "string",
  55600. "nodeType": "ElementaryTypeName",
  55601. "src": "34953:6:50",
  55602. "typeDescriptions": {
  55603. "typeIdentifier": "t_string_storage_ptr",
  55604. "typeString": "string"
  55605. }
  55606. },
  55607. "visibility": "internal"
  55608. },
  55609. {
  55610. "constant": false,
  55611. "id": 11287,
  55612. "mutability": "mutable",
  55613. "name": "p1",
  55614. "nameLocation": "34979:2:50",
  55615. "nodeType": "VariableDeclaration",
  55616. "scope": 11306,
  55617. "src": "34971:10:50",
  55618. "stateVariable": false,
  55619. "storageLocation": "default",
  55620. "typeDescriptions": {
  55621. "typeIdentifier": "t_uint256",
  55622. "typeString": "uint256"
  55623. },
  55624. "typeName": {
  55625. "id": 11286,
  55626. "name": "uint256",
  55627. "nodeType": "ElementaryTypeName",
  55628. "src": "34971:7:50",
  55629. "typeDescriptions": {
  55630. "typeIdentifier": "t_uint256",
  55631. "typeString": "uint256"
  55632. }
  55633. },
  55634. "visibility": "internal"
  55635. },
  55636. {
  55637. "constant": false,
  55638. "id": 11289,
  55639. "mutability": "mutable",
  55640. "name": "p2",
  55641. "nameLocation": "34991:2:50",
  55642. "nodeType": "VariableDeclaration",
  55643. "scope": 11306,
  55644. "src": "34983:10:50",
  55645. "stateVariable": false,
  55646. "storageLocation": "default",
  55647. "typeDescriptions": {
  55648. "typeIdentifier": "t_address",
  55649. "typeString": "address"
  55650. },
  55651. "typeName": {
  55652. "id": 11288,
  55653. "name": "address",
  55654. "nodeType": "ElementaryTypeName",
  55655. "src": "34983:7:50",
  55656. "stateMutability": "nonpayable",
  55657. "typeDescriptions": {
  55658. "typeIdentifier": "t_address",
  55659. "typeString": "address"
  55660. }
  55661. },
  55662. "visibility": "internal"
  55663. },
  55664. {
  55665. "constant": false,
  55666. "id": 11291,
  55667. "mutability": "mutable",
  55668. "name": "p3",
  55669. "nameLocation": "35003:2:50",
  55670. "nodeType": "VariableDeclaration",
  55671. "scope": 11306,
  55672. "src": "34995:10:50",
  55673. "stateVariable": false,
  55674. "storageLocation": "default",
  55675. "typeDescriptions": {
  55676. "typeIdentifier": "t_address",
  55677. "typeString": "address"
  55678. },
  55679. "typeName": {
  55680. "id": 11290,
  55681. "name": "address",
  55682. "nodeType": "ElementaryTypeName",
  55683. "src": "34995:7:50",
  55684. "stateMutability": "nonpayable",
  55685. "typeDescriptions": {
  55686. "typeIdentifier": "t_address",
  55687. "typeString": "address"
  55688. }
  55689. },
  55690. "visibility": "internal"
  55691. }
  55692. ],
  55693. "src": "34952:54:50"
  55694. },
  55695. "returnParameters": {
  55696. "id": 11293,
  55697. "nodeType": "ParameterList",
  55698. "parameters": [],
  55699. "src": "35021:0:50"
  55700. },
  55701. "scope": 15355,
  55702. "stateMutability": "pure",
  55703. "virtual": false,
  55704. "visibility": "internal"
  55705. },
  55706. {
  55707. "id": 11329,
  55708. "nodeType": "FunctionDefinition",
  55709. "src": "35139:198:50",
  55710. "nodes": [],
  55711. "body": {
  55712. "id": 11328,
  55713. "nodeType": "Block",
  55714. "src": "35226:111:50",
  55715. "nodes": [],
  55716. "statements": [
  55717. {
  55718. "expression": {
  55719. "arguments": [
  55720. {
  55721. "arguments": [
  55722. {
  55723. "hexValue": "6c6f6728737472696e672c737472696e672c75696e743235362c75696e7432353629",
  55724. "id": 11320,
  55725. "isConstant": false,
  55726. "isLValue": false,
  55727. "isPure": true,
  55728. "kind": "string",
  55729. "lValueRequested": false,
  55730. "nodeType": "Literal",
  55731. "src": "35276:36:50",
  55732. "typeDescriptions": {
  55733. "typeIdentifier": "t_stringliteral_f45d7d2cd1abe030b09347ce21ce66b503ffdad3e7a1ad6df9e55da5d9367776",
  55734. "typeString": "literal_string \"log(string,string,uint256,uint256)\""
  55735. },
  55736. "value": "log(string,string,uint256,uint256)"
  55737. },
  55738. {
  55739. "id": 11321,
  55740. "name": "p0",
  55741. "nodeType": "Identifier",
  55742. "overloadedDeclarations": [],
  55743. "referencedDeclaration": 11308,
  55744. "src": "35314:2:50",
  55745. "typeDescriptions": {
  55746. "typeIdentifier": "t_string_memory_ptr",
  55747. "typeString": "string memory"
  55748. }
  55749. },
  55750. {
  55751. "id": 11322,
  55752. "name": "p1",
  55753. "nodeType": "Identifier",
  55754. "overloadedDeclarations": [],
  55755. "referencedDeclaration": 11310,
  55756. "src": "35318:2:50",
  55757. "typeDescriptions": {
  55758. "typeIdentifier": "t_string_memory_ptr",
  55759. "typeString": "string memory"
  55760. }
  55761. },
  55762. {
  55763. "id": 11323,
  55764. "name": "p2",
  55765. "nodeType": "Identifier",
  55766. "overloadedDeclarations": [],
  55767. "referencedDeclaration": 11312,
  55768. "src": "35322:2:50",
  55769. "typeDescriptions": {
  55770. "typeIdentifier": "t_uint256",
  55771. "typeString": "uint256"
  55772. }
  55773. },
  55774. {
  55775. "id": 11324,
  55776. "name": "p3",
  55777. "nodeType": "Identifier",
  55778. "overloadedDeclarations": [],
  55779. "referencedDeclaration": 11314,
  55780. "src": "35326:2:50",
  55781. "typeDescriptions": {
  55782. "typeIdentifier": "t_uint256",
  55783. "typeString": "uint256"
  55784. }
  55785. }
  55786. ],
  55787. "expression": {
  55788. "argumentTypes": [
  55789. {
  55790. "typeIdentifier": "t_stringliteral_f45d7d2cd1abe030b09347ce21ce66b503ffdad3e7a1ad6df9e55da5d9367776",
  55791. "typeString": "literal_string \"log(string,string,uint256,uint256)\""
  55792. },
  55793. {
  55794. "typeIdentifier": "t_string_memory_ptr",
  55795. "typeString": "string memory"
  55796. },
  55797. {
  55798. "typeIdentifier": "t_string_memory_ptr",
  55799. "typeString": "string memory"
  55800. },
  55801. {
  55802. "typeIdentifier": "t_uint256",
  55803. "typeString": "uint256"
  55804. },
  55805. {
  55806. "typeIdentifier": "t_uint256",
  55807. "typeString": "uint256"
  55808. }
  55809. ],
  55810. "expression": {
  55811. "id": 11318,
  55812. "name": "abi",
  55813. "nodeType": "Identifier",
  55814. "overloadedDeclarations": [],
  55815. "referencedDeclaration": -1,
  55816. "src": "35252:3:50",
  55817. "typeDescriptions": {
  55818. "typeIdentifier": "t_magic_abi",
  55819. "typeString": "abi"
  55820. }
  55821. },
  55822. "id": 11319,
  55823. "isConstant": false,
  55824. "isLValue": false,
  55825. "isPure": true,
  55826. "lValueRequested": false,
  55827. "memberLocation": "35256:19:50",
  55828. "memberName": "encodeWithSignature",
  55829. "nodeType": "MemberAccess",
  55830. "src": "35252:23:50",
  55831. "typeDescriptions": {
  55832. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  55833. "typeString": "function (string memory) pure returns (bytes memory)"
  55834. }
  55835. },
  55836. "id": 11325,
  55837. "isConstant": false,
  55838. "isLValue": false,
  55839. "isPure": false,
  55840. "kind": "functionCall",
  55841. "lValueRequested": false,
  55842. "nameLocations": [],
  55843. "names": [],
  55844. "nodeType": "FunctionCall",
  55845. "src": "35252:77:50",
  55846. "tryCall": false,
  55847. "typeDescriptions": {
  55848. "typeIdentifier": "t_bytes_memory_ptr",
  55849. "typeString": "bytes memory"
  55850. }
  55851. }
  55852. ],
  55853. "expression": {
  55854. "argumentTypes": [
  55855. {
  55856. "typeIdentifier": "t_bytes_memory_ptr",
  55857. "typeString": "bytes memory"
  55858. }
  55859. ],
  55860. "id": 11317,
  55861. "name": "_sendLogPayload",
  55862. "nodeType": "Identifier",
  55863. "overloadedDeclarations": [],
  55864. "referencedDeclaration": 7315,
  55865. "src": "35236:15:50",
  55866. "typeDescriptions": {
  55867. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  55868. "typeString": "function (bytes memory) pure"
  55869. }
  55870. },
  55871. "id": 11326,
  55872. "isConstant": false,
  55873. "isLValue": false,
  55874. "isPure": false,
  55875. "kind": "functionCall",
  55876. "lValueRequested": false,
  55877. "nameLocations": [],
  55878. "names": [],
  55879. "nodeType": "FunctionCall",
  55880. "src": "35236:94:50",
  55881. "tryCall": false,
  55882. "typeDescriptions": {
  55883. "typeIdentifier": "t_tuple$__$",
  55884. "typeString": "tuple()"
  55885. }
  55886. },
  55887. "id": 11327,
  55888. "nodeType": "ExpressionStatement",
  55889. "src": "35236:94:50"
  55890. }
  55891. ]
  55892. },
  55893. "implemented": true,
  55894. "kind": "function",
  55895. "modifiers": [],
  55896. "name": "log",
  55897. "nameLocation": "35148:3:50",
  55898. "parameters": {
  55899. "id": 11315,
  55900. "nodeType": "ParameterList",
  55901. "parameters": [
  55902. {
  55903. "constant": false,
  55904. "id": 11308,
  55905. "mutability": "mutable",
  55906. "name": "p0",
  55907. "nameLocation": "35166:2:50",
  55908. "nodeType": "VariableDeclaration",
  55909. "scope": 11329,
  55910. "src": "35152:16:50",
  55911. "stateVariable": false,
  55912. "storageLocation": "memory",
  55913. "typeDescriptions": {
  55914. "typeIdentifier": "t_string_memory_ptr",
  55915. "typeString": "string"
  55916. },
  55917. "typeName": {
  55918. "id": 11307,
  55919. "name": "string",
  55920. "nodeType": "ElementaryTypeName",
  55921. "src": "35152:6:50",
  55922. "typeDescriptions": {
  55923. "typeIdentifier": "t_string_storage_ptr",
  55924. "typeString": "string"
  55925. }
  55926. },
  55927. "visibility": "internal"
  55928. },
  55929. {
  55930. "constant": false,
  55931. "id": 11310,
  55932. "mutability": "mutable",
  55933. "name": "p1",
  55934. "nameLocation": "35184:2:50",
  55935. "nodeType": "VariableDeclaration",
  55936. "scope": 11329,
  55937. "src": "35170:16:50",
  55938. "stateVariable": false,
  55939. "storageLocation": "memory",
  55940. "typeDescriptions": {
  55941. "typeIdentifier": "t_string_memory_ptr",
  55942. "typeString": "string"
  55943. },
  55944. "typeName": {
  55945. "id": 11309,
  55946. "name": "string",
  55947. "nodeType": "ElementaryTypeName",
  55948. "src": "35170:6:50",
  55949. "typeDescriptions": {
  55950. "typeIdentifier": "t_string_storage_ptr",
  55951. "typeString": "string"
  55952. }
  55953. },
  55954. "visibility": "internal"
  55955. },
  55956. {
  55957. "constant": false,
  55958. "id": 11312,
  55959. "mutability": "mutable",
  55960. "name": "p2",
  55961. "nameLocation": "35196:2:50",
  55962. "nodeType": "VariableDeclaration",
  55963. "scope": 11329,
  55964. "src": "35188:10:50",
  55965. "stateVariable": false,
  55966. "storageLocation": "default",
  55967. "typeDescriptions": {
  55968. "typeIdentifier": "t_uint256",
  55969. "typeString": "uint256"
  55970. },
  55971. "typeName": {
  55972. "id": 11311,
  55973. "name": "uint256",
  55974. "nodeType": "ElementaryTypeName",
  55975. "src": "35188:7:50",
  55976. "typeDescriptions": {
  55977. "typeIdentifier": "t_uint256",
  55978. "typeString": "uint256"
  55979. }
  55980. },
  55981. "visibility": "internal"
  55982. },
  55983. {
  55984. "constant": false,
  55985. "id": 11314,
  55986. "mutability": "mutable",
  55987. "name": "p3",
  55988. "nameLocation": "35208:2:50",
  55989. "nodeType": "VariableDeclaration",
  55990. "scope": 11329,
  55991. "src": "35200:10:50",
  55992. "stateVariable": false,
  55993. "storageLocation": "default",
  55994. "typeDescriptions": {
  55995. "typeIdentifier": "t_uint256",
  55996. "typeString": "uint256"
  55997. },
  55998. "typeName": {
  55999. "id": 11313,
  56000. "name": "uint256",
  56001. "nodeType": "ElementaryTypeName",
  56002. "src": "35200:7:50",
  56003. "typeDescriptions": {
  56004. "typeIdentifier": "t_uint256",
  56005. "typeString": "uint256"
  56006. }
  56007. },
  56008. "visibility": "internal"
  56009. }
  56010. ],
  56011. "src": "35151:60:50"
  56012. },
  56013. "returnParameters": {
  56014. "id": 11316,
  56015. "nodeType": "ParameterList",
  56016. "parameters": [],
  56017. "src": "35226:0:50"
  56018. },
  56019. "scope": 15355,
  56020. "stateMutability": "pure",
  56021. "virtual": false,
  56022. "visibility": "internal"
  56023. },
  56024. {
  56025. "id": 11352,
  56026. "nodeType": "FunctionDefinition",
  56027. "src": "35343:203:50",
  56028. "nodes": [],
  56029. "body": {
  56030. "id": 11351,
  56031. "nodeType": "Block",
  56032. "src": "35436:110:50",
  56033. "nodes": [],
  56034. "statements": [
  56035. {
  56036. "expression": {
  56037. "arguments": [
  56038. {
  56039. "arguments": [
  56040. {
  56041. "hexValue": "6c6f6728737472696e672c737472696e672c75696e743235362c737472696e6729",
  56042. "id": 11343,
  56043. "isConstant": false,
  56044. "isLValue": false,
  56045. "isPure": true,
  56046. "kind": "string",
  56047. "lValueRequested": false,
  56048. "nodeType": "Literal",
  56049. "src": "35486:35:50",
  56050. "typeDescriptions": {
  56051. "typeIdentifier": "t_stringliteral_5d1a971aebb8f2fbb7526a470ca55e409230d59ee63217090d29ce11b768e909",
  56052. "typeString": "literal_string \"log(string,string,uint256,string)\""
  56053. },
  56054. "value": "log(string,string,uint256,string)"
  56055. },
  56056. {
  56057. "id": 11344,
  56058. "name": "p0",
  56059. "nodeType": "Identifier",
  56060. "overloadedDeclarations": [],
  56061. "referencedDeclaration": 11331,
  56062. "src": "35523:2:50",
  56063. "typeDescriptions": {
  56064. "typeIdentifier": "t_string_memory_ptr",
  56065. "typeString": "string memory"
  56066. }
  56067. },
  56068. {
  56069. "id": 11345,
  56070. "name": "p1",
  56071. "nodeType": "Identifier",
  56072. "overloadedDeclarations": [],
  56073. "referencedDeclaration": 11333,
  56074. "src": "35527:2:50",
  56075. "typeDescriptions": {
  56076. "typeIdentifier": "t_string_memory_ptr",
  56077. "typeString": "string memory"
  56078. }
  56079. },
  56080. {
  56081. "id": 11346,
  56082. "name": "p2",
  56083. "nodeType": "Identifier",
  56084. "overloadedDeclarations": [],
  56085. "referencedDeclaration": 11335,
  56086. "src": "35531:2:50",
  56087. "typeDescriptions": {
  56088. "typeIdentifier": "t_uint256",
  56089. "typeString": "uint256"
  56090. }
  56091. },
  56092. {
  56093. "id": 11347,
  56094. "name": "p3",
  56095. "nodeType": "Identifier",
  56096. "overloadedDeclarations": [],
  56097. "referencedDeclaration": 11337,
  56098. "src": "35535:2:50",
  56099. "typeDescriptions": {
  56100. "typeIdentifier": "t_string_memory_ptr",
  56101. "typeString": "string memory"
  56102. }
  56103. }
  56104. ],
  56105. "expression": {
  56106. "argumentTypes": [
  56107. {
  56108. "typeIdentifier": "t_stringliteral_5d1a971aebb8f2fbb7526a470ca55e409230d59ee63217090d29ce11b768e909",
  56109. "typeString": "literal_string \"log(string,string,uint256,string)\""
  56110. },
  56111. {
  56112. "typeIdentifier": "t_string_memory_ptr",
  56113. "typeString": "string memory"
  56114. },
  56115. {
  56116. "typeIdentifier": "t_string_memory_ptr",
  56117. "typeString": "string memory"
  56118. },
  56119. {
  56120. "typeIdentifier": "t_uint256",
  56121. "typeString": "uint256"
  56122. },
  56123. {
  56124. "typeIdentifier": "t_string_memory_ptr",
  56125. "typeString": "string memory"
  56126. }
  56127. ],
  56128. "expression": {
  56129. "id": 11341,
  56130. "name": "abi",
  56131. "nodeType": "Identifier",
  56132. "overloadedDeclarations": [],
  56133. "referencedDeclaration": -1,
  56134. "src": "35462:3:50",
  56135. "typeDescriptions": {
  56136. "typeIdentifier": "t_magic_abi",
  56137. "typeString": "abi"
  56138. }
  56139. },
  56140. "id": 11342,
  56141. "isConstant": false,
  56142. "isLValue": false,
  56143. "isPure": true,
  56144. "lValueRequested": false,
  56145. "memberLocation": "35466:19:50",
  56146. "memberName": "encodeWithSignature",
  56147. "nodeType": "MemberAccess",
  56148. "src": "35462:23:50",
  56149. "typeDescriptions": {
  56150. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  56151. "typeString": "function (string memory) pure returns (bytes memory)"
  56152. }
  56153. },
  56154. "id": 11348,
  56155. "isConstant": false,
  56156. "isLValue": false,
  56157. "isPure": false,
  56158. "kind": "functionCall",
  56159. "lValueRequested": false,
  56160. "nameLocations": [],
  56161. "names": [],
  56162. "nodeType": "FunctionCall",
  56163. "src": "35462:76:50",
  56164. "tryCall": false,
  56165. "typeDescriptions": {
  56166. "typeIdentifier": "t_bytes_memory_ptr",
  56167. "typeString": "bytes memory"
  56168. }
  56169. }
  56170. ],
  56171. "expression": {
  56172. "argumentTypes": [
  56173. {
  56174. "typeIdentifier": "t_bytes_memory_ptr",
  56175. "typeString": "bytes memory"
  56176. }
  56177. ],
  56178. "id": 11340,
  56179. "name": "_sendLogPayload",
  56180. "nodeType": "Identifier",
  56181. "overloadedDeclarations": [],
  56182. "referencedDeclaration": 7315,
  56183. "src": "35446:15:50",
  56184. "typeDescriptions": {
  56185. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  56186. "typeString": "function (bytes memory) pure"
  56187. }
  56188. },
  56189. "id": 11349,
  56190. "isConstant": false,
  56191. "isLValue": false,
  56192. "isPure": false,
  56193. "kind": "functionCall",
  56194. "lValueRequested": false,
  56195. "nameLocations": [],
  56196. "names": [],
  56197. "nodeType": "FunctionCall",
  56198. "src": "35446:93:50",
  56199. "tryCall": false,
  56200. "typeDescriptions": {
  56201. "typeIdentifier": "t_tuple$__$",
  56202. "typeString": "tuple()"
  56203. }
  56204. },
  56205. "id": 11350,
  56206. "nodeType": "ExpressionStatement",
  56207. "src": "35446:93:50"
  56208. }
  56209. ]
  56210. },
  56211. "implemented": true,
  56212. "kind": "function",
  56213. "modifiers": [],
  56214. "name": "log",
  56215. "nameLocation": "35352:3:50",
  56216. "parameters": {
  56217. "id": 11338,
  56218. "nodeType": "ParameterList",
  56219. "parameters": [
  56220. {
  56221. "constant": false,
  56222. "id": 11331,
  56223. "mutability": "mutable",
  56224. "name": "p0",
  56225. "nameLocation": "35370:2:50",
  56226. "nodeType": "VariableDeclaration",
  56227. "scope": 11352,
  56228. "src": "35356:16:50",
  56229. "stateVariable": false,
  56230. "storageLocation": "memory",
  56231. "typeDescriptions": {
  56232. "typeIdentifier": "t_string_memory_ptr",
  56233. "typeString": "string"
  56234. },
  56235. "typeName": {
  56236. "id": 11330,
  56237. "name": "string",
  56238. "nodeType": "ElementaryTypeName",
  56239. "src": "35356:6:50",
  56240. "typeDescriptions": {
  56241. "typeIdentifier": "t_string_storage_ptr",
  56242. "typeString": "string"
  56243. }
  56244. },
  56245. "visibility": "internal"
  56246. },
  56247. {
  56248. "constant": false,
  56249. "id": 11333,
  56250. "mutability": "mutable",
  56251. "name": "p1",
  56252. "nameLocation": "35388:2:50",
  56253. "nodeType": "VariableDeclaration",
  56254. "scope": 11352,
  56255. "src": "35374:16:50",
  56256. "stateVariable": false,
  56257. "storageLocation": "memory",
  56258. "typeDescriptions": {
  56259. "typeIdentifier": "t_string_memory_ptr",
  56260. "typeString": "string"
  56261. },
  56262. "typeName": {
  56263. "id": 11332,
  56264. "name": "string",
  56265. "nodeType": "ElementaryTypeName",
  56266. "src": "35374:6:50",
  56267. "typeDescriptions": {
  56268. "typeIdentifier": "t_string_storage_ptr",
  56269. "typeString": "string"
  56270. }
  56271. },
  56272. "visibility": "internal"
  56273. },
  56274. {
  56275. "constant": false,
  56276. "id": 11335,
  56277. "mutability": "mutable",
  56278. "name": "p2",
  56279. "nameLocation": "35400:2:50",
  56280. "nodeType": "VariableDeclaration",
  56281. "scope": 11352,
  56282. "src": "35392:10:50",
  56283. "stateVariable": false,
  56284. "storageLocation": "default",
  56285. "typeDescriptions": {
  56286. "typeIdentifier": "t_uint256",
  56287. "typeString": "uint256"
  56288. },
  56289. "typeName": {
  56290. "id": 11334,
  56291. "name": "uint256",
  56292. "nodeType": "ElementaryTypeName",
  56293. "src": "35392:7:50",
  56294. "typeDescriptions": {
  56295. "typeIdentifier": "t_uint256",
  56296. "typeString": "uint256"
  56297. }
  56298. },
  56299. "visibility": "internal"
  56300. },
  56301. {
  56302. "constant": false,
  56303. "id": 11337,
  56304. "mutability": "mutable",
  56305. "name": "p3",
  56306. "nameLocation": "35418:2:50",
  56307. "nodeType": "VariableDeclaration",
  56308. "scope": 11352,
  56309. "src": "35404:16:50",
  56310. "stateVariable": false,
  56311. "storageLocation": "memory",
  56312. "typeDescriptions": {
  56313. "typeIdentifier": "t_string_memory_ptr",
  56314. "typeString": "string"
  56315. },
  56316. "typeName": {
  56317. "id": 11336,
  56318. "name": "string",
  56319. "nodeType": "ElementaryTypeName",
  56320. "src": "35404:6:50",
  56321. "typeDescriptions": {
  56322. "typeIdentifier": "t_string_storage_ptr",
  56323. "typeString": "string"
  56324. }
  56325. },
  56326. "visibility": "internal"
  56327. }
  56328. ],
  56329. "src": "35355:66:50"
  56330. },
  56331. "returnParameters": {
  56332. "id": 11339,
  56333. "nodeType": "ParameterList",
  56334. "parameters": [],
  56335. "src": "35436:0:50"
  56336. },
  56337. "scope": 15355,
  56338. "stateMutability": "pure",
  56339. "virtual": false,
  56340. "visibility": "internal"
  56341. },
  56342. {
  56343. "id": 11375,
  56344. "nodeType": "FunctionDefinition",
  56345. "src": "35552:192:50",
  56346. "nodes": [],
  56347. "body": {
  56348. "id": 11374,
  56349. "nodeType": "Block",
  56350. "src": "35636:108:50",
  56351. "nodes": [],
  56352. "statements": [
  56353. {
  56354. "expression": {
  56355. "arguments": [
  56356. {
  56357. "arguments": [
  56358. {
  56359. "hexValue": "6c6f6728737472696e672c737472696e672c75696e743235362c626f6f6c29",
  56360. "id": 11366,
  56361. "isConstant": false,
  56362. "isLValue": false,
  56363. "isPure": true,
  56364. "kind": "string",
  56365. "lValueRequested": false,
  56366. "nodeType": "Literal",
  56367. "src": "35686:33:50",
  56368. "typeDescriptions": {
  56369. "typeIdentifier": "t_stringliteral_c3a8a6546b97cf01562dd9ca797c4955f3bab9bc163d02081737c20b686446d2",
  56370. "typeString": "literal_string \"log(string,string,uint256,bool)\""
  56371. },
  56372. "value": "log(string,string,uint256,bool)"
  56373. },
  56374. {
  56375. "id": 11367,
  56376. "name": "p0",
  56377. "nodeType": "Identifier",
  56378. "overloadedDeclarations": [],
  56379. "referencedDeclaration": 11354,
  56380. "src": "35721:2:50",
  56381. "typeDescriptions": {
  56382. "typeIdentifier": "t_string_memory_ptr",
  56383. "typeString": "string memory"
  56384. }
  56385. },
  56386. {
  56387. "id": 11368,
  56388. "name": "p1",
  56389. "nodeType": "Identifier",
  56390. "overloadedDeclarations": [],
  56391. "referencedDeclaration": 11356,
  56392. "src": "35725:2:50",
  56393. "typeDescriptions": {
  56394. "typeIdentifier": "t_string_memory_ptr",
  56395. "typeString": "string memory"
  56396. }
  56397. },
  56398. {
  56399. "id": 11369,
  56400. "name": "p2",
  56401. "nodeType": "Identifier",
  56402. "overloadedDeclarations": [],
  56403. "referencedDeclaration": 11358,
  56404. "src": "35729:2:50",
  56405. "typeDescriptions": {
  56406. "typeIdentifier": "t_uint256",
  56407. "typeString": "uint256"
  56408. }
  56409. },
  56410. {
  56411. "id": 11370,
  56412. "name": "p3",
  56413. "nodeType": "Identifier",
  56414. "overloadedDeclarations": [],
  56415. "referencedDeclaration": 11360,
  56416. "src": "35733:2:50",
  56417. "typeDescriptions": {
  56418. "typeIdentifier": "t_bool",
  56419. "typeString": "bool"
  56420. }
  56421. }
  56422. ],
  56423. "expression": {
  56424. "argumentTypes": [
  56425. {
  56426. "typeIdentifier": "t_stringliteral_c3a8a6546b97cf01562dd9ca797c4955f3bab9bc163d02081737c20b686446d2",
  56427. "typeString": "literal_string \"log(string,string,uint256,bool)\""
  56428. },
  56429. {
  56430. "typeIdentifier": "t_string_memory_ptr",
  56431. "typeString": "string memory"
  56432. },
  56433. {
  56434. "typeIdentifier": "t_string_memory_ptr",
  56435. "typeString": "string memory"
  56436. },
  56437. {
  56438. "typeIdentifier": "t_uint256",
  56439. "typeString": "uint256"
  56440. },
  56441. {
  56442. "typeIdentifier": "t_bool",
  56443. "typeString": "bool"
  56444. }
  56445. ],
  56446. "expression": {
  56447. "id": 11364,
  56448. "name": "abi",
  56449. "nodeType": "Identifier",
  56450. "overloadedDeclarations": [],
  56451. "referencedDeclaration": -1,
  56452. "src": "35662:3:50",
  56453. "typeDescriptions": {
  56454. "typeIdentifier": "t_magic_abi",
  56455. "typeString": "abi"
  56456. }
  56457. },
  56458. "id": 11365,
  56459. "isConstant": false,
  56460. "isLValue": false,
  56461. "isPure": true,
  56462. "lValueRequested": false,
  56463. "memberLocation": "35666:19:50",
  56464. "memberName": "encodeWithSignature",
  56465. "nodeType": "MemberAccess",
  56466. "src": "35662:23:50",
  56467. "typeDescriptions": {
  56468. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  56469. "typeString": "function (string memory) pure returns (bytes memory)"
  56470. }
  56471. },
  56472. "id": 11371,
  56473. "isConstant": false,
  56474. "isLValue": false,
  56475. "isPure": false,
  56476. "kind": "functionCall",
  56477. "lValueRequested": false,
  56478. "nameLocations": [],
  56479. "names": [],
  56480. "nodeType": "FunctionCall",
  56481. "src": "35662:74:50",
  56482. "tryCall": false,
  56483. "typeDescriptions": {
  56484. "typeIdentifier": "t_bytes_memory_ptr",
  56485. "typeString": "bytes memory"
  56486. }
  56487. }
  56488. ],
  56489. "expression": {
  56490. "argumentTypes": [
  56491. {
  56492. "typeIdentifier": "t_bytes_memory_ptr",
  56493. "typeString": "bytes memory"
  56494. }
  56495. ],
  56496. "id": 11363,
  56497. "name": "_sendLogPayload",
  56498. "nodeType": "Identifier",
  56499. "overloadedDeclarations": [],
  56500. "referencedDeclaration": 7315,
  56501. "src": "35646:15:50",
  56502. "typeDescriptions": {
  56503. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  56504. "typeString": "function (bytes memory) pure"
  56505. }
  56506. },
  56507. "id": 11372,
  56508. "isConstant": false,
  56509. "isLValue": false,
  56510. "isPure": false,
  56511. "kind": "functionCall",
  56512. "lValueRequested": false,
  56513. "nameLocations": [],
  56514. "names": [],
  56515. "nodeType": "FunctionCall",
  56516. "src": "35646:91:50",
  56517. "tryCall": false,
  56518. "typeDescriptions": {
  56519. "typeIdentifier": "t_tuple$__$",
  56520. "typeString": "tuple()"
  56521. }
  56522. },
  56523. "id": 11373,
  56524. "nodeType": "ExpressionStatement",
  56525. "src": "35646:91:50"
  56526. }
  56527. ]
  56528. },
  56529. "implemented": true,
  56530. "kind": "function",
  56531. "modifiers": [],
  56532. "name": "log",
  56533. "nameLocation": "35561:3:50",
  56534. "parameters": {
  56535. "id": 11361,
  56536. "nodeType": "ParameterList",
  56537. "parameters": [
  56538. {
  56539. "constant": false,
  56540. "id": 11354,
  56541. "mutability": "mutable",
  56542. "name": "p0",
  56543. "nameLocation": "35579:2:50",
  56544. "nodeType": "VariableDeclaration",
  56545. "scope": 11375,
  56546. "src": "35565:16:50",
  56547. "stateVariable": false,
  56548. "storageLocation": "memory",
  56549. "typeDescriptions": {
  56550. "typeIdentifier": "t_string_memory_ptr",
  56551. "typeString": "string"
  56552. },
  56553. "typeName": {
  56554. "id": 11353,
  56555. "name": "string",
  56556. "nodeType": "ElementaryTypeName",
  56557. "src": "35565:6:50",
  56558. "typeDescriptions": {
  56559. "typeIdentifier": "t_string_storage_ptr",
  56560. "typeString": "string"
  56561. }
  56562. },
  56563. "visibility": "internal"
  56564. },
  56565. {
  56566. "constant": false,
  56567. "id": 11356,
  56568. "mutability": "mutable",
  56569. "name": "p1",
  56570. "nameLocation": "35597:2:50",
  56571. "nodeType": "VariableDeclaration",
  56572. "scope": 11375,
  56573. "src": "35583:16:50",
  56574. "stateVariable": false,
  56575. "storageLocation": "memory",
  56576. "typeDescriptions": {
  56577. "typeIdentifier": "t_string_memory_ptr",
  56578. "typeString": "string"
  56579. },
  56580. "typeName": {
  56581. "id": 11355,
  56582. "name": "string",
  56583. "nodeType": "ElementaryTypeName",
  56584. "src": "35583:6:50",
  56585. "typeDescriptions": {
  56586. "typeIdentifier": "t_string_storage_ptr",
  56587. "typeString": "string"
  56588. }
  56589. },
  56590. "visibility": "internal"
  56591. },
  56592. {
  56593. "constant": false,
  56594. "id": 11358,
  56595. "mutability": "mutable",
  56596. "name": "p2",
  56597. "nameLocation": "35609:2:50",
  56598. "nodeType": "VariableDeclaration",
  56599. "scope": 11375,
  56600. "src": "35601:10:50",
  56601. "stateVariable": false,
  56602. "storageLocation": "default",
  56603. "typeDescriptions": {
  56604. "typeIdentifier": "t_uint256",
  56605. "typeString": "uint256"
  56606. },
  56607. "typeName": {
  56608. "id": 11357,
  56609. "name": "uint256",
  56610. "nodeType": "ElementaryTypeName",
  56611. "src": "35601:7:50",
  56612. "typeDescriptions": {
  56613. "typeIdentifier": "t_uint256",
  56614. "typeString": "uint256"
  56615. }
  56616. },
  56617. "visibility": "internal"
  56618. },
  56619. {
  56620. "constant": false,
  56621. "id": 11360,
  56622. "mutability": "mutable",
  56623. "name": "p3",
  56624. "nameLocation": "35618:2:50",
  56625. "nodeType": "VariableDeclaration",
  56626. "scope": 11375,
  56627. "src": "35613:7:50",
  56628. "stateVariable": false,
  56629. "storageLocation": "default",
  56630. "typeDescriptions": {
  56631. "typeIdentifier": "t_bool",
  56632. "typeString": "bool"
  56633. },
  56634. "typeName": {
  56635. "id": 11359,
  56636. "name": "bool",
  56637. "nodeType": "ElementaryTypeName",
  56638. "src": "35613:4:50",
  56639. "typeDescriptions": {
  56640. "typeIdentifier": "t_bool",
  56641. "typeString": "bool"
  56642. }
  56643. },
  56644. "visibility": "internal"
  56645. }
  56646. ],
  56647. "src": "35564:57:50"
  56648. },
  56649. "returnParameters": {
  56650. "id": 11362,
  56651. "nodeType": "ParameterList",
  56652. "parameters": [],
  56653. "src": "35636:0:50"
  56654. },
  56655. "scope": 15355,
  56656. "stateMutability": "pure",
  56657. "virtual": false,
  56658. "visibility": "internal"
  56659. },
  56660. {
  56661. "id": 11398,
  56662. "nodeType": "FunctionDefinition",
  56663. "src": "35750:198:50",
  56664. "nodes": [],
  56665. "body": {
  56666. "id": 11397,
  56667. "nodeType": "Block",
  56668. "src": "35837:111:50",
  56669. "nodes": [],
  56670. "statements": [
  56671. {
  56672. "expression": {
  56673. "arguments": [
  56674. {
  56675. "arguments": [
  56676. {
  56677. "hexValue": "6c6f6728737472696e672c737472696e672c75696e743235362c6164647265737329",
  56678. "id": 11389,
  56679. "isConstant": false,
  56680. "isLValue": false,
  56681. "isPure": true,
  56682. "kind": "string",
  56683. "lValueRequested": false,
  56684. "nodeType": "Literal",
  56685. "src": "35887:36:50",
  56686. "typeDescriptions": {
  56687. "typeIdentifier": "t_stringliteral_1023f7b286378387abf24b7020dbd1ddde789519cf7f13da727146a2a8a61fc6",
  56688. "typeString": "literal_string \"log(string,string,uint256,address)\""
  56689. },
  56690. "value": "log(string,string,uint256,address)"
  56691. },
  56692. {
  56693. "id": 11390,
  56694. "name": "p0",
  56695. "nodeType": "Identifier",
  56696. "overloadedDeclarations": [],
  56697. "referencedDeclaration": 11377,
  56698. "src": "35925:2:50",
  56699. "typeDescriptions": {
  56700. "typeIdentifier": "t_string_memory_ptr",
  56701. "typeString": "string memory"
  56702. }
  56703. },
  56704. {
  56705. "id": 11391,
  56706. "name": "p1",
  56707. "nodeType": "Identifier",
  56708. "overloadedDeclarations": [],
  56709. "referencedDeclaration": 11379,
  56710. "src": "35929:2:50",
  56711. "typeDescriptions": {
  56712. "typeIdentifier": "t_string_memory_ptr",
  56713. "typeString": "string memory"
  56714. }
  56715. },
  56716. {
  56717. "id": 11392,
  56718. "name": "p2",
  56719. "nodeType": "Identifier",
  56720. "overloadedDeclarations": [],
  56721. "referencedDeclaration": 11381,
  56722. "src": "35933:2:50",
  56723. "typeDescriptions": {
  56724. "typeIdentifier": "t_uint256",
  56725. "typeString": "uint256"
  56726. }
  56727. },
  56728. {
  56729. "id": 11393,
  56730. "name": "p3",
  56731. "nodeType": "Identifier",
  56732. "overloadedDeclarations": [],
  56733. "referencedDeclaration": 11383,
  56734. "src": "35937:2:50",
  56735. "typeDescriptions": {
  56736. "typeIdentifier": "t_address",
  56737. "typeString": "address"
  56738. }
  56739. }
  56740. ],
  56741. "expression": {
  56742. "argumentTypes": [
  56743. {
  56744. "typeIdentifier": "t_stringliteral_1023f7b286378387abf24b7020dbd1ddde789519cf7f13da727146a2a8a61fc6",
  56745. "typeString": "literal_string \"log(string,string,uint256,address)\""
  56746. },
  56747. {
  56748. "typeIdentifier": "t_string_memory_ptr",
  56749. "typeString": "string memory"
  56750. },
  56751. {
  56752. "typeIdentifier": "t_string_memory_ptr",
  56753. "typeString": "string memory"
  56754. },
  56755. {
  56756. "typeIdentifier": "t_uint256",
  56757. "typeString": "uint256"
  56758. },
  56759. {
  56760. "typeIdentifier": "t_address",
  56761. "typeString": "address"
  56762. }
  56763. ],
  56764. "expression": {
  56765. "id": 11387,
  56766. "name": "abi",
  56767. "nodeType": "Identifier",
  56768. "overloadedDeclarations": [],
  56769. "referencedDeclaration": -1,
  56770. "src": "35863:3:50",
  56771. "typeDescriptions": {
  56772. "typeIdentifier": "t_magic_abi",
  56773. "typeString": "abi"
  56774. }
  56775. },
  56776. "id": 11388,
  56777. "isConstant": false,
  56778. "isLValue": false,
  56779. "isPure": true,
  56780. "lValueRequested": false,
  56781. "memberLocation": "35867:19:50",
  56782. "memberName": "encodeWithSignature",
  56783. "nodeType": "MemberAccess",
  56784. "src": "35863:23:50",
  56785. "typeDescriptions": {
  56786. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  56787. "typeString": "function (string memory) pure returns (bytes memory)"
  56788. }
  56789. },
  56790. "id": 11394,
  56791. "isConstant": false,
  56792. "isLValue": false,
  56793. "isPure": false,
  56794. "kind": "functionCall",
  56795. "lValueRequested": false,
  56796. "nameLocations": [],
  56797. "names": [],
  56798. "nodeType": "FunctionCall",
  56799. "src": "35863:77:50",
  56800. "tryCall": false,
  56801. "typeDescriptions": {
  56802. "typeIdentifier": "t_bytes_memory_ptr",
  56803. "typeString": "bytes memory"
  56804. }
  56805. }
  56806. ],
  56807. "expression": {
  56808. "argumentTypes": [
  56809. {
  56810. "typeIdentifier": "t_bytes_memory_ptr",
  56811. "typeString": "bytes memory"
  56812. }
  56813. ],
  56814. "id": 11386,
  56815. "name": "_sendLogPayload",
  56816. "nodeType": "Identifier",
  56817. "overloadedDeclarations": [],
  56818. "referencedDeclaration": 7315,
  56819. "src": "35847:15:50",
  56820. "typeDescriptions": {
  56821. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  56822. "typeString": "function (bytes memory) pure"
  56823. }
  56824. },
  56825. "id": 11395,
  56826. "isConstant": false,
  56827. "isLValue": false,
  56828. "isPure": false,
  56829. "kind": "functionCall",
  56830. "lValueRequested": false,
  56831. "nameLocations": [],
  56832. "names": [],
  56833. "nodeType": "FunctionCall",
  56834. "src": "35847:94:50",
  56835. "tryCall": false,
  56836. "typeDescriptions": {
  56837. "typeIdentifier": "t_tuple$__$",
  56838. "typeString": "tuple()"
  56839. }
  56840. },
  56841. "id": 11396,
  56842. "nodeType": "ExpressionStatement",
  56843. "src": "35847:94:50"
  56844. }
  56845. ]
  56846. },
  56847. "implemented": true,
  56848. "kind": "function",
  56849. "modifiers": [],
  56850. "name": "log",
  56851. "nameLocation": "35759:3:50",
  56852. "parameters": {
  56853. "id": 11384,
  56854. "nodeType": "ParameterList",
  56855. "parameters": [
  56856. {
  56857. "constant": false,
  56858. "id": 11377,
  56859. "mutability": "mutable",
  56860. "name": "p0",
  56861. "nameLocation": "35777:2:50",
  56862. "nodeType": "VariableDeclaration",
  56863. "scope": 11398,
  56864. "src": "35763:16:50",
  56865. "stateVariable": false,
  56866. "storageLocation": "memory",
  56867. "typeDescriptions": {
  56868. "typeIdentifier": "t_string_memory_ptr",
  56869. "typeString": "string"
  56870. },
  56871. "typeName": {
  56872. "id": 11376,
  56873. "name": "string",
  56874. "nodeType": "ElementaryTypeName",
  56875. "src": "35763:6:50",
  56876. "typeDescriptions": {
  56877. "typeIdentifier": "t_string_storage_ptr",
  56878. "typeString": "string"
  56879. }
  56880. },
  56881. "visibility": "internal"
  56882. },
  56883. {
  56884. "constant": false,
  56885. "id": 11379,
  56886. "mutability": "mutable",
  56887. "name": "p1",
  56888. "nameLocation": "35795:2:50",
  56889. "nodeType": "VariableDeclaration",
  56890. "scope": 11398,
  56891. "src": "35781:16:50",
  56892. "stateVariable": false,
  56893. "storageLocation": "memory",
  56894. "typeDescriptions": {
  56895. "typeIdentifier": "t_string_memory_ptr",
  56896. "typeString": "string"
  56897. },
  56898. "typeName": {
  56899. "id": 11378,
  56900. "name": "string",
  56901. "nodeType": "ElementaryTypeName",
  56902. "src": "35781:6:50",
  56903. "typeDescriptions": {
  56904. "typeIdentifier": "t_string_storage_ptr",
  56905. "typeString": "string"
  56906. }
  56907. },
  56908. "visibility": "internal"
  56909. },
  56910. {
  56911. "constant": false,
  56912. "id": 11381,
  56913. "mutability": "mutable",
  56914. "name": "p2",
  56915. "nameLocation": "35807:2:50",
  56916. "nodeType": "VariableDeclaration",
  56917. "scope": 11398,
  56918. "src": "35799:10:50",
  56919. "stateVariable": false,
  56920. "storageLocation": "default",
  56921. "typeDescriptions": {
  56922. "typeIdentifier": "t_uint256",
  56923. "typeString": "uint256"
  56924. },
  56925. "typeName": {
  56926. "id": 11380,
  56927. "name": "uint256",
  56928. "nodeType": "ElementaryTypeName",
  56929. "src": "35799:7:50",
  56930. "typeDescriptions": {
  56931. "typeIdentifier": "t_uint256",
  56932. "typeString": "uint256"
  56933. }
  56934. },
  56935. "visibility": "internal"
  56936. },
  56937. {
  56938. "constant": false,
  56939. "id": 11383,
  56940. "mutability": "mutable",
  56941. "name": "p3",
  56942. "nameLocation": "35819:2:50",
  56943. "nodeType": "VariableDeclaration",
  56944. "scope": 11398,
  56945. "src": "35811:10:50",
  56946. "stateVariable": false,
  56947. "storageLocation": "default",
  56948. "typeDescriptions": {
  56949. "typeIdentifier": "t_address",
  56950. "typeString": "address"
  56951. },
  56952. "typeName": {
  56953. "id": 11382,
  56954. "name": "address",
  56955. "nodeType": "ElementaryTypeName",
  56956. "src": "35811:7:50",
  56957. "stateMutability": "nonpayable",
  56958. "typeDescriptions": {
  56959. "typeIdentifier": "t_address",
  56960. "typeString": "address"
  56961. }
  56962. },
  56963. "visibility": "internal"
  56964. }
  56965. ],
  56966. "src": "35762:60:50"
  56967. },
  56968. "returnParameters": {
  56969. "id": 11385,
  56970. "nodeType": "ParameterList",
  56971. "parameters": [],
  56972. "src": "35837:0:50"
  56973. },
  56974. "scope": 15355,
  56975. "stateMutability": "pure",
  56976. "virtual": false,
  56977. "visibility": "internal"
  56978. },
  56979. {
  56980. "id": 11421,
  56981. "nodeType": "FunctionDefinition",
  56982. "src": "35954:203:50",
  56983. "nodes": [],
  56984. "body": {
  56985. "id": 11420,
  56986. "nodeType": "Block",
  56987. "src": "36047:110:50",
  56988. "nodes": [],
  56989. "statements": [
  56990. {
  56991. "expression": {
  56992. "arguments": [
  56993. {
  56994. "arguments": [
  56995. {
  56996. "hexValue": "6c6f6728737472696e672c737472696e672c737472696e672c75696e7432353629",
  56997. "id": 11412,
  56998. "isConstant": false,
  56999. "isLValue": false,
  57000. "isPure": true,
  57001. "kind": "string",
  57002. "lValueRequested": false,
  57003. "nodeType": "Literal",
  57004. "src": "36097:35:50",
  57005. "typeDescriptions": {
  57006. "typeIdentifier": "t_stringliteral_8eafb02b2f27070f4cef3c26d2b8a8d041c7bf077352780062dc5a70550ac689",
  57007. "typeString": "literal_string \"log(string,string,string,uint256)\""
  57008. },
  57009. "value": "log(string,string,string,uint256)"
  57010. },
  57011. {
  57012. "id": 11413,
  57013. "name": "p0",
  57014. "nodeType": "Identifier",
  57015. "overloadedDeclarations": [],
  57016. "referencedDeclaration": 11400,
  57017. "src": "36134:2:50",
  57018. "typeDescriptions": {
  57019. "typeIdentifier": "t_string_memory_ptr",
  57020. "typeString": "string memory"
  57021. }
  57022. },
  57023. {
  57024. "id": 11414,
  57025. "name": "p1",
  57026. "nodeType": "Identifier",
  57027. "overloadedDeclarations": [],
  57028. "referencedDeclaration": 11402,
  57029. "src": "36138:2:50",
  57030. "typeDescriptions": {
  57031. "typeIdentifier": "t_string_memory_ptr",
  57032. "typeString": "string memory"
  57033. }
  57034. },
  57035. {
  57036. "id": 11415,
  57037. "name": "p2",
  57038. "nodeType": "Identifier",
  57039. "overloadedDeclarations": [],
  57040. "referencedDeclaration": 11404,
  57041. "src": "36142:2:50",
  57042. "typeDescriptions": {
  57043. "typeIdentifier": "t_string_memory_ptr",
  57044. "typeString": "string memory"
  57045. }
  57046. },
  57047. {
  57048. "id": 11416,
  57049. "name": "p3",
  57050. "nodeType": "Identifier",
  57051. "overloadedDeclarations": [],
  57052. "referencedDeclaration": 11406,
  57053. "src": "36146:2:50",
  57054. "typeDescriptions": {
  57055. "typeIdentifier": "t_uint256",
  57056. "typeString": "uint256"
  57057. }
  57058. }
  57059. ],
  57060. "expression": {
  57061. "argumentTypes": [
  57062. {
  57063. "typeIdentifier": "t_stringliteral_8eafb02b2f27070f4cef3c26d2b8a8d041c7bf077352780062dc5a70550ac689",
  57064. "typeString": "literal_string \"log(string,string,string,uint256)\""
  57065. },
  57066. {
  57067. "typeIdentifier": "t_string_memory_ptr",
  57068. "typeString": "string memory"
  57069. },
  57070. {
  57071. "typeIdentifier": "t_string_memory_ptr",
  57072. "typeString": "string memory"
  57073. },
  57074. {
  57075. "typeIdentifier": "t_string_memory_ptr",
  57076. "typeString": "string memory"
  57077. },
  57078. {
  57079. "typeIdentifier": "t_uint256",
  57080. "typeString": "uint256"
  57081. }
  57082. ],
  57083. "expression": {
  57084. "id": 11410,
  57085. "name": "abi",
  57086. "nodeType": "Identifier",
  57087. "overloadedDeclarations": [],
  57088. "referencedDeclaration": -1,
  57089. "src": "36073:3:50",
  57090. "typeDescriptions": {
  57091. "typeIdentifier": "t_magic_abi",
  57092. "typeString": "abi"
  57093. }
  57094. },
  57095. "id": 11411,
  57096. "isConstant": false,
  57097. "isLValue": false,
  57098. "isPure": true,
  57099. "lValueRequested": false,
  57100. "memberLocation": "36077:19:50",
  57101. "memberName": "encodeWithSignature",
  57102. "nodeType": "MemberAccess",
  57103. "src": "36073:23:50",
  57104. "typeDescriptions": {
  57105. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  57106. "typeString": "function (string memory) pure returns (bytes memory)"
  57107. }
  57108. },
  57109. "id": 11417,
  57110. "isConstant": false,
  57111. "isLValue": false,
  57112. "isPure": false,
  57113. "kind": "functionCall",
  57114. "lValueRequested": false,
  57115. "nameLocations": [],
  57116. "names": [],
  57117. "nodeType": "FunctionCall",
  57118. "src": "36073:76:50",
  57119. "tryCall": false,
  57120. "typeDescriptions": {
  57121. "typeIdentifier": "t_bytes_memory_ptr",
  57122. "typeString": "bytes memory"
  57123. }
  57124. }
  57125. ],
  57126. "expression": {
  57127. "argumentTypes": [
  57128. {
  57129. "typeIdentifier": "t_bytes_memory_ptr",
  57130. "typeString": "bytes memory"
  57131. }
  57132. ],
  57133. "id": 11409,
  57134. "name": "_sendLogPayload",
  57135. "nodeType": "Identifier",
  57136. "overloadedDeclarations": [],
  57137. "referencedDeclaration": 7315,
  57138. "src": "36057:15:50",
  57139. "typeDescriptions": {
  57140. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  57141. "typeString": "function (bytes memory) pure"
  57142. }
  57143. },
  57144. "id": 11418,
  57145. "isConstant": false,
  57146. "isLValue": false,
  57147. "isPure": false,
  57148. "kind": "functionCall",
  57149. "lValueRequested": false,
  57150. "nameLocations": [],
  57151. "names": [],
  57152. "nodeType": "FunctionCall",
  57153. "src": "36057:93:50",
  57154. "tryCall": false,
  57155. "typeDescriptions": {
  57156. "typeIdentifier": "t_tuple$__$",
  57157. "typeString": "tuple()"
  57158. }
  57159. },
  57160. "id": 11419,
  57161. "nodeType": "ExpressionStatement",
  57162. "src": "36057:93:50"
  57163. }
  57164. ]
  57165. },
  57166. "implemented": true,
  57167. "kind": "function",
  57168. "modifiers": [],
  57169. "name": "log",
  57170. "nameLocation": "35963:3:50",
  57171. "parameters": {
  57172. "id": 11407,
  57173. "nodeType": "ParameterList",
  57174. "parameters": [
  57175. {
  57176. "constant": false,
  57177. "id": 11400,
  57178. "mutability": "mutable",
  57179. "name": "p0",
  57180. "nameLocation": "35981:2:50",
  57181. "nodeType": "VariableDeclaration",
  57182. "scope": 11421,
  57183. "src": "35967:16:50",
  57184. "stateVariable": false,
  57185. "storageLocation": "memory",
  57186. "typeDescriptions": {
  57187. "typeIdentifier": "t_string_memory_ptr",
  57188. "typeString": "string"
  57189. },
  57190. "typeName": {
  57191. "id": 11399,
  57192. "name": "string",
  57193. "nodeType": "ElementaryTypeName",
  57194. "src": "35967:6:50",
  57195. "typeDescriptions": {
  57196. "typeIdentifier": "t_string_storage_ptr",
  57197. "typeString": "string"
  57198. }
  57199. },
  57200. "visibility": "internal"
  57201. },
  57202. {
  57203. "constant": false,
  57204. "id": 11402,
  57205. "mutability": "mutable",
  57206. "name": "p1",
  57207. "nameLocation": "35999:2:50",
  57208. "nodeType": "VariableDeclaration",
  57209. "scope": 11421,
  57210. "src": "35985:16:50",
  57211. "stateVariable": false,
  57212. "storageLocation": "memory",
  57213. "typeDescriptions": {
  57214. "typeIdentifier": "t_string_memory_ptr",
  57215. "typeString": "string"
  57216. },
  57217. "typeName": {
  57218. "id": 11401,
  57219. "name": "string",
  57220. "nodeType": "ElementaryTypeName",
  57221. "src": "35985:6:50",
  57222. "typeDescriptions": {
  57223. "typeIdentifier": "t_string_storage_ptr",
  57224. "typeString": "string"
  57225. }
  57226. },
  57227. "visibility": "internal"
  57228. },
  57229. {
  57230. "constant": false,
  57231. "id": 11404,
  57232. "mutability": "mutable",
  57233. "name": "p2",
  57234. "nameLocation": "36017:2:50",
  57235. "nodeType": "VariableDeclaration",
  57236. "scope": 11421,
  57237. "src": "36003:16:50",
  57238. "stateVariable": false,
  57239. "storageLocation": "memory",
  57240. "typeDescriptions": {
  57241. "typeIdentifier": "t_string_memory_ptr",
  57242. "typeString": "string"
  57243. },
  57244. "typeName": {
  57245. "id": 11403,
  57246. "name": "string",
  57247. "nodeType": "ElementaryTypeName",
  57248. "src": "36003:6:50",
  57249. "typeDescriptions": {
  57250. "typeIdentifier": "t_string_storage_ptr",
  57251. "typeString": "string"
  57252. }
  57253. },
  57254. "visibility": "internal"
  57255. },
  57256. {
  57257. "constant": false,
  57258. "id": 11406,
  57259. "mutability": "mutable",
  57260. "name": "p3",
  57261. "nameLocation": "36029:2:50",
  57262. "nodeType": "VariableDeclaration",
  57263. "scope": 11421,
  57264. "src": "36021:10:50",
  57265. "stateVariable": false,
  57266. "storageLocation": "default",
  57267. "typeDescriptions": {
  57268. "typeIdentifier": "t_uint256",
  57269. "typeString": "uint256"
  57270. },
  57271. "typeName": {
  57272. "id": 11405,
  57273. "name": "uint256",
  57274. "nodeType": "ElementaryTypeName",
  57275. "src": "36021:7:50",
  57276. "typeDescriptions": {
  57277. "typeIdentifier": "t_uint256",
  57278. "typeString": "uint256"
  57279. }
  57280. },
  57281. "visibility": "internal"
  57282. }
  57283. ],
  57284. "src": "35966:66:50"
  57285. },
  57286. "returnParameters": {
  57287. "id": 11408,
  57288. "nodeType": "ParameterList",
  57289. "parameters": [],
  57290. "src": "36047:0:50"
  57291. },
  57292. "scope": 15355,
  57293. "stateMutability": "pure",
  57294. "virtual": false,
  57295. "visibility": "internal"
  57296. },
  57297. {
  57298. "id": 11444,
  57299. "nodeType": "FunctionDefinition",
  57300. "src": "36163:208:50",
  57301. "nodes": [],
  57302. "body": {
  57303. "id": 11443,
  57304. "nodeType": "Block",
  57305. "src": "36262:109:50",
  57306. "nodes": [],
  57307. "statements": [
  57308. {
  57309. "expression": {
  57310. "arguments": [
  57311. {
  57312. "arguments": [
  57313. {
  57314. "hexValue": "6c6f6728737472696e672c737472696e672c737472696e672c737472696e6729",
  57315. "id": 11435,
  57316. "isConstant": false,
  57317. "isLValue": false,
  57318. "isPure": true,
  57319. "kind": "string",
  57320. "lValueRequested": false,
  57321. "nodeType": "Literal",
  57322. "src": "36312:34:50",
  57323. "typeDescriptions": {
  57324. "typeIdentifier": "t_stringliteral_de68f20a8e88f68d54c5aa294860ee37b58680632686e2f1101e4e042a2cbcbe",
  57325. "typeString": "literal_string \"log(string,string,string,string)\""
  57326. },
  57327. "value": "log(string,string,string,string)"
  57328. },
  57329. {
  57330. "id": 11436,
  57331. "name": "p0",
  57332. "nodeType": "Identifier",
  57333. "overloadedDeclarations": [],
  57334. "referencedDeclaration": 11423,
  57335. "src": "36348:2:50",
  57336. "typeDescriptions": {
  57337. "typeIdentifier": "t_string_memory_ptr",
  57338. "typeString": "string memory"
  57339. }
  57340. },
  57341. {
  57342. "id": 11437,
  57343. "name": "p1",
  57344. "nodeType": "Identifier",
  57345. "overloadedDeclarations": [],
  57346. "referencedDeclaration": 11425,
  57347. "src": "36352:2:50",
  57348. "typeDescriptions": {
  57349. "typeIdentifier": "t_string_memory_ptr",
  57350. "typeString": "string memory"
  57351. }
  57352. },
  57353. {
  57354. "id": 11438,
  57355. "name": "p2",
  57356. "nodeType": "Identifier",
  57357. "overloadedDeclarations": [],
  57358. "referencedDeclaration": 11427,
  57359. "src": "36356:2:50",
  57360. "typeDescriptions": {
  57361. "typeIdentifier": "t_string_memory_ptr",
  57362. "typeString": "string memory"
  57363. }
  57364. },
  57365. {
  57366. "id": 11439,
  57367. "name": "p3",
  57368. "nodeType": "Identifier",
  57369. "overloadedDeclarations": [],
  57370. "referencedDeclaration": 11429,
  57371. "src": "36360:2:50",
  57372. "typeDescriptions": {
  57373. "typeIdentifier": "t_string_memory_ptr",
  57374. "typeString": "string memory"
  57375. }
  57376. }
  57377. ],
  57378. "expression": {
  57379. "argumentTypes": [
  57380. {
  57381. "typeIdentifier": "t_stringliteral_de68f20a8e88f68d54c5aa294860ee37b58680632686e2f1101e4e042a2cbcbe",
  57382. "typeString": "literal_string \"log(string,string,string,string)\""
  57383. },
  57384. {
  57385. "typeIdentifier": "t_string_memory_ptr",
  57386. "typeString": "string memory"
  57387. },
  57388. {
  57389. "typeIdentifier": "t_string_memory_ptr",
  57390. "typeString": "string memory"
  57391. },
  57392. {
  57393. "typeIdentifier": "t_string_memory_ptr",
  57394. "typeString": "string memory"
  57395. },
  57396. {
  57397. "typeIdentifier": "t_string_memory_ptr",
  57398. "typeString": "string memory"
  57399. }
  57400. ],
  57401. "expression": {
  57402. "id": 11433,
  57403. "name": "abi",
  57404. "nodeType": "Identifier",
  57405. "overloadedDeclarations": [],
  57406. "referencedDeclaration": -1,
  57407. "src": "36288:3:50",
  57408. "typeDescriptions": {
  57409. "typeIdentifier": "t_magic_abi",
  57410. "typeString": "abi"
  57411. }
  57412. },
  57413. "id": 11434,
  57414. "isConstant": false,
  57415. "isLValue": false,
  57416. "isPure": true,
  57417. "lValueRequested": false,
  57418. "memberLocation": "36292:19:50",
  57419. "memberName": "encodeWithSignature",
  57420. "nodeType": "MemberAccess",
  57421. "src": "36288:23:50",
  57422. "typeDescriptions": {
  57423. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  57424. "typeString": "function (string memory) pure returns (bytes memory)"
  57425. }
  57426. },
  57427. "id": 11440,
  57428. "isConstant": false,
  57429. "isLValue": false,
  57430. "isPure": false,
  57431. "kind": "functionCall",
  57432. "lValueRequested": false,
  57433. "nameLocations": [],
  57434. "names": [],
  57435. "nodeType": "FunctionCall",
  57436. "src": "36288:75:50",
  57437. "tryCall": false,
  57438. "typeDescriptions": {
  57439. "typeIdentifier": "t_bytes_memory_ptr",
  57440. "typeString": "bytes memory"
  57441. }
  57442. }
  57443. ],
  57444. "expression": {
  57445. "argumentTypes": [
  57446. {
  57447. "typeIdentifier": "t_bytes_memory_ptr",
  57448. "typeString": "bytes memory"
  57449. }
  57450. ],
  57451. "id": 11432,
  57452. "name": "_sendLogPayload",
  57453. "nodeType": "Identifier",
  57454. "overloadedDeclarations": [],
  57455. "referencedDeclaration": 7315,
  57456. "src": "36272:15:50",
  57457. "typeDescriptions": {
  57458. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  57459. "typeString": "function (bytes memory) pure"
  57460. }
  57461. },
  57462. "id": 11441,
  57463. "isConstant": false,
  57464. "isLValue": false,
  57465. "isPure": false,
  57466. "kind": "functionCall",
  57467. "lValueRequested": false,
  57468. "nameLocations": [],
  57469. "names": [],
  57470. "nodeType": "FunctionCall",
  57471. "src": "36272:92:50",
  57472. "tryCall": false,
  57473. "typeDescriptions": {
  57474. "typeIdentifier": "t_tuple$__$",
  57475. "typeString": "tuple()"
  57476. }
  57477. },
  57478. "id": 11442,
  57479. "nodeType": "ExpressionStatement",
  57480. "src": "36272:92:50"
  57481. }
  57482. ]
  57483. },
  57484. "implemented": true,
  57485. "kind": "function",
  57486. "modifiers": [],
  57487. "name": "log",
  57488. "nameLocation": "36172:3:50",
  57489. "parameters": {
  57490. "id": 11430,
  57491. "nodeType": "ParameterList",
  57492. "parameters": [
  57493. {
  57494. "constant": false,
  57495. "id": 11423,
  57496. "mutability": "mutable",
  57497. "name": "p0",
  57498. "nameLocation": "36190:2:50",
  57499. "nodeType": "VariableDeclaration",
  57500. "scope": 11444,
  57501. "src": "36176:16:50",
  57502. "stateVariable": false,
  57503. "storageLocation": "memory",
  57504. "typeDescriptions": {
  57505. "typeIdentifier": "t_string_memory_ptr",
  57506. "typeString": "string"
  57507. },
  57508. "typeName": {
  57509. "id": 11422,
  57510. "name": "string",
  57511. "nodeType": "ElementaryTypeName",
  57512. "src": "36176:6:50",
  57513. "typeDescriptions": {
  57514. "typeIdentifier": "t_string_storage_ptr",
  57515. "typeString": "string"
  57516. }
  57517. },
  57518. "visibility": "internal"
  57519. },
  57520. {
  57521. "constant": false,
  57522. "id": 11425,
  57523. "mutability": "mutable",
  57524. "name": "p1",
  57525. "nameLocation": "36208:2:50",
  57526. "nodeType": "VariableDeclaration",
  57527. "scope": 11444,
  57528. "src": "36194:16:50",
  57529. "stateVariable": false,
  57530. "storageLocation": "memory",
  57531. "typeDescriptions": {
  57532. "typeIdentifier": "t_string_memory_ptr",
  57533. "typeString": "string"
  57534. },
  57535. "typeName": {
  57536. "id": 11424,
  57537. "name": "string",
  57538. "nodeType": "ElementaryTypeName",
  57539. "src": "36194:6:50",
  57540. "typeDescriptions": {
  57541. "typeIdentifier": "t_string_storage_ptr",
  57542. "typeString": "string"
  57543. }
  57544. },
  57545. "visibility": "internal"
  57546. },
  57547. {
  57548. "constant": false,
  57549. "id": 11427,
  57550. "mutability": "mutable",
  57551. "name": "p2",
  57552. "nameLocation": "36226:2:50",
  57553. "nodeType": "VariableDeclaration",
  57554. "scope": 11444,
  57555. "src": "36212:16:50",
  57556. "stateVariable": false,
  57557. "storageLocation": "memory",
  57558. "typeDescriptions": {
  57559. "typeIdentifier": "t_string_memory_ptr",
  57560. "typeString": "string"
  57561. },
  57562. "typeName": {
  57563. "id": 11426,
  57564. "name": "string",
  57565. "nodeType": "ElementaryTypeName",
  57566. "src": "36212:6:50",
  57567. "typeDescriptions": {
  57568. "typeIdentifier": "t_string_storage_ptr",
  57569. "typeString": "string"
  57570. }
  57571. },
  57572. "visibility": "internal"
  57573. },
  57574. {
  57575. "constant": false,
  57576. "id": 11429,
  57577. "mutability": "mutable",
  57578. "name": "p3",
  57579. "nameLocation": "36244:2:50",
  57580. "nodeType": "VariableDeclaration",
  57581. "scope": 11444,
  57582. "src": "36230:16:50",
  57583. "stateVariable": false,
  57584. "storageLocation": "memory",
  57585. "typeDescriptions": {
  57586. "typeIdentifier": "t_string_memory_ptr",
  57587. "typeString": "string"
  57588. },
  57589. "typeName": {
  57590. "id": 11428,
  57591. "name": "string",
  57592. "nodeType": "ElementaryTypeName",
  57593. "src": "36230:6:50",
  57594. "typeDescriptions": {
  57595. "typeIdentifier": "t_string_storage_ptr",
  57596. "typeString": "string"
  57597. }
  57598. },
  57599. "visibility": "internal"
  57600. }
  57601. ],
  57602. "src": "36175:72:50"
  57603. },
  57604. "returnParameters": {
  57605. "id": 11431,
  57606. "nodeType": "ParameterList",
  57607. "parameters": [],
  57608. "src": "36262:0:50"
  57609. },
  57610. "scope": 15355,
  57611. "stateMutability": "pure",
  57612. "virtual": false,
  57613. "visibility": "internal"
  57614. },
  57615. {
  57616. "id": 11467,
  57617. "nodeType": "FunctionDefinition",
  57618. "src": "36377:197:50",
  57619. "nodes": [],
  57620. "body": {
  57621. "id": 11466,
  57622. "nodeType": "Block",
  57623. "src": "36467:107:50",
  57624. "nodes": [],
  57625. "statements": [
  57626. {
  57627. "expression": {
  57628. "arguments": [
  57629. {
  57630. "arguments": [
  57631. {
  57632. "hexValue": "6c6f6728737472696e672c737472696e672c737472696e672c626f6f6c29",
  57633. "id": 11458,
  57634. "isConstant": false,
  57635. "isLValue": false,
  57636. "isPure": true,
  57637. "kind": "string",
  57638. "lValueRequested": false,
  57639. "nodeType": "Literal",
  57640. "src": "36517:32:50",
  57641. "typeDescriptions": {
  57642. "typeIdentifier": "t_stringliteral_2c1754ed9d3bc50669c3e71e3115dc4403f3cff35aa9b6b58799f80b5496f332",
  57643. "typeString": "literal_string \"log(string,string,string,bool)\""
  57644. },
  57645. "value": "log(string,string,string,bool)"
  57646. },
  57647. {
  57648. "id": 11459,
  57649. "name": "p0",
  57650. "nodeType": "Identifier",
  57651. "overloadedDeclarations": [],
  57652. "referencedDeclaration": 11446,
  57653. "src": "36551:2:50",
  57654. "typeDescriptions": {
  57655. "typeIdentifier": "t_string_memory_ptr",
  57656. "typeString": "string memory"
  57657. }
  57658. },
  57659. {
  57660. "id": 11460,
  57661. "name": "p1",
  57662. "nodeType": "Identifier",
  57663. "overloadedDeclarations": [],
  57664. "referencedDeclaration": 11448,
  57665. "src": "36555:2:50",
  57666. "typeDescriptions": {
  57667. "typeIdentifier": "t_string_memory_ptr",
  57668. "typeString": "string memory"
  57669. }
  57670. },
  57671. {
  57672. "id": 11461,
  57673. "name": "p2",
  57674. "nodeType": "Identifier",
  57675. "overloadedDeclarations": [],
  57676. "referencedDeclaration": 11450,
  57677. "src": "36559:2:50",
  57678. "typeDescriptions": {
  57679. "typeIdentifier": "t_string_memory_ptr",
  57680. "typeString": "string memory"
  57681. }
  57682. },
  57683. {
  57684. "id": 11462,
  57685. "name": "p3",
  57686. "nodeType": "Identifier",
  57687. "overloadedDeclarations": [],
  57688. "referencedDeclaration": 11452,
  57689. "src": "36563:2:50",
  57690. "typeDescriptions": {
  57691. "typeIdentifier": "t_bool",
  57692. "typeString": "bool"
  57693. }
  57694. }
  57695. ],
  57696. "expression": {
  57697. "argumentTypes": [
  57698. {
  57699. "typeIdentifier": "t_stringliteral_2c1754ed9d3bc50669c3e71e3115dc4403f3cff35aa9b6b58799f80b5496f332",
  57700. "typeString": "literal_string \"log(string,string,string,bool)\""
  57701. },
  57702. {
  57703. "typeIdentifier": "t_string_memory_ptr",
  57704. "typeString": "string memory"
  57705. },
  57706. {
  57707. "typeIdentifier": "t_string_memory_ptr",
  57708. "typeString": "string memory"
  57709. },
  57710. {
  57711. "typeIdentifier": "t_string_memory_ptr",
  57712. "typeString": "string memory"
  57713. },
  57714. {
  57715. "typeIdentifier": "t_bool",
  57716. "typeString": "bool"
  57717. }
  57718. ],
  57719. "expression": {
  57720. "id": 11456,
  57721. "name": "abi",
  57722. "nodeType": "Identifier",
  57723. "overloadedDeclarations": [],
  57724. "referencedDeclaration": -1,
  57725. "src": "36493:3:50",
  57726. "typeDescriptions": {
  57727. "typeIdentifier": "t_magic_abi",
  57728. "typeString": "abi"
  57729. }
  57730. },
  57731. "id": 11457,
  57732. "isConstant": false,
  57733. "isLValue": false,
  57734. "isPure": true,
  57735. "lValueRequested": false,
  57736. "memberLocation": "36497:19:50",
  57737. "memberName": "encodeWithSignature",
  57738. "nodeType": "MemberAccess",
  57739. "src": "36493:23:50",
  57740. "typeDescriptions": {
  57741. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  57742. "typeString": "function (string memory) pure returns (bytes memory)"
  57743. }
  57744. },
  57745. "id": 11463,
  57746. "isConstant": false,
  57747. "isLValue": false,
  57748. "isPure": false,
  57749. "kind": "functionCall",
  57750. "lValueRequested": false,
  57751. "nameLocations": [],
  57752. "names": [],
  57753. "nodeType": "FunctionCall",
  57754. "src": "36493:73:50",
  57755. "tryCall": false,
  57756. "typeDescriptions": {
  57757. "typeIdentifier": "t_bytes_memory_ptr",
  57758. "typeString": "bytes memory"
  57759. }
  57760. }
  57761. ],
  57762. "expression": {
  57763. "argumentTypes": [
  57764. {
  57765. "typeIdentifier": "t_bytes_memory_ptr",
  57766. "typeString": "bytes memory"
  57767. }
  57768. ],
  57769. "id": 11455,
  57770. "name": "_sendLogPayload",
  57771. "nodeType": "Identifier",
  57772. "overloadedDeclarations": [],
  57773. "referencedDeclaration": 7315,
  57774. "src": "36477:15:50",
  57775. "typeDescriptions": {
  57776. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  57777. "typeString": "function (bytes memory) pure"
  57778. }
  57779. },
  57780. "id": 11464,
  57781. "isConstant": false,
  57782. "isLValue": false,
  57783. "isPure": false,
  57784. "kind": "functionCall",
  57785. "lValueRequested": false,
  57786. "nameLocations": [],
  57787. "names": [],
  57788. "nodeType": "FunctionCall",
  57789. "src": "36477:90:50",
  57790. "tryCall": false,
  57791. "typeDescriptions": {
  57792. "typeIdentifier": "t_tuple$__$",
  57793. "typeString": "tuple()"
  57794. }
  57795. },
  57796. "id": 11465,
  57797. "nodeType": "ExpressionStatement",
  57798. "src": "36477:90:50"
  57799. }
  57800. ]
  57801. },
  57802. "implemented": true,
  57803. "kind": "function",
  57804. "modifiers": [],
  57805. "name": "log",
  57806. "nameLocation": "36386:3:50",
  57807. "parameters": {
  57808. "id": 11453,
  57809. "nodeType": "ParameterList",
  57810. "parameters": [
  57811. {
  57812. "constant": false,
  57813. "id": 11446,
  57814. "mutability": "mutable",
  57815. "name": "p0",
  57816. "nameLocation": "36404:2:50",
  57817. "nodeType": "VariableDeclaration",
  57818. "scope": 11467,
  57819. "src": "36390:16:50",
  57820. "stateVariable": false,
  57821. "storageLocation": "memory",
  57822. "typeDescriptions": {
  57823. "typeIdentifier": "t_string_memory_ptr",
  57824. "typeString": "string"
  57825. },
  57826. "typeName": {
  57827. "id": 11445,
  57828. "name": "string",
  57829. "nodeType": "ElementaryTypeName",
  57830. "src": "36390:6:50",
  57831. "typeDescriptions": {
  57832. "typeIdentifier": "t_string_storage_ptr",
  57833. "typeString": "string"
  57834. }
  57835. },
  57836. "visibility": "internal"
  57837. },
  57838. {
  57839. "constant": false,
  57840. "id": 11448,
  57841. "mutability": "mutable",
  57842. "name": "p1",
  57843. "nameLocation": "36422:2:50",
  57844. "nodeType": "VariableDeclaration",
  57845. "scope": 11467,
  57846. "src": "36408:16:50",
  57847. "stateVariable": false,
  57848. "storageLocation": "memory",
  57849. "typeDescriptions": {
  57850. "typeIdentifier": "t_string_memory_ptr",
  57851. "typeString": "string"
  57852. },
  57853. "typeName": {
  57854. "id": 11447,
  57855. "name": "string",
  57856. "nodeType": "ElementaryTypeName",
  57857. "src": "36408:6:50",
  57858. "typeDescriptions": {
  57859. "typeIdentifier": "t_string_storage_ptr",
  57860. "typeString": "string"
  57861. }
  57862. },
  57863. "visibility": "internal"
  57864. },
  57865. {
  57866. "constant": false,
  57867. "id": 11450,
  57868. "mutability": "mutable",
  57869. "name": "p2",
  57870. "nameLocation": "36440:2:50",
  57871. "nodeType": "VariableDeclaration",
  57872. "scope": 11467,
  57873. "src": "36426:16:50",
  57874. "stateVariable": false,
  57875. "storageLocation": "memory",
  57876. "typeDescriptions": {
  57877. "typeIdentifier": "t_string_memory_ptr",
  57878. "typeString": "string"
  57879. },
  57880. "typeName": {
  57881. "id": 11449,
  57882. "name": "string",
  57883. "nodeType": "ElementaryTypeName",
  57884. "src": "36426:6:50",
  57885. "typeDescriptions": {
  57886. "typeIdentifier": "t_string_storage_ptr",
  57887. "typeString": "string"
  57888. }
  57889. },
  57890. "visibility": "internal"
  57891. },
  57892. {
  57893. "constant": false,
  57894. "id": 11452,
  57895. "mutability": "mutable",
  57896. "name": "p3",
  57897. "nameLocation": "36449:2:50",
  57898. "nodeType": "VariableDeclaration",
  57899. "scope": 11467,
  57900. "src": "36444:7:50",
  57901. "stateVariable": false,
  57902. "storageLocation": "default",
  57903. "typeDescriptions": {
  57904. "typeIdentifier": "t_bool",
  57905. "typeString": "bool"
  57906. },
  57907. "typeName": {
  57908. "id": 11451,
  57909. "name": "bool",
  57910. "nodeType": "ElementaryTypeName",
  57911. "src": "36444:4:50",
  57912. "typeDescriptions": {
  57913. "typeIdentifier": "t_bool",
  57914. "typeString": "bool"
  57915. }
  57916. },
  57917. "visibility": "internal"
  57918. }
  57919. ],
  57920. "src": "36389:63:50"
  57921. },
  57922. "returnParameters": {
  57923. "id": 11454,
  57924. "nodeType": "ParameterList",
  57925. "parameters": [],
  57926. "src": "36467:0:50"
  57927. },
  57928. "scope": 15355,
  57929. "stateMutability": "pure",
  57930. "virtual": false,
  57931. "visibility": "internal"
  57932. },
  57933. {
  57934. "id": 11490,
  57935. "nodeType": "FunctionDefinition",
  57936. "src": "36580:203:50",
  57937. "nodes": [],
  57938. "body": {
  57939. "id": 11489,
  57940. "nodeType": "Block",
  57941. "src": "36673:110:50",
  57942. "nodes": [],
  57943. "statements": [
  57944. {
  57945. "expression": {
  57946. "arguments": [
  57947. {
  57948. "arguments": [
  57949. {
  57950. "hexValue": "6c6f6728737472696e672c737472696e672c737472696e672c6164647265737329",
  57951. "id": 11481,
  57952. "isConstant": false,
  57953. "isLValue": false,
  57954. "isPure": true,
  57955. "kind": "string",
  57956. "lValueRequested": false,
  57957. "nodeType": "Literal",
  57958. "src": "36723:35:50",
  57959. "typeDescriptions": {
  57960. "typeIdentifier": "t_stringliteral_6d572f449cf1e446ea3ace51a34ce30628f4f1588a39dc5d550cefb210c5bb16",
  57961. "typeString": "literal_string \"log(string,string,string,address)\""
  57962. },
  57963. "value": "log(string,string,string,address)"
  57964. },
  57965. {
  57966. "id": 11482,
  57967. "name": "p0",
  57968. "nodeType": "Identifier",
  57969. "overloadedDeclarations": [],
  57970. "referencedDeclaration": 11469,
  57971. "src": "36760:2:50",
  57972. "typeDescriptions": {
  57973. "typeIdentifier": "t_string_memory_ptr",
  57974. "typeString": "string memory"
  57975. }
  57976. },
  57977. {
  57978. "id": 11483,
  57979. "name": "p1",
  57980. "nodeType": "Identifier",
  57981. "overloadedDeclarations": [],
  57982. "referencedDeclaration": 11471,
  57983. "src": "36764:2:50",
  57984. "typeDescriptions": {
  57985. "typeIdentifier": "t_string_memory_ptr",
  57986. "typeString": "string memory"
  57987. }
  57988. },
  57989. {
  57990. "id": 11484,
  57991. "name": "p2",
  57992. "nodeType": "Identifier",
  57993. "overloadedDeclarations": [],
  57994. "referencedDeclaration": 11473,
  57995. "src": "36768:2:50",
  57996. "typeDescriptions": {
  57997. "typeIdentifier": "t_string_memory_ptr",
  57998. "typeString": "string memory"
  57999. }
  58000. },
  58001. {
  58002. "id": 11485,
  58003. "name": "p3",
  58004. "nodeType": "Identifier",
  58005. "overloadedDeclarations": [],
  58006. "referencedDeclaration": 11475,
  58007. "src": "36772:2:50",
  58008. "typeDescriptions": {
  58009. "typeIdentifier": "t_address",
  58010. "typeString": "address"
  58011. }
  58012. }
  58013. ],
  58014. "expression": {
  58015. "argumentTypes": [
  58016. {
  58017. "typeIdentifier": "t_stringliteral_6d572f449cf1e446ea3ace51a34ce30628f4f1588a39dc5d550cefb210c5bb16",
  58018. "typeString": "literal_string \"log(string,string,string,address)\""
  58019. },
  58020. {
  58021. "typeIdentifier": "t_string_memory_ptr",
  58022. "typeString": "string memory"
  58023. },
  58024. {
  58025. "typeIdentifier": "t_string_memory_ptr",
  58026. "typeString": "string memory"
  58027. },
  58028. {
  58029. "typeIdentifier": "t_string_memory_ptr",
  58030. "typeString": "string memory"
  58031. },
  58032. {
  58033. "typeIdentifier": "t_address",
  58034. "typeString": "address"
  58035. }
  58036. ],
  58037. "expression": {
  58038. "id": 11479,
  58039. "name": "abi",
  58040. "nodeType": "Identifier",
  58041. "overloadedDeclarations": [],
  58042. "referencedDeclaration": -1,
  58043. "src": "36699:3:50",
  58044. "typeDescriptions": {
  58045. "typeIdentifier": "t_magic_abi",
  58046. "typeString": "abi"
  58047. }
  58048. },
  58049. "id": 11480,
  58050. "isConstant": false,
  58051. "isLValue": false,
  58052. "isPure": true,
  58053. "lValueRequested": false,
  58054. "memberLocation": "36703:19:50",
  58055. "memberName": "encodeWithSignature",
  58056. "nodeType": "MemberAccess",
  58057. "src": "36699:23:50",
  58058. "typeDescriptions": {
  58059. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  58060. "typeString": "function (string memory) pure returns (bytes memory)"
  58061. }
  58062. },
  58063. "id": 11486,
  58064. "isConstant": false,
  58065. "isLValue": false,
  58066. "isPure": false,
  58067. "kind": "functionCall",
  58068. "lValueRequested": false,
  58069. "nameLocations": [],
  58070. "names": [],
  58071. "nodeType": "FunctionCall",
  58072. "src": "36699:76:50",
  58073. "tryCall": false,
  58074. "typeDescriptions": {
  58075. "typeIdentifier": "t_bytes_memory_ptr",
  58076. "typeString": "bytes memory"
  58077. }
  58078. }
  58079. ],
  58080. "expression": {
  58081. "argumentTypes": [
  58082. {
  58083. "typeIdentifier": "t_bytes_memory_ptr",
  58084. "typeString": "bytes memory"
  58085. }
  58086. ],
  58087. "id": 11478,
  58088. "name": "_sendLogPayload",
  58089. "nodeType": "Identifier",
  58090. "overloadedDeclarations": [],
  58091. "referencedDeclaration": 7315,
  58092. "src": "36683:15:50",
  58093. "typeDescriptions": {
  58094. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  58095. "typeString": "function (bytes memory) pure"
  58096. }
  58097. },
  58098. "id": 11487,
  58099. "isConstant": false,
  58100. "isLValue": false,
  58101. "isPure": false,
  58102. "kind": "functionCall",
  58103. "lValueRequested": false,
  58104. "nameLocations": [],
  58105. "names": [],
  58106. "nodeType": "FunctionCall",
  58107. "src": "36683:93:50",
  58108. "tryCall": false,
  58109. "typeDescriptions": {
  58110. "typeIdentifier": "t_tuple$__$",
  58111. "typeString": "tuple()"
  58112. }
  58113. },
  58114. "id": 11488,
  58115. "nodeType": "ExpressionStatement",
  58116. "src": "36683:93:50"
  58117. }
  58118. ]
  58119. },
  58120. "implemented": true,
  58121. "kind": "function",
  58122. "modifiers": [],
  58123. "name": "log",
  58124. "nameLocation": "36589:3:50",
  58125. "parameters": {
  58126. "id": 11476,
  58127. "nodeType": "ParameterList",
  58128. "parameters": [
  58129. {
  58130. "constant": false,
  58131. "id": 11469,
  58132. "mutability": "mutable",
  58133. "name": "p0",
  58134. "nameLocation": "36607:2:50",
  58135. "nodeType": "VariableDeclaration",
  58136. "scope": 11490,
  58137. "src": "36593:16:50",
  58138. "stateVariable": false,
  58139. "storageLocation": "memory",
  58140. "typeDescriptions": {
  58141. "typeIdentifier": "t_string_memory_ptr",
  58142. "typeString": "string"
  58143. },
  58144. "typeName": {
  58145. "id": 11468,
  58146. "name": "string",
  58147. "nodeType": "ElementaryTypeName",
  58148. "src": "36593:6:50",
  58149. "typeDescriptions": {
  58150. "typeIdentifier": "t_string_storage_ptr",
  58151. "typeString": "string"
  58152. }
  58153. },
  58154. "visibility": "internal"
  58155. },
  58156. {
  58157. "constant": false,
  58158. "id": 11471,
  58159. "mutability": "mutable",
  58160. "name": "p1",
  58161. "nameLocation": "36625:2:50",
  58162. "nodeType": "VariableDeclaration",
  58163. "scope": 11490,
  58164. "src": "36611:16:50",
  58165. "stateVariable": false,
  58166. "storageLocation": "memory",
  58167. "typeDescriptions": {
  58168. "typeIdentifier": "t_string_memory_ptr",
  58169. "typeString": "string"
  58170. },
  58171. "typeName": {
  58172. "id": 11470,
  58173. "name": "string",
  58174. "nodeType": "ElementaryTypeName",
  58175. "src": "36611:6:50",
  58176. "typeDescriptions": {
  58177. "typeIdentifier": "t_string_storage_ptr",
  58178. "typeString": "string"
  58179. }
  58180. },
  58181. "visibility": "internal"
  58182. },
  58183. {
  58184. "constant": false,
  58185. "id": 11473,
  58186. "mutability": "mutable",
  58187. "name": "p2",
  58188. "nameLocation": "36643:2:50",
  58189. "nodeType": "VariableDeclaration",
  58190. "scope": 11490,
  58191. "src": "36629:16:50",
  58192. "stateVariable": false,
  58193. "storageLocation": "memory",
  58194. "typeDescriptions": {
  58195. "typeIdentifier": "t_string_memory_ptr",
  58196. "typeString": "string"
  58197. },
  58198. "typeName": {
  58199. "id": 11472,
  58200. "name": "string",
  58201. "nodeType": "ElementaryTypeName",
  58202. "src": "36629:6:50",
  58203. "typeDescriptions": {
  58204. "typeIdentifier": "t_string_storage_ptr",
  58205. "typeString": "string"
  58206. }
  58207. },
  58208. "visibility": "internal"
  58209. },
  58210. {
  58211. "constant": false,
  58212. "id": 11475,
  58213. "mutability": "mutable",
  58214. "name": "p3",
  58215. "nameLocation": "36655:2:50",
  58216. "nodeType": "VariableDeclaration",
  58217. "scope": 11490,
  58218. "src": "36647:10:50",
  58219. "stateVariable": false,
  58220. "storageLocation": "default",
  58221. "typeDescriptions": {
  58222. "typeIdentifier": "t_address",
  58223. "typeString": "address"
  58224. },
  58225. "typeName": {
  58226. "id": 11474,
  58227. "name": "address",
  58228. "nodeType": "ElementaryTypeName",
  58229. "src": "36647:7:50",
  58230. "stateMutability": "nonpayable",
  58231. "typeDescriptions": {
  58232. "typeIdentifier": "t_address",
  58233. "typeString": "address"
  58234. }
  58235. },
  58236. "visibility": "internal"
  58237. }
  58238. ],
  58239. "src": "36592:66:50"
  58240. },
  58241. "returnParameters": {
  58242. "id": 11477,
  58243. "nodeType": "ParameterList",
  58244. "parameters": [],
  58245. "src": "36673:0:50"
  58246. },
  58247. "scope": 15355,
  58248. "stateMutability": "pure",
  58249. "virtual": false,
  58250. "visibility": "internal"
  58251. },
  58252. {
  58253. "id": 11513,
  58254. "nodeType": "FunctionDefinition",
  58255. "src": "36789:192:50",
  58256. "nodes": [],
  58257. "body": {
  58258. "id": 11512,
  58259. "nodeType": "Block",
  58260. "src": "36873:108:50",
  58261. "nodes": [],
  58262. "statements": [
  58263. {
  58264. "expression": {
  58265. "arguments": [
  58266. {
  58267. "arguments": [
  58268. {
  58269. "hexValue": "6c6f6728737472696e672c737472696e672c626f6f6c2c75696e7432353629",
  58270. "id": 11504,
  58271. "isConstant": false,
  58272. "isLValue": false,
  58273. "isPure": true,
  58274. "kind": "string",
  58275. "lValueRequested": false,
  58276. "nodeType": "Literal",
  58277. "src": "36923:33:50",
  58278. "typeDescriptions": {
  58279. "typeIdentifier": "t_stringliteral_d6aefad2ecee6d91421acc41f939bded56985ac5c9cf6e49011ee16b1bb31729",
  58280. "typeString": "literal_string \"log(string,string,bool,uint256)\""
  58281. },
  58282. "value": "log(string,string,bool,uint256)"
  58283. },
  58284. {
  58285. "id": 11505,
  58286. "name": "p0",
  58287. "nodeType": "Identifier",
  58288. "overloadedDeclarations": [],
  58289. "referencedDeclaration": 11492,
  58290. "src": "36958:2:50",
  58291. "typeDescriptions": {
  58292. "typeIdentifier": "t_string_memory_ptr",
  58293. "typeString": "string memory"
  58294. }
  58295. },
  58296. {
  58297. "id": 11506,
  58298. "name": "p1",
  58299. "nodeType": "Identifier",
  58300. "overloadedDeclarations": [],
  58301. "referencedDeclaration": 11494,
  58302. "src": "36962:2:50",
  58303. "typeDescriptions": {
  58304. "typeIdentifier": "t_string_memory_ptr",
  58305. "typeString": "string memory"
  58306. }
  58307. },
  58308. {
  58309. "id": 11507,
  58310. "name": "p2",
  58311. "nodeType": "Identifier",
  58312. "overloadedDeclarations": [],
  58313. "referencedDeclaration": 11496,
  58314. "src": "36966:2:50",
  58315. "typeDescriptions": {
  58316. "typeIdentifier": "t_bool",
  58317. "typeString": "bool"
  58318. }
  58319. },
  58320. {
  58321. "id": 11508,
  58322. "name": "p3",
  58323. "nodeType": "Identifier",
  58324. "overloadedDeclarations": [],
  58325. "referencedDeclaration": 11498,
  58326. "src": "36970:2:50",
  58327. "typeDescriptions": {
  58328. "typeIdentifier": "t_uint256",
  58329. "typeString": "uint256"
  58330. }
  58331. }
  58332. ],
  58333. "expression": {
  58334. "argumentTypes": [
  58335. {
  58336. "typeIdentifier": "t_stringliteral_d6aefad2ecee6d91421acc41f939bded56985ac5c9cf6e49011ee16b1bb31729",
  58337. "typeString": "literal_string \"log(string,string,bool,uint256)\""
  58338. },
  58339. {
  58340. "typeIdentifier": "t_string_memory_ptr",
  58341. "typeString": "string memory"
  58342. },
  58343. {
  58344. "typeIdentifier": "t_string_memory_ptr",
  58345. "typeString": "string memory"
  58346. },
  58347. {
  58348. "typeIdentifier": "t_bool",
  58349. "typeString": "bool"
  58350. },
  58351. {
  58352. "typeIdentifier": "t_uint256",
  58353. "typeString": "uint256"
  58354. }
  58355. ],
  58356. "expression": {
  58357. "id": 11502,
  58358. "name": "abi",
  58359. "nodeType": "Identifier",
  58360. "overloadedDeclarations": [],
  58361. "referencedDeclaration": -1,
  58362. "src": "36899:3:50",
  58363. "typeDescriptions": {
  58364. "typeIdentifier": "t_magic_abi",
  58365. "typeString": "abi"
  58366. }
  58367. },
  58368. "id": 11503,
  58369. "isConstant": false,
  58370. "isLValue": false,
  58371. "isPure": true,
  58372. "lValueRequested": false,
  58373. "memberLocation": "36903:19:50",
  58374. "memberName": "encodeWithSignature",
  58375. "nodeType": "MemberAccess",
  58376. "src": "36899:23:50",
  58377. "typeDescriptions": {
  58378. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  58379. "typeString": "function (string memory) pure returns (bytes memory)"
  58380. }
  58381. },
  58382. "id": 11509,
  58383. "isConstant": false,
  58384. "isLValue": false,
  58385. "isPure": false,
  58386. "kind": "functionCall",
  58387. "lValueRequested": false,
  58388. "nameLocations": [],
  58389. "names": [],
  58390. "nodeType": "FunctionCall",
  58391. "src": "36899:74:50",
  58392. "tryCall": false,
  58393. "typeDescriptions": {
  58394. "typeIdentifier": "t_bytes_memory_ptr",
  58395. "typeString": "bytes memory"
  58396. }
  58397. }
  58398. ],
  58399. "expression": {
  58400. "argumentTypes": [
  58401. {
  58402. "typeIdentifier": "t_bytes_memory_ptr",
  58403. "typeString": "bytes memory"
  58404. }
  58405. ],
  58406. "id": 11501,
  58407. "name": "_sendLogPayload",
  58408. "nodeType": "Identifier",
  58409. "overloadedDeclarations": [],
  58410. "referencedDeclaration": 7315,
  58411. "src": "36883:15:50",
  58412. "typeDescriptions": {
  58413. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  58414. "typeString": "function (bytes memory) pure"
  58415. }
  58416. },
  58417. "id": 11510,
  58418. "isConstant": false,
  58419. "isLValue": false,
  58420. "isPure": false,
  58421. "kind": "functionCall",
  58422. "lValueRequested": false,
  58423. "nameLocations": [],
  58424. "names": [],
  58425. "nodeType": "FunctionCall",
  58426. "src": "36883:91:50",
  58427. "tryCall": false,
  58428. "typeDescriptions": {
  58429. "typeIdentifier": "t_tuple$__$",
  58430. "typeString": "tuple()"
  58431. }
  58432. },
  58433. "id": 11511,
  58434. "nodeType": "ExpressionStatement",
  58435. "src": "36883:91:50"
  58436. }
  58437. ]
  58438. },
  58439. "implemented": true,
  58440. "kind": "function",
  58441. "modifiers": [],
  58442. "name": "log",
  58443. "nameLocation": "36798:3:50",
  58444. "parameters": {
  58445. "id": 11499,
  58446. "nodeType": "ParameterList",
  58447. "parameters": [
  58448. {
  58449. "constant": false,
  58450. "id": 11492,
  58451. "mutability": "mutable",
  58452. "name": "p0",
  58453. "nameLocation": "36816:2:50",
  58454. "nodeType": "VariableDeclaration",
  58455. "scope": 11513,
  58456. "src": "36802:16:50",
  58457. "stateVariable": false,
  58458. "storageLocation": "memory",
  58459. "typeDescriptions": {
  58460. "typeIdentifier": "t_string_memory_ptr",
  58461. "typeString": "string"
  58462. },
  58463. "typeName": {
  58464. "id": 11491,
  58465. "name": "string",
  58466. "nodeType": "ElementaryTypeName",
  58467. "src": "36802:6:50",
  58468. "typeDescriptions": {
  58469. "typeIdentifier": "t_string_storage_ptr",
  58470. "typeString": "string"
  58471. }
  58472. },
  58473. "visibility": "internal"
  58474. },
  58475. {
  58476. "constant": false,
  58477. "id": 11494,
  58478. "mutability": "mutable",
  58479. "name": "p1",
  58480. "nameLocation": "36834:2:50",
  58481. "nodeType": "VariableDeclaration",
  58482. "scope": 11513,
  58483. "src": "36820:16:50",
  58484. "stateVariable": false,
  58485. "storageLocation": "memory",
  58486. "typeDescriptions": {
  58487. "typeIdentifier": "t_string_memory_ptr",
  58488. "typeString": "string"
  58489. },
  58490. "typeName": {
  58491. "id": 11493,
  58492. "name": "string",
  58493. "nodeType": "ElementaryTypeName",
  58494. "src": "36820:6:50",
  58495. "typeDescriptions": {
  58496. "typeIdentifier": "t_string_storage_ptr",
  58497. "typeString": "string"
  58498. }
  58499. },
  58500. "visibility": "internal"
  58501. },
  58502. {
  58503. "constant": false,
  58504. "id": 11496,
  58505. "mutability": "mutable",
  58506. "name": "p2",
  58507. "nameLocation": "36843:2:50",
  58508. "nodeType": "VariableDeclaration",
  58509. "scope": 11513,
  58510. "src": "36838:7:50",
  58511. "stateVariable": false,
  58512. "storageLocation": "default",
  58513. "typeDescriptions": {
  58514. "typeIdentifier": "t_bool",
  58515. "typeString": "bool"
  58516. },
  58517. "typeName": {
  58518. "id": 11495,
  58519. "name": "bool",
  58520. "nodeType": "ElementaryTypeName",
  58521. "src": "36838:4:50",
  58522. "typeDescriptions": {
  58523. "typeIdentifier": "t_bool",
  58524. "typeString": "bool"
  58525. }
  58526. },
  58527. "visibility": "internal"
  58528. },
  58529. {
  58530. "constant": false,
  58531. "id": 11498,
  58532. "mutability": "mutable",
  58533. "name": "p3",
  58534. "nameLocation": "36855:2:50",
  58535. "nodeType": "VariableDeclaration",
  58536. "scope": 11513,
  58537. "src": "36847:10:50",
  58538. "stateVariable": false,
  58539. "storageLocation": "default",
  58540. "typeDescriptions": {
  58541. "typeIdentifier": "t_uint256",
  58542. "typeString": "uint256"
  58543. },
  58544. "typeName": {
  58545. "id": 11497,
  58546. "name": "uint256",
  58547. "nodeType": "ElementaryTypeName",
  58548. "src": "36847:7:50",
  58549. "typeDescriptions": {
  58550. "typeIdentifier": "t_uint256",
  58551. "typeString": "uint256"
  58552. }
  58553. },
  58554. "visibility": "internal"
  58555. }
  58556. ],
  58557. "src": "36801:57:50"
  58558. },
  58559. "returnParameters": {
  58560. "id": 11500,
  58561. "nodeType": "ParameterList",
  58562. "parameters": [],
  58563. "src": "36873:0:50"
  58564. },
  58565. "scope": 15355,
  58566. "stateMutability": "pure",
  58567. "virtual": false,
  58568. "visibility": "internal"
  58569. },
  58570. {
  58571. "id": 11536,
  58572. "nodeType": "FunctionDefinition",
  58573. "src": "36987:197:50",
  58574. "nodes": [],
  58575. "body": {
  58576. "id": 11535,
  58577. "nodeType": "Block",
  58578. "src": "37077:107:50",
  58579. "nodes": [],
  58580. "statements": [
  58581. {
  58582. "expression": {
  58583. "arguments": [
  58584. {
  58585. "arguments": [
  58586. {
  58587. "hexValue": "6c6f6728737472696e672c737472696e672c626f6f6c2c737472696e6729",
  58588. "id": 11527,
  58589. "isConstant": false,
  58590. "isLValue": false,
  58591. "isPure": true,
  58592. "kind": "string",
  58593. "lValueRequested": false,
  58594. "nodeType": "Literal",
  58595. "src": "37127:32:50",
  58596. "typeDescriptions": {
  58597. "typeIdentifier": "t_stringliteral_5e84b0ea51a130c3c7e1443097f28cb5c541ea8487836ae7cb1ca9c6e683699b",
  58598. "typeString": "literal_string \"log(string,string,bool,string)\""
  58599. },
  58600. "value": "log(string,string,bool,string)"
  58601. },
  58602. {
  58603. "id": 11528,
  58604. "name": "p0",
  58605. "nodeType": "Identifier",
  58606. "overloadedDeclarations": [],
  58607. "referencedDeclaration": 11515,
  58608. "src": "37161:2:50",
  58609. "typeDescriptions": {
  58610. "typeIdentifier": "t_string_memory_ptr",
  58611. "typeString": "string memory"
  58612. }
  58613. },
  58614. {
  58615. "id": 11529,
  58616. "name": "p1",
  58617. "nodeType": "Identifier",
  58618. "overloadedDeclarations": [],
  58619. "referencedDeclaration": 11517,
  58620. "src": "37165:2:50",
  58621. "typeDescriptions": {
  58622. "typeIdentifier": "t_string_memory_ptr",
  58623. "typeString": "string memory"
  58624. }
  58625. },
  58626. {
  58627. "id": 11530,
  58628. "name": "p2",
  58629. "nodeType": "Identifier",
  58630. "overloadedDeclarations": [],
  58631. "referencedDeclaration": 11519,
  58632. "src": "37169:2:50",
  58633. "typeDescriptions": {
  58634. "typeIdentifier": "t_bool",
  58635. "typeString": "bool"
  58636. }
  58637. },
  58638. {
  58639. "id": 11531,
  58640. "name": "p3",
  58641. "nodeType": "Identifier",
  58642. "overloadedDeclarations": [],
  58643. "referencedDeclaration": 11521,
  58644. "src": "37173:2:50",
  58645. "typeDescriptions": {
  58646. "typeIdentifier": "t_string_memory_ptr",
  58647. "typeString": "string memory"
  58648. }
  58649. }
  58650. ],
  58651. "expression": {
  58652. "argumentTypes": [
  58653. {
  58654. "typeIdentifier": "t_stringliteral_5e84b0ea51a130c3c7e1443097f28cb5c541ea8487836ae7cb1ca9c6e683699b",
  58655. "typeString": "literal_string \"log(string,string,bool,string)\""
  58656. },
  58657. {
  58658. "typeIdentifier": "t_string_memory_ptr",
  58659. "typeString": "string memory"
  58660. },
  58661. {
  58662. "typeIdentifier": "t_string_memory_ptr",
  58663. "typeString": "string memory"
  58664. },
  58665. {
  58666. "typeIdentifier": "t_bool",
  58667. "typeString": "bool"
  58668. },
  58669. {
  58670. "typeIdentifier": "t_string_memory_ptr",
  58671. "typeString": "string memory"
  58672. }
  58673. ],
  58674. "expression": {
  58675. "id": 11525,
  58676. "name": "abi",
  58677. "nodeType": "Identifier",
  58678. "overloadedDeclarations": [],
  58679. "referencedDeclaration": -1,
  58680. "src": "37103:3:50",
  58681. "typeDescriptions": {
  58682. "typeIdentifier": "t_magic_abi",
  58683. "typeString": "abi"
  58684. }
  58685. },
  58686. "id": 11526,
  58687. "isConstant": false,
  58688. "isLValue": false,
  58689. "isPure": true,
  58690. "lValueRequested": false,
  58691. "memberLocation": "37107:19:50",
  58692. "memberName": "encodeWithSignature",
  58693. "nodeType": "MemberAccess",
  58694. "src": "37103:23:50",
  58695. "typeDescriptions": {
  58696. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  58697. "typeString": "function (string memory) pure returns (bytes memory)"
  58698. }
  58699. },
  58700. "id": 11532,
  58701. "isConstant": false,
  58702. "isLValue": false,
  58703. "isPure": false,
  58704. "kind": "functionCall",
  58705. "lValueRequested": false,
  58706. "nameLocations": [],
  58707. "names": [],
  58708. "nodeType": "FunctionCall",
  58709. "src": "37103:73:50",
  58710. "tryCall": false,
  58711. "typeDescriptions": {
  58712. "typeIdentifier": "t_bytes_memory_ptr",
  58713. "typeString": "bytes memory"
  58714. }
  58715. }
  58716. ],
  58717. "expression": {
  58718. "argumentTypes": [
  58719. {
  58720. "typeIdentifier": "t_bytes_memory_ptr",
  58721. "typeString": "bytes memory"
  58722. }
  58723. ],
  58724. "id": 11524,
  58725. "name": "_sendLogPayload",
  58726. "nodeType": "Identifier",
  58727. "overloadedDeclarations": [],
  58728. "referencedDeclaration": 7315,
  58729. "src": "37087:15:50",
  58730. "typeDescriptions": {
  58731. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  58732. "typeString": "function (bytes memory) pure"
  58733. }
  58734. },
  58735. "id": 11533,
  58736. "isConstant": false,
  58737. "isLValue": false,
  58738. "isPure": false,
  58739. "kind": "functionCall",
  58740. "lValueRequested": false,
  58741. "nameLocations": [],
  58742. "names": [],
  58743. "nodeType": "FunctionCall",
  58744. "src": "37087:90:50",
  58745. "tryCall": false,
  58746. "typeDescriptions": {
  58747. "typeIdentifier": "t_tuple$__$",
  58748. "typeString": "tuple()"
  58749. }
  58750. },
  58751. "id": 11534,
  58752. "nodeType": "ExpressionStatement",
  58753. "src": "37087:90:50"
  58754. }
  58755. ]
  58756. },
  58757. "implemented": true,
  58758. "kind": "function",
  58759. "modifiers": [],
  58760. "name": "log",
  58761. "nameLocation": "36996:3:50",
  58762. "parameters": {
  58763. "id": 11522,
  58764. "nodeType": "ParameterList",
  58765. "parameters": [
  58766. {
  58767. "constant": false,
  58768. "id": 11515,
  58769. "mutability": "mutable",
  58770. "name": "p0",
  58771. "nameLocation": "37014:2:50",
  58772. "nodeType": "VariableDeclaration",
  58773. "scope": 11536,
  58774. "src": "37000:16:50",
  58775. "stateVariable": false,
  58776. "storageLocation": "memory",
  58777. "typeDescriptions": {
  58778. "typeIdentifier": "t_string_memory_ptr",
  58779. "typeString": "string"
  58780. },
  58781. "typeName": {
  58782. "id": 11514,
  58783. "name": "string",
  58784. "nodeType": "ElementaryTypeName",
  58785. "src": "37000:6:50",
  58786. "typeDescriptions": {
  58787. "typeIdentifier": "t_string_storage_ptr",
  58788. "typeString": "string"
  58789. }
  58790. },
  58791. "visibility": "internal"
  58792. },
  58793. {
  58794. "constant": false,
  58795. "id": 11517,
  58796. "mutability": "mutable",
  58797. "name": "p1",
  58798. "nameLocation": "37032:2:50",
  58799. "nodeType": "VariableDeclaration",
  58800. "scope": 11536,
  58801. "src": "37018:16:50",
  58802. "stateVariable": false,
  58803. "storageLocation": "memory",
  58804. "typeDescriptions": {
  58805. "typeIdentifier": "t_string_memory_ptr",
  58806. "typeString": "string"
  58807. },
  58808. "typeName": {
  58809. "id": 11516,
  58810. "name": "string",
  58811. "nodeType": "ElementaryTypeName",
  58812. "src": "37018:6:50",
  58813. "typeDescriptions": {
  58814. "typeIdentifier": "t_string_storage_ptr",
  58815. "typeString": "string"
  58816. }
  58817. },
  58818. "visibility": "internal"
  58819. },
  58820. {
  58821. "constant": false,
  58822. "id": 11519,
  58823. "mutability": "mutable",
  58824. "name": "p2",
  58825. "nameLocation": "37041:2:50",
  58826. "nodeType": "VariableDeclaration",
  58827. "scope": 11536,
  58828. "src": "37036:7:50",
  58829. "stateVariable": false,
  58830. "storageLocation": "default",
  58831. "typeDescriptions": {
  58832. "typeIdentifier": "t_bool",
  58833. "typeString": "bool"
  58834. },
  58835. "typeName": {
  58836. "id": 11518,
  58837. "name": "bool",
  58838. "nodeType": "ElementaryTypeName",
  58839. "src": "37036:4:50",
  58840. "typeDescriptions": {
  58841. "typeIdentifier": "t_bool",
  58842. "typeString": "bool"
  58843. }
  58844. },
  58845. "visibility": "internal"
  58846. },
  58847. {
  58848. "constant": false,
  58849. "id": 11521,
  58850. "mutability": "mutable",
  58851. "name": "p3",
  58852. "nameLocation": "37059:2:50",
  58853. "nodeType": "VariableDeclaration",
  58854. "scope": 11536,
  58855. "src": "37045:16:50",
  58856. "stateVariable": false,
  58857. "storageLocation": "memory",
  58858. "typeDescriptions": {
  58859. "typeIdentifier": "t_string_memory_ptr",
  58860. "typeString": "string"
  58861. },
  58862. "typeName": {
  58863. "id": 11520,
  58864. "name": "string",
  58865. "nodeType": "ElementaryTypeName",
  58866. "src": "37045:6:50",
  58867. "typeDescriptions": {
  58868. "typeIdentifier": "t_string_storage_ptr",
  58869. "typeString": "string"
  58870. }
  58871. },
  58872. "visibility": "internal"
  58873. }
  58874. ],
  58875. "src": "36999:63:50"
  58876. },
  58877. "returnParameters": {
  58878. "id": 11523,
  58879. "nodeType": "ParameterList",
  58880. "parameters": [],
  58881. "src": "37077:0:50"
  58882. },
  58883. "scope": 15355,
  58884. "stateMutability": "pure",
  58885. "virtual": false,
  58886. "visibility": "internal"
  58887. },
  58888. {
  58889. "id": 11559,
  58890. "nodeType": "FunctionDefinition",
  58891. "src": "37190:186:50",
  58892. "nodes": [],
  58893. "body": {
  58894. "id": 11558,
  58895. "nodeType": "Block",
  58896. "src": "37271:105:50",
  58897. "nodes": [],
  58898. "statements": [
  58899. {
  58900. "expression": {
  58901. "arguments": [
  58902. {
  58903. "arguments": [
  58904. {
  58905. "hexValue": "6c6f6728737472696e672c737472696e672c626f6f6c2c626f6f6c29",
  58906. "id": 11550,
  58907. "isConstant": false,
  58908. "isLValue": false,
  58909. "isPure": true,
  58910. "kind": "string",
  58911. "lValueRequested": false,
  58912. "nodeType": "Literal",
  58913. "src": "37321:30:50",
  58914. "typeDescriptions": {
  58915. "typeIdentifier": "t_stringliteral_40785869c0ea63ca2ccbcf7415552989c2f1ce04f151eb3b2bd695c64d21af10",
  58916. "typeString": "literal_string \"log(string,string,bool,bool)\""
  58917. },
  58918. "value": "log(string,string,bool,bool)"
  58919. },
  58920. {
  58921. "id": 11551,
  58922. "name": "p0",
  58923. "nodeType": "Identifier",
  58924. "overloadedDeclarations": [],
  58925. "referencedDeclaration": 11538,
  58926. "src": "37353:2:50",
  58927. "typeDescriptions": {
  58928. "typeIdentifier": "t_string_memory_ptr",
  58929. "typeString": "string memory"
  58930. }
  58931. },
  58932. {
  58933. "id": 11552,
  58934. "name": "p1",
  58935. "nodeType": "Identifier",
  58936. "overloadedDeclarations": [],
  58937. "referencedDeclaration": 11540,
  58938. "src": "37357:2:50",
  58939. "typeDescriptions": {
  58940. "typeIdentifier": "t_string_memory_ptr",
  58941. "typeString": "string memory"
  58942. }
  58943. },
  58944. {
  58945. "id": 11553,
  58946. "name": "p2",
  58947. "nodeType": "Identifier",
  58948. "overloadedDeclarations": [],
  58949. "referencedDeclaration": 11542,
  58950. "src": "37361:2:50",
  58951. "typeDescriptions": {
  58952. "typeIdentifier": "t_bool",
  58953. "typeString": "bool"
  58954. }
  58955. },
  58956. {
  58957. "id": 11554,
  58958. "name": "p3",
  58959. "nodeType": "Identifier",
  58960. "overloadedDeclarations": [],
  58961. "referencedDeclaration": 11544,
  58962. "src": "37365:2:50",
  58963. "typeDescriptions": {
  58964. "typeIdentifier": "t_bool",
  58965. "typeString": "bool"
  58966. }
  58967. }
  58968. ],
  58969. "expression": {
  58970. "argumentTypes": [
  58971. {
  58972. "typeIdentifier": "t_stringliteral_40785869c0ea63ca2ccbcf7415552989c2f1ce04f151eb3b2bd695c64d21af10",
  58973. "typeString": "literal_string \"log(string,string,bool,bool)\""
  58974. },
  58975. {
  58976. "typeIdentifier": "t_string_memory_ptr",
  58977. "typeString": "string memory"
  58978. },
  58979. {
  58980. "typeIdentifier": "t_string_memory_ptr",
  58981. "typeString": "string memory"
  58982. },
  58983. {
  58984. "typeIdentifier": "t_bool",
  58985. "typeString": "bool"
  58986. },
  58987. {
  58988. "typeIdentifier": "t_bool",
  58989. "typeString": "bool"
  58990. }
  58991. ],
  58992. "expression": {
  58993. "id": 11548,
  58994. "name": "abi",
  58995. "nodeType": "Identifier",
  58996. "overloadedDeclarations": [],
  58997. "referencedDeclaration": -1,
  58998. "src": "37297:3:50",
  58999. "typeDescriptions": {
  59000. "typeIdentifier": "t_magic_abi",
  59001. "typeString": "abi"
  59002. }
  59003. },
  59004. "id": 11549,
  59005. "isConstant": false,
  59006. "isLValue": false,
  59007. "isPure": true,
  59008. "lValueRequested": false,
  59009. "memberLocation": "37301:19:50",
  59010. "memberName": "encodeWithSignature",
  59011. "nodeType": "MemberAccess",
  59012. "src": "37297:23:50",
  59013. "typeDescriptions": {
  59014. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  59015. "typeString": "function (string memory) pure returns (bytes memory)"
  59016. }
  59017. },
  59018. "id": 11555,
  59019. "isConstant": false,
  59020. "isLValue": false,
  59021. "isPure": false,
  59022. "kind": "functionCall",
  59023. "lValueRequested": false,
  59024. "nameLocations": [],
  59025. "names": [],
  59026. "nodeType": "FunctionCall",
  59027. "src": "37297:71:50",
  59028. "tryCall": false,
  59029. "typeDescriptions": {
  59030. "typeIdentifier": "t_bytes_memory_ptr",
  59031. "typeString": "bytes memory"
  59032. }
  59033. }
  59034. ],
  59035. "expression": {
  59036. "argumentTypes": [
  59037. {
  59038. "typeIdentifier": "t_bytes_memory_ptr",
  59039. "typeString": "bytes memory"
  59040. }
  59041. ],
  59042. "id": 11547,
  59043. "name": "_sendLogPayload",
  59044. "nodeType": "Identifier",
  59045. "overloadedDeclarations": [],
  59046. "referencedDeclaration": 7315,
  59047. "src": "37281:15:50",
  59048. "typeDescriptions": {
  59049. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  59050. "typeString": "function (bytes memory) pure"
  59051. }
  59052. },
  59053. "id": 11556,
  59054. "isConstant": false,
  59055. "isLValue": false,
  59056. "isPure": false,
  59057. "kind": "functionCall",
  59058. "lValueRequested": false,
  59059. "nameLocations": [],
  59060. "names": [],
  59061. "nodeType": "FunctionCall",
  59062. "src": "37281:88:50",
  59063. "tryCall": false,
  59064. "typeDescriptions": {
  59065. "typeIdentifier": "t_tuple$__$",
  59066. "typeString": "tuple()"
  59067. }
  59068. },
  59069. "id": 11557,
  59070. "nodeType": "ExpressionStatement",
  59071. "src": "37281:88:50"
  59072. }
  59073. ]
  59074. },
  59075. "implemented": true,
  59076. "kind": "function",
  59077. "modifiers": [],
  59078. "name": "log",
  59079. "nameLocation": "37199:3:50",
  59080. "parameters": {
  59081. "id": 11545,
  59082. "nodeType": "ParameterList",
  59083. "parameters": [
  59084. {
  59085. "constant": false,
  59086. "id": 11538,
  59087. "mutability": "mutable",
  59088. "name": "p0",
  59089. "nameLocation": "37217:2:50",
  59090. "nodeType": "VariableDeclaration",
  59091. "scope": 11559,
  59092. "src": "37203:16:50",
  59093. "stateVariable": false,
  59094. "storageLocation": "memory",
  59095. "typeDescriptions": {
  59096. "typeIdentifier": "t_string_memory_ptr",
  59097. "typeString": "string"
  59098. },
  59099. "typeName": {
  59100. "id": 11537,
  59101. "name": "string",
  59102. "nodeType": "ElementaryTypeName",
  59103. "src": "37203:6:50",
  59104. "typeDescriptions": {
  59105. "typeIdentifier": "t_string_storage_ptr",
  59106. "typeString": "string"
  59107. }
  59108. },
  59109. "visibility": "internal"
  59110. },
  59111. {
  59112. "constant": false,
  59113. "id": 11540,
  59114. "mutability": "mutable",
  59115. "name": "p1",
  59116. "nameLocation": "37235:2:50",
  59117. "nodeType": "VariableDeclaration",
  59118. "scope": 11559,
  59119. "src": "37221:16:50",
  59120. "stateVariable": false,
  59121. "storageLocation": "memory",
  59122. "typeDescriptions": {
  59123. "typeIdentifier": "t_string_memory_ptr",
  59124. "typeString": "string"
  59125. },
  59126. "typeName": {
  59127. "id": 11539,
  59128. "name": "string",
  59129. "nodeType": "ElementaryTypeName",
  59130. "src": "37221:6:50",
  59131. "typeDescriptions": {
  59132. "typeIdentifier": "t_string_storage_ptr",
  59133. "typeString": "string"
  59134. }
  59135. },
  59136. "visibility": "internal"
  59137. },
  59138. {
  59139. "constant": false,
  59140. "id": 11542,
  59141. "mutability": "mutable",
  59142. "name": "p2",
  59143. "nameLocation": "37244:2:50",
  59144. "nodeType": "VariableDeclaration",
  59145. "scope": 11559,
  59146. "src": "37239:7:50",
  59147. "stateVariable": false,
  59148. "storageLocation": "default",
  59149. "typeDescriptions": {
  59150. "typeIdentifier": "t_bool",
  59151. "typeString": "bool"
  59152. },
  59153. "typeName": {
  59154. "id": 11541,
  59155. "name": "bool",
  59156. "nodeType": "ElementaryTypeName",
  59157. "src": "37239:4:50",
  59158. "typeDescriptions": {
  59159. "typeIdentifier": "t_bool",
  59160. "typeString": "bool"
  59161. }
  59162. },
  59163. "visibility": "internal"
  59164. },
  59165. {
  59166. "constant": false,
  59167. "id": 11544,
  59168. "mutability": "mutable",
  59169. "name": "p3",
  59170. "nameLocation": "37253:2:50",
  59171. "nodeType": "VariableDeclaration",
  59172. "scope": 11559,
  59173. "src": "37248:7:50",
  59174. "stateVariable": false,
  59175. "storageLocation": "default",
  59176. "typeDescriptions": {
  59177. "typeIdentifier": "t_bool",
  59178. "typeString": "bool"
  59179. },
  59180. "typeName": {
  59181. "id": 11543,
  59182. "name": "bool",
  59183. "nodeType": "ElementaryTypeName",
  59184. "src": "37248:4:50",
  59185. "typeDescriptions": {
  59186. "typeIdentifier": "t_bool",
  59187. "typeString": "bool"
  59188. }
  59189. },
  59190. "visibility": "internal"
  59191. }
  59192. ],
  59193. "src": "37202:54:50"
  59194. },
  59195. "returnParameters": {
  59196. "id": 11546,
  59197. "nodeType": "ParameterList",
  59198. "parameters": [],
  59199. "src": "37271:0:50"
  59200. },
  59201. "scope": 15355,
  59202. "stateMutability": "pure",
  59203. "virtual": false,
  59204. "visibility": "internal"
  59205. },
  59206. {
  59207. "id": 11582,
  59208. "nodeType": "FunctionDefinition",
  59209. "src": "37382:192:50",
  59210. "nodes": [],
  59211. "body": {
  59212. "id": 11581,
  59213. "nodeType": "Block",
  59214. "src": "37466:108:50",
  59215. "nodes": [],
  59216. "statements": [
  59217. {
  59218. "expression": {
  59219. "arguments": [
  59220. {
  59221. "arguments": [
  59222. {
  59223. "hexValue": "6c6f6728737472696e672c737472696e672c626f6f6c2c6164647265737329",
  59224. "id": 11573,
  59225. "isConstant": false,
  59226. "isLValue": false,
  59227. "isPure": true,
  59228. "kind": "string",
  59229. "lValueRequested": false,
  59230. "nodeType": "Literal",
  59231. "src": "37516:33:50",
  59232. "typeDescriptions": {
  59233. "typeIdentifier": "t_stringliteral_c371c7db0a4b104babdbdf00d079eb75cb5aa1d401c4fb726c8e5559029df84d",
  59234. "typeString": "literal_string \"log(string,string,bool,address)\""
  59235. },
  59236. "value": "log(string,string,bool,address)"
  59237. },
  59238. {
  59239. "id": 11574,
  59240. "name": "p0",
  59241. "nodeType": "Identifier",
  59242. "overloadedDeclarations": [],
  59243. "referencedDeclaration": 11561,
  59244. "src": "37551:2:50",
  59245. "typeDescriptions": {
  59246. "typeIdentifier": "t_string_memory_ptr",
  59247. "typeString": "string memory"
  59248. }
  59249. },
  59250. {
  59251. "id": 11575,
  59252. "name": "p1",
  59253. "nodeType": "Identifier",
  59254. "overloadedDeclarations": [],
  59255. "referencedDeclaration": 11563,
  59256. "src": "37555:2:50",
  59257. "typeDescriptions": {
  59258. "typeIdentifier": "t_string_memory_ptr",
  59259. "typeString": "string memory"
  59260. }
  59261. },
  59262. {
  59263. "id": 11576,
  59264. "name": "p2",
  59265. "nodeType": "Identifier",
  59266. "overloadedDeclarations": [],
  59267. "referencedDeclaration": 11565,
  59268. "src": "37559:2:50",
  59269. "typeDescriptions": {
  59270. "typeIdentifier": "t_bool",
  59271. "typeString": "bool"
  59272. }
  59273. },
  59274. {
  59275. "id": 11577,
  59276. "name": "p3",
  59277. "nodeType": "Identifier",
  59278. "overloadedDeclarations": [],
  59279. "referencedDeclaration": 11567,
  59280. "src": "37563:2:50",
  59281. "typeDescriptions": {
  59282. "typeIdentifier": "t_address",
  59283. "typeString": "address"
  59284. }
  59285. }
  59286. ],
  59287. "expression": {
  59288. "argumentTypes": [
  59289. {
  59290. "typeIdentifier": "t_stringliteral_c371c7db0a4b104babdbdf00d079eb75cb5aa1d401c4fb726c8e5559029df84d",
  59291. "typeString": "literal_string \"log(string,string,bool,address)\""
  59292. },
  59293. {
  59294. "typeIdentifier": "t_string_memory_ptr",
  59295. "typeString": "string memory"
  59296. },
  59297. {
  59298. "typeIdentifier": "t_string_memory_ptr",
  59299. "typeString": "string memory"
  59300. },
  59301. {
  59302. "typeIdentifier": "t_bool",
  59303. "typeString": "bool"
  59304. },
  59305. {
  59306. "typeIdentifier": "t_address",
  59307. "typeString": "address"
  59308. }
  59309. ],
  59310. "expression": {
  59311. "id": 11571,
  59312. "name": "abi",
  59313. "nodeType": "Identifier",
  59314. "overloadedDeclarations": [],
  59315. "referencedDeclaration": -1,
  59316. "src": "37492:3:50",
  59317. "typeDescriptions": {
  59318. "typeIdentifier": "t_magic_abi",
  59319. "typeString": "abi"
  59320. }
  59321. },
  59322. "id": 11572,
  59323. "isConstant": false,
  59324. "isLValue": false,
  59325. "isPure": true,
  59326. "lValueRequested": false,
  59327. "memberLocation": "37496:19:50",
  59328. "memberName": "encodeWithSignature",
  59329. "nodeType": "MemberAccess",
  59330. "src": "37492:23:50",
  59331. "typeDescriptions": {
  59332. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  59333. "typeString": "function (string memory) pure returns (bytes memory)"
  59334. }
  59335. },
  59336. "id": 11578,
  59337. "isConstant": false,
  59338. "isLValue": false,
  59339. "isPure": false,
  59340. "kind": "functionCall",
  59341. "lValueRequested": false,
  59342. "nameLocations": [],
  59343. "names": [],
  59344. "nodeType": "FunctionCall",
  59345. "src": "37492:74:50",
  59346. "tryCall": false,
  59347. "typeDescriptions": {
  59348. "typeIdentifier": "t_bytes_memory_ptr",
  59349. "typeString": "bytes memory"
  59350. }
  59351. }
  59352. ],
  59353. "expression": {
  59354. "argumentTypes": [
  59355. {
  59356. "typeIdentifier": "t_bytes_memory_ptr",
  59357. "typeString": "bytes memory"
  59358. }
  59359. ],
  59360. "id": 11570,
  59361. "name": "_sendLogPayload",
  59362. "nodeType": "Identifier",
  59363. "overloadedDeclarations": [],
  59364. "referencedDeclaration": 7315,
  59365. "src": "37476:15:50",
  59366. "typeDescriptions": {
  59367. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  59368. "typeString": "function (bytes memory) pure"
  59369. }
  59370. },
  59371. "id": 11579,
  59372. "isConstant": false,
  59373. "isLValue": false,
  59374. "isPure": false,
  59375. "kind": "functionCall",
  59376. "lValueRequested": false,
  59377. "nameLocations": [],
  59378. "names": [],
  59379. "nodeType": "FunctionCall",
  59380. "src": "37476:91:50",
  59381. "tryCall": false,
  59382. "typeDescriptions": {
  59383. "typeIdentifier": "t_tuple$__$",
  59384. "typeString": "tuple()"
  59385. }
  59386. },
  59387. "id": 11580,
  59388. "nodeType": "ExpressionStatement",
  59389. "src": "37476:91:50"
  59390. }
  59391. ]
  59392. },
  59393. "implemented": true,
  59394. "kind": "function",
  59395. "modifiers": [],
  59396. "name": "log",
  59397. "nameLocation": "37391:3:50",
  59398. "parameters": {
  59399. "id": 11568,
  59400. "nodeType": "ParameterList",
  59401. "parameters": [
  59402. {
  59403. "constant": false,
  59404. "id": 11561,
  59405. "mutability": "mutable",
  59406. "name": "p0",
  59407. "nameLocation": "37409:2:50",
  59408. "nodeType": "VariableDeclaration",
  59409. "scope": 11582,
  59410. "src": "37395:16:50",
  59411. "stateVariable": false,
  59412. "storageLocation": "memory",
  59413. "typeDescriptions": {
  59414. "typeIdentifier": "t_string_memory_ptr",
  59415. "typeString": "string"
  59416. },
  59417. "typeName": {
  59418. "id": 11560,
  59419. "name": "string",
  59420. "nodeType": "ElementaryTypeName",
  59421. "src": "37395:6:50",
  59422. "typeDescriptions": {
  59423. "typeIdentifier": "t_string_storage_ptr",
  59424. "typeString": "string"
  59425. }
  59426. },
  59427. "visibility": "internal"
  59428. },
  59429. {
  59430. "constant": false,
  59431. "id": 11563,
  59432. "mutability": "mutable",
  59433. "name": "p1",
  59434. "nameLocation": "37427:2:50",
  59435. "nodeType": "VariableDeclaration",
  59436. "scope": 11582,
  59437. "src": "37413:16:50",
  59438. "stateVariable": false,
  59439. "storageLocation": "memory",
  59440. "typeDescriptions": {
  59441. "typeIdentifier": "t_string_memory_ptr",
  59442. "typeString": "string"
  59443. },
  59444. "typeName": {
  59445. "id": 11562,
  59446. "name": "string",
  59447. "nodeType": "ElementaryTypeName",
  59448. "src": "37413:6:50",
  59449. "typeDescriptions": {
  59450. "typeIdentifier": "t_string_storage_ptr",
  59451. "typeString": "string"
  59452. }
  59453. },
  59454. "visibility": "internal"
  59455. },
  59456. {
  59457. "constant": false,
  59458. "id": 11565,
  59459. "mutability": "mutable",
  59460. "name": "p2",
  59461. "nameLocation": "37436:2:50",
  59462. "nodeType": "VariableDeclaration",
  59463. "scope": 11582,
  59464. "src": "37431:7:50",
  59465. "stateVariable": false,
  59466. "storageLocation": "default",
  59467. "typeDescriptions": {
  59468. "typeIdentifier": "t_bool",
  59469. "typeString": "bool"
  59470. },
  59471. "typeName": {
  59472. "id": 11564,
  59473. "name": "bool",
  59474. "nodeType": "ElementaryTypeName",
  59475. "src": "37431:4:50",
  59476. "typeDescriptions": {
  59477. "typeIdentifier": "t_bool",
  59478. "typeString": "bool"
  59479. }
  59480. },
  59481. "visibility": "internal"
  59482. },
  59483. {
  59484. "constant": false,
  59485. "id": 11567,
  59486. "mutability": "mutable",
  59487. "name": "p3",
  59488. "nameLocation": "37448:2:50",
  59489. "nodeType": "VariableDeclaration",
  59490. "scope": 11582,
  59491. "src": "37440:10:50",
  59492. "stateVariable": false,
  59493. "storageLocation": "default",
  59494. "typeDescriptions": {
  59495. "typeIdentifier": "t_address",
  59496. "typeString": "address"
  59497. },
  59498. "typeName": {
  59499. "id": 11566,
  59500. "name": "address",
  59501. "nodeType": "ElementaryTypeName",
  59502. "src": "37440:7:50",
  59503. "stateMutability": "nonpayable",
  59504. "typeDescriptions": {
  59505. "typeIdentifier": "t_address",
  59506. "typeString": "address"
  59507. }
  59508. },
  59509. "visibility": "internal"
  59510. }
  59511. ],
  59512. "src": "37394:57:50"
  59513. },
  59514. "returnParameters": {
  59515. "id": 11569,
  59516. "nodeType": "ParameterList",
  59517. "parameters": [],
  59518. "src": "37466:0:50"
  59519. },
  59520. "scope": 15355,
  59521. "stateMutability": "pure",
  59522. "virtual": false,
  59523. "visibility": "internal"
  59524. },
  59525. {
  59526. "id": 11605,
  59527. "nodeType": "FunctionDefinition",
  59528. "src": "37580:198:50",
  59529. "nodes": [],
  59530. "body": {
  59531. "id": 11604,
  59532. "nodeType": "Block",
  59533. "src": "37667:111:50",
  59534. "nodes": [],
  59535. "statements": [
  59536. {
  59537. "expression": {
  59538. "arguments": [
  59539. {
  59540. "arguments": [
  59541. {
  59542. "hexValue": "6c6f6728737472696e672c737472696e672c616464726573732c75696e7432353629",
  59543. "id": 11596,
  59544. "isConstant": false,
  59545. "isLValue": false,
  59546. "isPure": true,
  59547. "kind": "string",
  59548. "lValueRequested": false,
  59549. "nodeType": "Literal",
  59550. "src": "37717:36:50",
  59551. "typeDescriptions": {
  59552. "typeIdentifier": "t_stringliteral_7cc3c607046f21bb2d1cc4864448de2e6c44029beb9bfc36cf6ca90777ae5a00",
  59553. "typeString": "literal_string \"log(string,string,address,uint256)\""
  59554. },
  59555. "value": "log(string,string,address,uint256)"
  59556. },
  59557. {
  59558. "id": 11597,
  59559. "name": "p0",
  59560. "nodeType": "Identifier",
  59561. "overloadedDeclarations": [],
  59562. "referencedDeclaration": 11584,
  59563. "src": "37755:2:50",
  59564. "typeDescriptions": {
  59565. "typeIdentifier": "t_string_memory_ptr",
  59566. "typeString": "string memory"
  59567. }
  59568. },
  59569. {
  59570. "id": 11598,
  59571. "name": "p1",
  59572. "nodeType": "Identifier",
  59573. "overloadedDeclarations": [],
  59574. "referencedDeclaration": 11586,
  59575. "src": "37759:2:50",
  59576. "typeDescriptions": {
  59577. "typeIdentifier": "t_string_memory_ptr",
  59578. "typeString": "string memory"
  59579. }
  59580. },
  59581. {
  59582. "id": 11599,
  59583. "name": "p2",
  59584. "nodeType": "Identifier",
  59585. "overloadedDeclarations": [],
  59586. "referencedDeclaration": 11588,
  59587. "src": "37763:2:50",
  59588. "typeDescriptions": {
  59589. "typeIdentifier": "t_address",
  59590. "typeString": "address"
  59591. }
  59592. },
  59593. {
  59594. "id": 11600,
  59595. "name": "p3",
  59596. "nodeType": "Identifier",
  59597. "overloadedDeclarations": [],
  59598. "referencedDeclaration": 11590,
  59599. "src": "37767:2:50",
  59600. "typeDescriptions": {
  59601. "typeIdentifier": "t_uint256",
  59602. "typeString": "uint256"
  59603. }
  59604. }
  59605. ],
  59606. "expression": {
  59607. "argumentTypes": [
  59608. {
  59609. "typeIdentifier": "t_stringliteral_7cc3c607046f21bb2d1cc4864448de2e6c44029beb9bfc36cf6ca90777ae5a00",
  59610. "typeString": "literal_string \"log(string,string,address,uint256)\""
  59611. },
  59612. {
  59613. "typeIdentifier": "t_string_memory_ptr",
  59614. "typeString": "string memory"
  59615. },
  59616. {
  59617. "typeIdentifier": "t_string_memory_ptr",
  59618. "typeString": "string memory"
  59619. },
  59620. {
  59621. "typeIdentifier": "t_address",
  59622. "typeString": "address"
  59623. },
  59624. {
  59625. "typeIdentifier": "t_uint256",
  59626. "typeString": "uint256"
  59627. }
  59628. ],
  59629. "expression": {
  59630. "id": 11594,
  59631. "name": "abi",
  59632. "nodeType": "Identifier",
  59633. "overloadedDeclarations": [],
  59634. "referencedDeclaration": -1,
  59635. "src": "37693:3:50",
  59636. "typeDescriptions": {
  59637. "typeIdentifier": "t_magic_abi",
  59638. "typeString": "abi"
  59639. }
  59640. },
  59641. "id": 11595,
  59642. "isConstant": false,
  59643. "isLValue": false,
  59644. "isPure": true,
  59645. "lValueRequested": false,
  59646. "memberLocation": "37697:19:50",
  59647. "memberName": "encodeWithSignature",
  59648. "nodeType": "MemberAccess",
  59649. "src": "37693:23:50",
  59650. "typeDescriptions": {
  59651. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  59652. "typeString": "function (string memory) pure returns (bytes memory)"
  59653. }
  59654. },
  59655. "id": 11601,
  59656. "isConstant": false,
  59657. "isLValue": false,
  59658. "isPure": false,
  59659. "kind": "functionCall",
  59660. "lValueRequested": false,
  59661. "nameLocations": [],
  59662. "names": [],
  59663. "nodeType": "FunctionCall",
  59664. "src": "37693:77:50",
  59665. "tryCall": false,
  59666. "typeDescriptions": {
  59667. "typeIdentifier": "t_bytes_memory_ptr",
  59668. "typeString": "bytes memory"
  59669. }
  59670. }
  59671. ],
  59672. "expression": {
  59673. "argumentTypes": [
  59674. {
  59675. "typeIdentifier": "t_bytes_memory_ptr",
  59676. "typeString": "bytes memory"
  59677. }
  59678. ],
  59679. "id": 11593,
  59680. "name": "_sendLogPayload",
  59681. "nodeType": "Identifier",
  59682. "overloadedDeclarations": [],
  59683. "referencedDeclaration": 7315,
  59684. "src": "37677:15:50",
  59685. "typeDescriptions": {
  59686. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  59687. "typeString": "function (bytes memory) pure"
  59688. }
  59689. },
  59690. "id": 11602,
  59691. "isConstant": false,
  59692. "isLValue": false,
  59693. "isPure": false,
  59694. "kind": "functionCall",
  59695. "lValueRequested": false,
  59696. "nameLocations": [],
  59697. "names": [],
  59698. "nodeType": "FunctionCall",
  59699. "src": "37677:94:50",
  59700. "tryCall": false,
  59701. "typeDescriptions": {
  59702. "typeIdentifier": "t_tuple$__$",
  59703. "typeString": "tuple()"
  59704. }
  59705. },
  59706. "id": 11603,
  59707. "nodeType": "ExpressionStatement",
  59708. "src": "37677:94:50"
  59709. }
  59710. ]
  59711. },
  59712. "implemented": true,
  59713. "kind": "function",
  59714. "modifiers": [],
  59715. "name": "log",
  59716. "nameLocation": "37589:3:50",
  59717. "parameters": {
  59718. "id": 11591,
  59719. "nodeType": "ParameterList",
  59720. "parameters": [
  59721. {
  59722. "constant": false,
  59723. "id": 11584,
  59724. "mutability": "mutable",
  59725. "name": "p0",
  59726. "nameLocation": "37607:2:50",
  59727. "nodeType": "VariableDeclaration",
  59728. "scope": 11605,
  59729. "src": "37593:16:50",
  59730. "stateVariable": false,
  59731. "storageLocation": "memory",
  59732. "typeDescriptions": {
  59733. "typeIdentifier": "t_string_memory_ptr",
  59734. "typeString": "string"
  59735. },
  59736. "typeName": {
  59737. "id": 11583,
  59738. "name": "string",
  59739. "nodeType": "ElementaryTypeName",
  59740. "src": "37593:6:50",
  59741. "typeDescriptions": {
  59742. "typeIdentifier": "t_string_storage_ptr",
  59743. "typeString": "string"
  59744. }
  59745. },
  59746. "visibility": "internal"
  59747. },
  59748. {
  59749. "constant": false,
  59750. "id": 11586,
  59751. "mutability": "mutable",
  59752. "name": "p1",
  59753. "nameLocation": "37625:2:50",
  59754. "nodeType": "VariableDeclaration",
  59755. "scope": 11605,
  59756. "src": "37611:16:50",
  59757. "stateVariable": false,
  59758. "storageLocation": "memory",
  59759. "typeDescriptions": {
  59760. "typeIdentifier": "t_string_memory_ptr",
  59761. "typeString": "string"
  59762. },
  59763. "typeName": {
  59764. "id": 11585,
  59765. "name": "string",
  59766. "nodeType": "ElementaryTypeName",
  59767. "src": "37611:6:50",
  59768. "typeDescriptions": {
  59769. "typeIdentifier": "t_string_storage_ptr",
  59770. "typeString": "string"
  59771. }
  59772. },
  59773. "visibility": "internal"
  59774. },
  59775. {
  59776. "constant": false,
  59777. "id": 11588,
  59778. "mutability": "mutable",
  59779. "name": "p2",
  59780. "nameLocation": "37637:2:50",
  59781. "nodeType": "VariableDeclaration",
  59782. "scope": 11605,
  59783. "src": "37629:10:50",
  59784. "stateVariable": false,
  59785. "storageLocation": "default",
  59786. "typeDescriptions": {
  59787. "typeIdentifier": "t_address",
  59788. "typeString": "address"
  59789. },
  59790. "typeName": {
  59791. "id": 11587,
  59792. "name": "address",
  59793. "nodeType": "ElementaryTypeName",
  59794. "src": "37629:7:50",
  59795. "stateMutability": "nonpayable",
  59796. "typeDescriptions": {
  59797. "typeIdentifier": "t_address",
  59798. "typeString": "address"
  59799. }
  59800. },
  59801. "visibility": "internal"
  59802. },
  59803. {
  59804. "constant": false,
  59805. "id": 11590,
  59806. "mutability": "mutable",
  59807. "name": "p3",
  59808. "nameLocation": "37649:2:50",
  59809. "nodeType": "VariableDeclaration",
  59810. "scope": 11605,
  59811. "src": "37641:10:50",
  59812. "stateVariable": false,
  59813. "storageLocation": "default",
  59814. "typeDescriptions": {
  59815. "typeIdentifier": "t_uint256",
  59816. "typeString": "uint256"
  59817. },
  59818. "typeName": {
  59819. "id": 11589,
  59820. "name": "uint256",
  59821. "nodeType": "ElementaryTypeName",
  59822. "src": "37641:7:50",
  59823. "typeDescriptions": {
  59824. "typeIdentifier": "t_uint256",
  59825. "typeString": "uint256"
  59826. }
  59827. },
  59828. "visibility": "internal"
  59829. }
  59830. ],
  59831. "src": "37592:60:50"
  59832. },
  59833. "returnParameters": {
  59834. "id": 11592,
  59835. "nodeType": "ParameterList",
  59836. "parameters": [],
  59837. "src": "37667:0:50"
  59838. },
  59839. "scope": 15355,
  59840. "stateMutability": "pure",
  59841. "virtual": false,
  59842. "visibility": "internal"
  59843. },
  59844. {
  59845. "id": 11628,
  59846. "nodeType": "FunctionDefinition",
  59847. "src": "37784:203:50",
  59848. "nodes": [],
  59849. "body": {
  59850. "id": 11627,
  59851. "nodeType": "Block",
  59852. "src": "37877:110:50",
  59853. "nodes": [],
  59854. "statements": [
  59855. {
  59856. "expression": {
  59857. "arguments": [
  59858. {
  59859. "arguments": [
  59860. {
  59861. "hexValue": "6c6f6728737472696e672c737472696e672c616464726573732c737472696e6729",
  59862. "id": 11619,
  59863. "isConstant": false,
  59864. "isLValue": false,
  59865. "isPure": true,
  59866. "kind": "string",
  59867. "lValueRequested": false,
  59868. "nodeType": "Literal",
  59869. "src": "37927:35:50",
  59870. "typeDescriptions": {
  59871. "typeIdentifier": "t_stringliteral_eb1bff805ef136c60bfed230c7b932a14c6f7a62608edeaf56f8f2c0575d25b6",
  59872. "typeString": "literal_string \"log(string,string,address,string)\""
  59873. },
  59874. "value": "log(string,string,address,string)"
  59875. },
  59876. {
  59877. "id": 11620,
  59878. "name": "p0",
  59879. "nodeType": "Identifier",
  59880. "overloadedDeclarations": [],
  59881. "referencedDeclaration": 11607,
  59882. "src": "37964:2:50",
  59883. "typeDescriptions": {
  59884. "typeIdentifier": "t_string_memory_ptr",
  59885. "typeString": "string memory"
  59886. }
  59887. },
  59888. {
  59889. "id": 11621,
  59890. "name": "p1",
  59891. "nodeType": "Identifier",
  59892. "overloadedDeclarations": [],
  59893. "referencedDeclaration": 11609,
  59894. "src": "37968:2:50",
  59895. "typeDescriptions": {
  59896. "typeIdentifier": "t_string_memory_ptr",
  59897. "typeString": "string memory"
  59898. }
  59899. },
  59900. {
  59901. "id": 11622,
  59902. "name": "p2",
  59903. "nodeType": "Identifier",
  59904. "overloadedDeclarations": [],
  59905. "referencedDeclaration": 11611,
  59906. "src": "37972:2:50",
  59907. "typeDescriptions": {
  59908. "typeIdentifier": "t_address",
  59909. "typeString": "address"
  59910. }
  59911. },
  59912. {
  59913. "id": 11623,
  59914. "name": "p3",
  59915. "nodeType": "Identifier",
  59916. "overloadedDeclarations": [],
  59917. "referencedDeclaration": 11613,
  59918. "src": "37976:2:50",
  59919. "typeDescriptions": {
  59920. "typeIdentifier": "t_string_memory_ptr",
  59921. "typeString": "string memory"
  59922. }
  59923. }
  59924. ],
  59925. "expression": {
  59926. "argumentTypes": [
  59927. {
  59928. "typeIdentifier": "t_stringliteral_eb1bff805ef136c60bfed230c7b932a14c6f7a62608edeaf56f8f2c0575d25b6",
  59929. "typeString": "literal_string \"log(string,string,address,string)\""
  59930. },
  59931. {
  59932. "typeIdentifier": "t_string_memory_ptr",
  59933. "typeString": "string memory"
  59934. },
  59935. {
  59936. "typeIdentifier": "t_string_memory_ptr",
  59937. "typeString": "string memory"
  59938. },
  59939. {
  59940. "typeIdentifier": "t_address",
  59941. "typeString": "address"
  59942. },
  59943. {
  59944. "typeIdentifier": "t_string_memory_ptr",
  59945. "typeString": "string memory"
  59946. }
  59947. ],
  59948. "expression": {
  59949. "id": 11617,
  59950. "name": "abi",
  59951. "nodeType": "Identifier",
  59952. "overloadedDeclarations": [],
  59953. "referencedDeclaration": -1,
  59954. "src": "37903:3:50",
  59955. "typeDescriptions": {
  59956. "typeIdentifier": "t_magic_abi",
  59957. "typeString": "abi"
  59958. }
  59959. },
  59960. "id": 11618,
  59961. "isConstant": false,
  59962. "isLValue": false,
  59963. "isPure": true,
  59964. "lValueRequested": false,
  59965. "memberLocation": "37907:19:50",
  59966. "memberName": "encodeWithSignature",
  59967. "nodeType": "MemberAccess",
  59968. "src": "37903:23:50",
  59969. "typeDescriptions": {
  59970. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  59971. "typeString": "function (string memory) pure returns (bytes memory)"
  59972. }
  59973. },
  59974. "id": 11624,
  59975. "isConstant": false,
  59976. "isLValue": false,
  59977. "isPure": false,
  59978. "kind": "functionCall",
  59979. "lValueRequested": false,
  59980. "nameLocations": [],
  59981. "names": [],
  59982. "nodeType": "FunctionCall",
  59983. "src": "37903:76:50",
  59984. "tryCall": false,
  59985. "typeDescriptions": {
  59986. "typeIdentifier": "t_bytes_memory_ptr",
  59987. "typeString": "bytes memory"
  59988. }
  59989. }
  59990. ],
  59991. "expression": {
  59992. "argumentTypes": [
  59993. {
  59994. "typeIdentifier": "t_bytes_memory_ptr",
  59995. "typeString": "bytes memory"
  59996. }
  59997. ],
  59998. "id": 11616,
  59999. "name": "_sendLogPayload",
  60000. "nodeType": "Identifier",
  60001. "overloadedDeclarations": [],
  60002. "referencedDeclaration": 7315,
  60003. "src": "37887:15:50",
  60004. "typeDescriptions": {
  60005. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  60006. "typeString": "function (bytes memory) pure"
  60007. }
  60008. },
  60009. "id": 11625,
  60010. "isConstant": false,
  60011. "isLValue": false,
  60012. "isPure": false,
  60013. "kind": "functionCall",
  60014. "lValueRequested": false,
  60015. "nameLocations": [],
  60016. "names": [],
  60017. "nodeType": "FunctionCall",
  60018. "src": "37887:93:50",
  60019. "tryCall": false,
  60020. "typeDescriptions": {
  60021. "typeIdentifier": "t_tuple$__$",
  60022. "typeString": "tuple()"
  60023. }
  60024. },
  60025. "id": 11626,
  60026. "nodeType": "ExpressionStatement",
  60027. "src": "37887:93:50"
  60028. }
  60029. ]
  60030. },
  60031. "implemented": true,
  60032. "kind": "function",
  60033. "modifiers": [],
  60034. "name": "log",
  60035. "nameLocation": "37793:3:50",
  60036. "parameters": {
  60037. "id": 11614,
  60038. "nodeType": "ParameterList",
  60039. "parameters": [
  60040. {
  60041. "constant": false,
  60042. "id": 11607,
  60043. "mutability": "mutable",
  60044. "name": "p0",
  60045. "nameLocation": "37811:2:50",
  60046. "nodeType": "VariableDeclaration",
  60047. "scope": 11628,
  60048. "src": "37797:16:50",
  60049. "stateVariable": false,
  60050. "storageLocation": "memory",
  60051. "typeDescriptions": {
  60052. "typeIdentifier": "t_string_memory_ptr",
  60053. "typeString": "string"
  60054. },
  60055. "typeName": {
  60056. "id": 11606,
  60057. "name": "string",
  60058. "nodeType": "ElementaryTypeName",
  60059. "src": "37797:6:50",
  60060. "typeDescriptions": {
  60061. "typeIdentifier": "t_string_storage_ptr",
  60062. "typeString": "string"
  60063. }
  60064. },
  60065. "visibility": "internal"
  60066. },
  60067. {
  60068. "constant": false,
  60069. "id": 11609,
  60070. "mutability": "mutable",
  60071. "name": "p1",
  60072. "nameLocation": "37829:2:50",
  60073. "nodeType": "VariableDeclaration",
  60074. "scope": 11628,
  60075. "src": "37815:16:50",
  60076. "stateVariable": false,
  60077. "storageLocation": "memory",
  60078. "typeDescriptions": {
  60079. "typeIdentifier": "t_string_memory_ptr",
  60080. "typeString": "string"
  60081. },
  60082. "typeName": {
  60083. "id": 11608,
  60084. "name": "string",
  60085. "nodeType": "ElementaryTypeName",
  60086. "src": "37815:6:50",
  60087. "typeDescriptions": {
  60088. "typeIdentifier": "t_string_storage_ptr",
  60089. "typeString": "string"
  60090. }
  60091. },
  60092. "visibility": "internal"
  60093. },
  60094. {
  60095. "constant": false,
  60096. "id": 11611,
  60097. "mutability": "mutable",
  60098. "name": "p2",
  60099. "nameLocation": "37841:2:50",
  60100. "nodeType": "VariableDeclaration",
  60101. "scope": 11628,
  60102. "src": "37833:10:50",
  60103. "stateVariable": false,
  60104. "storageLocation": "default",
  60105. "typeDescriptions": {
  60106. "typeIdentifier": "t_address",
  60107. "typeString": "address"
  60108. },
  60109. "typeName": {
  60110. "id": 11610,
  60111. "name": "address",
  60112. "nodeType": "ElementaryTypeName",
  60113. "src": "37833:7:50",
  60114. "stateMutability": "nonpayable",
  60115. "typeDescriptions": {
  60116. "typeIdentifier": "t_address",
  60117. "typeString": "address"
  60118. }
  60119. },
  60120. "visibility": "internal"
  60121. },
  60122. {
  60123. "constant": false,
  60124. "id": 11613,
  60125. "mutability": "mutable",
  60126. "name": "p3",
  60127. "nameLocation": "37859:2:50",
  60128. "nodeType": "VariableDeclaration",
  60129. "scope": 11628,
  60130. "src": "37845:16:50",
  60131. "stateVariable": false,
  60132. "storageLocation": "memory",
  60133. "typeDescriptions": {
  60134. "typeIdentifier": "t_string_memory_ptr",
  60135. "typeString": "string"
  60136. },
  60137. "typeName": {
  60138. "id": 11612,
  60139. "name": "string",
  60140. "nodeType": "ElementaryTypeName",
  60141. "src": "37845:6:50",
  60142. "typeDescriptions": {
  60143. "typeIdentifier": "t_string_storage_ptr",
  60144. "typeString": "string"
  60145. }
  60146. },
  60147. "visibility": "internal"
  60148. }
  60149. ],
  60150. "src": "37796:66:50"
  60151. },
  60152. "returnParameters": {
  60153. "id": 11615,
  60154. "nodeType": "ParameterList",
  60155. "parameters": [],
  60156. "src": "37877:0:50"
  60157. },
  60158. "scope": 15355,
  60159. "stateMutability": "pure",
  60160. "virtual": false,
  60161. "visibility": "internal"
  60162. },
  60163. {
  60164. "id": 11651,
  60165. "nodeType": "FunctionDefinition",
  60166. "src": "37993:192:50",
  60167. "nodes": [],
  60168. "body": {
  60169. "id": 11650,
  60170. "nodeType": "Block",
  60171. "src": "38077:108:50",
  60172. "nodes": [],
  60173. "statements": [
  60174. {
  60175. "expression": {
  60176. "arguments": [
  60177. {
  60178. "arguments": [
  60179. {
  60180. "hexValue": "6c6f6728737472696e672c737472696e672c616464726573732c626f6f6c29",
  60181. "id": 11642,
  60182. "isConstant": false,
  60183. "isLValue": false,
  60184. "isPure": true,
  60185. "kind": "string",
  60186. "lValueRequested": false,
  60187. "nodeType": "Literal",
  60188. "src": "38127:33:50",
  60189. "typeDescriptions": {
  60190. "typeIdentifier": "t_stringliteral_5ccd4e373eb6ae26626c8607ae861c55cda5fd321363edde7e6328e09072ba63",
  60191. "typeString": "literal_string \"log(string,string,address,bool)\""
  60192. },
  60193. "value": "log(string,string,address,bool)"
  60194. },
  60195. {
  60196. "id": 11643,
  60197. "name": "p0",
  60198. "nodeType": "Identifier",
  60199. "overloadedDeclarations": [],
  60200. "referencedDeclaration": 11630,
  60201. "src": "38162:2:50",
  60202. "typeDescriptions": {
  60203. "typeIdentifier": "t_string_memory_ptr",
  60204. "typeString": "string memory"
  60205. }
  60206. },
  60207. {
  60208. "id": 11644,
  60209. "name": "p1",
  60210. "nodeType": "Identifier",
  60211. "overloadedDeclarations": [],
  60212. "referencedDeclaration": 11632,
  60213. "src": "38166:2:50",
  60214. "typeDescriptions": {
  60215. "typeIdentifier": "t_string_memory_ptr",
  60216. "typeString": "string memory"
  60217. }
  60218. },
  60219. {
  60220. "id": 11645,
  60221. "name": "p2",
  60222. "nodeType": "Identifier",
  60223. "overloadedDeclarations": [],
  60224. "referencedDeclaration": 11634,
  60225. "src": "38170:2:50",
  60226. "typeDescriptions": {
  60227. "typeIdentifier": "t_address",
  60228. "typeString": "address"
  60229. }
  60230. },
  60231. {
  60232. "id": 11646,
  60233. "name": "p3",
  60234. "nodeType": "Identifier",
  60235. "overloadedDeclarations": [],
  60236. "referencedDeclaration": 11636,
  60237. "src": "38174:2:50",
  60238. "typeDescriptions": {
  60239. "typeIdentifier": "t_bool",
  60240. "typeString": "bool"
  60241. }
  60242. }
  60243. ],
  60244. "expression": {
  60245. "argumentTypes": [
  60246. {
  60247. "typeIdentifier": "t_stringliteral_5ccd4e373eb6ae26626c8607ae861c55cda5fd321363edde7e6328e09072ba63",
  60248. "typeString": "literal_string \"log(string,string,address,bool)\""
  60249. },
  60250. {
  60251. "typeIdentifier": "t_string_memory_ptr",
  60252. "typeString": "string memory"
  60253. },
  60254. {
  60255. "typeIdentifier": "t_string_memory_ptr",
  60256. "typeString": "string memory"
  60257. },
  60258. {
  60259. "typeIdentifier": "t_address",
  60260. "typeString": "address"
  60261. },
  60262. {
  60263. "typeIdentifier": "t_bool",
  60264. "typeString": "bool"
  60265. }
  60266. ],
  60267. "expression": {
  60268. "id": 11640,
  60269. "name": "abi",
  60270. "nodeType": "Identifier",
  60271. "overloadedDeclarations": [],
  60272. "referencedDeclaration": -1,
  60273. "src": "38103:3:50",
  60274. "typeDescriptions": {
  60275. "typeIdentifier": "t_magic_abi",
  60276. "typeString": "abi"
  60277. }
  60278. },
  60279. "id": 11641,
  60280. "isConstant": false,
  60281. "isLValue": false,
  60282. "isPure": true,
  60283. "lValueRequested": false,
  60284. "memberLocation": "38107:19:50",
  60285. "memberName": "encodeWithSignature",
  60286. "nodeType": "MemberAccess",
  60287. "src": "38103:23:50",
  60288. "typeDescriptions": {
  60289. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  60290. "typeString": "function (string memory) pure returns (bytes memory)"
  60291. }
  60292. },
  60293. "id": 11647,
  60294. "isConstant": false,
  60295. "isLValue": false,
  60296. "isPure": false,
  60297. "kind": "functionCall",
  60298. "lValueRequested": false,
  60299. "nameLocations": [],
  60300. "names": [],
  60301. "nodeType": "FunctionCall",
  60302. "src": "38103:74:50",
  60303. "tryCall": false,
  60304. "typeDescriptions": {
  60305. "typeIdentifier": "t_bytes_memory_ptr",
  60306. "typeString": "bytes memory"
  60307. }
  60308. }
  60309. ],
  60310. "expression": {
  60311. "argumentTypes": [
  60312. {
  60313. "typeIdentifier": "t_bytes_memory_ptr",
  60314. "typeString": "bytes memory"
  60315. }
  60316. ],
  60317. "id": 11639,
  60318. "name": "_sendLogPayload",
  60319. "nodeType": "Identifier",
  60320. "overloadedDeclarations": [],
  60321. "referencedDeclaration": 7315,
  60322. "src": "38087:15:50",
  60323. "typeDescriptions": {
  60324. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  60325. "typeString": "function (bytes memory) pure"
  60326. }
  60327. },
  60328. "id": 11648,
  60329. "isConstant": false,
  60330. "isLValue": false,
  60331. "isPure": false,
  60332. "kind": "functionCall",
  60333. "lValueRequested": false,
  60334. "nameLocations": [],
  60335. "names": [],
  60336. "nodeType": "FunctionCall",
  60337. "src": "38087:91:50",
  60338. "tryCall": false,
  60339. "typeDescriptions": {
  60340. "typeIdentifier": "t_tuple$__$",
  60341. "typeString": "tuple()"
  60342. }
  60343. },
  60344. "id": 11649,
  60345. "nodeType": "ExpressionStatement",
  60346. "src": "38087:91:50"
  60347. }
  60348. ]
  60349. },
  60350. "implemented": true,
  60351. "kind": "function",
  60352. "modifiers": [],
  60353. "name": "log",
  60354. "nameLocation": "38002:3:50",
  60355. "parameters": {
  60356. "id": 11637,
  60357. "nodeType": "ParameterList",
  60358. "parameters": [
  60359. {
  60360. "constant": false,
  60361. "id": 11630,
  60362. "mutability": "mutable",
  60363. "name": "p0",
  60364. "nameLocation": "38020:2:50",
  60365. "nodeType": "VariableDeclaration",
  60366. "scope": 11651,
  60367. "src": "38006:16:50",
  60368. "stateVariable": false,
  60369. "storageLocation": "memory",
  60370. "typeDescriptions": {
  60371. "typeIdentifier": "t_string_memory_ptr",
  60372. "typeString": "string"
  60373. },
  60374. "typeName": {
  60375. "id": 11629,
  60376. "name": "string",
  60377. "nodeType": "ElementaryTypeName",
  60378. "src": "38006:6:50",
  60379. "typeDescriptions": {
  60380. "typeIdentifier": "t_string_storage_ptr",
  60381. "typeString": "string"
  60382. }
  60383. },
  60384. "visibility": "internal"
  60385. },
  60386. {
  60387. "constant": false,
  60388. "id": 11632,
  60389. "mutability": "mutable",
  60390. "name": "p1",
  60391. "nameLocation": "38038:2:50",
  60392. "nodeType": "VariableDeclaration",
  60393. "scope": 11651,
  60394. "src": "38024:16:50",
  60395. "stateVariable": false,
  60396. "storageLocation": "memory",
  60397. "typeDescriptions": {
  60398. "typeIdentifier": "t_string_memory_ptr",
  60399. "typeString": "string"
  60400. },
  60401. "typeName": {
  60402. "id": 11631,
  60403. "name": "string",
  60404. "nodeType": "ElementaryTypeName",
  60405. "src": "38024:6:50",
  60406. "typeDescriptions": {
  60407. "typeIdentifier": "t_string_storage_ptr",
  60408. "typeString": "string"
  60409. }
  60410. },
  60411. "visibility": "internal"
  60412. },
  60413. {
  60414. "constant": false,
  60415. "id": 11634,
  60416. "mutability": "mutable",
  60417. "name": "p2",
  60418. "nameLocation": "38050:2:50",
  60419. "nodeType": "VariableDeclaration",
  60420. "scope": 11651,
  60421. "src": "38042:10:50",
  60422. "stateVariable": false,
  60423. "storageLocation": "default",
  60424. "typeDescriptions": {
  60425. "typeIdentifier": "t_address",
  60426. "typeString": "address"
  60427. },
  60428. "typeName": {
  60429. "id": 11633,
  60430. "name": "address",
  60431. "nodeType": "ElementaryTypeName",
  60432. "src": "38042:7:50",
  60433. "stateMutability": "nonpayable",
  60434. "typeDescriptions": {
  60435. "typeIdentifier": "t_address",
  60436. "typeString": "address"
  60437. }
  60438. },
  60439. "visibility": "internal"
  60440. },
  60441. {
  60442. "constant": false,
  60443. "id": 11636,
  60444. "mutability": "mutable",
  60445. "name": "p3",
  60446. "nameLocation": "38059:2:50",
  60447. "nodeType": "VariableDeclaration",
  60448. "scope": 11651,
  60449. "src": "38054:7:50",
  60450. "stateVariable": false,
  60451. "storageLocation": "default",
  60452. "typeDescriptions": {
  60453. "typeIdentifier": "t_bool",
  60454. "typeString": "bool"
  60455. },
  60456. "typeName": {
  60457. "id": 11635,
  60458. "name": "bool",
  60459. "nodeType": "ElementaryTypeName",
  60460. "src": "38054:4:50",
  60461. "typeDescriptions": {
  60462. "typeIdentifier": "t_bool",
  60463. "typeString": "bool"
  60464. }
  60465. },
  60466. "visibility": "internal"
  60467. }
  60468. ],
  60469. "src": "38005:57:50"
  60470. },
  60471. "returnParameters": {
  60472. "id": 11638,
  60473. "nodeType": "ParameterList",
  60474. "parameters": [],
  60475. "src": "38077:0:50"
  60476. },
  60477. "scope": 15355,
  60478. "stateMutability": "pure",
  60479. "virtual": false,
  60480. "visibility": "internal"
  60481. },
  60482. {
  60483. "id": 11674,
  60484. "nodeType": "FunctionDefinition",
  60485. "src": "38191:198:50",
  60486. "nodes": [],
  60487. "body": {
  60488. "id": 11673,
  60489. "nodeType": "Block",
  60490. "src": "38278:111:50",
  60491. "nodes": [],
  60492. "statements": [
  60493. {
  60494. "expression": {
  60495. "arguments": [
  60496. {
  60497. "arguments": [
  60498. {
  60499. "hexValue": "6c6f6728737472696e672c737472696e672c616464726573732c6164647265737329",
  60500. "id": 11665,
  60501. "isConstant": false,
  60502. "isLValue": false,
  60503. "isPure": true,
  60504. "kind": "string",
  60505. "lValueRequested": false,
  60506. "nodeType": "Literal",
  60507. "src": "38328:36:50",
  60508. "typeDescriptions": {
  60509. "typeIdentifier": "t_stringliteral_439c7befd1b6bfcb9bd001c1f3a991ef43c070f0ace0c190dd9f16d7ae338a5d",
  60510. "typeString": "literal_string \"log(string,string,address,address)\""
  60511. },
  60512. "value": "log(string,string,address,address)"
  60513. },
  60514. {
  60515. "id": 11666,
  60516. "name": "p0",
  60517. "nodeType": "Identifier",
  60518. "overloadedDeclarations": [],
  60519. "referencedDeclaration": 11653,
  60520. "src": "38366:2:50",
  60521. "typeDescriptions": {
  60522. "typeIdentifier": "t_string_memory_ptr",
  60523. "typeString": "string memory"
  60524. }
  60525. },
  60526. {
  60527. "id": 11667,
  60528. "name": "p1",
  60529. "nodeType": "Identifier",
  60530. "overloadedDeclarations": [],
  60531. "referencedDeclaration": 11655,
  60532. "src": "38370:2:50",
  60533. "typeDescriptions": {
  60534. "typeIdentifier": "t_string_memory_ptr",
  60535. "typeString": "string memory"
  60536. }
  60537. },
  60538. {
  60539. "id": 11668,
  60540. "name": "p2",
  60541. "nodeType": "Identifier",
  60542. "overloadedDeclarations": [],
  60543. "referencedDeclaration": 11657,
  60544. "src": "38374:2:50",
  60545. "typeDescriptions": {
  60546. "typeIdentifier": "t_address",
  60547. "typeString": "address"
  60548. }
  60549. },
  60550. {
  60551. "id": 11669,
  60552. "name": "p3",
  60553. "nodeType": "Identifier",
  60554. "overloadedDeclarations": [],
  60555. "referencedDeclaration": 11659,
  60556. "src": "38378:2:50",
  60557. "typeDescriptions": {
  60558. "typeIdentifier": "t_address",
  60559. "typeString": "address"
  60560. }
  60561. }
  60562. ],
  60563. "expression": {
  60564. "argumentTypes": [
  60565. {
  60566. "typeIdentifier": "t_stringliteral_439c7befd1b6bfcb9bd001c1f3a991ef43c070f0ace0c190dd9f16d7ae338a5d",
  60567. "typeString": "literal_string \"log(string,string,address,address)\""
  60568. },
  60569. {
  60570. "typeIdentifier": "t_string_memory_ptr",
  60571. "typeString": "string memory"
  60572. },
  60573. {
  60574. "typeIdentifier": "t_string_memory_ptr",
  60575. "typeString": "string memory"
  60576. },
  60577. {
  60578. "typeIdentifier": "t_address",
  60579. "typeString": "address"
  60580. },
  60581. {
  60582. "typeIdentifier": "t_address",
  60583. "typeString": "address"
  60584. }
  60585. ],
  60586. "expression": {
  60587. "id": 11663,
  60588. "name": "abi",
  60589. "nodeType": "Identifier",
  60590. "overloadedDeclarations": [],
  60591. "referencedDeclaration": -1,
  60592. "src": "38304:3:50",
  60593. "typeDescriptions": {
  60594. "typeIdentifier": "t_magic_abi",
  60595. "typeString": "abi"
  60596. }
  60597. },
  60598. "id": 11664,
  60599. "isConstant": false,
  60600. "isLValue": false,
  60601. "isPure": true,
  60602. "lValueRequested": false,
  60603. "memberLocation": "38308:19:50",
  60604. "memberName": "encodeWithSignature",
  60605. "nodeType": "MemberAccess",
  60606. "src": "38304:23:50",
  60607. "typeDescriptions": {
  60608. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  60609. "typeString": "function (string memory) pure returns (bytes memory)"
  60610. }
  60611. },
  60612. "id": 11670,
  60613. "isConstant": false,
  60614. "isLValue": false,
  60615. "isPure": false,
  60616. "kind": "functionCall",
  60617. "lValueRequested": false,
  60618. "nameLocations": [],
  60619. "names": [],
  60620. "nodeType": "FunctionCall",
  60621. "src": "38304:77:50",
  60622. "tryCall": false,
  60623. "typeDescriptions": {
  60624. "typeIdentifier": "t_bytes_memory_ptr",
  60625. "typeString": "bytes memory"
  60626. }
  60627. }
  60628. ],
  60629. "expression": {
  60630. "argumentTypes": [
  60631. {
  60632. "typeIdentifier": "t_bytes_memory_ptr",
  60633. "typeString": "bytes memory"
  60634. }
  60635. ],
  60636. "id": 11662,
  60637. "name": "_sendLogPayload",
  60638. "nodeType": "Identifier",
  60639. "overloadedDeclarations": [],
  60640. "referencedDeclaration": 7315,
  60641. "src": "38288:15:50",
  60642. "typeDescriptions": {
  60643. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  60644. "typeString": "function (bytes memory) pure"
  60645. }
  60646. },
  60647. "id": 11671,
  60648. "isConstant": false,
  60649. "isLValue": false,
  60650. "isPure": false,
  60651. "kind": "functionCall",
  60652. "lValueRequested": false,
  60653. "nameLocations": [],
  60654. "names": [],
  60655. "nodeType": "FunctionCall",
  60656. "src": "38288:94:50",
  60657. "tryCall": false,
  60658. "typeDescriptions": {
  60659. "typeIdentifier": "t_tuple$__$",
  60660. "typeString": "tuple()"
  60661. }
  60662. },
  60663. "id": 11672,
  60664. "nodeType": "ExpressionStatement",
  60665. "src": "38288:94:50"
  60666. }
  60667. ]
  60668. },
  60669. "implemented": true,
  60670. "kind": "function",
  60671. "modifiers": [],
  60672. "name": "log",
  60673. "nameLocation": "38200:3:50",
  60674. "parameters": {
  60675. "id": 11660,
  60676. "nodeType": "ParameterList",
  60677. "parameters": [
  60678. {
  60679. "constant": false,
  60680. "id": 11653,
  60681. "mutability": "mutable",
  60682. "name": "p0",
  60683. "nameLocation": "38218:2:50",
  60684. "nodeType": "VariableDeclaration",
  60685. "scope": 11674,
  60686. "src": "38204:16:50",
  60687. "stateVariable": false,
  60688. "storageLocation": "memory",
  60689. "typeDescriptions": {
  60690. "typeIdentifier": "t_string_memory_ptr",
  60691. "typeString": "string"
  60692. },
  60693. "typeName": {
  60694. "id": 11652,
  60695. "name": "string",
  60696. "nodeType": "ElementaryTypeName",
  60697. "src": "38204:6:50",
  60698. "typeDescriptions": {
  60699. "typeIdentifier": "t_string_storage_ptr",
  60700. "typeString": "string"
  60701. }
  60702. },
  60703. "visibility": "internal"
  60704. },
  60705. {
  60706. "constant": false,
  60707. "id": 11655,
  60708. "mutability": "mutable",
  60709. "name": "p1",
  60710. "nameLocation": "38236:2:50",
  60711. "nodeType": "VariableDeclaration",
  60712. "scope": 11674,
  60713. "src": "38222:16:50",
  60714. "stateVariable": false,
  60715. "storageLocation": "memory",
  60716. "typeDescriptions": {
  60717. "typeIdentifier": "t_string_memory_ptr",
  60718. "typeString": "string"
  60719. },
  60720. "typeName": {
  60721. "id": 11654,
  60722. "name": "string",
  60723. "nodeType": "ElementaryTypeName",
  60724. "src": "38222:6:50",
  60725. "typeDescriptions": {
  60726. "typeIdentifier": "t_string_storage_ptr",
  60727. "typeString": "string"
  60728. }
  60729. },
  60730. "visibility": "internal"
  60731. },
  60732. {
  60733. "constant": false,
  60734. "id": 11657,
  60735. "mutability": "mutable",
  60736. "name": "p2",
  60737. "nameLocation": "38248:2:50",
  60738. "nodeType": "VariableDeclaration",
  60739. "scope": 11674,
  60740. "src": "38240:10:50",
  60741. "stateVariable": false,
  60742. "storageLocation": "default",
  60743. "typeDescriptions": {
  60744. "typeIdentifier": "t_address",
  60745. "typeString": "address"
  60746. },
  60747. "typeName": {
  60748. "id": 11656,
  60749. "name": "address",
  60750. "nodeType": "ElementaryTypeName",
  60751. "src": "38240:7:50",
  60752. "stateMutability": "nonpayable",
  60753. "typeDescriptions": {
  60754. "typeIdentifier": "t_address",
  60755. "typeString": "address"
  60756. }
  60757. },
  60758. "visibility": "internal"
  60759. },
  60760. {
  60761. "constant": false,
  60762. "id": 11659,
  60763. "mutability": "mutable",
  60764. "name": "p3",
  60765. "nameLocation": "38260:2:50",
  60766. "nodeType": "VariableDeclaration",
  60767. "scope": 11674,
  60768. "src": "38252:10:50",
  60769. "stateVariable": false,
  60770. "storageLocation": "default",
  60771. "typeDescriptions": {
  60772. "typeIdentifier": "t_address",
  60773. "typeString": "address"
  60774. },
  60775. "typeName": {
  60776. "id": 11658,
  60777. "name": "address",
  60778. "nodeType": "ElementaryTypeName",
  60779. "src": "38252:7:50",
  60780. "stateMutability": "nonpayable",
  60781. "typeDescriptions": {
  60782. "typeIdentifier": "t_address",
  60783. "typeString": "address"
  60784. }
  60785. },
  60786. "visibility": "internal"
  60787. }
  60788. ],
  60789. "src": "38203:60:50"
  60790. },
  60791. "returnParameters": {
  60792. "id": 11661,
  60793. "nodeType": "ParameterList",
  60794. "parameters": [],
  60795. "src": "38278:0:50"
  60796. },
  60797. "scope": 15355,
  60798. "stateMutability": "pure",
  60799. "virtual": false,
  60800. "visibility": "internal"
  60801. },
  60802. {
  60803. "id": 11697,
  60804. "nodeType": "FunctionDefinition",
  60805. "src": "38395:187:50",
  60806. "nodes": [],
  60807. "body": {
  60808. "id": 11696,
  60809. "nodeType": "Block",
  60810. "src": "38473:109:50",
  60811. "nodes": [],
  60812. "statements": [
  60813. {
  60814. "expression": {
  60815. "arguments": [
  60816. {
  60817. "arguments": [
  60818. {
  60819. "hexValue": "6c6f6728737472696e672c626f6f6c2c75696e743235362c75696e7432353629",
  60820. "id": 11688,
  60821. "isConstant": false,
  60822. "isLValue": false,
  60823. "isPure": true,
  60824. "kind": "string",
  60825. "lValueRequested": false,
  60826. "nodeType": "Literal",
  60827. "src": "38523:34:50",
  60828. "typeDescriptions": {
  60829. "typeIdentifier": "t_stringliteral_64b5bb671d0911515c2d999ed3f7f689c3b5762a99b342dfee4a1d88fec7b25e",
  60830. "typeString": "literal_string \"log(string,bool,uint256,uint256)\""
  60831. },
  60832. "value": "log(string,bool,uint256,uint256)"
  60833. },
  60834. {
  60835. "id": 11689,
  60836. "name": "p0",
  60837. "nodeType": "Identifier",
  60838. "overloadedDeclarations": [],
  60839. "referencedDeclaration": 11676,
  60840. "src": "38559:2:50",
  60841. "typeDescriptions": {
  60842. "typeIdentifier": "t_string_memory_ptr",
  60843. "typeString": "string memory"
  60844. }
  60845. },
  60846. {
  60847. "id": 11690,
  60848. "name": "p1",
  60849. "nodeType": "Identifier",
  60850. "overloadedDeclarations": [],
  60851. "referencedDeclaration": 11678,
  60852. "src": "38563:2:50",
  60853. "typeDescriptions": {
  60854. "typeIdentifier": "t_bool",
  60855. "typeString": "bool"
  60856. }
  60857. },
  60858. {
  60859. "id": 11691,
  60860. "name": "p2",
  60861. "nodeType": "Identifier",
  60862. "overloadedDeclarations": [],
  60863. "referencedDeclaration": 11680,
  60864. "src": "38567:2:50",
  60865. "typeDescriptions": {
  60866. "typeIdentifier": "t_uint256",
  60867. "typeString": "uint256"
  60868. }
  60869. },
  60870. {
  60871. "id": 11692,
  60872. "name": "p3",
  60873. "nodeType": "Identifier",
  60874. "overloadedDeclarations": [],
  60875. "referencedDeclaration": 11682,
  60876. "src": "38571:2:50",
  60877. "typeDescriptions": {
  60878. "typeIdentifier": "t_uint256",
  60879. "typeString": "uint256"
  60880. }
  60881. }
  60882. ],
  60883. "expression": {
  60884. "argumentTypes": [
  60885. {
  60886. "typeIdentifier": "t_stringliteral_64b5bb671d0911515c2d999ed3f7f689c3b5762a99b342dfee4a1d88fec7b25e",
  60887. "typeString": "literal_string \"log(string,bool,uint256,uint256)\""
  60888. },
  60889. {
  60890. "typeIdentifier": "t_string_memory_ptr",
  60891. "typeString": "string memory"
  60892. },
  60893. {
  60894. "typeIdentifier": "t_bool",
  60895. "typeString": "bool"
  60896. },
  60897. {
  60898. "typeIdentifier": "t_uint256",
  60899. "typeString": "uint256"
  60900. },
  60901. {
  60902. "typeIdentifier": "t_uint256",
  60903. "typeString": "uint256"
  60904. }
  60905. ],
  60906. "expression": {
  60907. "id": 11686,
  60908. "name": "abi",
  60909. "nodeType": "Identifier",
  60910. "overloadedDeclarations": [],
  60911. "referencedDeclaration": -1,
  60912. "src": "38499:3:50",
  60913. "typeDescriptions": {
  60914. "typeIdentifier": "t_magic_abi",
  60915. "typeString": "abi"
  60916. }
  60917. },
  60918. "id": 11687,
  60919. "isConstant": false,
  60920. "isLValue": false,
  60921. "isPure": true,
  60922. "lValueRequested": false,
  60923. "memberLocation": "38503:19:50",
  60924. "memberName": "encodeWithSignature",
  60925. "nodeType": "MemberAccess",
  60926. "src": "38499:23:50",
  60927. "typeDescriptions": {
  60928. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  60929. "typeString": "function (string memory) pure returns (bytes memory)"
  60930. }
  60931. },
  60932. "id": 11693,
  60933. "isConstant": false,
  60934. "isLValue": false,
  60935. "isPure": false,
  60936. "kind": "functionCall",
  60937. "lValueRequested": false,
  60938. "nameLocations": [],
  60939. "names": [],
  60940. "nodeType": "FunctionCall",
  60941. "src": "38499:75:50",
  60942. "tryCall": false,
  60943. "typeDescriptions": {
  60944. "typeIdentifier": "t_bytes_memory_ptr",
  60945. "typeString": "bytes memory"
  60946. }
  60947. }
  60948. ],
  60949. "expression": {
  60950. "argumentTypes": [
  60951. {
  60952. "typeIdentifier": "t_bytes_memory_ptr",
  60953. "typeString": "bytes memory"
  60954. }
  60955. ],
  60956. "id": 11685,
  60957. "name": "_sendLogPayload",
  60958. "nodeType": "Identifier",
  60959. "overloadedDeclarations": [],
  60960. "referencedDeclaration": 7315,
  60961. "src": "38483:15:50",
  60962. "typeDescriptions": {
  60963. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  60964. "typeString": "function (bytes memory) pure"
  60965. }
  60966. },
  60967. "id": 11694,
  60968. "isConstant": false,
  60969. "isLValue": false,
  60970. "isPure": false,
  60971. "kind": "functionCall",
  60972. "lValueRequested": false,
  60973. "nameLocations": [],
  60974. "names": [],
  60975. "nodeType": "FunctionCall",
  60976. "src": "38483:92:50",
  60977. "tryCall": false,
  60978. "typeDescriptions": {
  60979. "typeIdentifier": "t_tuple$__$",
  60980. "typeString": "tuple()"
  60981. }
  60982. },
  60983. "id": 11695,
  60984. "nodeType": "ExpressionStatement",
  60985. "src": "38483:92:50"
  60986. }
  60987. ]
  60988. },
  60989. "implemented": true,
  60990. "kind": "function",
  60991. "modifiers": [],
  60992. "name": "log",
  60993. "nameLocation": "38404:3:50",
  60994. "parameters": {
  60995. "id": 11683,
  60996. "nodeType": "ParameterList",
  60997. "parameters": [
  60998. {
  60999. "constant": false,
  61000. "id": 11676,
  61001. "mutability": "mutable",
  61002. "name": "p0",
  61003. "nameLocation": "38422:2:50",
  61004. "nodeType": "VariableDeclaration",
  61005. "scope": 11697,
  61006. "src": "38408:16:50",
  61007. "stateVariable": false,
  61008. "storageLocation": "memory",
  61009. "typeDescriptions": {
  61010. "typeIdentifier": "t_string_memory_ptr",
  61011. "typeString": "string"
  61012. },
  61013. "typeName": {
  61014. "id": 11675,
  61015. "name": "string",
  61016. "nodeType": "ElementaryTypeName",
  61017. "src": "38408:6:50",
  61018. "typeDescriptions": {
  61019. "typeIdentifier": "t_string_storage_ptr",
  61020. "typeString": "string"
  61021. }
  61022. },
  61023. "visibility": "internal"
  61024. },
  61025. {
  61026. "constant": false,
  61027. "id": 11678,
  61028. "mutability": "mutable",
  61029. "name": "p1",
  61030. "nameLocation": "38431:2:50",
  61031. "nodeType": "VariableDeclaration",
  61032. "scope": 11697,
  61033. "src": "38426:7:50",
  61034. "stateVariable": false,
  61035. "storageLocation": "default",
  61036. "typeDescriptions": {
  61037. "typeIdentifier": "t_bool",
  61038. "typeString": "bool"
  61039. },
  61040. "typeName": {
  61041. "id": 11677,
  61042. "name": "bool",
  61043. "nodeType": "ElementaryTypeName",
  61044. "src": "38426:4:50",
  61045. "typeDescriptions": {
  61046. "typeIdentifier": "t_bool",
  61047. "typeString": "bool"
  61048. }
  61049. },
  61050. "visibility": "internal"
  61051. },
  61052. {
  61053. "constant": false,
  61054. "id": 11680,
  61055. "mutability": "mutable",
  61056. "name": "p2",
  61057. "nameLocation": "38443:2:50",
  61058. "nodeType": "VariableDeclaration",
  61059. "scope": 11697,
  61060. "src": "38435:10:50",
  61061. "stateVariable": false,
  61062. "storageLocation": "default",
  61063. "typeDescriptions": {
  61064. "typeIdentifier": "t_uint256",
  61065. "typeString": "uint256"
  61066. },
  61067. "typeName": {
  61068. "id": 11679,
  61069. "name": "uint256",
  61070. "nodeType": "ElementaryTypeName",
  61071. "src": "38435:7:50",
  61072. "typeDescriptions": {
  61073. "typeIdentifier": "t_uint256",
  61074. "typeString": "uint256"
  61075. }
  61076. },
  61077. "visibility": "internal"
  61078. },
  61079. {
  61080. "constant": false,
  61081. "id": 11682,
  61082. "mutability": "mutable",
  61083. "name": "p3",
  61084. "nameLocation": "38455:2:50",
  61085. "nodeType": "VariableDeclaration",
  61086. "scope": 11697,
  61087. "src": "38447:10:50",
  61088. "stateVariable": false,
  61089. "storageLocation": "default",
  61090. "typeDescriptions": {
  61091. "typeIdentifier": "t_uint256",
  61092. "typeString": "uint256"
  61093. },
  61094. "typeName": {
  61095. "id": 11681,
  61096. "name": "uint256",
  61097. "nodeType": "ElementaryTypeName",
  61098. "src": "38447:7:50",
  61099. "typeDescriptions": {
  61100. "typeIdentifier": "t_uint256",
  61101. "typeString": "uint256"
  61102. }
  61103. },
  61104. "visibility": "internal"
  61105. }
  61106. ],
  61107. "src": "38407:51:50"
  61108. },
  61109. "returnParameters": {
  61110. "id": 11684,
  61111. "nodeType": "ParameterList",
  61112. "parameters": [],
  61113. "src": "38473:0:50"
  61114. },
  61115. "scope": 15355,
  61116. "stateMutability": "pure",
  61117. "virtual": false,
  61118. "visibility": "internal"
  61119. },
  61120. {
  61121. "id": 11720,
  61122. "nodeType": "FunctionDefinition",
  61123. "src": "38588:192:50",
  61124. "nodes": [],
  61125. "body": {
  61126. "id": 11719,
  61127. "nodeType": "Block",
  61128. "src": "38672:108:50",
  61129. "nodes": [],
  61130. "statements": [
  61131. {
  61132. "expression": {
  61133. "arguments": [
  61134. {
  61135. "arguments": [
  61136. {
  61137. "hexValue": "6c6f6728737472696e672c626f6f6c2c75696e743235362c737472696e6729",
  61138. "id": 11711,
  61139. "isConstant": false,
  61140. "isLValue": false,
  61141. "isPure": true,
  61142. "kind": "string",
  61143. "lValueRequested": false,
  61144. "nodeType": "Literal",
  61145. "src": "38722:33:50",
  61146. "typeDescriptions": {
  61147. "typeIdentifier": "t_stringliteral_742d6ee771df9df1dec5a8b70ff5f7f41567f6ae9fe27e7e391b2811f9978b00",
  61148. "typeString": "literal_string \"log(string,bool,uint256,string)\""
  61149. },
  61150. "value": "log(string,bool,uint256,string)"
  61151. },
  61152. {
  61153. "id": 11712,
  61154. "name": "p0",
  61155. "nodeType": "Identifier",
  61156. "overloadedDeclarations": [],
  61157. "referencedDeclaration": 11699,
  61158. "src": "38757:2:50",
  61159. "typeDescriptions": {
  61160. "typeIdentifier": "t_string_memory_ptr",
  61161. "typeString": "string memory"
  61162. }
  61163. },
  61164. {
  61165. "id": 11713,
  61166. "name": "p1",
  61167. "nodeType": "Identifier",
  61168. "overloadedDeclarations": [],
  61169. "referencedDeclaration": 11701,
  61170. "src": "38761:2:50",
  61171. "typeDescriptions": {
  61172. "typeIdentifier": "t_bool",
  61173. "typeString": "bool"
  61174. }
  61175. },
  61176. {
  61177. "id": 11714,
  61178. "name": "p2",
  61179. "nodeType": "Identifier",
  61180. "overloadedDeclarations": [],
  61181. "referencedDeclaration": 11703,
  61182. "src": "38765:2:50",
  61183. "typeDescriptions": {
  61184. "typeIdentifier": "t_uint256",
  61185. "typeString": "uint256"
  61186. }
  61187. },
  61188. {
  61189. "id": 11715,
  61190. "name": "p3",
  61191. "nodeType": "Identifier",
  61192. "overloadedDeclarations": [],
  61193. "referencedDeclaration": 11705,
  61194. "src": "38769:2:50",
  61195. "typeDescriptions": {
  61196. "typeIdentifier": "t_string_memory_ptr",
  61197. "typeString": "string memory"
  61198. }
  61199. }
  61200. ],
  61201. "expression": {
  61202. "argumentTypes": [
  61203. {
  61204. "typeIdentifier": "t_stringliteral_742d6ee771df9df1dec5a8b70ff5f7f41567f6ae9fe27e7e391b2811f9978b00",
  61205. "typeString": "literal_string \"log(string,bool,uint256,string)\""
  61206. },
  61207. {
  61208. "typeIdentifier": "t_string_memory_ptr",
  61209. "typeString": "string memory"
  61210. },
  61211. {
  61212. "typeIdentifier": "t_bool",
  61213. "typeString": "bool"
  61214. },
  61215. {
  61216. "typeIdentifier": "t_uint256",
  61217. "typeString": "uint256"
  61218. },
  61219. {
  61220. "typeIdentifier": "t_string_memory_ptr",
  61221. "typeString": "string memory"
  61222. }
  61223. ],
  61224. "expression": {
  61225. "id": 11709,
  61226. "name": "abi",
  61227. "nodeType": "Identifier",
  61228. "overloadedDeclarations": [],
  61229. "referencedDeclaration": -1,
  61230. "src": "38698:3:50",
  61231. "typeDescriptions": {
  61232. "typeIdentifier": "t_magic_abi",
  61233. "typeString": "abi"
  61234. }
  61235. },
  61236. "id": 11710,
  61237. "isConstant": false,
  61238. "isLValue": false,
  61239. "isPure": true,
  61240. "lValueRequested": false,
  61241. "memberLocation": "38702:19:50",
  61242. "memberName": "encodeWithSignature",
  61243. "nodeType": "MemberAccess",
  61244. "src": "38698:23:50",
  61245. "typeDescriptions": {
  61246. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  61247. "typeString": "function (string memory) pure returns (bytes memory)"
  61248. }
  61249. },
  61250. "id": 11716,
  61251. "isConstant": false,
  61252. "isLValue": false,
  61253. "isPure": false,
  61254. "kind": "functionCall",
  61255. "lValueRequested": false,
  61256. "nameLocations": [],
  61257. "names": [],
  61258. "nodeType": "FunctionCall",
  61259. "src": "38698:74:50",
  61260. "tryCall": false,
  61261. "typeDescriptions": {
  61262. "typeIdentifier": "t_bytes_memory_ptr",
  61263. "typeString": "bytes memory"
  61264. }
  61265. }
  61266. ],
  61267. "expression": {
  61268. "argumentTypes": [
  61269. {
  61270. "typeIdentifier": "t_bytes_memory_ptr",
  61271. "typeString": "bytes memory"
  61272. }
  61273. ],
  61274. "id": 11708,
  61275. "name": "_sendLogPayload",
  61276. "nodeType": "Identifier",
  61277. "overloadedDeclarations": [],
  61278. "referencedDeclaration": 7315,
  61279. "src": "38682:15:50",
  61280. "typeDescriptions": {
  61281. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  61282. "typeString": "function (bytes memory) pure"
  61283. }
  61284. },
  61285. "id": 11717,
  61286. "isConstant": false,
  61287. "isLValue": false,
  61288. "isPure": false,
  61289. "kind": "functionCall",
  61290. "lValueRequested": false,
  61291. "nameLocations": [],
  61292. "names": [],
  61293. "nodeType": "FunctionCall",
  61294. "src": "38682:91:50",
  61295. "tryCall": false,
  61296. "typeDescriptions": {
  61297. "typeIdentifier": "t_tuple$__$",
  61298. "typeString": "tuple()"
  61299. }
  61300. },
  61301. "id": 11718,
  61302. "nodeType": "ExpressionStatement",
  61303. "src": "38682:91:50"
  61304. }
  61305. ]
  61306. },
  61307. "implemented": true,
  61308. "kind": "function",
  61309. "modifiers": [],
  61310. "name": "log",
  61311. "nameLocation": "38597:3:50",
  61312. "parameters": {
  61313. "id": 11706,
  61314. "nodeType": "ParameterList",
  61315. "parameters": [
  61316. {
  61317. "constant": false,
  61318. "id": 11699,
  61319. "mutability": "mutable",
  61320. "name": "p0",
  61321. "nameLocation": "38615:2:50",
  61322. "nodeType": "VariableDeclaration",
  61323. "scope": 11720,
  61324. "src": "38601:16:50",
  61325. "stateVariable": false,
  61326. "storageLocation": "memory",
  61327. "typeDescriptions": {
  61328. "typeIdentifier": "t_string_memory_ptr",
  61329. "typeString": "string"
  61330. },
  61331. "typeName": {
  61332. "id": 11698,
  61333. "name": "string",
  61334. "nodeType": "ElementaryTypeName",
  61335. "src": "38601:6:50",
  61336. "typeDescriptions": {
  61337. "typeIdentifier": "t_string_storage_ptr",
  61338. "typeString": "string"
  61339. }
  61340. },
  61341. "visibility": "internal"
  61342. },
  61343. {
  61344. "constant": false,
  61345. "id": 11701,
  61346. "mutability": "mutable",
  61347. "name": "p1",
  61348. "nameLocation": "38624:2:50",
  61349. "nodeType": "VariableDeclaration",
  61350. "scope": 11720,
  61351. "src": "38619:7:50",
  61352. "stateVariable": false,
  61353. "storageLocation": "default",
  61354. "typeDescriptions": {
  61355. "typeIdentifier": "t_bool",
  61356. "typeString": "bool"
  61357. },
  61358. "typeName": {
  61359. "id": 11700,
  61360. "name": "bool",
  61361. "nodeType": "ElementaryTypeName",
  61362. "src": "38619:4:50",
  61363. "typeDescriptions": {
  61364. "typeIdentifier": "t_bool",
  61365. "typeString": "bool"
  61366. }
  61367. },
  61368. "visibility": "internal"
  61369. },
  61370. {
  61371. "constant": false,
  61372. "id": 11703,
  61373. "mutability": "mutable",
  61374. "name": "p2",
  61375. "nameLocation": "38636:2:50",
  61376. "nodeType": "VariableDeclaration",
  61377. "scope": 11720,
  61378. "src": "38628:10:50",
  61379. "stateVariable": false,
  61380. "storageLocation": "default",
  61381. "typeDescriptions": {
  61382. "typeIdentifier": "t_uint256",
  61383. "typeString": "uint256"
  61384. },
  61385. "typeName": {
  61386. "id": 11702,
  61387. "name": "uint256",
  61388. "nodeType": "ElementaryTypeName",
  61389. "src": "38628:7:50",
  61390. "typeDescriptions": {
  61391. "typeIdentifier": "t_uint256",
  61392. "typeString": "uint256"
  61393. }
  61394. },
  61395. "visibility": "internal"
  61396. },
  61397. {
  61398. "constant": false,
  61399. "id": 11705,
  61400. "mutability": "mutable",
  61401. "name": "p3",
  61402. "nameLocation": "38654:2:50",
  61403. "nodeType": "VariableDeclaration",
  61404. "scope": 11720,
  61405. "src": "38640:16:50",
  61406. "stateVariable": false,
  61407. "storageLocation": "memory",
  61408. "typeDescriptions": {
  61409. "typeIdentifier": "t_string_memory_ptr",
  61410. "typeString": "string"
  61411. },
  61412. "typeName": {
  61413. "id": 11704,
  61414. "name": "string",
  61415. "nodeType": "ElementaryTypeName",
  61416. "src": "38640:6:50",
  61417. "typeDescriptions": {
  61418. "typeIdentifier": "t_string_storage_ptr",
  61419. "typeString": "string"
  61420. }
  61421. },
  61422. "visibility": "internal"
  61423. }
  61424. ],
  61425. "src": "38600:57:50"
  61426. },
  61427. "returnParameters": {
  61428. "id": 11707,
  61429. "nodeType": "ParameterList",
  61430. "parameters": [],
  61431. "src": "38672:0:50"
  61432. },
  61433. "scope": 15355,
  61434. "stateMutability": "pure",
  61435. "virtual": false,
  61436. "visibility": "internal"
  61437. },
  61438. {
  61439. "id": 11743,
  61440. "nodeType": "FunctionDefinition",
  61441. "src": "38786:181:50",
  61442. "nodes": [],
  61443. "body": {
  61444. "id": 11742,
  61445. "nodeType": "Block",
  61446. "src": "38861:106:50",
  61447. "nodes": [],
  61448. "statements": [
  61449. {
  61450. "expression": {
  61451. "arguments": [
  61452. {
  61453. "arguments": [
  61454. {
  61455. "hexValue": "6c6f6728737472696e672c626f6f6c2c75696e743235362c626f6f6c29",
  61456. "id": 11734,
  61457. "isConstant": false,
  61458. "isLValue": false,
  61459. "isPure": true,
  61460. "kind": "string",
  61461. "lValueRequested": false,
  61462. "nodeType": "Literal",
  61463. "src": "38911:31:50",
  61464. "typeDescriptions": {
  61465. "typeIdentifier": "t_stringliteral_8af7cf8a379b674b00a81c3841f4203ce23fde0db10f1f8c2a0017ca424d79e2",
  61466. "typeString": "literal_string \"log(string,bool,uint256,bool)\""
  61467. },
  61468. "value": "log(string,bool,uint256,bool)"
  61469. },
  61470. {
  61471. "id": 11735,
  61472. "name": "p0",
  61473. "nodeType": "Identifier",
  61474. "overloadedDeclarations": [],
  61475. "referencedDeclaration": 11722,
  61476. "src": "38944:2:50",
  61477. "typeDescriptions": {
  61478. "typeIdentifier": "t_string_memory_ptr",
  61479. "typeString": "string memory"
  61480. }
  61481. },
  61482. {
  61483. "id": 11736,
  61484. "name": "p1",
  61485. "nodeType": "Identifier",
  61486. "overloadedDeclarations": [],
  61487. "referencedDeclaration": 11724,
  61488. "src": "38948:2:50",
  61489. "typeDescriptions": {
  61490. "typeIdentifier": "t_bool",
  61491. "typeString": "bool"
  61492. }
  61493. },
  61494. {
  61495. "id": 11737,
  61496. "name": "p2",
  61497. "nodeType": "Identifier",
  61498. "overloadedDeclarations": [],
  61499. "referencedDeclaration": 11726,
  61500. "src": "38952:2:50",
  61501. "typeDescriptions": {
  61502. "typeIdentifier": "t_uint256",
  61503. "typeString": "uint256"
  61504. }
  61505. },
  61506. {
  61507. "id": 11738,
  61508. "name": "p3",
  61509. "nodeType": "Identifier",
  61510. "overloadedDeclarations": [],
  61511. "referencedDeclaration": 11728,
  61512. "src": "38956:2:50",
  61513. "typeDescriptions": {
  61514. "typeIdentifier": "t_bool",
  61515. "typeString": "bool"
  61516. }
  61517. }
  61518. ],
  61519. "expression": {
  61520. "argumentTypes": [
  61521. {
  61522. "typeIdentifier": "t_stringliteral_8af7cf8a379b674b00a81c3841f4203ce23fde0db10f1f8c2a0017ca424d79e2",
  61523. "typeString": "literal_string \"log(string,bool,uint256,bool)\""
  61524. },
  61525. {
  61526. "typeIdentifier": "t_string_memory_ptr",
  61527. "typeString": "string memory"
  61528. },
  61529. {
  61530. "typeIdentifier": "t_bool",
  61531. "typeString": "bool"
  61532. },
  61533. {
  61534. "typeIdentifier": "t_uint256",
  61535. "typeString": "uint256"
  61536. },
  61537. {
  61538. "typeIdentifier": "t_bool",
  61539. "typeString": "bool"
  61540. }
  61541. ],
  61542. "expression": {
  61543. "id": 11732,
  61544. "name": "abi",
  61545. "nodeType": "Identifier",
  61546. "overloadedDeclarations": [],
  61547. "referencedDeclaration": -1,
  61548. "src": "38887:3:50",
  61549. "typeDescriptions": {
  61550. "typeIdentifier": "t_magic_abi",
  61551. "typeString": "abi"
  61552. }
  61553. },
  61554. "id": 11733,
  61555. "isConstant": false,
  61556. "isLValue": false,
  61557. "isPure": true,
  61558. "lValueRequested": false,
  61559. "memberLocation": "38891:19:50",
  61560. "memberName": "encodeWithSignature",
  61561. "nodeType": "MemberAccess",
  61562. "src": "38887:23:50",
  61563. "typeDescriptions": {
  61564. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  61565. "typeString": "function (string memory) pure returns (bytes memory)"
  61566. }
  61567. },
  61568. "id": 11739,
  61569. "isConstant": false,
  61570. "isLValue": false,
  61571. "isPure": false,
  61572. "kind": "functionCall",
  61573. "lValueRequested": false,
  61574. "nameLocations": [],
  61575. "names": [],
  61576. "nodeType": "FunctionCall",
  61577. "src": "38887:72:50",
  61578. "tryCall": false,
  61579. "typeDescriptions": {
  61580. "typeIdentifier": "t_bytes_memory_ptr",
  61581. "typeString": "bytes memory"
  61582. }
  61583. }
  61584. ],
  61585. "expression": {
  61586. "argumentTypes": [
  61587. {
  61588. "typeIdentifier": "t_bytes_memory_ptr",
  61589. "typeString": "bytes memory"
  61590. }
  61591. ],
  61592. "id": 11731,
  61593. "name": "_sendLogPayload",
  61594. "nodeType": "Identifier",
  61595. "overloadedDeclarations": [],
  61596. "referencedDeclaration": 7315,
  61597. "src": "38871:15:50",
  61598. "typeDescriptions": {
  61599. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  61600. "typeString": "function (bytes memory) pure"
  61601. }
  61602. },
  61603. "id": 11740,
  61604. "isConstant": false,
  61605. "isLValue": false,
  61606. "isPure": false,
  61607. "kind": "functionCall",
  61608. "lValueRequested": false,
  61609. "nameLocations": [],
  61610. "names": [],
  61611. "nodeType": "FunctionCall",
  61612. "src": "38871:89:50",
  61613. "tryCall": false,
  61614. "typeDescriptions": {
  61615. "typeIdentifier": "t_tuple$__$",
  61616. "typeString": "tuple()"
  61617. }
  61618. },
  61619. "id": 11741,
  61620. "nodeType": "ExpressionStatement",
  61621. "src": "38871:89:50"
  61622. }
  61623. ]
  61624. },
  61625. "implemented": true,
  61626. "kind": "function",
  61627. "modifiers": [],
  61628. "name": "log",
  61629. "nameLocation": "38795:3:50",
  61630. "parameters": {
  61631. "id": 11729,
  61632. "nodeType": "ParameterList",
  61633. "parameters": [
  61634. {
  61635. "constant": false,
  61636. "id": 11722,
  61637. "mutability": "mutable",
  61638. "name": "p0",
  61639. "nameLocation": "38813:2:50",
  61640. "nodeType": "VariableDeclaration",
  61641. "scope": 11743,
  61642. "src": "38799:16:50",
  61643. "stateVariable": false,
  61644. "storageLocation": "memory",
  61645. "typeDescriptions": {
  61646. "typeIdentifier": "t_string_memory_ptr",
  61647. "typeString": "string"
  61648. },
  61649. "typeName": {
  61650. "id": 11721,
  61651. "name": "string",
  61652. "nodeType": "ElementaryTypeName",
  61653. "src": "38799:6:50",
  61654. "typeDescriptions": {
  61655. "typeIdentifier": "t_string_storage_ptr",
  61656. "typeString": "string"
  61657. }
  61658. },
  61659. "visibility": "internal"
  61660. },
  61661. {
  61662. "constant": false,
  61663. "id": 11724,
  61664. "mutability": "mutable",
  61665. "name": "p1",
  61666. "nameLocation": "38822:2:50",
  61667. "nodeType": "VariableDeclaration",
  61668. "scope": 11743,
  61669. "src": "38817:7:50",
  61670. "stateVariable": false,
  61671. "storageLocation": "default",
  61672. "typeDescriptions": {
  61673. "typeIdentifier": "t_bool",
  61674. "typeString": "bool"
  61675. },
  61676. "typeName": {
  61677. "id": 11723,
  61678. "name": "bool",
  61679. "nodeType": "ElementaryTypeName",
  61680. "src": "38817:4:50",
  61681. "typeDescriptions": {
  61682. "typeIdentifier": "t_bool",
  61683. "typeString": "bool"
  61684. }
  61685. },
  61686. "visibility": "internal"
  61687. },
  61688. {
  61689. "constant": false,
  61690. "id": 11726,
  61691. "mutability": "mutable",
  61692. "name": "p2",
  61693. "nameLocation": "38834:2:50",
  61694. "nodeType": "VariableDeclaration",
  61695. "scope": 11743,
  61696. "src": "38826:10:50",
  61697. "stateVariable": false,
  61698. "storageLocation": "default",
  61699. "typeDescriptions": {
  61700. "typeIdentifier": "t_uint256",
  61701. "typeString": "uint256"
  61702. },
  61703. "typeName": {
  61704. "id": 11725,
  61705. "name": "uint256",
  61706. "nodeType": "ElementaryTypeName",
  61707. "src": "38826:7:50",
  61708. "typeDescriptions": {
  61709. "typeIdentifier": "t_uint256",
  61710. "typeString": "uint256"
  61711. }
  61712. },
  61713. "visibility": "internal"
  61714. },
  61715. {
  61716. "constant": false,
  61717. "id": 11728,
  61718. "mutability": "mutable",
  61719. "name": "p3",
  61720. "nameLocation": "38843:2:50",
  61721. "nodeType": "VariableDeclaration",
  61722. "scope": 11743,
  61723. "src": "38838:7:50",
  61724. "stateVariable": false,
  61725. "storageLocation": "default",
  61726. "typeDescriptions": {
  61727. "typeIdentifier": "t_bool",
  61728. "typeString": "bool"
  61729. },
  61730. "typeName": {
  61731. "id": 11727,
  61732. "name": "bool",
  61733. "nodeType": "ElementaryTypeName",
  61734. "src": "38838:4:50",
  61735. "typeDescriptions": {
  61736. "typeIdentifier": "t_bool",
  61737. "typeString": "bool"
  61738. }
  61739. },
  61740. "visibility": "internal"
  61741. }
  61742. ],
  61743. "src": "38798:48:50"
  61744. },
  61745. "returnParameters": {
  61746. "id": 11730,
  61747. "nodeType": "ParameterList",
  61748. "parameters": [],
  61749. "src": "38861:0:50"
  61750. },
  61751. "scope": 15355,
  61752. "stateMutability": "pure",
  61753. "virtual": false,
  61754. "visibility": "internal"
  61755. },
  61756. {
  61757. "id": 11766,
  61758. "nodeType": "FunctionDefinition",
  61759. "src": "38973:187:50",
  61760. "nodes": [],
  61761. "body": {
  61762. "id": 11765,
  61763. "nodeType": "Block",
  61764. "src": "39051:109:50",
  61765. "nodes": [],
  61766. "statements": [
  61767. {
  61768. "expression": {
  61769. "arguments": [
  61770. {
  61771. "arguments": [
  61772. {
  61773. "hexValue": "6c6f6728737472696e672c626f6f6c2c75696e743235362c6164647265737329",
  61774. "id": 11757,
  61775. "isConstant": false,
  61776. "isLValue": false,
  61777. "isPure": true,
  61778. "kind": "string",
  61779. "lValueRequested": false,
  61780. "nodeType": "Literal",
  61781. "src": "39101:34:50",
  61782. "typeDescriptions": {
  61783. "typeIdentifier": "t_stringliteral_935e09bfd29779a7e049f17e6e907bb9f7181e93c0c486cf646b7471eb4a9d1e",
  61784. "typeString": "literal_string \"log(string,bool,uint256,address)\""
  61785. },
  61786. "value": "log(string,bool,uint256,address)"
  61787. },
  61788. {
  61789. "id": 11758,
  61790. "name": "p0",
  61791. "nodeType": "Identifier",
  61792. "overloadedDeclarations": [],
  61793. "referencedDeclaration": 11745,
  61794. "src": "39137:2:50",
  61795. "typeDescriptions": {
  61796. "typeIdentifier": "t_string_memory_ptr",
  61797. "typeString": "string memory"
  61798. }
  61799. },
  61800. {
  61801. "id": 11759,
  61802. "name": "p1",
  61803. "nodeType": "Identifier",
  61804. "overloadedDeclarations": [],
  61805. "referencedDeclaration": 11747,
  61806. "src": "39141:2:50",
  61807. "typeDescriptions": {
  61808. "typeIdentifier": "t_bool",
  61809. "typeString": "bool"
  61810. }
  61811. },
  61812. {
  61813. "id": 11760,
  61814. "name": "p2",
  61815. "nodeType": "Identifier",
  61816. "overloadedDeclarations": [],
  61817. "referencedDeclaration": 11749,
  61818. "src": "39145:2:50",
  61819. "typeDescriptions": {
  61820. "typeIdentifier": "t_uint256",
  61821. "typeString": "uint256"
  61822. }
  61823. },
  61824. {
  61825. "id": 11761,
  61826. "name": "p3",
  61827. "nodeType": "Identifier",
  61828. "overloadedDeclarations": [],
  61829. "referencedDeclaration": 11751,
  61830. "src": "39149:2:50",
  61831. "typeDescriptions": {
  61832. "typeIdentifier": "t_address",
  61833. "typeString": "address"
  61834. }
  61835. }
  61836. ],
  61837. "expression": {
  61838. "argumentTypes": [
  61839. {
  61840. "typeIdentifier": "t_stringliteral_935e09bfd29779a7e049f17e6e907bb9f7181e93c0c486cf646b7471eb4a9d1e",
  61841. "typeString": "literal_string \"log(string,bool,uint256,address)\""
  61842. },
  61843. {
  61844. "typeIdentifier": "t_string_memory_ptr",
  61845. "typeString": "string memory"
  61846. },
  61847. {
  61848. "typeIdentifier": "t_bool",
  61849. "typeString": "bool"
  61850. },
  61851. {
  61852. "typeIdentifier": "t_uint256",
  61853. "typeString": "uint256"
  61854. },
  61855. {
  61856. "typeIdentifier": "t_address",
  61857. "typeString": "address"
  61858. }
  61859. ],
  61860. "expression": {
  61861. "id": 11755,
  61862. "name": "abi",
  61863. "nodeType": "Identifier",
  61864. "overloadedDeclarations": [],
  61865. "referencedDeclaration": -1,
  61866. "src": "39077:3:50",
  61867. "typeDescriptions": {
  61868. "typeIdentifier": "t_magic_abi",
  61869. "typeString": "abi"
  61870. }
  61871. },
  61872. "id": 11756,
  61873. "isConstant": false,
  61874. "isLValue": false,
  61875. "isPure": true,
  61876. "lValueRequested": false,
  61877. "memberLocation": "39081:19:50",
  61878. "memberName": "encodeWithSignature",
  61879. "nodeType": "MemberAccess",
  61880. "src": "39077:23:50",
  61881. "typeDescriptions": {
  61882. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  61883. "typeString": "function (string memory) pure returns (bytes memory)"
  61884. }
  61885. },
  61886. "id": 11762,
  61887. "isConstant": false,
  61888. "isLValue": false,
  61889. "isPure": false,
  61890. "kind": "functionCall",
  61891. "lValueRequested": false,
  61892. "nameLocations": [],
  61893. "names": [],
  61894. "nodeType": "FunctionCall",
  61895. "src": "39077:75:50",
  61896. "tryCall": false,
  61897. "typeDescriptions": {
  61898. "typeIdentifier": "t_bytes_memory_ptr",
  61899. "typeString": "bytes memory"
  61900. }
  61901. }
  61902. ],
  61903. "expression": {
  61904. "argumentTypes": [
  61905. {
  61906. "typeIdentifier": "t_bytes_memory_ptr",
  61907. "typeString": "bytes memory"
  61908. }
  61909. ],
  61910. "id": 11754,
  61911. "name": "_sendLogPayload",
  61912. "nodeType": "Identifier",
  61913. "overloadedDeclarations": [],
  61914. "referencedDeclaration": 7315,
  61915. "src": "39061:15:50",
  61916. "typeDescriptions": {
  61917. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  61918. "typeString": "function (bytes memory) pure"
  61919. }
  61920. },
  61921. "id": 11763,
  61922. "isConstant": false,
  61923. "isLValue": false,
  61924. "isPure": false,
  61925. "kind": "functionCall",
  61926. "lValueRequested": false,
  61927. "nameLocations": [],
  61928. "names": [],
  61929. "nodeType": "FunctionCall",
  61930. "src": "39061:92:50",
  61931. "tryCall": false,
  61932. "typeDescriptions": {
  61933. "typeIdentifier": "t_tuple$__$",
  61934. "typeString": "tuple()"
  61935. }
  61936. },
  61937. "id": 11764,
  61938. "nodeType": "ExpressionStatement",
  61939. "src": "39061:92:50"
  61940. }
  61941. ]
  61942. },
  61943. "implemented": true,
  61944. "kind": "function",
  61945. "modifiers": [],
  61946. "name": "log",
  61947. "nameLocation": "38982:3:50",
  61948. "parameters": {
  61949. "id": 11752,
  61950. "nodeType": "ParameterList",
  61951. "parameters": [
  61952. {
  61953. "constant": false,
  61954. "id": 11745,
  61955. "mutability": "mutable",
  61956. "name": "p0",
  61957. "nameLocation": "39000:2:50",
  61958. "nodeType": "VariableDeclaration",
  61959. "scope": 11766,
  61960. "src": "38986:16:50",
  61961. "stateVariable": false,
  61962. "storageLocation": "memory",
  61963. "typeDescriptions": {
  61964. "typeIdentifier": "t_string_memory_ptr",
  61965. "typeString": "string"
  61966. },
  61967. "typeName": {
  61968. "id": 11744,
  61969. "name": "string",
  61970. "nodeType": "ElementaryTypeName",
  61971. "src": "38986:6:50",
  61972. "typeDescriptions": {
  61973. "typeIdentifier": "t_string_storage_ptr",
  61974. "typeString": "string"
  61975. }
  61976. },
  61977. "visibility": "internal"
  61978. },
  61979. {
  61980. "constant": false,
  61981. "id": 11747,
  61982. "mutability": "mutable",
  61983. "name": "p1",
  61984. "nameLocation": "39009:2:50",
  61985. "nodeType": "VariableDeclaration",
  61986. "scope": 11766,
  61987. "src": "39004:7:50",
  61988. "stateVariable": false,
  61989. "storageLocation": "default",
  61990. "typeDescriptions": {
  61991. "typeIdentifier": "t_bool",
  61992. "typeString": "bool"
  61993. },
  61994. "typeName": {
  61995. "id": 11746,
  61996. "name": "bool",
  61997. "nodeType": "ElementaryTypeName",
  61998. "src": "39004:4:50",
  61999. "typeDescriptions": {
  62000. "typeIdentifier": "t_bool",
  62001. "typeString": "bool"
  62002. }
  62003. },
  62004. "visibility": "internal"
  62005. },
  62006. {
  62007. "constant": false,
  62008. "id": 11749,
  62009. "mutability": "mutable",
  62010. "name": "p2",
  62011. "nameLocation": "39021:2:50",
  62012. "nodeType": "VariableDeclaration",
  62013. "scope": 11766,
  62014. "src": "39013:10:50",
  62015. "stateVariable": false,
  62016. "storageLocation": "default",
  62017. "typeDescriptions": {
  62018. "typeIdentifier": "t_uint256",
  62019. "typeString": "uint256"
  62020. },
  62021. "typeName": {
  62022. "id": 11748,
  62023. "name": "uint256",
  62024. "nodeType": "ElementaryTypeName",
  62025. "src": "39013:7:50",
  62026. "typeDescriptions": {
  62027. "typeIdentifier": "t_uint256",
  62028. "typeString": "uint256"
  62029. }
  62030. },
  62031. "visibility": "internal"
  62032. },
  62033. {
  62034. "constant": false,
  62035. "id": 11751,
  62036. "mutability": "mutable",
  62037. "name": "p3",
  62038. "nameLocation": "39033:2:50",
  62039. "nodeType": "VariableDeclaration",
  62040. "scope": 11766,
  62041. "src": "39025:10:50",
  62042. "stateVariable": false,
  62043. "storageLocation": "default",
  62044. "typeDescriptions": {
  62045. "typeIdentifier": "t_address",
  62046. "typeString": "address"
  62047. },
  62048. "typeName": {
  62049. "id": 11750,
  62050. "name": "address",
  62051. "nodeType": "ElementaryTypeName",
  62052. "src": "39025:7:50",
  62053. "stateMutability": "nonpayable",
  62054. "typeDescriptions": {
  62055. "typeIdentifier": "t_address",
  62056. "typeString": "address"
  62057. }
  62058. },
  62059. "visibility": "internal"
  62060. }
  62061. ],
  62062. "src": "38985:51:50"
  62063. },
  62064. "returnParameters": {
  62065. "id": 11753,
  62066. "nodeType": "ParameterList",
  62067. "parameters": [],
  62068. "src": "39051:0:50"
  62069. },
  62070. "scope": 15355,
  62071. "stateMutability": "pure",
  62072. "virtual": false,
  62073. "visibility": "internal"
  62074. },
  62075. {
  62076. "id": 11789,
  62077. "nodeType": "FunctionDefinition",
  62078. "src": "39166:192:50",
  62079. "nodes": [],
  62080. "body": {
  62081. "id": 11788,
  62082. "nodeType": "Block",
  62083. "src": "39250:108:50",
  62084. "nodes": [],
  62085. "statements": [
  62086. {
  62087. "expression": {
  62088. "arguments": [
  62089. {
  62090. "arguments": [
  62091. {
  62092. "hexValue": "6c6f6728737472696e672c626f6f6c2c737472696e672c75696e7432353629",
  62093. "id": 11780,
  62094. "isConstant": false,
  62095. "isLValue": false,
  62096. "isPure": true,
  62097. "kind": "string",
  62098. "lValueRequested": false,
  62099. "nodeType": "Literal",
  62100. "src": "39300:33:50",
  62101. "typeDescriptions": {
  62102. "typeIdentifier": "t_stringliteral_24f9146562ee02c43db65ac014241fab3a51c9e29435f60d2ed133a186cac03a",
  62103. "typeString": "literal_string \"log(string,bool,string,uint256)\""
  62104. },
  62105. "value": "log(string,bool,string,uint256)"
  62106. },
  62107. {
  62108. "id": 11781,
  62109. "name": "p0",
  62110. "nodeType": "Identifier",
  62111. "overloadedDeclarations": [],
  62112. "referencedDeclaration": 11768,
  62113. "src": "39335:2:50",
  62114. "typeDescriptions": {
  62115. "typeIdentifier": "t_string_memory_ptr",
  62116. "typeString": "string memory"
  62117. }
  62118. },
  62119. {
  62120. "id": 11782,
  62121. "name": "p1",
  62122. "nodeType": "Identifier",
  62123. "overloadedDeclarations": [],
  62124. "referencedDeclaration": 11770,
  62125. "src": "39339:2:50",
  62126. "typeDescriptions": {
  62127. "typeIdentifier": "t_bool",
  62128. "typeString": "bool"
  62129. }
  62130. },
  62131. {
  62132. "id": 11783,
  62133. "name": "p2",
  62134. "nodeType": "Identifier",
  62135. "overloadedDeclarations": [],
  62136. "referencedDeclaration": 11772,
  62137. "src": "39343:2:50",
  62138. "typeDescriptions": {
  62139. "typeIdentifier": "t_string_memory_ptr",
  62140. "typeString": "string memory"
  62141. }
  62142. },
  62143. {
  62144. "id": 11784,
  62145. "name": "p3",
  62146. "nodeType": "Identifier",
  62147. "overloadedDeclarations": [],
  62148. "referencedDeclaration": 11774,
  62149. "src": "39347:2:50",
  62150. "typeDescriptions": {
  62151. "typeIdentifier": "t_uint256",
  62152. "typeString": "uint256"
  62153. }
  62154. }
  62155. ],
  62156. "expression": {
  62157. "argumentTypes": [
  62158. {
  62159. "typeIdentifier": "t_stringliteral_24f9146562ee02c43db65ac014241fab3a51c9e29435f60d2ed133a186cac03a",
  62160. "typeString": "literal_string \"log(string,bool,string,uint256)\""
  62161. },
  62162. {
  62163. "typeIdentifier": "t_string_memory_ptr",
  62164. "typeString": "string memory"
  62165. },
  62166. {
  62167. "typeIdentifier": "t_bool",
  62168. "typeString": "bool"
  62169. },
  62170. {
  62171. "typeIdentifier": "t_string_memory_ptr",
  62172. "typeString": "string memory"
  62173. },
  62174. {
  62175. "typeIdentifier": "t_uint256",
  62176. "typeString": "uint256"
  62177. }
  62178. ],
  62179. "expression": {
  62180. "id": 11778,
  62181. "name": "abi",
  62182. "nodeType": "Identifier",
  62183. "overloadedDeclarations": [],
  62184. "referencedDeclaration": -1,
  62185. "src": "39276:3:50",
  62186. "typeDescriptions": {
  62187. "typeIdentifier": "t_magic_abi",
  62188. "typeString": "abi"
  62189. }
  62190. },
  62191. "id": 11779,
  62192. "isConstant": false,
  62193. "isLValue": false,
  62194. "isPure": true,
  62195. "lValueRequested": false,
  62196. "memberLocation": "39280:19:50",
  62197. "memberName": "encodeWithSignature",
  62198. "nodeType": "MemberAccess",
  62199. "src": "39276:23:50",
  62200. "typeDescriptions": {
  62201. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  62202. "typeString": "function (string memory) pure returns (bytes memory)"
  62203. }
  62204. },
  62205. "id": 11785,
  62206. "isConstant": false,
  62207. "isLValue": false,
  62208. "isPure": false,
  62209. "kind": "functionCall",
  62210. "lValueRequested": false,
  62211. "nameLocations": [],
  62212. "names": [],
  62213. "nodeType": "FunctionCall",
  62214. "src": "39276:74:50",
  62215. "tryCall": false,
  62216. "typeDescriptions": {
  62217. "typeIdentifier": "t_bytes_memory_ptr",
  62218. "typeString": "bytes memory"
  62219. }
  62220. }
  62221. ],
  62222. "expression": {
  62223. "argumentTypes": [
  62224. {
  62225. "typeIdentifier": "t_bytes_memory_ptr",
  62226. "typeString": "bytes memory"
  62227. }
  62228. ],
  62229. "id": 11777,
  62230. "name": "_sendLogPayload",
  62231. "nodeType": "Identifier",
  62232. "overloadedDeclarations": [],
  62233. "referencedDeclaration": 7315,
  62234. "src": "39260:15:50",
  62235. "typeDescriptions": {
  62236. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  62237. "typeString": "function (bytes memory) pure"
  62238. }
  62239. },
  62240. "id": 11786,
  62241. "isConstant": false,
  62242. "isLValue": false,
  62243. "isPure": false,
  62244. "kind": "functionCall",
  62245. "lValueRequested": false,
  62246. "nameLocations": [],
  62247. "names": [],
  62248. "nodeType": "FunctionCall",
  62249. "src": "39260:91:50",
  62250. "tryCall": false,
  62251. "typeDescriptions": {
  62252. "typeIdentifier": "t_tuple$__$",
  62253. "typeString": "tuple()"
  62254. }
  62255. },
  62256. "id": 11787,
  62257. "nodeType": "ExpressionStatement",
  62258. "src": "39260:91:50"
  62259. }
  62260. ]
  62261. },
  62262. "implemented": true,
  62263. "kind": "function",
  62264. "modifiers": [],
  62265. "name": "log",
  62266. "nameLocation": "39175:3:50",
  62267. "parameters": {
  62268. "id": 11775,
  62269. "nodeType": "ParameterList",
  62270. "parameters": [
  62271. {
  62272. "constant": false,
  62273. "id": 11768,
  62274. "mutability": "mutable",
  62275. "name": "p0",
  62276. "nameLocation": "39193:2:50",
  62277. "nodeType": "VariableDeclaration",
  62278. "scope": 11789,
  62279. "src": "39179:16:50",
  62280. "stateVariable": false,
  62281. "storageLocation": "memory",
  62282. "typeDescriptions": {
  62283. "typeIdentifier": "t_string_memory_ptr",
  62284. "typeString": "string"
  62285. },
  62286. "typeName": {
  62287. "id": 11767,
  62288. "name": "string",
  62289. "nodeType": "ElementaryTypeName",
  62290. "src": "39179:6:50",
  62291. "typeDescriptions": {
  62292. "typeIdentifier": "t_string_storage_ptr",
  62293. "typeString": "string"
  62294. }
  62295. },
  62296. "visibility": "internal"
  62297. },
  62298. {
  62299. "constant": false,
  62300. "id": 11770,
  62301. "mutability": "mutable",
  62302. "name": "p1",
  62303. "nameLocation": "39202:2:50",
  62304. "nodeType": "VariableDeclaration",
  62305. "scope": 11789,
  62306. "src": "39197:7:50",
  62307. "stateVariable": false,
  62308. "storageLocation": "default",
  62309. "typeDescriptions": {
  62310. "typeIdentifier": "t_bool",
  62311. "typeString": "bool"
  62312. },
  62313. "typeName": {
  62314. "id": 11769,
  62315. "name": "bool",
  62316. "nodeType": "ElementaryTypeName",
  62317. "src": "39197:4:50",
  62318. "typeDescriptions": {
  62319. "typeIdentifier": "t_bool",
  62320. "typeString": "bool"
  62321. }
  62322. },
  62323. "visibility": "internal"
  62324. },
  62325. {
  62326. "constant": false,
  62327. "id": 11772,
  62328. "mutability": "mutable",
  62329. "name": "p2",
  62330. "nameLocation": "39220:2:50",
  62331. "nodeType": "VariableDeclaration",
  62332. "scope": 11789,
  62333. "src": "39206:16:50",
  62334. "stateVariable": false,
  62335. "storageLocation": "memory",
  62336. "typeDescriptions": {
  62337. "typeIdentifier": "t_string_memory_ptr",
  62338. "typeString": "string"
  62339. },
  62340. "typeName": {
  62341. "id": 11771,
  62342. "name": "string",
  62343. "nodeType": "ElementaryTypeName",
  62344. "src": "39206:6:50",
  62345. "typeDescriptions": {
  62346. "typeIdentifier": "t_string_storage_ptr",
  62347. "typeString": "string"
  62348. }
  62349. },
  62350. "visibility": "internal"
  62351. },
  62352. {
  62353. "constant": false,
  62354. "id": 11774,
  62355. "mutability": "mutable",
  62356. "name": "p3",
  62357. "nameLocation": "39232:2:50",
  62358. "nodeType": "VariableDeclaration",
  62359. "scope": 11789,
  62360. "src": "39224:10:50",
  62361. "stateVariable": false,
  62362. "storageLocation": "default",
  62363. "typeDescriptions": {
  62364. "typeIdentifier": "t_uint256",
  62365. "typeString": "uint256"
  62366. },
  62367. "typeName": {
  62368. "id": 11773,
  62369. "name": "uint256",
  62370. "nodeType": "ElementaryTypeName",
  62371. "src": "39224:7:50",
  62372. "typeDescriptions": {
  62373. "typeIdentifier": "t_uint256",
  62374. "typeString": "uint256"
  62375. }
  62376. },
  62377. "visibility": "internal"
  62378. }
  62379. ],
  62380. "src": "39178:57:50"
  62381. },
  62382. "returnParameters": {
  62383. "id": 11776,
  62384. "nodeType": "ParameterList",
  62385. "parameters": [],
  62386. "src": "39250:0:50"
  62387. },
  62388. "scope": 15355,
  62389. "stateMutability": "pure",
  62390. "virtual": false,
  62391. "visibility": "internal"
  62392. },
  62393. {
  62394. "id": 11812,
  62395. "nodeType": "FunctionDefinition",
  62396. "src": "39364:197:50",
  62397. "nodes": [],
  62398. "body": {
  62399. "id": 11811,
  62400. "nodeType": "Block",
  62401. "src": "39454:107:50",
  62402. "nodes": [],
  62403. "statements": [
  62404. {
  62405. "expression": {
  62406. "arguments": [
  62407. {
  62408. "arguments": [
  62409. {
  62410. "hexValue": "6c6f6728737472696e672c626f6f6c2c737472696e672c737472696e6729",
  62411. "id": 11803,
  62412. "isConstant": false,
  62413. "isLValue": false,
  62414. "isPure": true,
  62415. "kind": "string",
  62416. "lValueRequested": false,
  62417. "nodeType": "Literal",
  62418. "src": "39504:32:50",
  62419. "typeDescriptions": {
  62420. "typeIdentifier": "t_stringliteral_a826caebc65f4a71211c1c7fd8dc9bdd856d7ef7dbeef42d8af156e9f73bc47d",
  62421. "typeString": "literal_string \"log(string,bool,string,string)\""
  62422. },
  62423. "value": "log(string,bool,string,string)"
  62424. },
  62425. {
  62426. "id": 11804,
  62427. "name": "p0",
  62428. "nodeType": "Identifier",
  62429. "overloadedDeclarations": [],
  62430. "referencedDeclaration": 11791,
  62431. "src": "39538:2:50",
  62432. "typeDescriptions": {
  62433. "typeIdentifier": "t_string_memory_ptr",
  62434. "typeString": "string memory"
  62435. }
  62436. },
  62437. {
  62438. "id": 11805,
  62439. "name": "p1",
  62440. "nodeType": "Identifier",
  62441. "overloadedDeclarations": [],
  62442. "referencedDeclaration": 11793,
  62443. "src": "39542:2:50",
  62444. "typeDescriptions": {
  62445. "typeIdentifier": "t_bool",
  62446. "typeString": "bool"
  62447. }
  62448. },
  62449. {
  62450. "id": 11806,
  62451. "name": "p2",
  62452. "nodeType": "Identifier",
  62453. "overloadedDeclarations": [],
  62454. "referencedDeclaration": 11795,
  62455. "src": "39546:2:50",
  62456. "typeDescriptions": {
  62457. "typeIdentifier": "t_string_memory_ptr",
  62458. "typeString": "string memory"
  62459. }
  62460. },
  62461. {
  62462. "id": 11807,
  62463. "name": "p3",
  62464. "nodeType": "Identifier",
  62465. "overloadedDeclarations": [],
  62466. "referencedDeclaration": 11797,
  62467. "src": "39550:2:50",
  62468. "typeDescriptions": {
  62469. "typeIdentifier": "t_string_memory_ptr",
  62470. "typeString": "string memory"
  62471. }
  62472. }
  62473. ],
  62474. "expression": {
  62475. "argumentTypes": [
  62476. {
  62477. "typeIdentifier": "t_stringliteral_a826caebc65f4a71211c1c7fd8dc9bdd856d7ef7dbeef42d8af156e9f73bc47d",
  62478. "typeString": "literal_string \"log(string,bool,string,string)\""
  62479. },
  62480. {
  62481. "typeIdentifier": "t_string_memory_ptr",
  62482. "typeString": "string memory"
  62483. },
  62484. {
  62485. "typeIdentifier": "t_bool",
  62486. "typeString": "bool"
  62487. },
  62488. {
  62489. "typeIdentifier": "t_string_memory_ptr",
  62490. "typeString": "string memory"
  62491. },
  62492. {
  62493. "typeIdentifier": "t_string_memory_ptr",
  62494. "typeString": "string memory"
  62495. }
  62496. ],
  62497. "expression": {
  62498. "id": 11801,
  62499. "name": "abi",
  62500. "nodeType": "Identifier",
  62501. "overloadedDeclarations": [],
  62502. "referencedDeclaration": -1,
  62503. "src": "39480:3:50",
  62504. "typeDescriptions": {
  62505. "typeIdentifier": "t_magic_abi",
  62506. "typeString": "abi"
  62507. }
  62508. },
  62509. "id": 11802,
  62510. "isConstant": false,
  62511. "isLValue": false,
  62512. "isPure": true,
  62513. "lValueRequested": false,
  62514. "memberLocation": "39484:19:50",
  62515. "memberName": "encodeWithSignature",
  62516. "nodeType": "MemberAccess",
  62517. "src": "39480:23:50",
  62518. "typeDescriptions": {
  62519. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  62520. "typeString": "function (string memory) pure returns (bytes memory)"
  62521. }
  62522. },
  62523. "id": 11808,
  62524. "isConstant": false,
  62525. "isLValue": false,
  62526. "isPure": false,
  62527. "kind": "functionCall",
  62528. "lValueRequested": false,
  62529. "nameLocations": [],
  62530. "names": [],
  62531. "nodeType": "FunctionCall",
  62532. "src": "39480:73:50",
  62533. "tryCall": false,
  62534. "typeDescriptions": {
  62535. "typeIdentifier": "t_bytes_memory_ptr",
  62536. "typeString": "bytes memory"
  62537. }
  62538. }
  62539. ],
  62540. "expression": {
  62541. "argumentTypes": [
  62542. {
  62543. "typeIdentifier": "t_bytes_memory_ptr",
  62544. "typeString": "bytes memory"
  62545. }
  62546. ],
  62547. "id": 11800,
  62548. "name": "_sendLogPayload",
  62549. "nodeType": "Identifier",
  62550. "overloadedDeclarations": [],
  62551. "referencedDeclaration": 7315,
  62552. "src": "39464:15:50",
  62553. "typeDescriptions": {
  62554. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  62555. "typeString": "function (bytes memory) pure"
  62556. }
  62557. },
  62558. "id": 11809,
  62559. "isConstant": false,
  62560. "isLValue": false,
  62561. "isPure": false,
  62562. "kind": "functionCall",
  62563. "lValueRequested": false,
  62564. "nameLocations": [],
  62565. "names": [],
  62566. "nodeType": "FunctionCall",
  62567. "src": "39464:90:50",
  62568. "tryCall": false,
  62569. "typeDescriptions": {
  62570. "typeIdentifier": "t_tuple$__$",
  62571. "typeString": "tuple()"
  62572. }
  62573. },
  62574. "id": 11810,
  62575. "nodeType": "ExpressionStatement",
  62576. "src": "39464:90:50"
  62577. }
  62578. ]
  62579. },
  62580. "implemented": true,
  62581. "kind": "function",
  62582. "modifiers": [],
  62583. "name": "log",
  62584. "nameLocation": "39373:3:50",
  62585. "parameters": {
  62586. "id": 11798,
  62587. "nodeType": "ParameterList",
  62588. "parameters": [
  62589. {
  62590. "constant": false,
  62591. "id": 11791,
  62592. "mutability": "mutable",
  62593. "name": "p0",
  62594. "nameLocation": "39391:2:50",
  62595. "nodeType": "VariableDeclaration",
  62596. "scope": 11812,
  62597. "src": "39377:16:50",
  62598. "stateVariable": false,
  62599. "storageLocation": "memory",
  62600. "typeDescriptions": {
  62601. "typeIdentifier": "t_string_memory_ptr",
  62602. "typeString": "string"
  62603. },
  62604. "typeName": {
  62605. "id": 11790,
  62606. "name": "string",
  62607. "nodeType": "ElementaryTypeName",
  62608. "src": "39377:6:50",
  62609. "typeDescriptions": {
  62610. "typeIdentifier": "t_string_storage_ptr",
  62611. "typeString": "string"
  62612. }
  62613. },
  62614. "visibility": "internal"
  62615. },
  62616. {
  62617. "constant": false,
  62618. "id": 11793,
  62619. "mutability": "mutable",
  62620. "name": "p1",
  62621. "nameLocation": "39400:2:50",
  62622. "nodeType": "VariableDeclaration",
  62623. "scope": 11812,
  62624. "src": "39395:7:50",
  62625. "stateVariable": false,
  62626. "storageLocation": "default",
  62627. "typeDescriptions": {
  62628. "typeIdentifier": "t_bool",
  62629. "typeString": "bool"
  62630. },
  62631. "typeName": {
  62632. "id": 11792,
  62633. "name": "bool",
  62634. "nodeType": "ElementaryTypeName",
  62635. "src": "39395:4:50",
  62636. "typeDescriptions": {
  62637. "typeIdentifier": "t_bool",
  62638. "typeString": "bool"
  62639. }
  62640. },
  62641. "visibility": "internal"
  62642. },
  62643. {
  62644. "constant": false,
  62645. "id": 11795,
  62646. "mutability": "mutable",
  62647. "name": "p2",
  62648. "nameLocation": "39418:2:50",
  62649. "nodeType": "VariableDeclaration",
  62650. "scope": 11812,
  62651. "src": "39404:16:50",
  62652. "stateVariable": false,
  62653. "storageLocation": "memory",
  62654. "typeDescriptions": {
  62655. "typeIdentifier": "t_string_memory_ptr",
  62656. "typeString": "string"
  62657. },
  62658. "typeName": {
  62659. "id": 11794,
  62660. "name": "string",
  62661. "nodeType": "ElementaryTypeName",
  62662. "src": "39404:6:50",
  62663. "typeDescriptions": {
  62664. "typeIdentifier": "t_string_storage_ptr",
  62665. "typeString": "string"
  62666. }
  62667. },
  62668. "visibility": "internal"
  62669. },
  62670. {
  62671. "constant": false,
  62672. "id": 11797,
  62673. "mutability": "mutable",
  62674. "name": "p3",
  62675. "nameLocation": "39436:2:50",
  62676. "nodeType": "VariableDeclaration",
  62677. "scope": 11812,
  62678. "src": "39422:16:50",
  62679. "stateVariable": false,
  62680. "storageLocation": "memory",
  62681. "typeDescriptions": {
  62682. "typeIdentifier": "t_string_memory_ptr",
  62683. "typeString": "string"
  62684. },
  62685. "typeName": {
  62686. "id": 11796,
  62687. "name": "string",
  62688. "nodeType": "ElementaryTypeName",
  62689. "src": "39422:6:50",
  62690. "typeDescriptions": {
  62691. "typeIdentifier": "t_string_storage_ptr",
  62692. "typeString": "string"
  62693. }
  62694. },
  62695. "visibility": "internal"
  62696. }
  62697. ],
  62698. "src": "39376:63:50"
  62699. },
  62700. "returnParameters": {
  62701. "id": 11799,
  62702. "nodeType": "ParameterList",
  62703. "parameters": [],
  62704. "src": "39454:0:50"
  62705. },
  62706. "scope": 15355,
  62707. "stateMutability": "pure",
  62708. "virtual": false,
  62709. "visibility": "internal"
  62710. },
  62711. {
  62712. "id": 11835,
  62713. "nodeType": "FunctionDefinition",
  62714. "src": "39567:186:50",
  62715. "nodes": [],
  62716. "body": {
  62717. "id": 11834,
  62718. "nodeType": "Block",
  62719. "src": "39648:105:50",
  62720. "nodes": [],
  62721. "statements": [
  62722. {
  62723. "expression": {
  62724. "arguments": [
  62725. {
  62726. "arguments": [
  62727. {
  62728. "hexValue": "6c6f6728737472696e672c626f6f6c2c737472696e672c626f6f6c29",
  62729. "id": 11826,
  62730. "isConstant": false,
  62731. "isLValue": false,
  62732. "isPure": true,
  62733. "kind": "string",
  62734. "lValueRequested": false,
  62735. "nodeType": "Literal",
  62736. "src": "39698:30:50",
  62737. "typeDescriptions": {
  62738. "typeIdentifier": "t_stringliteral_3f8a701d00386d6ad9c7b7a930805b985bcbbe108e894a7d5cb9493e87e57e8b",
  62739. "typeString": "literal_string \"log(string,bool,string,bool)\""
  62740. },
  62741. "value": "log(string,bool,string,bool)"
  62742. },
  62743. {
  62744. "id": 11827,
  62745. "name": "p0",
  62746. "nodeType": "Identifier",
  62747. "overloadedDeclarations": [],
  62748. "referencedDeclaration": 11814,
  62749. "src": "39730:2:50",
  62750. "typeDescriptions": {
  62751. "typeIdentifier": "t_string_memory_ptr",
  62752. "typeString": "string memory"
  62753. }
  62754. },
  62755. {
  62756. "id": 11828,
  62757. "name": "p1",
  62758. "nodeType": "Identifier",
  62759. "overloadedDeclarations": [],
  62760. "referencedDeclaration": 11816,
  62761. "src": "39734:2:50",
  62762. "typeDescriptions": {
  62763. "typeIdentifier": "t_bool",
  62764. "typeString": "bool"
  62765. }
  62766. },
  62767. {
  62768. "id": 11829,
  62769. "name": "p2",
  62770. "nodeType": "Identifier",
  62771. "overloadedDeclarations": [],
  62772. "referencedDeclaration": 11818,
  62773. "src": "39738:2:50",
  62774. "typeDescriptions": {
  62775. "typeIdentifier": "t_string_memory_ptr",
  62776. "typeString": "string memory"
  62777. }
  62778. },
  62779. {
  62780. "id": 11830,
  62781. "name": "p3",
  62782. "nodeType": "Identifier",
  62783. "overloadedDeclarations": [],
  62784. "referencedDeclaration": 11820,
  62785. "src": "39742:2:50",
  62786. "typeDescriptions": {
  62787. "typeIdentifier": "t_bool",
  62788. "typeString": "bool"
  62789. }
  62790. }
  62791. ],
  62792. "expression": {
  62793. "argumentTypes": [
  62794. {
  62795. "typeIdentifier": "t_stringliteral_3f8a701d00386d6ad9c7b7a930805b985bcbbe108e894a7d5cb9493e87e57e8b",
  62796. "typeString": "literal_string \"log(string,bool,string,bool)\""
  62797. },
  62798. {
  62799. "typeIdentifier": "t_string_memory_ptr",
  62800. "typeString": "string memory"
  62801. },
  62802. {
  62803. "typeIdentifier": "t_bool",
  62804. "typeString": "bool"
  62805. },
  62806. {
  62807. "typeIdentifier": "t_string_memory_ptr",
  62808. "typeString": "string memory"
  62809. },
  62810. {
  62811. "typeIdentifier": "t_bool",
  62812. "typeString": "bool"
  62813. }
  62814. ],
  62815. "expression": {
  62816. "id": 11824,
  62817. "name": "abi",
  62818. "nodeType": "Identifier",
  62819. "overloadedDeclarations": [],
  62820. "referencedDeclaration": -1,
  62821. "src": "39674:3:50",
  62822. "typeDescriptions": {
  62823. "typeIdentifier": "t_magic_abi",
  62824. "typeString": "abi"
  62825. }
  62826. },
  62827. "id": 11825,
  62828. "isConstant": false,
  62829. "isLValue": false,
  62830. "isPure": true,
  62831. "lValueRequested": false,
  62832. "memberLocation": "39678:19:50",
  62833. "memberName": "encodeWithSignature",
  62834. "nodeType": "MemberAccess",
  62835. "src": "39674:23:50",
  62836. "typeDescriptions": {
  62837. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  62838. "typeString": "function (string memory) pure returns (bytes memory)"
  62839. }
  62840. },
  62841. "id": 11831,
  62842. "isConstant": false,
  62843. "isLValue": false,
  62844. "isPure": false,
  62845. "kind": "functionCall",
  62846. "lValueRequested": false,
  62847. "nameLocations": [],
  62848. "names": [],
  62849. "nodeType": "FunctionCall",
  62850. "src": "39674:71:50",
  62851. "tryCall": false,
  62852. "typeDescriptions": {
  62853. "typeIdentifier": "t_bytes_memory_ptr",
  62854. "typeString": "bytes memory"
  62855. }
  62856. }
  62857. ],
  62858. "expression": {
  62859. "argumentTypes": [
  62860. {
  62861. "typeIdentifier": "t_bytes_memory_ptr",
  62862. "typeString": "bytes memory"
  62863. }
  62864. ],
  62865. "id": 11823,
  62866. "name": "_sendLogPayload",
  62867. "nodeType": "Identifier",
  62868. "overloadedDeclarations": [],
  62869. "referencedDeclaration": 7315,
  62870. "src": "39658:15:50",
  62871. "typeDescriptions": {
  62872. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  62873. "typeString": "function (bytes memory) pure"
  62874. }
  62875. },
  62876. "id": 11832,
  62877. "isConstant": false,
  62878. "isLValue": false,
  62879. "isPure": false,
  62880. "kind": "functionCall",
  62881. "lValueRequested": false,
  62882. "nameLocations": [],
  62883. "names": [],
  62884. "nodeType": "FunctionCall",
  62885. "src": "39658:88:50",
  62886. "tryCall": false,
  62887. "typeDescriptions": {
  62888. "typeIdentifier": "t_tuple$__$",
  62889. "typeString": "tuple()"
  62890. }
  62891. },
  62892. "id": 11833,
  62893. "nodeType": "ExpressionStatement",
  62894. "src": "39658:88:50"
  62895. }
  62896. ]
  62897. },
  62898. "implemented": true,
  62899. "kind": "function",
  62900. "modifiers": [],
  62901. "name": "log",
  62902. "nameLocation": "39576:3:50",
  62903. "parameters": {
  62904. "id": 11821,
  62905. "nodeType": "ParameterList",
  62906. "parameters": [
  62907. {
  62908. "constant": false,
  62909. "id": 11814,
  62910. "mutability": "mutable",
  62911. "name": "p0",
  62912. "nameLocation": "39594:2:50",
  62913. "nodeType": "VariableDeclaration",
  62914. "scope": 11835,
  62915. "src": "39580:16:50",
  62916. "stateVariable": false,
  62917. "storageLocation": "memory",
  62918. "typeDescriptions": {
  62919. "typeIdentifier": "t_string_memory_ptr",
  62920. "typeString": "string"
  62921. },
  62922. "typeName": {
  62923. "id": 11813,
  62924. "name": "string",
  62925. "nodeType": "ElementaryTypeName",
  62926. "src": "39580:6:50",
  62927. "typeDescriptions": {
  62928. "typeIdentifier": "t_string_storage_ptr",
  62929. "typeString": "string"
  62930. }
  62931. },
  62932. "visibility": "internal"
  62933. },
  62934. {
  62935. "constant": false,
  62936. "id": 11816,
  62937. "mutability": "mutable",
  62938. "name": "p1",
  62939. "nameLocation": "39603:2:50",
  62940. "nodeType": "VariableDeclaration",
  62941. "scope": 11835,
  62942. "src": "39598:7:50",
  62943. "stateVariable": false,
  62944. "storageLocation": "default",
  62945. "typeDescriptions": {
  62946. "typeIdentifier": "t_bool",
  62947. "typeString": "bool"
  62948. },
  62949. "typeName": {
  62950. "id": 11815,
  62951. "name": "bool",
  62952. "nodeType": "ElementaryTypeName",
  62953. "src": "39598:4:50",
  62954. "typeDescriptions": {
  62955. "typeIdentifier": "t_bool",
  62956. "typeString": "bool"
  62957. }
  62958. },
  62959. "visibility": "internal"
  62960. },
  62961. {
  62962. "constant": false,
  62963. "id": 11818,
  62964. "mutability": "mutable",
  62965. "name": "p2",
  62966. "nameLocation": "39621:2:50",
  62967. "nodeType": "VariableDeclaration",
  62968. "scope": 11835,
  62969. "src": "39607:16:50",
  62970. "stateVariable": false,
  62971. "storageLocation": "memory",
  62972. "typeDescriptions": {
  62973. "typeIdentifier": "t_string_memory_ptr",
  62974. "typeString": "string"
  62975. },
  62976. "typeName": {
  62977. "id": 11817,
  62978. "name": "string",
  62979. "nodeType": "ElementaryTypeName",
  62980. "src": "39607:6:50",
  62981. "typeDescriptions": {
  62982. "typeIdentifier": "t_string_storage_ptr",
  62983. "typeString": "string"
  62984. }
  62985. },
  62986. "visibility": "internal"
  62987. },
  62988. {
  62989. "constant": false,
  62990. "id": 11820,
  62991. "mutability": "mutable",
  62992. "name": "p3",
  62993. "nameLocation": "39630:2:50",
  62994. "nodeType": "VariableDeclaration",
  62995. "scope": 11835,
  62996. "src": "39625:7:50",
  62997. "stateVariable": false,
  62998. "storageLocation": "default",
  62999. "typeDescriptions": {
  63000. "typeIdentifier": "t_bool",
  63001. "typeString": "bool"
  63002. },
  63003. "typeName": {
  63004. "id": 11819,
  63005. "name": "bool",
  63006. "nodeType": "ElementaryTypeName",
  63007. "src": "39625:4:50",
  63008. "typeDescriptions": {
  63009. "typeIdentifier": "t_bool",
  63010. "typeString": "bool"
  63011. }
  63012. },
  63013. "visibility": "internal"
  63014. }
  63015. ],
  63016. "src": "39579:54:50"
  63017. },
  63018. "returnParameters": {
  63019. "id": 11822,
  63020. "nodeType": "ParameterList",
  63021. "parameters": [],
  63022. "src": "39648:0:50"
  63023. },
  63024. "scope": 15355,
  63025. "stateMutability": "pure",
  63026. "virtual": false,
  63027. "visibility": "internal"
  63028. },
  63029. {
  63030. "id": 11858,
  63031. "nodeType": "FunctionDefinition",
  63032. "src": "39759:192:50",
  63033. "nodes": [],
  63034. "body": {
  63035. "id": 11857,
  63036. "nodeType": "Block",
  63037. "src": "39843:108:50",
  63038. "nodes": [],
  63039. "statements": [
  63040. {
  63041. "expression": {
  63042. "arguments": [
  63043. {
  63044. "arguments": [
  63045. {
  63046. "hexValue": "6c6f6728737472696e672c626f6f6c2c737472696e672c6164647265737329",
  63047. "id": 11849,
  63048. "isConstant": false,
  63049. "isLValue": false,
  63050. "isPure": true,
  63051. "kind": "string",
  63052. "lValueRequested": false,
  63053. "nodeType": "Literal",
  63054. "src": "39893:33:50",
  63055. "typeDescriptions": {
  63056. "typeIdentifier": "t_stringliteral_e0625b292fa5cbc865b55f61713cbbe0ce7abb244ec2df45291ea19c30ddfaf8",
  63057. "typeString": "literal_string \"log(string,bool,string,address)\""
  63058. },
  63059. "value": "log(string,bool,string,address)"
  63060. },
  63061. {
  63062. "id": 11850,
  63063. "name": "p0",
  63064. "nodeType": "Identifier",
  63065. "overloadedDeclarations": [],
  63066. "referencedDeclaration": 11837,
  63067. "src": "39928:2:50",
  63068. "typeDescriptions": {
  63069. "typeIdentifier": "t_string_memory_ptr",
  63070. "typeString": "string memory"
  63071. }
  63072. },
  63073. {
  63074. "id": 11851,
  63075. "name": "p1",
  63076. "nodeType": "Identifier",
  63077. "overloadedDeclarations": [],
  63078. "referencedDeclaration": 11839,
  63079. "src": "39932:2:50",
  63080. "typeDescriptions": {
  63081. "typeIdentifier": "t_bool",
  63082. "typeString": "bool"
  63083. }
  63084. },
  63085. {
  63086. "id": 11852,
  63087. "name": "p2",
  63088. "nodeType": "Identifier",
  63089. "overloadedDeclarations": [],
  63090. "referencedDeclaration": 11841,
  63091. "src": "39936:2:50",
  63092. "typeDescriptions": {
  63093. "typeIdentifier": "t_string_memory_ptr",
  63094. "typeString": "string memory"
  63095. }
  63096. },
  63097. {
  63098. "id": 11853,
  63099. "name": "p3",
  63100. "nodeType": "Identifier",
  63101. "overloadedDeclarations": [],
  63102. "referencedDeclaration": 11843,
  63103. "src": "39940:2:50",
  63104. "typeDescriptions": {
  63105. "typeIdentifier": "t_address",
  63106. "typeString": "address"
  63107. }
  63108. }
  63109. ],
  63110. "expression": {
  63111. "argumentTypes": [
  63112. {
  63113. "typeIdentifier": "t_stringliteral_e0625b292fa5cbc865b55f61713cbbe0ce7abb244ec2df45291ea19c30ddfaf8",
  63114. "typeString": "literal_string \"log(string,bool,string,address)\""
  63115. },
  63116. {
  63117. "typeIdentifier": "t_string_memory_ptr",
  63118. "typeString": "string memory"
  63119. },
  63120. {
  63121. "typeIdentifier": "t_bool",
  63122. "typeString": "bool"
  63123. },
  63124. {
  63125. "typeIdentifier": "t_string_memory_ptr",
  63126. "typeString": "string memory"
  63127. },
  63128. {
  63129. "typeIdentifier": "t_address",
  63130. "typeString": "address"
  63131. }
  63132. ],
  63133. "expression": {
  63134. "id": 11847,
  63135. "name": "abi",
  63136. "nodeType": "Identifier",
  63137. "overloadedDeclarations": [],
  63138. "referencedDeclaration": -1,
  63139. "src": "39869:3:50",
  63140. "typeDescriptions": {
  63141. "typeIdentifier": "t_magic_abi",
  63142. "typeString": "abi"
  63143. }
  63144. },
  63145. "id": 11848,
  63146. "isConstant": false,
  63147. "isLValue": false,
  63148. "isPure": true,
  63149. "lValueRequested": false,
  63150. "memberLocation": "39873:19:50",
  63151. "memberName": "encodeWithSignature",
  63152. "nodeType": "MemberAccess",
  63153. "src": "39869:23:50",
  63154. "typeDescriptions": {
  63155. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  63156. "typeString": "function (string memory) pure returns (bytes memory)"
  63157. }
  63158. },
  63159. "id": 11854,
  63160. "isConstant": false,
  63161. "isLValue": false,
  63162. "isPure": false,
  63163. "kind": "functionCall",
  63164. "lValueRequested": false,
  63165. "nameLocations": [],
  63166. "names": [],
  63167. "nodeType": "FunctionCall",
  63168. "src": "39869:74:50",
  63169. "tryCall": false,
  63170. "typeDescriptions": {
  63171. "typeIdentifier": "t_bytes_memory_ptr",
  63172. "typeString": "bytes memory"
  63173. }
  63174. }
  63175. ],
  63176. "expression": {
  63177. "argumentTypes": [
  63178. {
  63179. "typeIdentifier": "t_bytes_memory_ptr",
  63180. "typeString": "bytes memory"
  63181. }
  63182. ],
  63183. "id": 11846,
  63184. "name": "_sendLogPayload",
  63185. "nodeType": "Identifier",
  63186. "overloadedDeclarations": [],
  63187. "referencedDeclaration": 7315,
  63188. "src": "39853:15:50",
  63189. "typeDescriptions": {
  63190. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  63191. "typeString": "function (bytes memory) pure"
  63192. }
  63193. },
  63194. "id": 11855,
  63195. "isConstant": false,
  63196. "isLValue": false,
  63197. "isPure": false,
  63198. "kind": "functionCall",
  63199. "lValueRequested": false,
  63200. "nameLocations": [],
  63201. "names": [],
  63202. "nodeType": "FunctionCall",
  63203. "src": "39853:91:50",
  63204. "tryCall": false,
  63205. "typeDescriptions": {
  63206. "typeIdentifier": "t_tuple$__$",
  63207. "typeString": "tuple()"
  63208. }
  63209. },
  63210. "id": 11856,
  63211. "nodeType": "ExpressionStatement",
  63212. "src": "39853:91:50"
  63213. }
  63214. ]
  63215. },
  63216. "implemented": true,
  63217. "kind": "function",
  63218. "modifiers": [],
  63219. "name": "log",
  63220. "nameLocation": "39768:3:50",
  63221. "parameters": {
  63222. "id": 11844,
  63223. "nodeType": "ParameterList",
  63224. "parameters": [
  63225. {
  63226. "constant": false,
  63227. "id": 11837,
  63228. "mutability": "mutable",
  63229. "name": "p0",
  63230. "nameLocation": "39786:2:50",
  63231. "nodeType": "VariableDeclaration",
  63232. "scope": 11858,
  63233. "src": "39772:16:50",
  63234. "stateVariable": false,
  63235. "storageLocation": "memory",
  63236. "typeDescriptions": {
  63237. "typeIdentifier": "t_string_memory_ptr",
  63238. "typeString": "string"
  63239. },
  63240. "typeName": {
  63241. "id": 11836,
  63242. "name": "string",
  63243. "nodeType": "ElementaryTypeName",
  63244. "src": "39772:6:50",
  63245. "typeDescriptions": {
  63246. "typeIdentifier": "t_string_storage_ptr",
  63247. "typeString": "string"
  63248. }
  63249. },
  63250. "visibility": "internal"
  63251. },
  63252. {
  63253. "constant": false,
  63254. "id": 11839,
  63255. "mutability": "mutable",
  63256. "name": "p1",
  63257. "nameLocation": "39795:2:50",
  63258. "nodeType": "VariableDeclaration",
  63259. "scope": 11858,
  63260. "src": "39790:7:50",
  63261. "stateVariable": false,
  63262. "storageLocation": "default",
  63263. "typeDescriptions": {
  63264. "typeIdentifier": "t_bool",
  63265. "typeString": "bool"
  63266. },
  63267. "typeName": {
  63268. "id": 11838,
  63269. "name": "bool",
  63270. "nodeType": "ElementaryTypeName",
  63271. "src": "39790:4:50",
  63272. "typeDescriptions": {
  63273. "typeIdentifier": "t_bool",
  63274. "typeString": "bool"
  63275. }
  63276. },
  63277. "visibility": "internal"
  63278. },
  63279. {
  63280. "constant": false,
  63281. "id": 11841,
  63282. "mutability": "mutable",
  63283. "name": "p2",
  63284. "nameLocation": "39813:2:50",
  63285. "nodeType": "VariableDeclaration",
  63286. "scope": 11858,
  63287. "src": "39799:16:50",
  63288. "stateVariable": false,
  63289. "storageLocation": "memory",
  63290. "typeDescriptions": {
  63291. "typeIdentifier": "t_string_memory_ptr",
  63292. "typeString": "string"
  63293. },
  63294. "typeName": {
  63295. "id": 11840,
  63296. "name": "string",
  63297. "nodeType": "ElementaryTypeName",
  63298. "src": "39799:6:50",
  63299. "typeDescriptions": {
  63300. "typeIdentifier": "t_string_storage_ptr",
  63301. "typeString": "string"
  63302. }
  63303. },
  63304. "visibility": "internal"
  63305. },
  63306. {
  63307. "constant": false,
  63308. "id": 11843,
  63309. "mutability": "mutable",
  63310. "name": "p3",
  63311. "nameLocation": "39825:2:50",
  63312. "nodeType": "VariableDeclaration",
  63313. "scope": 11858,
  63314. "src": "39817:10:50",
  63315. "stateVariable": false,
  63316. "storageLocation": "default",
  63317. "typeDescriptions": {
  63318. "typeIdentifier": "t_address",
  63319. "typeString": "address"
  63320. },
  63321. "typeName": {
  63322. "id": 11842,
  63323. "name": "address",
  63324. "nodeType": "ElementaryTypeName",
  63325. "src": "39817:7:50",
  63326. "stateMutability": "nonpayable",
  63327. "typeDescriptions": {
  63328. "typeIdentifier": "t_address",
  63329. "typeString": "address"
  63330. }
  63331. },
  63332. "visibility": "internal"
  63333. }
  63334. ],
  63335. "src": "39771:57:50"
  63336. },
  63337. "returnParameters": {
  63338. "id": 11845,
  63339. "nodeType": "ParameterList",
  63340. "parameters": [],
  63341. "src": "39843:0:50"
  63342. },
  63343. "scope": 15355,
  63344. "stateMutability": "pure",
  63345. "virtual": false,
  63346. "visibility": "internal"
  63347. },
  63348. {
  63349. "id": 11881,
  63350. "nodeType": "FunctionDefinition",
  63351. "src": "39957:181:50",
  63352. "nodes": [],
  63353. "body": {
  63354. "id": 11880,
  63355. "nodeType": "Block",
  63356. "src": "40032:106:50",
  63357. "nodes": [],
  63358. "statements": [
  63359. {
  63360. "expression": {
  63361. "arguments": [
  63362. {
  63363. "arguments": [
  63364. {
  63365. "hexValue": "6c6f6728737472696e672c626f6f6c2c626f6f6c2c75696e7432353629",
  63366. "id": 11872,
  63367. "isConstant": false,
  63368. "isLValue": false,
  63369. "isPure": true,
  63370. "kind": "string",
  63371. "lValueRequested": false,
  63372. "nodeType": "Literal",
  63373. "src": "40082:31:50",
  63374. "typeDescriptions": {
  63375. "typeIdentifier": "t_stringliteral_8e3f78a95b6137f6ae9ccc69d6fedacb3b283b432b4367bfc497a4b3b428665c",
  63376. "typeString": "literal_string \"log(string,bool,bool,uint256)\""
  63377. },
  63378. "value": "log(string,bool,bool,uint256)"
  63379. },
  63380. {
  63381. "id": 11873,
  63382. "name": "p0",
  63383. "nodeType": "Identifier",
  63384. "overloadedDeclarations": [],
  63385. "referencedDeclaration": 11860,
  63386. "src": "40115:2:50",
  63387. "typeDescriptions": {
  63388. "typeIdentifier": "t_string_memory_ptr",
  63389. "typeString": "string memory"
  63390. }
  63391. },
  63392. {
  63393. "id": 11874,
  63394. "name": "p1",
  63395. "nodeType": "Identifier",
  63396. "overloadedDeclarations": [],
  63397. "referencedDeclaration": 11862,
  63398. "src": "40119:2:50",
  63399. "typeDescriptions": {
  63400. "typeIdentifier": "t_bool",
  63401. "typeString": "bool"
  63402. }
  63403. },
  63404. {
  63405. "id": 11875,
  63406. "name": "p2",
  63407. "nodeType": "Identifier",
  63408. "overloadedDeclarations": [],
  63409. "referencedDeclaration": 11864,
  63410. "src": "40123:2:50",
  63411. "typeDescriptions": {
  63412. "typeIdentifier": "t_bool",
  63413. "typeString": "bool"
  63414. }
  63415. },
  63416. {
  63417. "id": 11876,
  63418. "name": "p3",
  63419. "nodeType": "Identifier",
  63420. "overloadedDeclarations": [],
  63421. "referencedDeclaration": 11866,
  63422. "src": "40127:2:50",
  63423. "typeDescriptions": {
  63424. "typeIdentifier": "t_uint256",
  63425. "typeString": "uint256"
  63426. }
  63427. }
  63428. ],
  63429. "expression": {
  63430. "argumentTypes": [
  63431. {
  63432. "typeIdentifier": "t_stringliteral_8e3f78a95b6137f6ae9ccc69d6fedacb3b283b432b4367bfc497a4b3b428665c",
  63433. "typeString": "literal_string \"log(string,bool,bool,uint256)\""
  63434. },
  63435. {
  63436. "typeIdentifier": "t_string_memory_ptr",
  63437. "typeString": "string memory"
  63438. },
  63439. {
  63440. "typeIdentifier": "t_bool",
  63441. "typeString": "bool"
  63442. },
  63443. {
  63444. "typeIdentifier": "t_bool",
  63445. "typeString": "bool"
  63446. },
  63447. {
  63448. "typeIdentifier": "t_uint256",
  63449. "typeString": "uint256"
  63450. }
  63451. ],
  63452. "expression": {
  63453. "id": 11870,
  63454. "name": "abi",
  63455. "nodeType": "Identifier",
  63456. "overloadedDeclarations": [],
  63457. "referencedDeclaration": -1,
  63458. "src": "40058:3:50",
  63459. "typeDescriptions": {
  63460. "typeIdentifier": "t_magic_abi",
  63461. "typeString": "abi"
  63462. }
  63463. },
  63464. "id": 11871,
  63465. "isConstant": false,
  63466. "isLValue": false,
  63467. "isPure": true,
  63468. "lValueRequested": false,
  63469. "memberLocation": "40062:19:50",
  63470. "memberName": "encodeWithSignature",
  63471. "nodeType": "MemberAccess",
  63472. "src": "40058:23:50",
  63473. "typeDescriptions": {
  63474. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  63475. "typeString": "function (string memory) pure returns (bytes memory)"
  63476. }
  63477. },
  63478. "id": 11877,
  63479. "isConstant": false,
  63480. "isLValue": false,
  63481. "isPure": false,
  63482. "kind": "functionCall",
  63483. "lValueRequested": false,
  63484. "nameLocations": [],
  63485. "names": [],
  63486. "nodeType": "FunctionCall",
  63487. "src": "40058:72:50",
  63488. "tryCall": false,
  63489. "typeDescriptions": {
  63490. "typeIdentifier": "t_bytes_memory_ptr",
  63491. "typeString": "bytes memory"
  63492. }
  63493. }
  63494. ],
  63495. "expression": {
  63496. "argumentTypes": [
  63497. {
  63498. "typeIdentifier": "t_bytes_memory_ptr",
  63499. "typeString": "bytes memory"
  63500. }
  63501. ],
  63502. "id": 11869,
  63503. "name": "_sendLogPayload",
  63504. "nodeType": "Identifier",
  63505. "overloadedDeclarations": [],
  63506. "referencedDeclaration": 7315,
  63507. "src": "40042:15:50",
  63508. "typeDescriptions": {
  63509. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  63510. "typeString": "function (bytes memory) pure"
  63511. }
  63512. },
  63513. "id": 11878,
  63514. "isConstant": false,
  63515. "isLValue": false,
  63516. "isPure": false,
  63517. "kind": "functionCall",
  63518. "lValueRequested": false,
  63519. "nameLocations": [],
  63520. "names": [],
  63521. "nodeType": "FunctionCall",
  63522. "src": "40042:89:50",
  63523. "tryCall": false,
  63524. "typeDescriptions": {
  63525. "typeIdentifier": "t_tuple$__$",
  63526. "typeString": "tuple()"
  63527. }
  63528. },
  63529. "id": 11879,
  63530. "nodeType": "ExpressionStatement",
  63531. "src": "40042:89:50"
  63532. }
  63533. ]
  63534. },
  63535. "implemented": true,
  63536. "kind": "function",
  63537. "modifiers": [],
  63538. "name": "log",
  63539. "nameLocation": "39966:3:50",
  63540. "parameters": {
  63541. "id": 11867,
  63542. "nodeType": "ParameterList",
  63543. "parameters": [
  63544. {
  63545. "constant": false,
  63546. "id": 11860,
  63547. "mutability": "mutable",
  63548. "name": "p0",
  63549. "nameLocation": "39984:2:50",
  63550. "nodeType": "VariableDeclaration",
  63551. "scope": 11881,
  63552. "src": "39970:16:50",
  63553. "stateVariable": false,
  63554. "storageLocation": "memory",
  63555. "typeDescriptions": {
  63556. "typeIdentifier": "t_string_memory_ptr",
  63557. "typeString": "string"
  63558. },
  63559. "typeName": {
  63560. "id": 11859,
  63561. "name": "string",
  63562. "nodeType": "ElementaryTypeName",
  63563. "src": "39970:6:50",
  63564. "typeDescriptions": {
  63565. "typeIdentifier": "t_string_storage_ptr",
  63566. "typeString": "string"
  63567. }
  63568. },
  63569. "visibility": "internal"
  63570. },
  63571. {
  63572. "constant": false,
  63573. "id": 11862,
  63574. "mutability": "mutable",
  63575. "name": "p1",
  63576. "nameLocation": "39993:2:50",
  63577. "nodeType": "VariableDeclaration",
  63578. "scope": 11881,
  63579. "src": "39988:7:50",
  63580. "stateVariable": false,
  63581. "storageLocation": "default",
  63582. "typeDescriptions": {
  63583. "typeIdentifier": "t_bool",
  63584. "typeString": "bool"
  63585. },
  63586. "typeName": {
  63587. "id": 11861,
  63588. "name": "bool",
  63589. "nodeType": "ElementaryTypeName",
  63590. "src": "39988:4:50",
  63591. "typeDescriptions": {
  63592. "typeIdentifier": "t_bool",
  63593. "typeString": "bool"
  63594. }
  63595. },
  63596. "visibility": "internal"
  63597. },
  63598. {
  63599. "constant": false,
  63600. "id": 11864,
  63601. "mutability": "mutable",
  63602. "name": "p2",
  63603. "nameLocation": "40002:2:50",
  63604. "nodeType": "VariableDeclaration",
  63605. "scope": 11881,
  63606. "src": "39997:7:50",
  63607. "stateVariable": false,
  63608. "storageLocation": "default",
  63609. "typeDescriptions": {
  63610. "typeIdentifier": "t_bool",
  63611. "typeString": "bool"
  63612. },
  63613. "typeName": {
  63614. "id": 11863,
  63615. "name": "bool",
  63616. "nodeType": "ElementaryTypeName",
  63617. "src": "39997:4:50",
  63618. "typeDescriptions": {
  63619. "typeIdentifier": "t_bool",
  63620. "typeString": "bool"
  63621. }
  63622. },
  63623. "visibility": "internal"
  63624. },
  63625. {
  63626. "constant": false,
  63627. "id": 11866,
  63628. "mutability": "mutable",
  63629. "name": "p3",
  63630. "nameLocation": "40014:2:50",
  63631. "nodeType": "VariableDeclaration",
  63632. "scope": 11881,
  63633. "src": "40006:10:50",
  63634. "stateVariable": false,
  63635. "storageLocation": "default",
  63636. "typeDescriptions": {
  63637. "typeIdentifier": "t_uint256",
  63638. "typeString": "uint256"
  63639. },
  63640. "typeName": {
  63641. "id": 11865,
  63642. "name": "uint256",
  63643. "nodeType": "ElementaryTypeName",
  63644. "src": "40006:7:50",
  63645. "typeDescriptions": {
  63646. "typeIdentifier": "t_uint256",
  63647. "typeString": "uint256"
  63648. }
  63649. },
  63650. "visibility": "internal"
  63651. }
  63652. ],
  63653. "src": "39969:48:50"
  63654. },
  63655. "returnParameters": {
  63656. "id": 11868,
  63657. "nodeType": "ParameterList",
  63658. "parameters": [],
  63659. "src": "40032:0:50"
  63660. },
  63661. "scope": 15355,
  63662. "stateMutability": "pure",
  63663. "virtual": false,
  63664. "visibility": "internal"
  63665. },
  63666. {
  63667. "id": 11904,
  63668. "nodeType": "FunctionDefinition",
  63669. "src": "40144:186:50",
  63670. "nodes": [],
  63671. "body": {
  63672. "id": 11903,
  63673. "nodeType": "Block",
  63674. "src": "40225:105:50",
  63675. "nodes": [],
  63676. "statements": [
  63677. {
  63678. "expression": {
  63679. "arguments": [
  63680. {
  63681. "arguments": [
  63682. {
  63683. "hexValue": "6c6f6728737472696e672c626f6f6c2c626f6f6c2c737472696e6729",
  63684. "id": 11895,
  63685. "isConstant": false,
  63686. "isLValue": false,
  63687. "isPure": true,
  63688. "kind": "string",
  63689. "lValueRequested": false,
  63690. "nodeType": "Literal",
  63691. "src": "40275:30:50",
  63692. "typeDescriptions": {
  63693. "typeIdentifier": "t_stringliteral_9d22d5dd5fa6b44920526f32944af8a0b12651bcfe7d5e4d9330573146eaf058",
  63694. "typeString": "literal_string \"log(string,bool,bool,string)\""
  63695. },
  63696. "value": "log(string,bool,bool,string)"
  63697. },
  63698. {
  63699. "id": 11896,
  63700. "name": "p0",
  63701. "nodeType": "Identifier",
  63702. "overloadedDeclarations": [],
  63703. "referencedDeclaration": 11883,
  63704. "src": "40307:2:50",
  63705. "typeDescriptions": {
  63706. "typeIdentifier": "t_string_memory_ptr",
  63707. "typeString": "string memory"
  63708. }
  63709. },
  63710. {
  63711. "id": 11897,
  63712. "name": "p1",
  63713. "nodeType": "Identifier",
  63714. "overloadedDeclarations": [],
  63715. "referencedDeclaration": 11885,
  63716. "src": "40311:2:50",
  63717. "typeDescriptions": {
  63718. "typeIdentifier": "t_bool",
  63719. "typeString": "bool"
  63720. }
  63721. },
  63722. {
  63723. "id": 11898,
  63724. "name": "p2",
  63725. "nodeType": "Identifier",
  63726. "overloadedDeclarations": [],
  63727. "referencedDeclaration": 11887,
  63728. "src": "40315:2:50",
  63729. "typeDescriptions": {
  63730. "typeIdentifier": "t_bool",
  63731. "typeString": "bool"
  63732. }
  63733. },
  63734. {
  63735. "id": 11899,
  63736. "name": "p3",
  63737. "nodeType": "Identifier",
  63738. "overloadedDeclarations": [],
  63739. "referencedDeclaration": 11889,
  63740. "src": "40319:2:50",
  63741. "typeDescriptions": {
  63742. "typeIdentifier": "t_string_memory_ptr",
  63743. "typeString": "string memory"
  63744. }
  63745. }
  63746. ],
  63747. "expression": {
  63748. "argumentTypes": [
  63749. {
  63750. "typeIdentifier": "t_stringliteral_9d22d5dd5fa6b44920526f32944af8a0b12651bcfe7d5e4d9330573146eaf058",
  63751. "typeString": "literal_string \"log(string,bool,bool,string)\""
  63752. },
  63753. {
  63754. "typeIdentifier": "t_string_memory_ptr",
  63755. "typeString": "string memory"
  63756. },
  63757. {
  63758. "typeIdentifier": "t_bool",
  63759. "typeString": "bool"
  63760. },
  63761. {
  63762. "typeIdentifier": "t_bool",
  63763. "typeString": "bool"
  63764. },
  63765. {
  63766. "typeIdentifier": "t_string_memory_ptr",
  63767. "typeString": "string memory"
  63768. }
  63769. ],
  63770. "expression": {
  63771. "id": 11893,
  63772. "name": "abi",
  63773. "nodeType": "Identifier",
  63774. "overloadedDeclarations": [],
  63775. "referencedDeclaration": -1,
  63776. "src": "40251:3:50",
  63777. "typeDescriptions": {
  63778. "typeIdentifier": "t_magic_abi",
  63779. "typeString": "abi"
  63780. }
  63781. },
  63782. "id": 11894,
  63783. "isConstant": false,
  63784. "isLValue": false,
  63785. "isPure": true,
  63786. "lValueRequested": false,
  63787. "memberLocation": "40255:19:50",
  63788. "memberName": "encodeWithSignature",
  63789. "nodeType": "MemberAccess",
  63790. "src": "40251:23:50",
  63791. "typeDescriptions": {
  63792. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  63793. "typeString": "function (string memory) pure returns (bytes memory)"
  63794. }
  63795. },
  63796. "id": 11900,
  63797. "isConstant": false,
  63798. "isLValue": false,
  63799. "isPure": false,
  63800. "kind": "functionCall",
  63801. "lValueRequested": false,
  63802. "nameLocations": [],
  63803. "names": [],
  63804. "nodeType": "FunctionCall",
  63805. "src": "40251:71:50",
  63806. "tryCall": false,
  63807. "typeDescriptions": {
  63808. "typeIdentifier": "t_bytes_memory_ptr",
  63809. "typeString": "bytes memory"
  63810. }
  63811. }
  63812. ],
  63813. "expression": {
  63814. "argumentTypes": [
  63815. {
  63816. "typeIdentifier": "t_bytes_memory_ptr",
  63817. "typeString": "bytes memory"
  63818. }
  63819. ],
  63820. "id": 11892,
  63821. "name": "_sendLogPayload",
  63822. "nodeType": "Identifier",
  63823. "overloadedDeclarations": [],
  63824. "referencedDeclaration": 7315,
  63825. "src": "40235:15:50",
  63826. "typeDescriptions": {
  63827. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  63828. "typeString": "function (bytes memory) pure"
  63829. }
  63830. },
  63831. "id": 11901,
  63832. "isConstant": false,
  63833. "isLValue": false,
  63834. "isPure": false,
  63835. "kind": "functionCall",
  63836. "lValueRequested": false,
  63837. "nameLocations": [],
  63838. "names": [],
  63839. "nodeType": "FunctionCall",
  63840. "src": "40235:88:50",
  63841. "tryCall": false,
  63842. "typeDescriptions": {
  63843. "typeIdentifier": "t_tuple$__$",
  63844. "typeString": "tuple()"
  63845. }
  63846. },
  63847. "id": 11902,
  63848. "nodeType": "ExpressionStatement",
  63849. "src": "40235:88:50"
  63850. }
  63851. ]
  63852. },
  63853. "implemented": true,
  63854. "kind": "function",
  63855. "modifiers": [],
  63856. "name": "log",
  63857. "nameLocation": "40153:3:50",
  63858. "parameters": {
  63859. "id": 11890,
  63860. "nodeType": "ParameterList",
  63861. "parameters": [
  63862. {
  63863. "constant": false,
  63864. "id": 11883,
  63865. "mutability": "mutable",
  63866. "name": "p0",
  63867. "nameLocation": "40171:2:50",
  63868. "nodeType": "VariableDeclaration",
  63869. "scope": 11904,
  63870. "src": "40157:16:50",
  63871. "stateVariable": false,
  63872. "storageLocation": "memory",
  63873. "typeDescriptions": {
  63874. "typeIdentifier": "t_string_memory_ptr",
  63875. "typeString": "string"
  63876. },
  63877. "typeName": {
  63878. "id": 11882,
  63879. "name": "string",
  63880. "nodeType": "ElementaryTypeName",
  63881. "src": "40157:6:50",
  63882. "typeDescriptions": {
  63883. "typeIdentifier": "t_string_storage_ptr",
  63884. "typeString": "string"
  63885. }
  63886. },
  63887. "visibility": "internal"
  63888. },
  63889. {
  63890. "constant": false,
  63891. "id": 11885,
  63892. "mutability": "mutable",
  63893. "name": "p1",
  63894. "nameLocation": "40180:2:50",
  63895. "nodeType": "VariableDeclaration",
  63896. "scope": 11904,
  63897. "src": "40175:7:50",
  63898. "stateVariable": false,
  63899. "storageLocation": "default",
  63900. "typeDescriptions": {
  63901. "typeIdentifier": "t_bool",
  63902. "typeString": "bool"
  63903. },
  63904. "typeName": {
  63905. "id": 11884,
  63906. "name": "bool",
  63907. "nodeType": "ElementaryTypeName",
  63908. "src": "40175:4:50",
  63909. "typeDescriptions": {
  63910. "typeIdentifier": "t_bool",
  63911. "typeString": "bool"
  63912. }
  63913. },
  63914. "visibility": "internal"
  63915. },
  63916. {
  63917. "constant": false,
  63918. "id": 11887,
  63919. "mutability": "mutable",
  63920. "name": "p2",
  63921. "nameLocation": "40189:2:50",
  63922. "nodeType": "VariableDeclaration",
  63923. "scope": 11904,
  63924. "src": "40184:7:50",
  63925. "stateVariable": false,
  63926. "storageLocation": "default",
  63927. "typeDescriptions": {
  63928. "typeIdentifier": "t_bool",
  63929. "typeString": "bool"
  63930. },
  63931. "typeName": {
  63932. "id": 11886,
  63933. "name": "bool",
  63934. "nodeType": "ElementaryTypeName",
  63935. "src": "40184:4:50",
  63936. "typeDescriptions": {
  63937. "typeIdentifier": "t_bool",
  63938. "typeString": "bool"
  63939. }
  63940. },
  63941. "visibility": "internal"
  63942. },
  63943. {
  63944. "constant": false,
  63945. "id": 11889,
  63946. "mutability": "mutable",
  63947. "name": "p3",
  63948. "nameLocation": "40207:2:50",
  63949. "nodeType": "VariableDeclaration",
  63950. "scope": 11904,
  63951. "src": "40193:16:50",
  63952. "stateVariable": false,
  63953. "storageLocation": "memory",
  63954. "typeDescriptions": {
  63955. "typeIdentifier": "t_string_memory_ptr",
  63956. "typeString": "string"
  63957. },
  63958. "typeName": {
  63959. "id": 11888,
  63960. "name": "string",
  63961. "nodeType": "ElementaryTypeName",
  63962. "src": "40193:6:50",
  63963. "typeDescriptions": {
  63964. "typeIdentifier": "t_string_storage_ptr",
  63965. "typeString": "string"
  63966. }
  63967. },
  63968. "visibility": "internal"
  63969. }
  63970. ],
  63971. "src": "40156:54:50"
  63972. },
  63973. "returnParameters": {
  63974. "id": 11891,
  63975. "nodeType": "ParameterList",
  63976. "parameters": [],
  63977. "src": "40225:0:50"
  63978. },
  63979. "scope": 15355,
  63980. "stateMutability": "pure",
  63981. "virtual": false,
  63982. "visibility": "internal"
  63983. },
  63984. {
  63985. "id": 11927,
  63986. "nodeType": "FunctionDefinition",
  63987. "src": "40336:175:50",
  63988. "nodes": [],
  63989. "body": {
  63990. "id": 11926,
  63991. "nodeType": "Block",
  63992. "src": "40408:103:50",
  63993. "nodes": [],
  63994. "statements": [
  63995. {
  63996. "expression": {
  63997. "arguments": [
  63998. {
  63999. "arguments": [
  64000. {
  64001. "hexValue": "6c6f6728737472696e672c626f6f6c2c626f6f6c2c626f6f6c29",
  64002. "id": 11918,
  64003. "isConstant": false,
  64004. "isLValue": false,
  64005. "isPure": true,
  64006. "kind": "string",
  64007. "lValueRequested": false,
  64008. "nodeType": "Literal",
  64009. "src": "40458:28:50",
  64010. "typeDescriptions": {
  64011. "typeIdentifier": "t_stringliteral_895af8c5b50078ceec3119054e20583155eeb3e1a8f56b8ed56efbec57456ad2",
  64012. "typeString": "literal_string \"log(string,bool,bool,bool)\""
  64013. },
  64014. "value": "log(string,bool,bool,bool)"
  64015. },
  64016. {
  64017. "id": 11919,
  64018. "name": "p0",
  64019. "nodeType": "Identifier",
  64020. "overloadedDeclarations": [],
  64021. "referencedDeclaration": 11906,
  64022. "src": "40488:2:50",
  64023. "typeDescriptions": {
  64024. "typeIdentifier": "t_string_memory_ptr",
  64025. "typeString": "string memory"
  64026. }
  64027. },
  64028. {
  64029. "id": 11920,
  64030. "name": "p1",
  64031. "nodeType": "Identifier",
  64032. "overloadedDeclarations": [],
  64033. "referencedDeclaration": 11908,
  64034. "src": "40492:2:50",
  64035. "typeDescriptions": {
  64036. "typeIdentifier": "t_bool",
  64037. "typeString": "bool"
  64038. }
  64039. },
  64040. {
  64041. "id": 11921,
  64042. "name": "p2",
  64043. "nodeType": "Identifier",
  64044. "overloadedDeclarations": [],
  64045. "referencedDeclaration": 11910,
  64046. "src": "40496:2:50",
  64047. "typeDescriptions": {
  64048. "typeIdentifier": "t_bool",
  64049. "typeString": "bool"
  64050. }
  64051. },
  64052. {
  64053. "id": 11922,
  64054. "name": "p3",
  64055. "nodeType": "Identifier",
  64056. "overloadedDeclarations": [],
  64057. "referencedDeclaration": 11912,
  64058. "src": "40500:2:50",
  64059. "typeDescriptions": {
  64060. "typeIdentifier": "t_bool",
  64061. "typeString": "bool"
  64062. }
  64063. }
  64064. ],
  64065. "expression": {
  64066. "argumentTypes": [
  64067. {
  64068. "typeIdentifier": "t_stringliteral_895af8c5b50078ceec3119054e20583155eeb3e1a8f56b8ed56efbec57456ad2",
  64069. "typeString": "literal_string \"log(string,bool,bool,bool)\""
  64070. },
  64071. {
  64072. "typeIdentifier": "t_string_memory_ptr",
  64073. "typeString": "string memory"
  64074. },
  64075. {
  64076. "typeIdentifier": "t_bool",
  64077. "typeString": "bool"
  64078. },
  64079. {
  64080. "typeIdentifier": "t_bool",
  64081. "typeString": "bool"
  64082. },
  64083. {
  64084. "typeIdentifier": "t_bool",
  64085. "typeString": "bool"
  64086. }
  64087. ],
  64088. "expression": {
  64089. "id": 11916,
  64090. "name": "abi",
  64091. "nodeType": "Identifier",
  64092. "overloadedDeclarations": [],
  64093. "referencedDeclaration": -1,
  64094. "src": "40434:3:50",
  64095. "typeDescriptions": {
  64096. "typeIdentifier": "t_magic_abi",
  64097. "typeString": "abi"
  64098. }
  64099. },
  64100. "id": 11917,
  64101. "isConstant": false,
  64102. "isLValue": false,
  64103. "isPure": true,
  64104. "lValueRequested": false,
  64105. "memberLocation": "40438:19:50",
  64106. "memberName": "encodeWithSignature",
  64107. "nodeType": "MemberAccess",
  64108. "src": "40434:23:50",
  64109. "typeDescriptions": {
  64110. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  64111. "typeString": "function (string memory) pure returns (bytes memory)"
  64112. }
  64113. },
  64114. "id": 11923,
  64115. "isConstant": false,
  64116. "isLValue": false,
  64117. "isPure": false,
  64118. "kind": "functionCall",
  64119. "lValueRequested": false,
  64120. "nameLocations": [],
  64121. "names": [],
  64122. "nodeType": "FunctionCall",
  64123. "src": "40434:69:50",
  64124. "tryCall": false,
  64125. "typeDescriptions": {
  64126. "typeIdentifier": "t_bytes_memory_ptr",
  64127. "typeString": "bytes memory"
  64128. }
  64129. }
  64130. ],
  64131. "expression": {
  64132. "argumentTypes": [
  64133. {
  64134. "typeIdentifier": "t_bytes_memory_ptr",
  64135. "typeString": "bytes memory"
  64136. }
  64137. ],
  64138. "id": 11915,
  64139. "name": "_sendLogPayload",
  64140. "nodeType": "Identifier",
  64141. "overloadedDeclarations": [],
  64142. "referencedDeclaration": 7315,
  64143. "src": "40418:15:50",
  64144. "typeDescriptions": {
  64145. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  64146. "typeString": "function (bytes memory) pure"
  64147. }
  64148. },
  64149. "id": 11924,
  64150. "isConstant": false,
  64151. "isLValue": false,
  64152. "isPure": false,
  64153. "kind": "functionCall",
  64154. "lValueRequested": false,
  64155. "nameLocations": [],
  64156. "names": [],
  64157. "nodeType": "FunctionCall",
  64158. "src": "40418:86:50",
  64159. "tryCall": false,
  64160. "typeDescriptions": {
  64161. "typeIdentifier": "t_tuple$__$",
  64162. "typeString": "tuple()"
  64163. }
  64164. },
  64165. "id": 11925,
  64166. "nodeType": "ExpressionStatement",
  64167. "src": "40418:86:50"
  64168. }
  64169. ]
  64170. },
  64171. "implemented": true,
  64172. "kind": "function",
  64173. "modifiers": [],
  64174. "name": "log",
  64175. "nameLocation": "40345:3:50",
  64176. "parameters": {
  64177. "id": 11913,
  64178. "nodeType": "ParameterList",
  64179. "parameters": [
  64180. {
  64181. "constant": false,
  64182. "id": 11906,
  64183. "mutability": "mutable",
  64184. "name": "p0",
  64185. "nameLocation": "40363:2:50",
  64186. "nodeType": "VariableDeclaration",
  64187. "scope": 11927,
  64188. "src": "40349:16:50",
  64189. "stateVariable": false,
  64190. "storageLocation": "memory",
  64191. "typeDescriptions": {
  64192. "typeIdentifier": "t_string_memory_ptr",
  64193. "typeString": "string"
  64194. },
  64195. "typeName": {
  64196. "id": 11905,
  64197. "name": "string",
  64198. "nodeType": "ElementaryTypeName",
  64199. "src": "40349:6:50",
  64200. "typeDescriptions": {
  64201. "typeIdentifier": "t_string_storage_ptr",
  64202. "typeString": "string"
  64203. }
  64204. },
  64205. "visibility": "internal"
  64206. },
  64207. {
  64208. "constant": false,
  64209. "id": 11908,
  64210. "mutability": "mutable",
  64211. "name": "p1",
  64212. "nameLocation": "40372:2:50",
  64213. "nodeType": "VariableDeclaration",
  64214. "scope": 11927,
  64215. "src": "40367:7:50",
  64216. "stateVariable": false,
  64217. "storageLocation": "default",
  64218. "typeDescriptions": {
  64219. "typeIdentifier": "t_bool",
  64220. "typeString": "bool"
  64221. },
  64222. "typeName": {
  64223. "id": 11907,
  64224. "name": "bool",
  64225. "nodeType": "ElementaryTypeName",
  64226. "src": "40367:4:50",
  64227. "typeDescriptions": {
  64228. "typeIdentifier": "t_bool",
  64229. "typeString": "bool"
  64230. }
  64231. },
  64232. "visibility": "internal"
  64233. },
  64234. {
  64235. "constant": false,
  64236. "id": 11910,
  64237. "mutability": "mutable",
  64238. "name": "p2",
  64239. "nameLocation": "40381:2:50",
  64240. "nodeType": "VariableDeclaration",
  64241. "scope": 11927,
  64242. "src": "40376:7:50",
  64243. "stateVariable": false,
  64244. "storageLocation": "default",
  64245. "typeDescriptions": {
  64246. "typeIdentifier": "t_bool",
  64247. "typeString": "bool"
  64248. },
  64249. "typeName": {
  64250. "id": 11909,
  64251. "name": "bool",
  64252. "nodeType": "ElementaryTypeName",
  64253. "src": "40376:4:50",
  64254. "typeDescriptions": {
  64255. "typeIdentifier": "t_bool",
  64256. "typeString": "bool"
  64257. }
  64258. },
  64259. "visibility": "internal"
  64260. },
  64261. {
  64262. "constant": false,
  64263. "id": 11912,
  64264. "mutability": "mutable",
  64265. "name": "p3",
  64266. "nameLocation": "40390:2:50",
  64267. "nodeType": "VariableDeclaration",
  64268. "scope": 11927,
  64269. "src": "40385:7:50",
  64270. "stateVariable": false,
  64271. "storageLocation": "default",
  64272. "typeDescriptions": {
  64273. "typeIdentifier": "t_bool",
  64274. "typeString": "bool"
  64275. },
  64276. "typeName": {
  64277. "id": 11911,
  64278. "name": "bool",
  64279. "nodeType": "ElementaryTypeName",
  64280. "src": "40385:4:50",
  64281. "typeDescriptions": {
  64282. "typeIdentifier": "t_bool",
  64283. "typeString": "bool"
  64284. }
  64285. },
  64286. "visibility": "internal"
  64287. }
  64288. ],
  64289. "src": "40348:45:50"
  64290. },
  64291. "returnParameters": {
  64292. "id": 11914,
  64293. "nodeType": "ParameterList",
  64294. "parameters": [],
  64295. "src": "40408:0:50"
  64296. },
  64297. "scope": 15355,
  64298. "stateMutability": "pure",
  64299. "virtual": false,
  64300. "visibility": "internal"
  64301. },
  64302. {
  64303. "id": 11950,
  64304. "nodeType": "FunctionDefinition",
  64305. "src": "40517:181:50",
  64306. "nodes": [],
  64307. "body": {
  64308. "id": 11949,
  64309. "nodeType": "Block",
  64310. "src": "40592:106:50",
  64311. "nodes": [],
  64312. "statements": [
  64313. {
  64314. "expression": {
  64315. "arguments": [
  64316. {
  64317. "arguments": [
  64318. {
  64319. "hexValue": "6c6f6728737472696e672c626f6f6c2c626f6f6c2c6164647265737329",
  64320. "id": 11941,
  64321. "isConstant": false,
  64322. "isLValue": false,
  64323. "isPure": true,
  64324. "kind": "string",
  64325. "lValueRequested": false,
  64326. "nodeType": "Literal",
  64327. "src": "40642:31:50",
  64328. "typeDescriptions": {
  64329. "typeIdentifier": "t_stringliteral_7190a529624f3e9168945b9053b9648f6439313f31cad0801b50f9dc38a45d4d",
  64330. "typeString": "literal_string \"log(string,bool,bool,address)\""
  64331. },
  64332. "value": "log(string,bool,bool,address)"
  64333. },
  64334. {
  64335. "id": 11942,
  64336. "name": "p0",
  64337. "nodeType": "Identifier",
  64338. "overloadedDeclarations": [],
  64339. "referencedDeclaration": 11929,
  64340. "src": "40675:2:50",
  64341. "typeDescriptions": {
  64342. "typeIdentifier": "t_string_memory_ptr",
  64343. "typeString": "string memory"
  64344. }
  64345. },
  64346. {
  64347. "id": 11943,
  64348. "name": "p1",
  64349. "nodeType": "Identifier",
  64350. "overloadedDeclarations": [],
  64351. "referencedDeclaration": 11931,
  64352. "src": "40679:2:50",
  64353. "typeDescriptions": {
  64354. "typeIdentifier": "t_bool",
  64355. "typeString": "bool"
  64356. }
  64357. },
  64358. {
  64359. "id": 11944,
  64360. "name": "p2",
  64361. "nodeType": "Identifier",
  64362. "overloadedDeclarations": [],
  64363. "referencedDeclaration": 11933,
  64364. "src": "40683:2:50",
  64365. "typeDescriptions": {
  64366. "typeIdentifier": "t_bool",
  64367. "typeString": "bool"
  64368. }
  64369. },
  64370. {
  64371. "id": 11945,
  64372. "name": "p3",
  64373. "nodeType": "Identifier",
  64374. "overloadedDeclarations": [],
  64375. "referencedDeclaration": 11935,
  64376. "src": "40687:2:50",
  64377. "typeDescriptions": {
  64378. "typeIdentifier": "t_address",
  64379. "typeString": "address"
  64380. }
  64381. }
  64382. ],
  64383. "expression": {
  64384. "argumentTypes": [
  64385. {
  64386. "typeIdentifier": "t_stringliteral_7190a529624f3e9168945b9053b9648f6439313f31cad0801b50f9dc38a45d4d",
  64387. "typeString": "literal_string \"log(string,bool,bool,address)\""
  64388. },
  64389. {
  64390. "typeIdentifier": "t_string_memory_ptr",
  64391. "typeString": "string memory"
  64392. },
  64393. {
  64394. "typeIdentifier": "t_bool",
  64395. "typeString": "bool"
  64396. },
  64397. {
  64398. "typeIdentifier": "t_bool",
  64399. "typeString": "bool"
  64400. },
  64401. {
  64402. "typeIdentifier": "t_address",
  64403. "typeString": "address"
  64404. }
  64405. ],
  64406. "expression": {
  64407. "id": 11939,
  64408. "name": "abi",
  64409. "nodeType": "Identifier",
  64410. "overloadedDeclarations": [],
  64411. "referencedDeclaration": -1,
  64412. "src": "40618:3:50",
  64413. "typeDescriptions": {
  64414. "typeIdentifier": "t_magic_abi",
  64415. "typeString": "abi"
  64416. }
  64417. },
  64418. "id": 11940,
  64419. "isConstant": false,
  64420. "isLValue": false,
  64421. "isPure": true,
  64422. "lValueRequested": false,
  64423. "memberLocation": "40622:19:50",
  64424. "memberName": "encodeWithSignature",
  64425. "nodeType": "MemberAccess",
  64426. "src": "40618:23:50",
  64427. "typeDescriptions": {
  64428. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  64429. "typeString": "function (string memory) pure returns (bytes memory)"
  64430. }
  64431. },
  64432. "id": 11946,
  64433. "isConstant": false,
  64434. "isLValue": false,
  64435. "isPure": false,
  64436. "kind": "functionCall",
  64437. "lValueRequested": false,
  64438. "nameLocations": [],
  64439. "names": [],
  64440. "nodeType": "FunctionCall",
  64441. "src": "40618:72:50",
  64442. "tryCall": false,
  64443. "typeDescriptions": {
  64444. "typeIdentifier": "t_bytes_memory_ptr",
  64445. "typeString": "bytes memory"
  64446. }
  64447. }
  64448. ],
  64449. "expression": {
  64450. "argumentTypes": [
  64451. {
  64452. "typeIdentifier": "t_bytes_memory_ptr",
  64453. "typeString": "bytes memory"
  64454. }
  64455. ],
  64456. "id": 11938,
  64457. "name": "_sendLogPayload",
  64458. "nodeType": "Identifier",
  64459. "overloadedDeclarations": [],
  64460. "referencedDeclaration": 7315,
  64461. "src": "40602:15:50",
  64462. "typeDescriptions": {
  64463. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  64464. "typeString": "function (bytes memory) pure"
  64465. }
  64466. },
  64467. "id": 11947,
  64468. "isConstant": false,
  64469. "isLValue": false,
  64470. "isPure": false,
  64471. "kind": "functionCall",
  64472. "lValueRequested": false,
  64473. "nameLocations": [],
  64474. "names": [],
  64475. "nodeType": "FunctionCall",
  64476. "src": "40602:89:50",
  64477. "tryCall": false,
  64478. "typeDescriptions": {
  64479. "typeIdentifier": "t_tuple$__$",
  64480. "typeString": "tuple()"
  64481. }
  64482. },
  64483. "id": 11948,
  64484. "nodeType": "ExpressionStatement",
  64485. "src": "40602:89:50"
  64486. }
  64487. ]
  64488. },
  64489. "implemented": true,
  64490. "kind": "function",
  64491. "modifiers": [],
  64492. "name": "log",
  64493. "nameLocation": "40526:3:50",
  64494. "parameters": {
  64495. "id": 11936,
  64496. "nodeType": "ParameterList",
  64497. "parameters": [
  64498. {
  64499. "constant": false,
  64500. "id": 11929,
  64501. "mutability": "mutable",
  64502. "name": "p0",
  64503. "nameLocation": "40544:2:50",
  64504. "nodeType": "VariableDeclaration",
  64505. "scope": 11950,
  64506. "src": "40530:16:50",
  64507. "stateVariable": false,
  64508. "storageLocation": "memory",
  64509. "typeDescriptions": {
  64510. "typeIdentifier": "t_string_memory_ptr",
  64511. "typeString": "string"
  64512. },
  64513. "typeName": {
  64514. "id": 11928,
  64515. "name": "string",
  64516. "nodeType": "ElementaryTypeName",
  64517. "src": "40530:6:50",
  64518. "typeDescriptions": {
  64519. "typeIdentifier": "t_string_storage_ptr",
  64520. "typeString": "string"
  64521. }
  64522. },
  64523. "visibility": "internal"
  64524. },
  64525. {
  64526. "constant": false,
  64527. "id": 11931,
  64528. "mutability": "mutable",
  64529. "name": "p1",
  64530. "nameLocation": "40553:2:50",
  64531. "nodeType": "VariableDeclaration",
  64532. "scope": 11950,
  64533. "src": "40548:7:50",
  64534. "stateVariable": false,
  64535. "storageLocation": "default",
  64536. "typeDescriptions": {
  64537. "typeIdentifier": "t_bool",
  64538. "typeString": "bool"
  64539. },
  64540. "typeName": {
  64541. "id": 11930,
  64542. "name": "bool",
  64543. "nodeType": "ElementaryTypeName",
  64544. "src": "40548:4:50",
  64545. "typeDescriptions": {
  64546. "typeIdentifier": "t_bool",
  64547. "typeString": "bool"
  64548. }
  64549. },
  64550. "visibility": "internal"
  64551. },
  64552. {
  64553. "constant": false,
  64554. "id": 11933,
  64555. "mutability": "mutable",
  64556. "name": "p2",
  64557. "nameLocation": "40562:2:50",
  64558. "nodeType": "VariableDeclaration",
  64559. "scope": 11950,
  64560. "src": "40557:7:50",
  64561. "stateVariable": false,
  64562. "storageLocation": "default",
  64563. "typeDescriptions": {
  64564. "typeIdentifier": "t_bool",
  64565. "typeString": "bool"
  64566. },
  64567. "typeName": {
  64568. "id": 11932,
  64569. "name": "bool",
  64570. "nodeType": "ElementaryTypeName",
  64571. "src": "40557:4:50",
  64572. "typeDescriptions": {
  64573. "typeIdentifier": "t_bool",
  64574. "typeString": "bool"
  64575. }
  64576. },
  64577. "visibility": "internal"
  64578. },
  64579. {
  64580. "constant": false,
  64581. "id": 11935,
  64582. "mutability": "mutable",
  64583. "name": "p3",
  64584. "nameLocation": "40574:2:50",
  64585. "nodeType": "VariableDeclaration",
  64586. "scope": 11950,
  64587. "src": "40566:10:50",
  64588. "stateVariable": false,
  64589. "storageLocation": "default",
  64590. "typeDescriptions": {
  64591. "typeIdentifier": "t_address",
  64592. "typeString": "address"
  64593. },
  64594. "typeName": {
  64595. "id": 11934,
  64596. "name": "address",
  64597. "nodeType": "ElementaryTypeName",
  64598. "src": "40566:7:50",
  64599. "stateMutability": "nonpayable",
  64600. "typeDescriptions": {
  64601. "typeIdentifier": "t_address",
  64602. "typeString": "address"
  64603. }
  64604. },
  64605. "visibility": "internal"
  64606. }
  64607. ],
  64608. "src": "40529:48:50"
  64609. },
  64610. "returnParameters": {
  64611. "id": 11937,
  64612. "nodeType": "ParameterList",
  64613. "parameters": [],
  64614. "src": "40592:0:50"
  64615. },
  64616. "scope": 15355,
  64617. "stateMutability": "pure",
  64618. "virtual": false,
  64619. "visibility": "internal"
  64620. },
  64621. {
  64622. "id": 11973,
  64623. "nodeType": "FunctionDefinition",
  64624. "src": "40704:187:50",
  64625. "nodes": [],
  64626. "body": {
  64627. "id": 11972,
  64628. "nodeType": "Block",
  64629. "src": "40782:109:50",
  64630. "nodes": [],
  64631. "statements": [
  64632. {
  64633. "expression": {
  64634. "arguments": [
  64635. {
  64636. "arguments": [
  64637. {
  64638. "hexValue": "6c6f6728737472696e672c626f6f6c2c616464726573732c75696e7432353629",
  64639. "id": 11964,
  64640. "isConstant": false,
  64641. "isLValue": false,
  64642. "isPure": true,
  64643. "kind": "string",
  64644. "lValueRequested": false,
  64645. "nodeType": "Literal",
  64646. "src": "40832:34:50",
  64647. "typeDescriptions": {
  64648. "typeIdentifier": "t_stringliteral_5d08bb051545e1af26b8dc05172e6aa8a0bd85212ec19e971b10cea364c21531",
  64649. "typeString": "literal_string \"log(string,bool,address,uint256)\""
  64650. },
  64651. "value": "log(string,bool,address,uint256)"
  64652. },
  64653. {
  64654. "id": 11965,
  64655. "name": "p0",
  64656. "nodeType": "Identifier",
  64657. "overloadedDeclarations": [],
  64658. "referencedDeclaration": 11952,
  64659. "src": "40868:2:50",
  64660. "typeDescriptions": {
  64661. "typeIdentifier": "t_string_memory_ptr",
  64662. "typeString": "string memory"
  64663. }
  64664. },
  64665. {
  64666. "id": 11966,
  64667. "name": "p1",
  64668. "nodeType": "Identifier",
  64669. "overloadedDeclarations": [],
  64670. "referencedDeclaration": 11954,
  64671. "src": "40872:2:50",
  64672. "typeDescriptions": {
  64673. "typeIdentifier": "t_bool",
  64674. "typeString": "bool"
  64675. }
  64676. },
  64677. {
  64678. "id": 11967,
  64679. "name": "p2",
  64680. "nodeType": "Identifier",
  64681. "overloadedDeclarations": [],
  64682. "referencedDeclaration": 11956,
  64683. "src": "40876:2:50",
  64684. "typeDescriptions": {
  64685. "typeIdentifier": "t_address",
  64686. "typeString": "address"
  64687. }
  64688. },
  64689. {
  64690. "id": 11968,
  64691. "name": "p3",
  64692. "nodeType": "Identifier",
  64693. "overloadedDeclarations": [],
  64694. "referencedDeclaration": 11958,
  64695. "src": "40880:2:50",
  64696. "typeDescriptions": {
  64697. "typeIdentifier": "t_uint256",
  64698. "typeString": "uint256"
  64699. }
  64700. }
  64701. ],
  64702. "expression": {
  64703. "argumentTypes": [
  64704. {
  64705. "typeIdentifier": "t_stringliteral_5d08bb051545e1af26b8dc05172e6aa8a0bd85212ec19e971b10cea364c21531",
  64706. "typeString": "literal_string \"log(string,bool,address,uint256)\""
  64707. },
  64708. {
  64709. "typeIdentifier": "t_string_memory_ptr",
  64710. "typeString": "string memory"
  64711. },
  64712. {
  64713. "typeIdentifier": "t_bool",
  64714. "typeString": "bool"
  64715. },
  64716. {
  64717. "typeIdentifier": "t_address",
  64718. "typeString": "address"
  64719. },
  64720. {
  64721. "typeIdentifier": "t_uint256",
  64722. "typeString": "uint256"
  64723. }
  64724. ],
  64725. "expression": {
  64726. "id": 11962,
  64727. "name": "abi",
  64728. "nodeType": "Identifier",
  64729. "overloadedDeclarations": [],
  64730. "referencedDeclaration": -1,
  64731. "src": "40808:3:50",
  64732. "typeDescriptions": {
  64733. "typeIdentifier": "t_magic_abi",
  64734. "typeString": "abi"
  64735. }
  64736. },
  64737. "id": 11963,
  64738. "isConstant": false,
  64739. "isLValue": false,
  64740. "isPure": true,
  64741. "lValueRequested": false,
  64742. "memberLocation": "40812:19:50",
  64743. "memberName": "encodeWithSignature",
  64744. "nodeType": "MemberAccess",
  64745. "src": "40808:23:50",
  64746. "typeDescriptions": {
  64747. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  64748. "typeString": "function (string memory) pure returns (bytes memory)"
  64749. }
  64750. },
  64751. "id": 11969,
  64752. "isConstant": false,
  64753. "isLValue": false,
  64754. "isPure": false,
  64755. "kind": "functionCall",
  64756. "lValueRequested": false,
  64757. "nameLocations": [],
  64758. "names": [],
  64759. "nodeType": "FunctionCall",
  64760. "src": "40808:75:50",
  64761. "tryCall": false,
  64762. "typeDescriptions": {
  64763. "typeIdentifier": "t_bytes_memory_ptr",
  64764. "typeString": "bytes memory"
  64765. }
  64766. }
  64767. ],
  64768. "expression": {
  64769. "argumentTypes": [
  64770. {
  64771. "typeIdentifier": "t_bytes_memory_ptr",
  64772. "typeString": "bytes memory"
  64773. }
  64774. ],
  64775. "id": 11961,
  64776. "name": "_sendLogPayload",
  64777. "nodeType": "Identifier",
  64778. "overloadedDeclarations": [],
  64779. "referencedDeclaration": 7315,
  64780. "src": "40792:15:50",
  64781. "typeDescriptions": {
  64782. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  64783. "typeString": "function (bytes memory) pure"
  64784. }
  64785. },
  64786. "id": 11970,
  64787. "isConstant": false,
  64788. "isLValue": false,
  64789. "isPure": false,
  64790. "kind": "functionCall",
  64791. "lValueRequested": false,
  64792. "nameLocations": [],
  64793. "names": [],
  64794. "nodeType": "FunctionCall",
  64795. "src": "40792:92:50",
  64796. "tryCall": false,
  64797. "typeDescriptions": {
  64798. "typeIdentifier": "t_tuple$__$",
  64799. "typeString": "tuple()"
  64800. }
  64801. },
  64802. "id": 11971,
  64803. "nodeType": "ExpressionStatement",
  64804. "src": "40792:92:50"
  64805. }
  64806. ]
  64807. },
  64808. "implemented": true,
  64809. "kind": "function",
  64810. "modifiers": [],
  64811. "name": "log",
  64812. "nameLocation": "40713:3:50",
  64813. "parameters": {
  64814. "id": 11959,
  64815. "nodeType": "ParameterList",
  64816. "parameters": [
  64817. {
  64818. "constant": false,
  64819. "id": 11952,
  64820. "mutability": "mutable",
  64821. "name": "p0",
  64822. "nameLocation": "40731:2:50",
  64823. "nodeType": "VariableDeclaration",
  64824. "scope": 11973,
  64825. "src": "40717:16:50",
  64826. "stateVariable": false,
  64827. "storageLocation": "memory",
  64828. "typeDescriptions": {
  64829. "typeIdentifier": "t_string_memory_ptr",
  64830. "typeString": "string"
  64831. },
  64832. "typeName": {
  64833. "id": 11951,
  64834. "name": "string",
  64835. "nodeType": "ElementaryTypeName",
  64836. "src": "40717:6:50",
  64837. "typeDescriptions": {
  64838. "typeIdentifier": "t_string_storage_ptr",
  64839. "typeString": "string"
  64840. }
  64841. },
  64842. "visibility": "internal"
  64843. },
  64844. {
  64845. "constant": false,
  64846. "id": 11954,
  64847. "mutability": "mutable",
  64848. "name": "p1",
  64849. "nameLocation": "40740:2:50",
  64850. "nodeType": "VariableDeclaration",
  64851. "scope": 11973,
  64852. "src": "40735:7:50",
  64853. "stateVariable": false,
  64854. "storageLocation": "default",
  64855. "typeDescriptions": {
  64856. "typeIdentifier": "t_bool",
  64857. "typeString": "bool"
  64858. },
  64859. "typeName": {
  64860. "id": 11953,
  64861. "name": "bool",
  64862. "nodeType": "ElementaryTypeName",
  64863. "src": "40735:4:50",
  64864. "typeDescriptions": {
  64865. "typeIdentifier": "t_bool",
  64866. "typeString": "bool"
  64867. }
  64868. },
  64869. "visibility": "internal"
  64870. },
  64871. {
  64872. "constant": false,
  64873. "id": 11956,
  64874. "mutability": "mutable",
  64875. "name": "p2",
  64876. "nameLocation": "40752:2:50",
  64877. "nodeType": "VariableDeclaration",
  64878. "scope": 11973,
  64879. "src": "40744:10:50",
  64880. "stateVariable": false,
  64881. "storageLocation": "default",
  64882. "typeDescriptions": {
  64883. "typeIdentifier": "t_address",
  64884. "typeString": "address"
  64885. },
  64886. "typeName": {
  64887. "id": 11955,
  64888. "name": "address",
  64889. "nodeType": "ElementaryTypeName",
  64890. "src": "40744:7:50",
  64891. "stateMutability": "nonpayable",
  64892. "typeDescriptions": {
  64893. "typeIdentifier": "t_address",
  64894. "typeString": "address"
  64895. }
  64896. },
  64897. "visibility": "internal"
  64898. },
  64899. {
  64900. "constant": false,
  64901. "id": 11958,
  64902. "mutability": "mutable",
  64903. "name": "p3",
  64904. "nameLocation": "40764:2:50",
  64905. "nodeType": "VariableDeclaration",
  64906. "scope": 11973,
  64907. "src": "40756:10:50",
  64908. "stateVariable": false,
  64909. "storageLocation": "default",
  64910. "typeDescriptions": {
  64911. "typeIdentifier": "t_uint256",
  64912. "typeString": "uint256"
  64913. },
  64914. "typeName": {
  64915. "id": 11957,
  64916. "name": "uint256",
  64917. "nodeType": "ElementaryTypeName",
  64918. "src": "40756:7:50",
  64919. "typeDescriptions": {
  64920. "typeIdentifier": "t_uint256",
  64921. "typeString": "uint256"
  64922. }
  64923. },
  64924. "visibility": "internal"
  64925. }
  64926. ],
  64927. "src": "40716:51:50"
  64928. },
  64929. "returnParameters": {
  64930. "id": 11960,
  64931. "nodeType": "ParameterList",
  64932. "parameters": [],
  64933. "src": "40782:0:50"
  64934. },
  64935. "scope": 15355,
  64936. "stateMutability": "pure",
  64937. "virtual": false,
  64938. "visibility": "internal"
  64939. },
  64940. {
  64941. "id": 11996,
  64942. "nodeType": "FunctionDefinition",
  64943. "src": "40897:192:50",
  64944. "nodes": [],
  64945. "body": {
  64946. "id": 11995,
  64947. "nodeType": "Block",
  64948. "src": "40981:108:50",
  64949. "nodes": [],
  64950. "statements": [
  64951. {
  64952. "expression": {
  64953. "arguments": [
  64954. {
  64955. "arguments": [
  64956. {
  64957. "hexValue": "6c6f6728737472696e672c626f6f6c2c616464726573732c737472696e6729",
  64958. "id": 11987,
  64959. "isConstant": false,
  64960. "isLValue": false,
  64961. "isPure": true,
  64962. "kind": "string",
  64963. "lValueRequested": false,
  64964. "nodeType": "Literal",
  64965. "src": "41031:33:50",
  64966. "typeDescriptions": {
  64967. "typeIdentifier": "t_stringliteral_2d8e33a4e52268aad313274a8446eec6f40466a28da2456a8f12d83b298c13ef",
  64968. "typeString": "literal_string \"log(string,bool,address,string)\""
  64969. },
  64970. "value": "log(string,bool,address,string)"
  64971. },
  64972. {
  64973. "id": 11988,
  64974. "name": "p0",
  64975. "nodeType": "Identifier",
  64976. "overloadedDeclarations": [],
  64977. "referencedDeclaration": 11975,
  64978. "src": "41066:2:50",
  64979. "typeDescriptions": {
  64980. "typeIdentifier": "t_string_memory_ptr",
  64981. "typeString": "string memory"
  64982. }
  64983. },
  64984. {
  64985. "id": 11989,
  64986. "name": "p1",
  64987. "nodeType": "Identifier",
  64988. "overloadedDeclarations": [],
  64989. "referencedDeclaration": 11977,
  64990. "src": "41070:2:50",
  64991. "typeDescriptions": {
  64992. "typeIdentifier": "t_bool",
  64993. "typeString": "bool"
  64994. }
  64995. },
  64996. {
  64997. "id": 11990,
  64998. "name": "p2",
  64999. "nodeType": "Identifier",
  65000. "overloadedDeclarations": [],
  65001. "referencedDeclaration": 11979,
  65002. "src": "41074:2:50",
  65003. "typeDescriptions": {
  65004. "typeIdentifier": "t_address",
  65005. "typeString": "address"
  65006. }
  65007. },
  65008. {
  65009. "id": 11991,
  65010. "name": "p3",
  65011. "nodeType": "Identifier",
  65012. "overloadedDeclarations": [],
  65013. "referencedDeclaration": 11981,
  65014. "src": "41078:2:50",
  65015. "typeDescriptions": {
  65016. "typeIdentifier": "t_string_memory_ptr",
  65017. "typeString": "string memory"
  65018. }
  65019. }
  65020. ],
  65021. "expression": {
  65022. "argumentTypes": [
  65023. {
  65024. "typeIdentifier": "t_stringliteral_2d8e33a4e52268aad313274a8446eec6f40466a28da2456a8f12d83b298c13ef",
  65025. "typeString": "literal_string \"log(string,bool,address,string)\""
  65026. },
  65027. {
  65028. "typeIdentifier": "t_string_memory_ptr",
  65029. "typeString": "string memory"
  65030. },
  65031. {
  65032. "typeIdentifier": "t_bool",
  65033. "typeString": "bool"
  65034. },
  65035. {
  65036. "typeIdentifier": "t_address",
  65037. "typeString": "address"
  65038. },
  65039. {
  65040. "typeIdentifier": "t_string_memory_ptr",
  65041. "typeString": "string memory"
  65042. }
  65043. ],
  65044. "expression": {
  65045. "id": 11985,
  65046. "name": "abi",
  65047. "nodeType": "Identifier",
  65048. "overloadedDeclarations": [],
  65049. "referencedDeclaration": -1,
  65050. "src": "41007:3:50",
  65051. "typeDescriptions": {
  65052. "typeIdentifier": "t_magic_abi",
  65053. "typeString": "abi"
  65054. }
  65055. },
  65056. "id": 11986,
  65057. "isConstant": false,
  65058. "isLValue": false,
  65059. "isPure": true,
  65060. "lValueRequested": false,
  65061. "memberLocation": "41011:19:50",
  65062. "memberName": "encodeWithSignature",
  65063. "nodeType": "MemberAccess",
  65064. "src": "41007:23:50",
  65065. "typeDescriptions": {
  65066. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  65067. "typeString": "function (string memory) pure returns (bytes memory)"
  65068. }
  65069. },
  65070. "id": 11992,
  65071. "isConstant": false,
  65072. "isLValue": false,
  65073. "isPure": false,
  65074. "kind": "functionCall",
  65075. "lValueRequested": false,
  65076. "nameLocations": [],
  65077. "names": [],
  65078. "nodeType": "FunctionCall",
  65079. "src": "41007:74:50",
  65080. "tryCall": false,
  65081. "typeDescriptions": {
  65082. "typeIdentifier": "t_bytes_memory_ptr",
  65083. "typeString": "bytes memory"
  65084. }
  65085. }
  65086. ],
  65087. "expression": {
  65088. "argumentTypes": [
  65089. {
  65090. "typeIdentifier": "t_bytes_memory_ptr",
  65091. "typeString": "bytes memory"
  65092. }
  65093. ],
  65094. "id": 11984,
  65095. "name": "_sendLogPayload",
  65096. "nodeType": "Identifier",
  65097. "overloadedDeclarations": [],
  65098. "referencedDeclaration": 7315,
  65099. "src": "40991:15:50",
  65100. "typeDescriptions": {
  65101. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  65102. "typeString": "function (bytes memory) pure"
  65103. }
  65104. },
  65105. "id": 11993,
  65106. "isConstant": false,
  65107. "isLValue": false,
  65108. "isPure": false,
  65109. "kind": "functionCall",
  65110. "lValueRequested": false,
  65111. "nameLocations": [],
  65112. "names": [],
  65113. "nodeType": "FunctionCall",
  65114. "src": "40991:91:50",
  65115. "tryCall": false,
  65116. "typeDescriptions": {
  65117. "typeIdentifier": "t_tuple$__$",
  65118. "typeString": "tuple()"
  65119. }
  65120. },
  65121. "id": 11994,
  65122. "nodeType": "ExpressionStatement",
  65123. "src": "40991:91:50"
  65124. }
  65125. ]
  65126. },
  65127. "implemented": true,
  65128. "kind": "function",
  65129. "modifiers": [],
  65130. "name": "log",
  65131. "nameLocation": "40906:3:50",
  65132. "parameters": {
  65133. "id": 11982,
  65134. "nodeType": "ParameterList",
  65135. "parameters": [
  65136. {
  65137. "constant": false,
  65138. "id": 11975,
  65139. "mutability": "mutable",
  65140. "name": "p0",
  65141. "nameLocation": "40924:2:50",
  65142. "nodeType": "VariableDeclaration",
  65143. "scope": 11996,
  65144. "src": "40910:16:50",
  65145. "stateVariable": false,
  65146. "storageLocation": "memory",
  65147. "typeDescriptions": {
  65148. "typeIdentifier": "t_string_memory_ptr",
  65149. "typeString": "string"
  65150. },
  65151. "typeName": {
  65152. "id": 11974,
  65153. "name": "string",
  65154. "nodeType": "ElementaryTypeName",
  65155. "src": "40910:6:50",
  65156. "typeDescriptions": {
  65157. "typeIdentifier": "t_string_storage_ptr",
  65158. "typeString": "string"
  65159. }
  65160. },
  65161. "visibility": "internal"
  65162. },
  65163. {
  65164. "constant": false,
  65165. "id": 11977,
  65166. "mutability": "mutable",
  65167. "name": "p1",
  65168. "nameLocation": "40933:2:50",
  65169. "nodeType": "VariableDeclaration",
  65170. "scope": 11996,
  65171. "src": "40928:7:50",
  65172. "stateVariable": false,
  65173. "storageLocation": "default",
  65174. "typeDescriptions": {
  65175. "typeIdentifier": "t_bool",
  65176. "typeString": "bool"
  65177. },
  65178. "typeName": {
  65179. "id": 11976,
  65180. "name": "bool",
  65181. "nodeType": "ElementaryTypeName",
  65182. "src": "40928:4:50",
  65183. "typeDescriptions": {
  65184. "typeIdentifier": "t_bool",
  65185. "typeString": "bool"
  65186. }
  65187. },
  65188. "visibility": "internal"
  65189. },
  65190. {
  65191. "constant": false,
  65192. "id": 11979,
  65193. "mutability": "mutable",
  65194. "name": "p2",
  65195. "nameLocation": "40945:2:50",
  65196. "nodeType": "VariableDeclaration",
  65197. "scope": 11996,
  65198. "src": "40937:10:50",
  65199. "stateVariable": false,
  65200. "storageLocation": "default",
  65201. "typeDescriptions": {
  65202. "typeIdentifier": "t_address",
  65203. "typeString": "address"
  65204. },
  65205. "typeName": {
  65206. "id": 11978,
  65207. "name": "address",
  65208. "nodeType": "ElementaryTypeName",
  65209. "src": "40937:7:50",
  65210. "stateMutability": "nonpayable",
  65211. "typeDescriptions": {
  65212. "typeIdentifier": "t_address",
  65213. "typeString": "address"
  65214. }
  65215. },
  65216. "visibility": "internal"
  65217. },
  65218. {
  65219. "constant": false,
  65220. "id": 11981,
  65221. "mutability": "mutable",
  65222. "name": "p3",
  65223. "nameLocation": "40963:2:50",
  65224. "nodeType": "VariableDeclaration",
  65225. "scope": 11996,
  65226. "src": "40949:16:50",
  65227. "stateVariable": false,
  65228. "storageLocation": "memory",
  65229. "typeDescriptions": {
  65230. "typeIdentifier": "t_string_memory_ptr",
  65231. "typeString": "string"
  65232. },
  65233. "typeName": {
  65234. "id": 11980,
  65235. "name": "string",
  65236. "nodeType": "ElementaryTypeName",
  65237. "src": "40949:6:50",
  65238. "typeDescriptions": {
  65239. "typeIdentifier": "t_string_storage_ptr",
  65240. "typeString": "string"
  65241. }
  65242. },
  65243. "visibility": "internal"
  65244. }
  65245. ],
  65246. "src": "40909:57:50"
  65247. },
  65248. "returnParameters": {
  65249. "id": 11983,
  65250. "nodeType": "ParameterList",
  65251. "parameters": [],
  65252. "src": "40981:0:50"
  65253. },
  65254. "scope": 15355,
  65255. "stateMutability": "pure",
  65256. "virtual": false,
  65257. "visibility": "internal"
  65258. },
  65259. {
  65260. "id": 12019,
  65261. "nodeType": "FunctionDefinition",
  65262. "src": "41095:181:50",
  65263. "nodes": [],
  65264. "body": {
  65265. "id": 12018,
  65266. "nodeType": "Block",
  65267. "src": "41170:106:50",
  65268. "nodes": [],
  65269. "statements": [
  65270. {
  65271. "expression": {
  65272. "arguments": [
  65273. {
  65274. "arguments": [
  65275. {
  65276. "hexValue": "6c6f6728737472696e672c626f6f6c2c616464726573732c626f6f6c29",
  65277. "id": 12010,
  65278. "isConstant": false,
  65279. "isLValue": false,
  65280. "isPure": true,
  65281. "kind": "string",
  65282. "lValueRequested": false,
  65283. "nodeType": "Literal",
  65284. "src": "41220:31:50",
  65285. "typeDescriptions": {
  65286. "typeIdentifier": "t_stringliteral_958c28c6e7bd79de7ce7f6f112cbcb194d9e383764dfb947492ee1374ff5c482",
  65287. "typeString": "literal_string \"log(string,bool,address,bool)\""
  65288. },
  65289. "value": "log(string,bool,address,bool)"
  65290. },
  65291. {
  65292. "id": 12011,
  65293. "name": "p0",
  65294. "nodeType": "Identifier",
  65295. "overloadedDeclarations": [],
  65296. "referencedDeclaration": 11998,
  65297. "src": "41253:2:50",
  65298. "typeDescriptions": {
  65299. "typeIdentifier": "t_string_memory_ptr",
  65300. "typeString": "string memory"
  65301. }
  65302. },
  65303. {
  65304. "id": 12012,
  65305. "name": "p1",
  65306. "nodeType": "Identifier",
  65307. "overloadedDeclarations": [],
  65308. "referencedDeclaration": 12000,
  65309. "src": "41257:2:50",
  65310. "typeDescriptions": {
  65311. "typeIdentifier": "t_bool",
  65312. "typeString": "bool"
  65313. }
  65314. },
  65315. {
  65316. "id": 12013,
  65317. "name": "p2",
  65318. "nodeType": "Identifier",
  65319. "overloadedDeclarations": [],
  65320. "referencedDeclaration": 12002,
  65321. "src": "41261:2:50",
  65322. "typeDescriptions": {
  65323. "typeIdentifier": "t_address",
  65324. "typeString": "address"
  65325. }
  65326. },
  65327. {
  65328. "id": 12014,
  65329. "name": "p3",
  65330. "nodeType": "Identifier",
  65331. "overloadedDeclarations": [],
  65332. "referencedDeclaration": 12004,
  65333. "src": "41265:2:50",
  65334. "typeDescriptions": {
  65335. "typeIdentifier": "t_bool",
  65336. "typeString": "bool"
  65337. }
  65338. }
  65339. ],
  65340. "expression": {
  65341. "argumentTypes": [
  65342. {
  65343. "typeIdentifier": "t_stringliteral_958c28c6e7bd79de7ce7f6f112cbcb194d9e383764dfb947492ee1374ff5c482",
  65344. "typeString": "literal_string \"log(string,bool,address,bool)\""
  65345. },
  65346. {
  65347. "typeIdentifier": "t_string_memory_ptr",
  65348. "typeString": "string memory"
  65349. },
  65350. {
  65351. "typeIdentifier": "t_bool",
  65352. "typeString": "bool"
  65353. },
  65354. {
  65355. "typeIdentifier": "t_address",
  65356. "typeString": "address"
  65357. },
  65358. {
  65359. "typeIdentifier": "t_bool",
  65360. "typeString": "bool"
  65361. }
  65362. ],
  65363. "expression": {
  65364. "id": 12008,
  65365. "name": "abi",
  65366. "nodeType": "Identifier",
  65367. "overloadedDeclarations": [],
  65368. "referencedDeclaration": -1,
  65369. "src": "41196:3:50",
  65370. "typeDescriptions": {
  65371. "typeIdentifier": "t_magic_abi",
  65372. "typeString": "abi"
  65373. }
  65374. },
  65375. "id": 12009,
  65376. "isConstant": false,
  65377. "isLValue": false,
  65378. "isPure": true,
  65379. "lValueRequested": false,
  65380. "memberLocation": "41200:19:50",
  65381. "memberName": "encodeWithSignature",
  65382. "nodeType": "MemberAccess",
  65383. "src": "41196:23:50",
  65384. "typeDescriptions": {
  65385. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  65386. "typeString": "function (string memory) pure returns (bytes memory)"
  65387. }
  65388. },
  65389. "id": 12015,
  65390. "isConstant": false,
  65391. "isLValue": false,
  65392. "isPure": false,
  65393. "kind": "functionCall",
  65394. "lValueRequested": false,
  65395. "nameLocations": [],
  65396. "names": [],
  65397. "nodeType": "FunctionCall",
  65398. "src": "41196:72:50",
  65399. "tryCall": false,
  65400. "typeDescriptions": {
  65401. "typeIdentifier": "t_bytes_memory_ptr",
  65402. "typeString": "bytes memory"
  65403. }
  65404. }
  65405. ],
  65406. "expression": {
  65407. "argumentTypes": [
  65408. {
  65409. "typeIdentifier": "t_bytes_memory_ptr",
  65410. "typeString": "bytes memory"
  65411. }
  65412. ],
  65413. "id": 12007,
  65414. "name": "_sendLogPayload",
  65415. "nodeType": "Identifier",
  65416. "overloadedDeclarations": [],
  65417. "referencedDeclaration": 7315,
  65418. "src": "41180:15:50",
  65419. "typeDescriptions": {
  65420. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  65421. "typeString": "function (bytes memory) pure"
  65422. }
  65423. },
  65424. "id": 12016,
  65425. "isConstant": false,
  65426. "isLValue": false,
  65427. "isPure": false,
  65428. "kind": "functionCall",
  65429. "lValueRequested": false,
  65430. "nameLocations": [],
  65431. "names": [],
  65432. "nodeType": "FunctionCall",
  65433. "src": "41180:89:50",
  65434. "tryCall": false,
  65435. "typeDescriptions": {
  65436. "typeIdentifier": "t_tuple$__$",
  65437. "typeString": "tuple()"
  65438. }
  65439. },
  65440. "id": 12017,
  65441. "nodeType": "ExpressionStatement",
  65442. "src": "41180:89:50"
  65443. }
  65444. ]
  65445. },
  65446. "implemented": true,
  65447. "kind": "function",
  65448. "modifiers": [],
  65449. "name": "log",
  65450. "nameLocation": "41104:3:50",
  65451. "parameters": {
  65452. "id": 12005,
  65453. "nodeType": "ParameterList",
  65454. "parameters": [
  65455. {
  65456. "constant": false,
  65457. "id": 11998,
  65458. "mutability": "mutable",
  65459. "name": "p0",
  65460. "nameLocation": "41122:2:50",
  65461. "nodeType": "VariableDeclaration",
  65462. "scope": 12019,
  65463. "src": "41108:16:50",
  65464. "stateVariable": false,
  65465. "storageLocation": "memory",
  65466. "typeDescriptions": {
  65467. "typeIdentifier": "t_string_memory_ptr",
  65468. "typeString": "string"
  65469. },
  65470. "typeName": {
  65471. "id": 11997,
  65472. "name": "string",
  65473. "nodeType": "ElementaryTypeName",
  65474. "src": "41108:6:50",
  65475. "typeDescriptions": {
  65476. "typeIdentifier": "t_string_storage_ptr",
  65477. "typeString": "string"
  65478. }
  65479. },
  65480. "visibility": "internal"
  65481. },
  65482. {
  65483. "constant": false,
  65484. "id": 12000,
  65485. "mutability": "mutable",
  65486. "name": "p1",
  65487. "nameLocation": "41131:2:50",
  65488. "nodeType": "VariableDeclaration",
  65489. "scope": 12019,
  65490. "src": "41126:7:50",
  65491. "stateVariable": false,
  65492. "storageLocation": "default",
  65493. "typeDescriptions": {
  65494. "typeIdentifier": "t_bool",
  65495. "typeString": "bool"
  65496. },
  65497. "typeName": {
  65498. "id": 11999,
  65499. "name": "bool",
  65500. "nodeType": "ElementaryTypeName",
  65501. "src": "41126:4:50",
  65502. "typeDescriptions": {
  65503. "typeIdentifier": "t_bool",
  65504. "typeString": "bool"
  65505. }
  65506. },
  65507. "visibility": "internal"
  65508. },
  65509. {
  65510. "constant": false,
  65511. "id": 12002,
  65512. "mutability": "mutable",
  65513. "name": "p2",
  65514. "nameLocation": "41143:2:50",
  65515. "nodeType": "VariableDeclaration",
  65516. "scope": 12019,
  65517. "src": "41135:10:50",
  65518. "stateVariable": false,
  65519. "storageLocation": "default",
  65520. "typeDescriptions": {
  65521. "typeIdentifier": "t_address",
  65522. "typeString": "address"
  65523. },
  65524. "typeName": {
  65525. "id": 12001,
  65526. "name": "address",
  65527. "nodeType": "ElementaryTypeName",
  65528. "src": "41135:7:50",
  65529. "stateMutability": "nonpayable",
  65530. "typeDescriptions": {
  65531. "typeIdentifier": "t_address",
  65532. "typeString": "address"
  65533. }
  65534. },
  65535. "visibility": "internal"
  65536. },
  65537. {
  65538. "constant": false,
  65539. "id": 12004,
  65540. "mutability": "mutable",
  65541. "name": "p3",
  65542. "nameLocation": "41152:2:50",
  65543. "nodeType": "VariableDeclaration",
  65544. "scope": 12019,
  65545. "src": "41147:7:50",
  65546. "stateVariable": false,
  65547. "storageLocation": "default",
  65548. "typeDescriptions": {
  65549. "typeIdentifier": "t_bool",
  65550. "typeString": "bool"
  65551. },
  65552. "typeName": {
  65553. "id": 12003,
  65554. "name": "bool",
  65555. "nodeType": "ElementaryTypeName",
  65556. "src": "41147:4:50",
  65557. "typeDescriptions": {
  65558. "typeIdentifier": "t_bool",
  65559. "typeString": "bool"
  65560. }
  65561. },
  65562. "visibility": "internal"
  65563. }
  65564. ],
  65565. "src": "41107:48:50"
  65566. },
  65567. "returnParameters": {
  65568. "id": 12006,
  65569. "nodeType": "ParameterList",
  65570. "parameters": [],
  65571. "src": "41170:0:50"
  65572. },
  65573. "scope": 15355,
  65574. "stateMutability": "pure",
  65575. "virtual": false,
  65576. "visibility": "internal"
  65577. },
  65578. {
  65579. "id": 12042,
  65580. "nodeType": "FunctionDefinition",
  65581. "src": "41282:187:50",
  65582. "nodes": [],
  65583. "body": {
  65584. "id": 12041,
  65585. "nodeType": "Block",
  65586. "src": "41360:109:50",
  65587. "nodes": [],
  65588. "statements": [
  65589. {
  65590. "expression": {
  65591. "arguments": [
  65592. {
  65593. "arguments": [
  65594. {
  65595. "hexValue": "6c6f6728737472696e672c626f6f6c2c616464726573732c6164647265737329",
  65596. "id": 12033,
  65597. "isConstant": false,
  65598. "isLValue": false,
  65599. "isPure": true,
  65600. "kind": "string",
  65601. "lValueRequested": false,
  65602. "nodeType": "Literal",
  65603. "src": "41410:34:50",
  65604. "typeDescriptions": {
  65605. "typeIdentifier": "t_stringliteral_33e9dd1deb33816160eb59d86987de501b214bedbbe3c70103eff4092834b53d",
  65606. "typeString": "literal_string \"log(string,bool,address,address)\""
  65607. },
  65608. "value": "log(string,bool,address,address)"
  65609. },
  65610. {
  65611. "id": 12034,
  65612. "name": "p0",
  65613. "nodeType": "Identifier",
  65614. "overloadedDeclarations": [],
  65615. "referencedDeclaration": 12021,
  65616. "src": "41446:2:50",
  65617. "typeDescriptions": {
  65618. "typeIdentifier": "t_string_memory_ptr",
  65619. "typeString": "string memory"
  65620. }
  65621. },
  65622. {
  65623. "id": 12035,
  65624. "name": "p1",
  65625. "nodeType": "Identifier",
  65626. "overloadedDeclarations": [],
  65627. "referencedDeclaration": 12023,
  65628. "src": "41450:2:50",
  65629. "typeDescriptions": {
  65630. "typeIdentifier": "t_bool",
  65631. "typeString": "bool"
  65632. }
  65633. },
  65634. {
  65635. "id": 12036,
  65636. "name": "p2",
  65637. "nodeType": "Identifier",
  65638. "overloadedDeclarations": [],
  65639. "referencedDeclaration": 12025,
  65640. "src": "41454:2:50",
  65641. "typeDescriptions": {
  65642. "typeIdentifier": "t_address",
  65643. "typeString": "address"
  65644. }
  65645. },
  65646. {
  65647. "id": 12037,
  65648. "name": "p3",
  65649. "nodeType": "Identifier",
  65650. "overloadedDeclarations": [],
  65651. "referencedDeclaration": 12027,
  65652. "src": "41458:2:50",
  65653. "typeDescriptions": {
  65654. "typeIdentifier": "t_address",
  65655. "typeString": "address"
  65656. }
  65657. }
  65658. ],
  65659. "expression": {
  65660. "argumentTypes": [
  65661. {
  65662. "typeIdentifier": "t_stringliteral_33e9dd1deb33816160eb59d86987de501b214bedbbe3c70103eff4092834b53d",
  65663. "typeString": "literal_string \"log(string,bool,address,address)\""
  65664. },
  65665. {
  65666. "typeIdentifier": "t_string_memory_ptr",
  65667. "typeString": "string memory"
  65668. },
  65669. {
  65670. "typeIdentifier": "t_bool",
  65671. "typeString": "bool"
  65672. },
  65673. {
  65674. "typeIdentifier": "t_address",
  65675. "typeString": "address"
  65676. },
  65677. {
  65678. "typeIdentifier": "t_address",
  65679. "typeString": "address"
  65680. }
  65681. ],
  65682. "expression": {
  65683. "id": 12031,
  65684. "name": "abi",
  65685. "nodeType": "Identifier",
  65686. "overloadedDeclarations": [],
  65687. "referencedDeclaration": -1,
  65688. "src": "41386:3:50",
  65689. "typeDescriptions": {
  65690. "typeIdentifier": "t_magic_abi",
  65691. "typeString": "abi"
  65692. }
  65693. },
  65694. "id": 12032,
  65695. "isConstant": false,
  65696. "isLValue": false,
  65697. "isPure": true,
  65698. "lValueRequested": false,
  65699. "memberLocation": "41390:19:50",
  65700. "memberName": "encodeWithSignature",
  65701. "nodeType": "MemberAccess",
  65702. "src": "41386:23:50",
  65703. "typeDescriptions": {
  65704. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  65705. "typeString": "function (string memory) pure returns (bytes memory)"
  65706. }
  65707. },
  65708. "id": 12038,
  65709. "isConstant": false,
  65710. "isLValue": false,
  65711. "isPure": false,
  65712. "kind": "functionCall",
  65713. "lValueRequested": false,
  65714. "nameLocations": [],
  65715. "names": [],
  65716. "nodeType": "FunctionCall",
  65717. "src": "41386:75:50",
  65718. "tryCall": false,
  65719. "typeDescriptions": {
  65720. "typeIdentifier": "t_bytes_memory_ptr",
  65721. "typeString": "bytes memory"
  65722. }
  65723. }
  65724. ],
  65725. "expression": {
  65726. "argumentTypes": [
  65727. {
  65728. "typeIdentifier": "t_bytes_memory_ptr",
  65729. "typeString": "bytes memory"
  65730. }
  65731. ],
  65732. "id": 12030,
  65733. "name": "_sendLogPayload",
  65734. "nodeType": "Identifier",
  65735. "overloadedDeclarations": [],
  65736. "referencedDeclaration": 7315,
  65737. "src": "41370:15:50",
  65738. "typeDescriptions": {
  65739. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  65740. "typeString": "function (bytes memory) pure"
  65741. }
  65742. },
  65743. "id": 12039,
  65744. "isConstant": false,
  65745. "isLValue": false,
  65746. "isPure": false,
  65747. "kind": "functionCall",
  65748. "lValueRequested": false,
  65749. "nameLocations": [],
  65750. "names": [],
  65751. "nodeType": "FunctionCall",
  65752. "src": "41370:92:50",
  65753. "tryCall": false,
  65754. "typeDescriptions": {
  65755. "typeIdentifier": "t_tuple$__$",
  65756. "typeString": "tuple()"
  65757. }
  65758. },
  65759. "id": 12040,
  65760. "nodeType": "ExpressionStatement",
  65761. "src": "41370:92:50"
  65762. }
  65763. ]
  65764. },
  65765. "implemented": true,
  65766. "kind": "function",
  65767. "modifiers": [],
  65768. "name": "log",
  65769. "nameLocation": "41291:3:50",
  65770. "parameters": {
  65771. "id": 12028,
  65772. "nodeType": "ParameterList",
  65773. "parameters": [
  65774. {
  65775. "constant": false,
  65776. "id": 12021,
  65777. "mutability": "mutable",
  65778. "name": "p0",
  65779. "nameLocation": "41309:2:50",
  65780. "nodeType": "VariableDeclaration",
  65781. "scope": 12042,
  65782. "src": "41295:16:50",
  65783. "stateVariable": false,
  65784. "storageLocation": "memory",
  65785. "typeDescriptions": {
  65786. "typeIdentifier": "t_string_memory_ptr",
  65787. "typeString": "string"
  65788. },
  65789. "typeName": {
  65790. "id": 12020,
  65791. "name": "string",
  65792. "nodeType": "ElementaryTypeName",
  65793. "src": "41295:6:50",
  65794. "typeDescriptions": {
  65795. "typeIdentifier": "t_string_storage_ptr",
  65796. "typeString": "string"
  65797. }
  65798. },
  65799. "visibility": "internal"
  65800. },
  65801. {
  65802. "constant": false,
  65803. "id": 12023,
  65804. "mutability": "mutable",
  65805. "name": "p1",
  65806. "nameLocation": "41318:2:50",
  65807. "nodeType": "VariableDeclaration",
  65808. "scope": 12042,
  65809. "src": "41313:7:50",
  65810. "stateVariable": false,
  65811. "storageLocation": "default",
  65812. "typeDescriptions": {
  65813. "typeIdentifier": "t_bool",
  65814. "typeString": "bool"
  65815. },
  65816. "typeName": {
  65817. "id": 12022,
  65818. "name": "bool",
  65819. "nodeType": "ElementaryTypeName",
  65820. "src": "41313:4:50",
  65821. "typeDescriptions": {
  65822. "typeIdentifier": "t_bool",
  65823. "typeString": "bool"
  65824. }
  65825. },
  65826. "visibility": "internal"
  65827. },
  65828. {
  65829. "constant": false,
  65830. "id": 12025,
  65831. "mutability": "mutable",
  65832. "name": "p2",
  65833. "nameLocation": "41330:2:50",
  65834. "nodeType": "VariableDeclaration",
  65835. "scope": 12042,
  65836. "src": "41322:10:50",
  65837. "stateVariable": false,
  65838. "storageLocation": "default",
  65839. "typeDescriptions": {
  65840. "typeIdentifier": "t_address",
  65841. "typeString": "address"
  65842. },
  65843. "typeName": {
  65844. "id": 12024,
  65845. "name": "address",
  65846. "nodeType": "ElementaryTypeName",
  65847. "src": "41322:7:50",
  65848. "stateMutability": "nonpayable",
  65849. "typeDescriptions": {
  65850. "typeIdentifier": "t_address",
  65851. "typeString": "address"
  65852. }
  65853. },
  65854. "visibility": "internal"
  65855. },
  65856. {
  65857. "constant": false,
  65858. "id": 12027,
  65859. "mutability": "mutable",
  65860. "name": "p3",
  65861. "nameLocation": "41342:2:50",
  65862. "nodeType": "VariableDeclaration",
  65863. "scope": 12042,
  65864. "src": "41334:10:50",
  65865. "stateVariable": false,
  65866. "storageLocation": "default",
  65867. "typeDescriptions": {
  65868. "typeIdentifier": "t_address",
  65869. "typeString": "address"
  65870. },
  65871. "typeName": {
  65872. "id": 12026,
  65873. "name": "address",
  65874. "nodeType": "ElementaryTypeName",
  65875. "src": "41334:7:50",
  65876. "stateMutability": "nonpayable",
  65877. "typeDescriptions": {
  65878. "typeIdentifier": "t_address",
  65879. "typeString": "address"
  65880. }
  65881. },
  65882. "visibility": "internal"
  65883. }
  65884. ],
  65885. "src": "41294:51:50"
  65886. },
  65887. "returnParameters": {
  65888. "id": 12029,
  65889. "nodeType": "ParameterList",
  65890. "parameters": [],
  65891. "src": "41360:0:50"
  65892. },
  65893. "scope": 15355,
  65894. "stateMutability": "pure",
  65895. "virtual": false,
  65896. "visibility": "internal"
  65897. },
  65898. {
  65899. "id": 12065,
  65900. "nodeType": "FunctionDefinition",
  65901. "src": "41475:193:50",
  65902. "nodes": [],
  65903. "body": {
  65904. "id": 12064,
  65905. "nodeType": "Block",
  65906. "src": "41556:112:50",
  65907. "nodes": [],
  65908. "statements": [
  65909. {
  65910. "expression": {
  65911. "arguments": [
  65912. {
  65913. "arguments": [
  65914. {
  65915. "hexValue": "6c6f6728737472696e672c616464726573732c75696e743235362c75696e7432353629",
  65916. "id": 12056,
  65917. "isConstant": false,
  65918. "isLValue": false,
  65919. "isPure": true,
  65920. "kind": "string",
  65921. "lValueRequested": false,
  65922. "nodeType": "Literal",
  65923. "src": "41606:37:50",
  65924. "typeDescriptions": {
  65925. "typeIdentifier": "t_stringliteral_f8f51b1efa50f24f22e6d84ce2fe784a33e1301484ada1546e913ae05d6370e9",
  65926. "typeString": "literal_string \"log(string,address,uint256,uint256)\""
  65927. },
  65928. "value": "log(string,address,uint256,uint256)"
  65929. },
  65930. {
  65931. "id": 12057,
  65932. "name": "p0",
  65933. "nodeType": "Identifier",
  65934. "overloadedDeclarations": [],
  65935. "referencedDeclaration": 12044,
  65936. "src": "41645:2:50",
  65937. "typeDescriptions": {
  65938. "typeIdentifier": "t_string_memory_ptr",
  65939. "typeString": "string memory"
  65940. }
  65941. },
  65942. {
  65943. "id": 12058,
  65944. "name": "p1",
  65945. "nodeType": "Identifier",
  65946. "overloadedDeclarations": [],
  65947. "referencedDeclaration": 12046,
  65948. "src": "41649:2:50",
  65949. "typeDescriptions": {
  65950. "typeIdentifier": "t_address",
  65951. "typeString": "address"
  65952. }
  65953. },
  65954. {
  65955. "id": 12059,
  65956. "name": "p2",
  65957. "nodeType": "Identifier",
  65958. "overloadedDeclarations": [],
  65959. "referencedDeclaration": 12048,
  65960. "src": "41653:2:50",
  65961. "typeDescriptions": {
  65962. "typeIdentifier": "t_uint256",
  65963. "typeString": "uint256"
  65964. }
  65965. },
  65966. {
  65967. "id": 12060,
  65968. "name": "p3",
  65969. "nodeType": "Identifier",
  65970. "overloadedDeclarations": [],
  65971. "referencedDeclaration": 12050,
  65972. "src": "41657:2:50",
  65973. "typeDescriptions": {
  65974. "typeIdentifier": "t_uint256",
  65975. "typeString": "uint256"
  65976. }
  65977. }
  65978. ],
  65979. "expression": {
  65980. "argumentTypes": [
  65981. {
  65982. "typeIdentifier": "t_stringliteral_f8f51b1efa50f24f22e6d84ce2fe784a33e1301484ada1546e913ae05d6370e9",
  65983. "typeString": "literal_string \"log(string,address,uint256,uint256)\""
  65984. },
  65985. {
  65986. "typeIdentifier": "t_string_memory_ptr",
  65987. "typeString": "string memory"
  65988. },
  65989. {
  65990. "typeIdentifier": "t_address",
  65991. "typeString": "address"
  65992. },
  65993. {
  65994. "typeIdentifier": "t_uint256",
  65995. "typeString": "uint256"
  65996. },
  65997. {
  65998. "typeIdentifier": "t_uint256",
  65999. "typeString": "uint256"
  66000. }
  66001. ],
  66002. "expression": {
  66003. "id": 12054,
  66004. "name": "abi",
  66005. "nodeType": "Identifier",
  66006. "overloadedDeclarations": [],
  66007. "referencedDeclaration": -1,
  66008. "src": "41582:3:50",
  66009. "typeDescriptions": {
  66010. "typeIdentifier": "t_magic_abi",
  66011. "typeString": "abi"
  66012. }
  66013. },
  66014. "id": 12055,
  66015. "isConstant": false,
  66016. "isLValue": false,
  66017. "isPure": true,
  66018. "lValueRequested": false,
  66019. "memberLocation": "41586:19:50",
  66020. "memberName": "encodeWithSignature",
  66021. "nodeType": "MemberAccess",
  66022. "src": "41582:23:50",
  66023. "typeDescriptions": {
  66024. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  66025. "typeString": "function (string memory) pure returns (bytes memory)"
  66026. }
  66027. },
  66028. "id": 12061,
  66029. "isConstant": false,
  66030. "isLValue": false,
  66031. "isPure": false,
  66032. "kind": "functionCall",
  66033. "lValueRequested": false,
  66034. "nameLocations": [],
  66035. "names": [],
  66036. "nodeType": "FunctionCall",
  66037. "src": "41582:78:50",
  66038. "tryCall": false,
  66039. "typeDescriptions": {
  66040. "typeIdentifier": "t_bytes_memory_ptr",
  66041. "typeString": "bytes memory"
  66042. }
  66043. }
  66044. ],
  66045. "expression": {
  66046. "argumentTypes": [
  66047. {
  66048. "typeIdentifier": "t_bytes_memory_ptr",
  66049. "typeString": "bytes memory"
  66050. }
  66051. ],
  66052. "id": 12053,
  66053. "name": "_sendLogPayload",
  66054. "nodeType": "Identifier",
  66055. "overloadedDeclarations": [],
  66056. "referencedDeclaration": 7315,
  66057. "src": "41566:15:50",
  66058. "typeDescriptions": {
  66059. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  66060. "typeString": "function (bytes memory) pure"
  66061. }
  66062. },
  66063. "id": 12062,
  66064. "isConstant": false,
  66065. "isLValue": false,
  66066. "isPure": false,
  66067. "kind": "functionCall",
  66068. "lValueRequested": false,
  66069. "nameLocations": [],
  66070. "names": [],
  66071. "nodeType": "FunctionCall",
  66072. "src": "41566:95:50",
  66073. "tryCall": false,
  66074. "typeDescriptions": {
  66075. "typeIdentifier": "t_tuple$__$",
  66076. "typeString": "tuple()"
  66077. }
  66078. },
  66079. "id": 12063,
  66080. "nodeType": "ExpressionStatement",
  66081. "src": "41566:95:50"
  66082. }
  66083. ]
  66084. },
  66085. "implemented": true,
  66086. "kind": "function",
  66087. "modifiers": [],
  66088. "name": "log",
  66089. "nameLocation": "41484:3:50",
  66090. "parameters": {
  66091. "id": 12051,
  66092. "nodeType": "ParameterList",
  66093. "parameters": [
  66094. {
  66095. "constant": false,
  66096. "id": 12044,
  66097. "mutability": "mutable",
  66098. "name": "p0",
  66099. "nameLocation": "41502:2:50",
  66100. "nodeType": "VariableDeclaration",
  66101. "scope": 12065,
  66102. "src": "41488:16:50",
  66103. "stateVariable": false,
  66104. "storageLocation": "memory",
  66105. "typeDescriptions": {
  66106. "typeIdentifier": "t_string_memory_ptr",
  66107. "typeString": "string"
  66108. },
  66109. "typeName": {
  66110. "id": 12043,
  66111. "name": "string",
  66112. "nodeType": "ElementaryTypeName",
  66113. "src": "41488:6:50",
  66114. "typeDescriptions": {
  66115. "typeIdentifier": "t_string_storage_ptr",
  66116. "typeString": "string"
  66117. }
  66118. },
  66119. "visibility": "internal"
  66120. },
  66121. {
  66122. "constant": false,
  66123. "id": 12046,
  66124. "mutability": "mutable",
  66125. "name": "p1",
  66126. "nameLocation": "41514:2:50",
  66127. "nodeType": "VariableDeclaration",
  66128. "scope": 12065,
  66129. "src": "41506:10:50",
  66130. "stateVariable": false,
  66131. "storageLocation": "default",
  66132. "typeDescriptions": {
  66133. "typeIdentifier": "t_address",
  66134. "typeString": "address"
  66135. },
  66136. "typeName": {
  66137. "id": 12045,
  66138. "name": "address",
  66139. "nodeType": "ElementaryTypeName",
  66140. "src": "41506:7:50",
  66141. "stateMutability": "nonpayable",
  66142. "typeDescriptions": {
  66143. "typeIdentifier": "t_address",
  66144. "typeString": "address"
  66145. }
  66146. },
  66147. "visibility": "internal"
  66148. },
  66149. {
  66150. "constant": false,
  66151. "id": 12048,
  66152. "mutability": "mutable",
  66153. "name": "p2",
  66154. "nameLocation": "41526:2:50",
  66155. "nodeType": "VariableDeclaration",
  66156. "scope": 12065,
  66157. "src": "41518:10:50",
  66158. "stateVariable": false,
  66159. "storageLocation": "default",
  66160. "typeDescriptions": {
  66161. "typeIdentifier": "t_uint256",
  66162. "typeString": "uint256"
  66163. },
  66164. "typeName": {
  66165. "id": 12047,
  66166. "name": "uint256",
  66167. "nodeType": "ElementaryTypeName",
  66168. "src": "41518:7:50",
  66169. "typeDescriptions": {
  66170. "typeIdentifier": "t_uint256",
  66171. "typeString": "uint256"
  66172. }
  66173. },
  66174. "visibility": "internal"
  66175. },
  66176. {
  66177. "constant": false,
  66178. "id": 12050,
  66179. "mutability": "mutable",
  66180. "name": "p3",
  66181. "nameLocation": "41538:2:50",
  66182. "nodeType": "VariableDeclaration",
  66183. "scope": 12065,
  66184. "src": "41530:10:50",
  66185. "stateVariable": false,
  66186. "storageLocation": "default",
  66187. "typeDescriptions": {
  66188. "typeIdentifier": "t_uint256",
  66189. "typeString": "uint256"
  66190. },
  66191. "typeName": {
  66192. "id": 12049,
  66193. "name": "uint256",
  66194. "nodeType": "ElementaryTypeName",
  66195. "src": "41530:7:50",
  66196. "typeDescriptions": {
  66197. "typeIdentifier": "t_uint256",
  66198. "typeString": "uint256"
  66199. }
  66200. },
  66201. "visibility": "internal"
  66202. }
  66203. ],
  66204. "src": "41487:54:50"
  66205. },
  66206. "returnParameters": {
  66207. "id": 12052,
  66208. "nodeType": "ParameterList",
  66209. "parameters": [],
  66210. "src": "41556:0:50"
  66211. },
  66212. "scope": 15355,
  66213. "stateMutability": "pure",
  66214. "virtual": false,
  66215. "visibility": "internal"
  66216. },
  66217. {
  66218. "id": 12088,
  66219. "nodeType": "FunctionDefinition",
  66220. "src": "41674:198:50",
  66221. "nodes": [],
  66222. "body": {
  66223. "id": 12087,
  66224. "nodeType": "Block",
  66225. "src": "41761:111:50",
  66226. "nodes": [],
  66227. "statements": [
  66228. {
  66229. "expression": {
  66230. "arguments": [
  66231. {
  66232. "arguments": [
  66233. {
  66234. "hexValue": "6c6f6728737472696e672c616464726573732c75696e743235362c737472696e6729",
  66235. "id": 12079,
  66236. "isConstant": false,
  66237. "isLValue": false,
  66238. "isPure": true,
  66239. "kind": "string",
  66240. "lValueRequested": false,
  66241. "nodeType": "Literal",
  66242. "src": "41811:36:50",
  66243. "typeDescriptions": {
  66244. "typeIdentifier": "t_stringliteral_5a477632ed0f8b7872a83c9247644de555db395491f2f355c6edb676d8bcb46c",
  66245. "typeString": "literal_string \"log(string,address,uint256,string)\""
  66246. },
  66247. "value": "log(string,address,uint256,string)"
  66248. },
  66249. {
  66250. "id": 12080,
  66251. "name": "p0",
  66252. "nodeType": "Identifier",
  66253. "overloadedDeclarations": [],
  66254. "referencedDeclaration": 12067,
  66255. "src": "41849:2:50",
  66256. "typeDescriptions": {
  66257. "typeIdentifier": "t_string_memory_ptr",
  66258. "typeString": "string memory"
  66259. }
  66260. },
  66261. {
  66262. "id": 12081,
  66263. "name": "p1",
  66264. "nodeType": "Identifier",
  66265. "overloadedDeclarations": [],
  66266. "referencedDeclaration": 12069,
  66267. "src": "41853:2:50",
  66268. "typeDescriptions": {
  66269. "typeIdentifier": "t_address",
  66270. "typeString": "address"
  66271. }
  66272. },
  66273. {
  66274. "id": 12082,
  66275. "name": "p2",
  66276. "nodeType": "Identifier",
  66277. "overloadedDeclarations": [],
  66278. "referencedDeclaration": 12071,
  66279. "src": "41857:2:50",
  66280. "typeDescriptions": {
  66281. "typeIdentifier": "t_uint256",
  66282. "typeString": "uint256"
  66283. }
  66284. },
  66285. {
  66286. "id": 12083,
  66287. "name": "p3",
  66288. "nodeType": "Identifier",
  66289. "overloadedDeclarations": [],
  66290. "referencedDeclaration": 12073,
  66291. "src": "41861:2:50",
  66292. "typeDescriptions": {
  66293. "typeIdentifier": "t_string_memory_ptr",
  66294. "typeString": "string memory"
  66295. }
  66296. }
  66297. ],
  66298. "expression": {
  66299. "argumentTypes": [
  66300. {
  66301. "typeIdentifier": "t_stringliteral_5a477632ed0f8b7872a83c9247644de555db395491f2f355c6edb676d8bcb46c",
  66302. "typeString": "literal_string \"log(string,address,uint256,string)\""
  66303. },
  66304. {
  66305. "typeIdentifier": "t_string_memory_ptr",
  66306. "typeString": "string memory"
  66307. },
  66308. {
  66309. "typeIdentifier": "t_address",
  66310. "typeString": "address"
  66311. },
  66312. {
  66313. "typeIdentifier": "t_uint256",
  66314. "typeString": "uint256"
  66315. },
  66316. {
  66317. "typeIdentifier": "t_string_memory_ptr",
  66318. "typeString": "string memory"
  66319. }
  66320. ],
  66321. "expression": {
  66322. "id": 12077,
  66323. "name": "abi",
  66324. "nodeType": "Identifier",
  66325. "overloadedDeclarations": [],
  66326. "referencedDeclaration": -1,
  66327. "src": "41787:3:50",
  66328. "typeDescriptions": {
  66329. "typeIdentifier": "t_magic_abi",
  66330. "typeString": "abi"
  66331. }
  66332. },
  66333. "id": 12078,
  66334. "isConstant": false,
  66335. "isLValue": false,
  66336. "isPure": true,
  66337. "lValueRequested": false,
  66338. "memberLocation": "41791:19:50",
  66339. "memberName": "encodeWithSignature",
  66340. "nodeType": "MemberAccess",
  66341. "src": "41787:23:50",
  66342. "typeDescriptions": {
  66343. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  66344. "typeString": "function (string memory) pure returns (bytes memory)"
  66345. }
  66346. },
  66347. "id": 12084,
  66348. "isConstant": false,
  66349. "isLValue": false,
  66350. "isPure": false,
  66351. "kind": "functionCall",
  66352. "lValueRequested": false,
  66353. "nameLocations": [],
  66354. "names": [],
  66355. "nodeType": "FunctionCall",
  66356. "src": "41787:77:50",
  66357. "tryCall": false,
  66358. "typeDescriptions": {
  66359. "typeIdentifier": "t_bytes_memory_ptr",
  66360. "typeString": "bytes memory"
  66361. }
  66362. }
  66363. ],
  66364. "expression": {
  66365. "argumentTypes": [
  66366. {
  66367. "typeIdentifier": "t_bytes_memory_ptr",
  66368. "typeString": "bytes memory"
  66369. }
  66370. ],
  66371. "id": 12076,
  66372. "name": "_sendLogPayload",
  66373. "nodeType": "Identifier",
  66374. "overloadedDeclarations": [],
  66375. "referencedDeclaration": 7315,
  66376. "src": "41771:15:50",
  66377. "typeDescriptions": {
  66378. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  66379. "typeString": "function (bytes memory) pure"
  66380. }
  66381. },
  66382. "id": 12085,
  66383. "isConstant": false,
  66384. "isLValue": false,
  66385. "isPure": false,
  66386. "kind": "functionCall",
  66387. "lValueRequested": false,
  66388. "nameLocations": [],
  66389. "names": [],
  66390. "nodeType": "FunctionCall",
  66391. "src": "41771:94:50",
  66392. "tryCall": false,
  66393. "typeDescriptions": {
  66394. "typeIdentifier": "t_tuple$__$",
  66395. "typeString": "tuple()"
  66396. }
  66397. },
  66398. "id": 12086,
  66399. "nodeType": "ExpressionStatement",
  66400. "src": "41771:94:50"
  66401. }
  66402. ]
  66403. },
  66404. "implemented": true,
  66405. "kind": "function",
  66406. "modifiers": [],
  66407. "name": "log",
  66408. "nameLocation": "41683:3:50",
  66409. "parameters": {
  66410. "id": 12074,
  66411. "nodeType": "ParameterList",
  66412. "parameters": [
  66413. {
  66414. "constant": false,
  66415. "id": 12067,
  66416. "mutability": "mutable",
  66417. "name": "p0",
  66418. "nameLocation": "41701:2:50",
  66419. "nodeType": "VariableDeclaration",
  66420. "scope": 12088,
  66421. "src": "41687:16:50",
  66422. "stateVariable": false,
  66423. "storageLocation": "memory",
  66424. "typeDescriptions": {
  66425. "typeIdentifier": "t_string_memory_ptr",
  66426. "typeString": "string"
  66427. },
  66428. "typeName": {
  66429. "id": 12066,
  66430. "name": "string",
  66431. "nodeType": "ElementaryTypeName",
  66432. "src": "41687:6:50",
  66433. "typeDescriptions": {
  66434. "typeIdentifier": "t_string_storage_ptr",
  66435. "typeString": "string"
  66436. }
  66437. },
  66438. "visibility": "internal"
  66439. },
  66440. {
  66441. "constant": false,
  66442. "id": 12069,
  66443. "mutability": "mutable",
  66444. "name": "p1",
  66445. "nameLocation": "41713:2:50",
  66446. "nodeType": "VariableDeclaration",
  66447. "scope": 12088,
  66448. "src": "41705:10:50",
  66449. "stateVariable": false,
  66450. "storageLocation": "default",
  66451. "typeDescriptions": {
  66452. "typeIdentifier": "t_address",
  66453. "typeString": "address"
  66454. },
  66455. "typeName": {
  66456. "id": 12068,
  66457. "name": "address",
  66458. "nodeType": "ElementaryTypeName",
  66459. "src": "41705:7:50",
  66460. "stateMutability": "nonpayable",
  66461. "typeDescriptions": {
  66462. "typeIdentifier": "t_address",
  66463. "typeString": "address"
  66464. }
  66465. },
  66466. "visibility": "internal"
  66467. },
  66468. {
  66469. "constant": false,
  66470. "id": 12071,
  66471. "mutability": "mutable",
  66472. "name": "p2",
  66473. "nameLocation": "41725:2:50",
  66474. "nodeType": "VariableDeclaration",
  66475. "scope": 12088,
  66476. "src": "41717:10:50",
  66477. "stateVariable": false,
  66478. "storageLocation": "default",
  66479. "typeDescriptions": {
  66480. "typeIdentifier": "t_uint256",
  66481. "typeString": "uint256"
  66482. },
  66483. "typeName": {
  66484. "id": 12070,
  66485. "name": "uint256",
  66486. "nodeType": "ElementaryTypeName",
  66487. "src": "41717:7:50",
  66488. "typeDescriptions": {
  66489. "typeIdentifier": "t_uint256",
  66490. "typeString": "uint256"
  66491. }
  66492. },
  66493. "visibility": "internal"
  66494. },
  66495. {
  66496. "constant": false,
  66497. "id": 12073,
  66498. "mutability": "mutable",
  66499. "name": "p3",
  66500. "nameLocation": "41743:2:50",
  66501. "nodeType": "VariableDeclaration",
  66502. "scope": 12088,
  66503. "src": "41729:16:50",
  66504. "stateVariable": false,
  66505. "storageLocation": "memory",
  66506. "typeDescriptions": {
  66507. "typeIdentifier": "t_string_memory_ptr",
  66508. "typeString": "string"
  66509. },
  66510. "typeName": {
  66511. "id": 12072,
  66512. "name": "string",
  66513. "nodeType": "ElementaryTypeName",
  66514. "src": "41729:6:50",
  66515. "typeDescriptions": {
  66516. "typeIdentifier": "t_string_storage_ptr",
  66517. "typeString": "string"
  66518. }
  66519. },
  66520. "visibility": "internal"
  66521. }
  66522. ],
  66523. "src": "41686:60:50"
  66524. },
  66525. "returnParameters": {
  66526. "id": 12075,
  66527. "nodeType": "ParameterList",
  66528. "parameters": [],
  66529. "src": "41761:0:50"
  66530. },
  66531. "scope": 15355,
  66532. "stateMutability": "pure",
  66533. "virtual": false,
  66534. "visibility": "internal"
  66535. },
  66536. {
  66537. "id": 12111,
  66538. "nodeType": "FunctionDefinition",
  66539. "src": "41878:187:50",
  66540. "nodes": [],
  66541. "body": {
  66542. "id": 12110,
  66543. "nodeType": "Block",
  66544. "src": "41956:109:50",
  66545. "nodes": [],
  66546. "statements": [
  66547. {
  66548. "expression": {
  66549. "arguments": [
  66550. {
  66551. "arguments": [
  66552. {
  66553. "hexValue": "6c6f6728737472696e672c616464726573732c75696e743235362c626f6f6c29",
  66554. "id": 12102,
  66555. "isConstant": false,
  66556. "isLValue": false,
  66557. "isPure": true,
  66558. "kind": "string",
  66559. "lValueRequested": false,
  66560. "nodeType": "Literal",
  66561. "src": "42006:34:50",
  66562. "typeDescriptions": {
  66563. "typeIdentifier": "t_stringliteral_fc4845f029f76ed29f7b800fe92a7851214073a807806d7d808676b2cbe7a1c7",
  66564. "typeString": "literal_string \"log(string,address,uint256,bool)\""
  66565. },
  66566. "value": "log(string,address,uint256,bool)"
  66567. },
  66568. {
  66569. "id": 12103,
  66570. "name": "p0",
  66571. "nodeType": "Identifier",
  66572. "overloadedDeclarations": [],
  66573. "referencedDeclaration": 12090,
  66574. "src": "42042:2:50",
  66575. "typeDescriptions": {
  66576. "typeIdentifier": "t_string_memory_ptr",
  66577. "typeString": "string memory"
  66578. }
  66579. },
  66580. {
  66581. "id": 12104,
  66582. "name": "p1",
  66583. "nodeType": "Identifier",
  66584. "overloadedDeclarations": [],
  66585. "referencedDeclaration": 12092,
  66586. "src": "42046:2:50",
  66587. "typeDescriptions": {
  66588. "typeIdentifier": "t_address",
  66589. "typeString": "address"
  66590. }
  66591. },
  66592. {
  66593. "id": 12105,
  66594. "name": "p2",
  66595. "nodeType": "Identifier",
  66596. "overloadedDeclarations": [],
  66597. "referencedDeclaration": 12094,
  66598. "src": "42050:2:50",
  66599. "typeDescriptions": {
  66600. "typeIdentifier": "t_uint256",
  66601. "typeString": "uint256"
  66602. }
  66603. },
  66604. {
  66605. "id": 12106,
  66606. "name": "p3",
  66607. "nodeType": "Identifier",
  66608. "overloadedDeclarations": [],
  66609. "referencedDeclaration": 12096,
  66610. "src": "42054:2:50",
  66611. "typeDescriptions": {
  66612. "typeIdentifier": "t_bool",
  66613. "typeString": "bool"
  66614. }
  66615. }
  66616. ],
  66617. "expression": {
  66618. "argumentTypes": [
  66619. {
  66620. "typeIdentifier": "t_stringliteral_fc4845f029f76ed29f7b800fe92a7851214073a807806d7d808676b2cbe7a1c7",
  66621. "typeString": "literal_string \"log(string,address,uint256,bool)\""
  66622. },
  66623. {
  66624. "typeIdentifier": "t_string_memory_ptr",
  66625. "typeString": "string memory"
  66626. },
  66627. {
  66628. "typeIdentifier": "t_address",
  66629. "typeString": "address"
  66630. },
  66631. {
  66632. "typeIdentifier": "t_uint256",
  66633. "typeString": "uint256"
  66634. },
  66635. {
  66636. "typeIdentifier": "t_bool",
  66637. "typeString": "bool"
  66638. }
  66639. ],
  66640. "expression": {
  66641. "id": 12100,
  66642. "name": "abi",
  66643. "nodeType": "Identifier",
  66644. "overloadedDeclarations": [],
  66645. "referencedDeclaration": -1,
  66646. "src": "41982:3:50",
  66647. "typeDescriptions": {
  66648. "typeIdentifier": "t_magic_abi",
  66649. "typeString": "abi"
  66650. }
  66651. },
  66652. "id": 12101,
  66653. "isConstant": false,
  66654. "isLValue": false,
  66655. "isPure": true,
  66656. "lValueRequested": false,
  66657. "memberLocation": "41986:19:50",
  66658. "memberName": "encodeWithSignature",
  66659. "nodeType": "MemberAccess",
  66660. "src": "41982:23:50",
  66661. "typeDescriptions": {
  66662. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  66663. "typeString": "function (string memory) pure returns (bytes memory)"
  66664. }
  66665. },
  66666. "id": 12107,
  66667. "isConstant": false,
  66668. "isLValue": false,
  66669. "isPure": false,
  66670. "kind": "functionCall",
  66671. "lValueRequested": false,
  66672. "nameLocations": [],
  66673. "names": [],
  66674. "nodeType": "FunctionCall",
  66675. "src": "41982:75:50",
  66676. "tryCall": false,
  66677. "typeDescriptions": {
  66678. "typeIdentifier": "t_bytes_memory_ptr",
  66679. "typeString": "bytes memory"
  66680. }
  66681. }
  66682. ],
  66683. "expression": {
  66684. "argumentTypes": [
  66685. {
  66686. "typeIdentifier": "t_bytes_memory_ptr",
  66687. "typeString": "bytes memory"
  66688. }
  66689. ],
  66690. "id": 12099,
  66691. "name": "_sendLogPayload",
  66692. "nodeType": "Identifier",
  66693. "overloadedDeclarations": [],
  66694. "referencedDeclaration": 7315,
  66695. "src": "41966:15:50",
  66696. "typeDescriptions": {
  66697. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  66698. "typeString": "function (bytes memory) pure"
  66699. }
  66700. },
  66701. "id": 12108,
  66702. "isConstant": false,
  66703. "isLValue": false,
  66704. "isPure": false,
  66705. "kind": "functionCall",
  66706. "lValueRequested": false,
  66707. "nameLocations": [],
  66708. "names": [],
  66709. "nodeType": "FunctionCall",
  66710. "src": "41966:92:50",
  66711. "tryCall": false,
  66712. "typeDescriptions": {
  66713. "typeIdentifier": "t_tuple$__$",
  66714. "typeString": "tuple()"
  66715. }
  66716. },
  66717. "id": 12109,
  66718. "nodeType": "ExpressionStatement",
  66719. "src": "41966:92:50"
  66720. }
  66721. ]
  66722. },
  66723. "implemented": true,
  66724. "kind": "function",
  66725. "modifiers": [],
  66726. "name": "log",
  66727. "nameLocation": "41887:3:50",
  66728. "parameters": {
  66729. "id": 12097,
  66730. "nodeType": "ParameterList",
  66731. "parameters": [
  66732. {
  66733. "constant": false,
  66734. "id": 12090,
  66735. "mutability": "mutable",
  66736. "name": "p0",
  66737. "nameLocation": "41905:2:50",
  66738. "nodeType": "VariableDeclaration",
  66739. "scope": 12111,
  66740. "src": "41891:16:50",
  66741. "stateVariable": false,
  66742. "storageLocation": "memory",
  66743. "typeDescriptions": {
  66744. "typeIdentifier": "t_string_memory_ptr",
  66745. "typeString": "string"
  66746. },
  66747. "typeName": {
  66748. "id": 12089,
  66749. "name": "string",
  66750. "nodeType": "ElementaryTypeName",
  66751. "src": "41891:6:50",
  66752. "typeDescriptions": {
  66753. "typeIdentifier": "t_string_storage_ptr",
  66754. "typeString": "string"
  66755. }
  66756. },
  66757. "visibility": "internal"
  66758. },
  66759. {
  66760. "constant": false,
  66761. "id": 12092,
  66762. "mutability": "mutable",
  66763. "name": "p1",
  66764. "nameLocation": "41917:2:50",
  66765. "nodeType": "VariableDeclaration",
  66766. "scope": 12111,
  66767. "src": "41909:10:50",
  66768. "stateVariable": false,
  66769. "storageLocation": "default",
  66770. "typeDescriptions": {
  66771. "typeIdentifier": "t_address",
  66772. "typeString": "address"
  66773. },
  66774. "typeName": {
  66775. "id": 12091,
  66776. "name": "address",
  66777. "nodeType": "ElementaryTypeName",
  66778. "src": "41909:7:50",
  66779. "stateMutability": "nonpayable",
  66780. "typeDescriptions": {
  66781. "typeIdentifier": "t_address",
  66782. "typeString": "address"
  66783. }
  66784. },
  66785. "visibility": "internal"
  66786. },
  66787. {
  66788. "constant": false,
  66789. "id": 12094,
  66790. "mutability": "mutable",
  66791. "name": "p2",
  66792. "nameLocation": "41929:2:50",
  66793. "nodeType": "VariableDeclaration",
  66794. "scope": 12111,
  66795. "src": "41921:10:50",
  66796. "stateVariable": false,
  66797. "storageLocation": "default",
  66798. "typeDescriptions": {
  66799. "typeIdentifier": "t_uint256",
  66800. "typeString": "uint256"
  66801. },
  66802. "typeName": {
  66803. "id": 12093,
  66804. "name": "uint256",
  66805. "nodeType": "ElementaryTypeName",
  66806. "src": "41921:7:50",
  66807. "typeDescriptions": {
  66808. "typeIdentifier": "t_uint256",
  66809. "typeString": "uint256"
  66810. }
  66811. },
  66812. "visibility": "internal"
  66813. },
  66814. {
  66815. "constant": false,
  66816. "id": 12096,
  66817. "mutability": "mutable",
  66818. "name": "p3",
  66819. "nameLocation": "41938:2:50",
  66820. "nodeType": "VariableDeclaration",
  66821. "scope": 12111,
  66822. "src": "41933:7:50",
  66823. "stateVariable": false,
  66824. "storageLocation": "default",
  66825. "typeDescriptions": {
  66826. "typeIdentifier": "t_bool",
  66827. "typeString": "bool"
  66828. },
  66829. "typeName": {
  66830. "id": 12095,
  66831. "name": "bool",
  66832. "nodeType": "ElementaryTypeName",
  66833. "src": "41933:4:50",
  66834. "typeDescriptions": {
  66835. "typeIdentifier": "t_bool",
  66836. "typeString": "bool"
  66837. }
  66838. },
  66839. "visibility": "internal"
  66840. }
  66841. ],
  66842. "src": "41890:51:50"
  66843. },
  66844. "returnParameters": {
  66845. "id": 12098,
  66846. "nodeType": "ParameterList",
  66847. "parameters": [],
  66848. "src": "41956:0:50"
  66849. },
  66850. "scope": 15355,
  66851. "stateMutability": "pure",
  66852. "virtual": false,
  66853. "visibility": "internal"
  66854. },
  66855. {
  66856. "id": 12134,
  66857. "nodeType": "FunctionDefinition",
  66858. "src": "42071:193:50",
  66859. "nodes": [],
  66860. "body": {
  66861. "id": 12133,
  66862. "nodeType": "Block",
  66863. "src": "42152:112:50",
  66864. "nodes": [],
  66865. "statements": [
  66866. {
  66867. "expression": {
  66868. "arguments": [
  66869. {
  66870. "arguments": [
  66871. {
  66872. "hexValue": "6c6f6728737472696e672c616464726573732c75696e743235362c6164647265737329",
  66873. "id": 12125,
  66874. "isConstant": false,
  66875. "isLValue": false,
  66876. "isPure": true,
  66877. "kind": "string",
  66878. "lValueRequested": false,
  66879. "nodeType": "Literal",
  66880. "src": "42202:37:50",
  66881. "typeDescriptions": {
  66882. "typeIdentifier": "t_stringliteral_63fb8bc57476e3f2139504feb3fa304f43eeecc15ac8e150b7b3c9fdfa4ea83a",
  66883. "typeString": "literal_string \"log(string,address,uint256,address)\""
  66884. },
  66885. "value": "log(string,address,uint256,address)"
  66886. },
  66887. {
  66888. "id": 12126,
  66889. "name": "p0",
  66890. "nodeType": "Identifier",
  66891. "overloadedDeclarations": [],
  66892. "referencedDeclaration": 12113,
  66893. "src": "42241:2:50",
  66894. "typeDescriptions": {
  66895. "typeIdentifier": "t_string_memory_ptr",
  66896. "typeString": "string memory"
  66897. }
  66898. },
  66899. {
  66900. "id": 12127,
  66901. "name": "p1",
  66902. "nodeType": "Identifier",
  66903. "overloadedDeclarations": [],
  66904. "referencedDeclaration": 12115,
  66905. "src": "42245:2:50",
  66906. "typeDescriptions": {
  66907. "typeIdentifier": "t_address",
  66908. "typeString": "address"
  66909. }
  66910. },
  66911. {
  66912. "id": 12128,
  66913. "name": "p2",
  66914. "nodeType": "Identifier",
  66915. "overloadedDeclarations": [],
  66916. "referencedDeclaration": 12117,
  66917. "src": "42249:2:50",
  66918. "typeDescriptions": {
  66919. "typeIdentifier": "t_uint256",
  66920. "typeString": "uint256"
  66921. }
  66922. },
  66923. {
  66924. "id": 12129,
  66925. "name": "p3",
  66926. "nodeType": "Identifier",
  66927. "overloadedDeclarations": [],
  66928. "referencedDeclaration": 12119,
  66929. "src": "42253:2:50",
  66930. "typeDescriptions": {
  66931. "typeIdentifier": "t_address",
  66932. "typeString": "address"
  66933. }
  66934. }
  66935. ],
  66936. "expression": {
  66937. "argumentTypes": [
  66938. {
  66939. "typeIdentifier": "t_stringliteral_63fb8bc57476e3f2139504feb3fa304f43eeecc15ac8e150b7b3c9fdfa4ea83a",
  66940. "typeString": "literal_string \"log(string,address,uint256,address)\""
  66941. },
  66942. {
  66943. "typeIdentifier": "t_string_memory_ptr",
  66944. "typeString": "string memory"
  66945. },
  66946. {
  66947. "typeIdentifier": "t_address",
  66948. "typeString": "address"
  66949. },
  66950. {
  66951. "typeIdentifier": "t_uint256",
  66952. "typeString": "uint256"
  66953. },
  66954. {
  66955. "typeIdentifier": "t_address",
  66956. "typeString": "address"
  66957. }
  66958. ],
  66959. "expression": {
  66960. "id": 12123,
  66961. "name": "abi",
  66962. "nodeType": "Identifier",
  66963. "overloadedDeclarations": [],
  66964. "referencedDeclaration": -1,
  66965. "src": "42178:3:50",
  66966. "typeDescriptions": {
  66967. "typeIdentifier": "t_magic_abi",
  66968. "typeString": "abi"
  66969. }
  66970. },
  66971. "id": 12124,
  66972. "isConstant": false,
  66973. "isLValue": false,
  66974. "isPure": true,
  66975. "lValueRequested": false,
  66976. "memberLocation": "42182:19:50",
  66977. "memberName": "encodeWithSignature",
  66978. "nodeType": "MemberAccess",
  66979. "src": "42178:23:50",
  66980. "typeDescriptions": {
  66981. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  66982. "typeString": "function (string memory) pure returns (bytes memory)"
  66983. }
  66984. },
  66985. "id": 12130,
  66986. "isConstant": false,
  66987. "isLValue": false,
  66988. "isPure": false,
  66989. "kind": "functionCall",
  66990. "lValueRequested": false,
  66991. "nameLocations": [],
  66992. "names": [],
  66993. "nodeType": "FunctionCall",
  66994. "src": "42178:78:50",
  66995. "tryCall": false,
  66996. "typeDescriptions": {
  66997. "typeIdentifier": "t_bytes_memory_ptr",
  66998. "typeString": "bytes memory"
  66999. }
  67000. }
  67001. ],
  67002. "expression": {
  67003. "argumentTypes": [
  67004. {
  67005. "typeIdentifier": "t_bytes_memory_ptr",
  67006. "typeString": "bytes memory"
  67007. }
  67008. ],
  67009. "id": 12122,
  67010. "name": "_sendLogPayload",
  67011. "nodeType": "Identifier",
  67012. "overloadedDeclarations": [],
  67013. "referencedDeclaration": 7315,
  67014. "src": "42162:15:50",
  67015. "typeDescriptions": {
  67016. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  67017. "typeString": "function (bytes memory) pure"
  67018. }
  67019. },
  67020. "id": 12131,
  67021. "isConstant": false,
  67022. "isLValue": false,
  67023. "isPure": false,
  67024. "kind": "functionCall",
  67025. "lValueRequested": false,
  67026. "nameLocations": [],
  67027. "names": [],
  67028. "nodeType": "FunctionCall",
  67029. "src": "42162:95:50",
  67030. "tryCall": false,
  67031. "typeDescriptions": {
  67032. "typeIdentifier": "t_tuple$__$",
  67033. "typeString": "tuple()"
  67034. }
  67035. },
  67036. "id": 12132,
  67037. "nodeType": "ExpressionStatement",
  67038. "src": "42162:95:50"
  67039. }
  67040. ]
  67041. },
  67042. "implemented": true,
  67043. "kind": "function",
  67044. "modifiers": [],
  67045. "name": "log",
  67046. "nameLocation": "42080:3:50",
  67047. "parameters": {
  67048. "id": 12120,
  67049. "nodeType": "ParameterList",
  67050. "parameters": [
  67051. {
  67052. "constant": false,
  67053. "id": 12113,
  67054. "mutability": "mutable",
  67055. "name": "p0",
  67056. "nameLocation": "42098:2:50",
  67057. "nodeType": "VariableDeclaration",
  67058. "scope": 12134,
  67059. "src": "42084:16:50",
  67060. "stateVariable": false,
  67061. "storageLocation": "memory",
  67062. "typeDescriptions": {
  67063. "typeIdentifier": "t_string_memory_ptr",
  67064. "typeString": "string"
  67065. },
  67066. "typeName": {
  67067. "id": 12112,
  67068. "name": "string",
  67069. "nodeType": "ElementaryTypeName",
  67070. "src": "42084:6:50",
  67071. "typeDescriptions": {
  67072. "typeIdentifier": "t_string_storage_ptr",
  67073. "typeString": "string"
  67074. }
  67075. },
  67076. "visibility": "internal"
  67077. },
  67078. {
  67079. "constant": false,
  67080. "id": 12115,
  67081. "mutability": "mutable",
  67082. "name": "p1",
  67083. "nameLocation": "42110:2:50",
  67084. "nodeType": "VariableDeclaration",
  67085. "scope": 12134,
  67086. "src": "42102:10:50",
  67087. "stateVariable": false,
  67088. "storageLocation": "default",
  67089. "typeDescriptions": {
  67090. "typeIdentifier": "t_address",
  67091. "typeString": "address"
  67092. },
  67093. "typeName": {
  67094. "id": 12114,
  67095. "name": "address",
  67096. "nodeType": "ElementaryTypeName",
  67097. "src": "42102:7:50",
  67098. "stateMutability": "nonpayable",
  67099. "typeDescriptions": {
  67100. "typeIdentifier": "t_address",
  67101. "typeString": "address"
  67102. }
  67103. },
  67104. "visibility": "internal"
  67105. },
  67106. {
  67107. "constant": false,
  67108. "id": 12117,
  67109. "mutability": "mutable",
  67110. "name": "p2",
  67111. "nameLocation": "42122:2:50",
  67112. "nodeType": "VariableDeclaration",
  67113. "scope": 12134,
  67114. "src": "42114:10:50",
  67115. "stateVariable": false,
  67116. "storageLocation": "default",
  67117. "typeDescriptions": {
  67118. "typeIdentifier": "t_uint256",
  67119. "typeString": "uint256"
  67120. },
  67121. "typeName": {
  67122. "id": 12116,
  67123. "name": "uint256",
  67124. "nodeType": "ElementaryTypeName",
  67125. "src": "42114:7:50",
  67126. "typeDescriptions": {
  67127. "typeIdentifier": "t_uint256",
  67128. "typeString": "uint256"
  67129. }
  67130. },
  67131. "visibility": "internal"
  67132. },
  67133. {
  67134. "constant": false,
  67135. "id": 12119,
  67136. "mutability": "mutable",
  67137. "name": "p3",
  67138. "nameLocation": "42134:2:50",
  67139. "nodeType": "VariableDeclaration",
  67140. "scope": 12134,
  67141. "src": "42126:10:50",
  67142. "stateVariable": false,
  67143. "storageLocation": "default",
  67144. "typeDescriptions": {
  67145. "typeIdentifier": "t_address",
  67146. "typeString": "address"
  67147. },
  67148. "typeName": {
  67149. "id": 12118,
  67150. "name": "address",
  67151. "nodeType": "ElementaryTypeName",
  67152. "src": "42126:7:50",
  67153. "stateMutability": "nonpayable",
  67154. "typeDescriptions": {
  67155. "typeIdentifier": "t_address",
  67156. "typeString": "address"
  67157. }
  67158. },
  67159. "visibility": "internal"
  67160. }
  67161. ],
  67162. "src": "42083:54:50"
  67163. },
  67164. "returnParameters": {
  67165. "id": 12121,
  67166. "nodeType": "ParameterList",
  67167. "parameters": [],
  67168. "src": "42152:0:50"
  67169. },
  67170. "scope": 15355,
  67171. "stateMutability": "pure",
  67172. "virtual": false,
  67173. "visibility": "internal"
  67174. },
  67175. {
  67176. "id": 12157,
  67177. "nodeType": "FunctionDefinition",
  67178. "src": "42270:198:50",
  67179. "nodes": [],
  67180. "body": {
  67181. "id": 12156,
  67182. "nodeType": "Block",
  67183. "src": "42357:111:50",
  67184. "nodes": [],
  67185. "statements": [
  67186. {
  67187. "expression": {
  67188. "arguments": [
  67189. {
  67190. "arguments": [
  67191. {
  67192. "hexValue": "6c6f6728737472696e672c616464726573732c737472696e672c75696e7432353629",
  67193. "id": 12148,
  67194. "isConstant": false,
  67195. "isLValue": false,
  67196. "isPure": true,
  67197. "kind": "string",
  67198. "lValueRequested": false,
  67199. "nodeType": "Literal",
  67200. "src": "42407:36:50",
  67201. "typeDescriptions": {
  67202. "typeIdentifier": "t_stringliteral_91d1112e9ca774de680c78512401449500c1938a4e449f6e73f80a84d95cfcfd",
  67203. "typeString": "literal_string \"log(string,address,string,uint256)\""
  67204. },
  67205. "value": "log(string,address,string,uint256)"
  67206. },
  67207. {
  67208. "id": 12149,
  67209. "name": "p0",
  67210. "nodeType": "Identifier",
  67211. "overloadedDeclarations": [],
  67212. "referencedDeclaration": 12136,
  67213. "src": "42445:2:50",
  67214. "typeDescriptions": {
  67215. "typeIdentifier": "t_string_memory_ptr",
  67216. "typeString": "string memory"
  67217. }
  67218. },
  67219. {
  67220. "id": 12150,
  67221. "name": "p1",
  67222. "nodeType": "Identifier",
  67223. "overloadedDeclarations": [],
  67224. "referencedDeclaration": 12138,
  67225. "src": "42449:2:50",
  67226. "typeDescriptions": {
  67227. "typeIdentifier": "t_address",
  67228. "typeString": "address"
  67229. }
  67230. },
  67231. {
  67232. "id": 12151,
  67233. "name": "p2",
  67234. "nodeType": "Identifier",
  67235. "overloadedDeclarations": [],
  67236. "referencedDeclaration": 12140,
  67237. "src": "42453:2:50",
  67238. "typeDescriptions": {
  67239. "typeIdentifier": "t_string_memory_ptr",
  67240. "typeString": "string memory"
  67241. }
  67242. },
  67243. {
  67244. "id": 12152,
  67245. "name": "p3",
  67246. "nodeType": "Identifier",
  67247. "overloadedDeclarations": [],
  67248. "referencedDeclaration": 12142,
  67249. "src": "42457:2:50",
  67250. "typeDescriptions": {
  67251. "typeIdentifier": "t_uint256",
  67252. "typeString": "uint256"
  67253. }
  67254. }
  67255. ],
  67256. "expression": {
  67257. "argumentTypes": [
  67258. {
  67259. "typeIdentifier": "t_stringliteral_91d1112e9ca774de680c78512401449500c1938a4e449f6e73f80a84d95cfcfd",
  67260. "typeString": "literal_string \"log(string,address,string,uint256)\""
  67261. },
  67262. {
  67263. "typeIdentifier": "t_string_memory_ptr",
  67264. "typeString": "string memory"
  67265. },
  67266. {
  67267. "typeIdentifier": "t_address",
  67268. "typeString": "address"
  67269. },
  67270. {
  67271. "typeIdentifier": "t_string_memory_ptr",
  67272. "typeString": "string memory"
  67273. },
  67274. {
  67275. "typeIdentifier": "t_uint256",
  67276. "typeString": "uint256"
  67277. }
  67278. ],
  67279. "expression": {
  67280. "id": 12146,
  67281. "name": "abi",
  67282. "nodeType": "Identifier",
  67283. "overloadedDeclarations": [],
  67284. "referencedDeclaration": -1,
  67285. "src": "42383:3:50",
  67286. "typeDescriptions": {
  67287. "typeIdentifier": "t_magic_abi",
  67288. "typeString": "abi"
  67289. }
  67290. },
  67291. "id": 12147,
  67292. "isConstant": false,
  67293. "isLValue": false,
  67294. "isPure": true,
  67295. "lValueRequested": false,
  67296. "memberLocation": "42387:19:50",
  67297. "memberName": "encodeWithSignature",
  67298. "nodeType": "MemberAccess",
  67299. "src": "42383:23:50",
  67300. "typeDescriptions": {
  67301. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  67302. "typeString": "function (string memory) pure returns (bytes memory)"
  67303. }
  67304. },
  67305. "id": 12153,
  67306. "isConstant": false,
  67307. "isLValue": false,
  67308. "isPure": false,
  67309. "kind": "functionCall",
  67310. "lValueRequested": false,
  67311. "nameLocations": [],
  67312. "names": [],
  67313. "nodeType": "FunctionCall",
  67314. "src": "42383:77:50",
  67315. "tryCall": false,
  67316. "typeDescriptions": {
  67317. "typeIdentifier": "t_bytes_memory_ptr",
  67318. "typeString": "bytes memory"
  67319. }
  67320. }
  67321. ],
  67322. "expression": {
  67323. "argumentTypes": [
  67324. {
  67325. "typeIdentifier": "t_bytes_memory_ptr",
  67326. "typeString": "bytes memory"
  67327. }
  67328. ],
  67329. "id": 12145,
  67330. "name": "_sendLogPayload",
  67331. "nodeType": "Identifier",
  67332. "overloadedDeclarations": [],
  67333. "referencedDeclaration": 7315,
  67334. "src": "42367:15:50",
  67335. "typeDescriptions": {
  67336. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  67337. "typeString": "function (bytes memory) pure"
  67338. }
  67339. },
  67340. "id": 12154,
  67341. "isConstant": false,
  67342. "isLValue": false,
  67343. "isPure": false,
  67344. "kind": "functionCall",
  67345. "lValueRequested": false,
  67346. "nameLocations": [],
  67347. "names": [],
  67348. "nodeType": "FunctionCall",
  67349. "src": "42367:94:50",
  67350. "tryCall": false,
  67351. "typeDescriptions": {
  67352. "typeIdentifier": "t_tuple$__$",
  67353. "typeString": "tuple()"
  67354. }
  67355. },
  67356. "id": 12155,
  67357. "nodeType": "ExpressionStatement",
  67358. "src": "42367:94:50"
  67359. }
  67360. ]
  67361. },
  67362. "implemented": true,
  67363. "kind": "function",
  67364. "modifiers": [],
  67365. "name": "log",
  67366. "nameLocation": "42279:3:50",
  67367. "parameters": {
  67368. "id": 12143,
  67369. "nodeType": "ParameterList",
  67370. "parameters": [
  67371. {
  67372. "constant": false,
  67373. "id": 12136,
  67374. "mutability": "mutable",
  67375. "name": "p0",
  67376. "nameLocation": "42297:2:50",
  67377. "nodeType": "VariableDeclaration",
  67378. "scope": 12157,
  67379. "src": "42283:16:50",
  67380. "stateVariable": false,
  67381. "storageLocation": "memory",
  67382. "typeDescriptions": {
  67383. "typeIdentifier": "t_string_memory_ptr",
  67384. "typeString": "string"
  67385. },
  67386. "typeName": {
  67387. "id": 12135,
  67388. "name": "string",
  67389. "nodeType": "ElementaryTypeName",
  67390. "src": "42283:6:50",
  67391. "typeDescriptions": {
  67392. "typeIdentifier": "t_string_storage_ptr",
  67393. "typeString": "string"
  67394. }
  67395. },
  67396. "visibility": "internal"
  67397. },
  67398. {
  67399. "constant": false,
  67400. "id": 12138,
  67401. "mutability": "mutable",
  67402. "name": "p1",
  67403. "nameLocation": "42309:2:50",
  67404. "nodeType": "VariableDeclaration",
  67405. "scope": 12157,
  67406. "src": "42301:10:50",
  67407. "stateVariable": false,
  67408. "storageLocation": "default",
  67409. "typeDescriptions": {
  67410. "typeIdentifier": "t_address",
  67411. "typeString": "address"
  67412. },
  67413. "typeName": {
  67414. "id": 12137,
  67415. "name": "address",
  67416. "nodeType": "ElementaryTypeName",
  67417. "src": "42301:7:50",
  67418. "stateMutability": "nonpayable",
  67419. "typeDescriptions": {
  67420. "typeIdentifier": "t_address",
  67421. "typeString": "address"
  67422. }
  67423. },
  67424. "visibility": "internal"
  67425. },
  67426. {
  67427. "constant": false,
  67428. "id": 12140,
  67429. "mutability": "mutable",
  67430. "name": "p2",
  67431. "nameLocation": "42327:2:50",
  67432. "nodeType": "VariableDeclaration",
  67433. "scope": 12157,
  67434. "src": "42313:16:50",
  67435. "stateVariable": false,
  67436. "storageLocation": "memory",
  67437. "typeDescriptions": {
  67438. "typeIdentifier": "t_string_memory_ptr",
  67439. "typeString": "string"
  67440. },
  67441. "typeName": {
  67442. "id": 12139,
  67443. "name": "string",
  67444. "nodeType": "ElementaryTypeName",
  67445. "src": "42313:6:50",
  67446. "typeDescriptions": {
  67447. "typeIdentifier": "t_string_storage_ptr",
  67448. "typeString": "string"
  67449. }
  67450. },
  67451. "visibility": "internal"
  67452. },
  67453. {
  67454. "constant": false,
  67455. "id": 12142,
  67456. "mutability": "mutable",
  67457. "name": "p3",
  67458. "nameLocation": "42339:2:50",
  67459. "nodeType": "VariableDeclaration",
  67460. "scope": 12157,
  67461. "src": "42331:10:50",
  67462. "stateVariable": false,
  67463. "storageLocation": "default",
  67464. "typeDescriptions": {
  67465. "typeIdentifier": "t_uint256",
  67466. "typeString": "uint256"
  67467. },
  67468. "typeName": {
  67469. "id": 12141,
  67470. "name": "uint256",
  67471. "nodeType": "ElementaryTypeName",
  67472. "src": "42331:7:50",
  67473. "typeDescriptions": {
  67474. "typeIdentifier": "t_uint256",
  67475. "typeString": "uint256"
  67476. }
  67477. },
  67478. "visibility": "internal"
  67479. }
  67480. ],
  67481. "src": "42282:60:50"
  67482. },
  67483. "returnParameters": {
  67484. "id": 12144,
  67485. "nodeType": "ParameterList",
  67486. "parameters": [],
  67487. "src": "42357:0:50"
  67488. },
  67489. "scope": 15355,
  67490. "stateMutability": "pure",
  67491. "virtual": false,
  67492. "visibility": "internal"
  67493. },
  67494. {
  67495. "id": 12180,
  67496. "nodeType": "FunctionDefinition",
  67497. "src": "42474:203:50",
  67498. "nodes": [],
  67499. "body": {
  67500. "id": 12179,
  67501. "nodeType": "Block",
  67502. "src": "42567:110:50",
  67503. "nodes": [],
  67504. "statements": [
  67505. {
  67506. "expression": {
  67507. "arguments": [
  67508. {
  67509. "arguments": [
  67510. {
  67511. "hexValue": "6c6f6728737472696e672c616464726573732c737472696e672c737472696e6729",
  67512. "id": 12171,
  67513. "isConstant": false,
  67514. "isLValue": false,
  67515. "isPure": true,
  67516. "kind": "string",
  67517. "lValueRequested": false,
  67518. "nodeType": "Literal",
  67519. "src": "42617:35:50",
  67520. "typeDescriptions": {
  67521. "typeIdentifier": "t_stringliteral_245986f22170901865e76245a48ee28ce0127ca357f6ad576a72190e1d358797",
  67522. "typeString": "literal_string \"log(string,address,string,string)\""
  67523. },
  67524. "value": "log(string,address,string,string)"
  67525. },
  67526. {
  67527. "id": 12172,
  67528. "name": "p0",
  67529. "nodeType": "Identifier",
  67530. "overloadedDeclarations": [],
  67531. "referencedDeclaration": 12159,
  67532. "src": "42654:2:50",
  67533. "typeDescriptions": {
  67534. "typeIdentifier": "t_string_memory_ptr",
  67535. "typeString": "string memory"
  67536. }
  67537. },
  67538. {
  67539. "id": 12173,
  67540. "name": "p1",
  67541. "nodeType": "Identifier",
  67542. "overloadedDeclarations": [],
  67543. "referencedDeclaration": 12161,
  67544. "src": "42658:2:50",
  67545. "typeDescriptions": {
  67546. "typeIdentifier": "t_address",
  67547. "typeString": "address"
  67548. }
  67549. },
  67550. {
  67551. "id": 12174,
  67552. "name": "p2",
  67553. "nodeType": "Identifier",
  67554. "overloadedDeclarations": [],
  67555. "referencedDeclaration": 12163,
  67556. "src": "42662:2:50",
  67557. "typeDescriptions": {
  67558. "typeIdentifier": "t_string_memory_ptr",
  67559. "typeString": "string memory"
  67560. }
  67561. },
  67562. {
  67563. "id": 12175,
  67564. "name": "p3",
  67565. "nodeType": "Identifier",
  67566. "overloadedDeclarations": [],
  67567. "referencedDeclaration": 12165,
  67568. "src": "42666:2:50",
  67569. "typeDescriptions": {
  67570. "typeIdentifier": "t_string_memory_ptr",
  67571. "typeString": "string memory"
  67572. }
  67573. }
  67574. ],
  67575. "expression": {
  67576. "argumentTypes": [
  67577. {
  67578. "typeIdentifier": "t_stringliteral_245986f22170901865e76245a48ee28ce0127ca357f6ad576a72190e1d358797",
  67579. "typeString": "literal_string \"log(string,address,string,string)\""
  67580. },
  67581. {
  67582. "typeIdentifier": "t_string_memory_ptr",
  67583. "typeString": "string memory"
  67584. },
  67585. {
  67586. "typeIdentifier": "t_address",
  67587. "typeString": "address"
  67588. },
  67589. {
  67590. "typeIdentifier": "t_string_memory_ptr",
  67591. "typeString": "string memory"
  67592. },
  67593. {
  67594. "typeIdentifier": "t_string_memory_ptr",
  67595. "typeString": "string memory"
  67596. }
  67597. ],
  67598. "expression": {
  67599. "id": 12169,
  67600. "name": "abi",
  67601. "nodeType": "Identifier",
  67602. "overloadedDeclarations": [],
  67603. "referencedDeclaration": -1,
  67604. "src": "42593:3:50",
  67605. "typeDescriptions": {
  67606. "typeIdentifier": "t_magic_abi",
  67607. "typeString": "abi"
  67608. }
  67609. },
  67610. "id": 12170,
  67611. "isConstant": false,
  67612. "isLValue": false,
  67613. "isPure": true,
  67614. "lValueRequested": false,
  67615. "memberLocation": "42597:19:50",
  67616. "memberName": "encodeWithSignature",
  67617. "nodeType": "MemberAccess",
  67618. "src": "42593:23:50",
  67619. "typeDescriptions": {
  67620. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  67621. "typeString": "function (string memory) pure returns (bytes memory)"
  67622. }
  67623. },
  67624. "id": 12176,
  67625. "isConstant": false,
  67626. "isLValue": false,
  67627. "isPure": false,
  67628. "kind": "functionCall",
  67629. "lValueRequested": false,
  67630. "nameLocations": [],
  67631. "names": [],
  67632. "nodeType": "FunctionCall",
  67633. "src": "42593:76:50",
  67634. "tryCall": false,
  67635. "typeDescriptions": {
  67636. "typeIdentifier": "t_bytes_memory_ptr",
  67637. "typeString": "bytes memory"
  67638. }
  67639. }
  67640. ],
  67641. "expression": {
  67642. "argumentTypes": [
  67643. {
  67644. "typeIdentifier": "t_bytes_memory_ptr",
  67645. "typeString": "bytes memory"
  67646. }
  67647. ],
  67648. "id": 12168,
  67649. "name": "_sendLogPayload",
  67650. "nodeType": "Identifier",
  67651. "overloadedDeclarations": [],
  67652. "referencedDeclaration": 7315,
  67653. "src": "42577:15:50",
  67654. "typeDescriptions": {
  67655. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  67656. "typeString": "function (bytes memory) pure"
  67657. }
  67658. },
  67659. "id": 12177,
  67660. "isConstant": false,
  67661. "isLValue": false,
  67662. "isPure": false,
  67663. "kind": "functionCall",
  67664. "lValueRequested": false,
  67665. "nameLocations": [],
  67666. "names": [],
  67667. "nodeType": "FunctionCall",
  67668. "src": "42577:93:50",
  67669. "tryCall": false,
  67670. "typeDescriptions": {
  67671. "typeIdentifier": "t_tuple$__$",
  67672. "typeString": "tuple()"
  67673. }
  67674. },
  67675. "id": 12178,
  67676. "nodeType": "ExpressionStatement",
  67677. "src": "42577:93:50"
  67678. }
  67679. ]
  67680. },
  67681. "implemented": true,
  67682. "kind": "function",
  67683. "modifiers": [],
  67684. "name": "log",
  67685. "nameLocation": "42483:3:50",
  67686. "parameters": {
  67687. "id": 12166,
  67688. "nodeType": "ParameterList",
  67689. "parameters": [
  67690. {
  67691. "constant": false,
  67692. "id": 12159,
  67693. "mutability": "mutable",
  67694. "name": "p0",
  67695. "nameLocation": "42501:2:50",
  67696. "nodeType": "VariableDeclaration",
  67697. "scope": 12180,
  67698. "src": "42487:16:50",
  67699. "stateVariable": false,
  67700. "storageLocation": "memory",
  67701. "typeDescriptions": {
  67702. "typeIdentifier": "t_string_memory_ptr",
  67703. "typeString": "string"
  67704. },
  67705. "typeName": {
  67706. "id": 12158,
  67707. "name": "string",
  67708. "nodeType": "ElementaryTypeName",
  67709. "src": "42487:6:50",
  67710. "typeDescriptions": {
  67711. "typeIdentifier": "t_string_storage_ptr",
  67712. "typeString": "string"
  67713. }
  67714. },
  67715. "visibility": "internal"
  67716. },
  67717. {
  67718. "constant": false,
  67719. "id": 12161,
  67720. "mutability": "mutable",
  67721. "name": "p1",
  67722. "nameLocation": "42513:2:50",
  67723. "nodeType": "VariableDeclaration",
  67724. "scope": 12180,
  67725. "src": "42505:10:50",
  67726. "stateVariable": false,
  67727. "storageLocation": "default",
  67728. "typeDescriptions": {
  67729. "typeIdentifier": "t_address",
  67730. "typeString": "address"
  67731. },
  67732. "typeName": {
  67733. "id": 12160,
  67734. "name": "address",
  67735. "nodeType": "ElementaryTypeName",
  67736. "src": "42505:7:50",
  67737. "stateMutability": "nonpayable",
  67738. "typeDescriptions": {
  67739. "typeIdentifier": "t_address",
  67740. "typeString": "address"
  67741. }
  67742. },
  67743. "visibility": "internal"
  67744. },
  67745. {
  67746. "constant": false,
  67747. "id": 12163,
  67748. "mutability": "mutable",
  67749. "name": "p2",
  67750. "nameLocation": "42531:2:50",
  67751. "nodeType": "VariableDeclaration",
  67752. "scope": 12180,
  67753. "src": "42517:16:50",
  67754. "stateVariable": false,
  67755. "storageLocation": "memory",
  67756. "typeDescriptions": {
  67757. "typeIdentifier": "t_string_memory_ptr",
  67758. "typeString": "string"
  67759. },
  67760. "typeName": {
  67761. "id": 12162,
  67762. "name": "string",
  67763. "nodeType": "ElementaryTypeName",
  67764. "src": "42517:6:50",
  67765. "typeDescriptions": {
  67766. "typeIdentifier": "t_string_storage_ptr",
  67767. "typeString": "string"
  67768. }
  67769. },
  67770. "visibility": "internal"
  67771. },
  67772. {
  67773. "constant": false,
  67774. "id": 12165,
  67775. "mutability": "mutable",
  67776. "name": "p3",
  67777. "nameLocation": "42549:2:50",
  67778. "nodeType": "VariableDeclaration",
  67779. "scope": 12180,
  67780. "src": "42535:16:50",
  67781. "stateVariable": false,
  67782. "storageLocation": "memory",
  67783. "typeDescriptions": {
  67784. "typeIdentifier": "t_string_memory_ptr",
  67785. "typeString": "string"
  67786. },
  67787. "typeName": {
  67788. "id": 12164,
  67789. "name": "string",
  67790. "nodeType": "ElementaryTypeName",
  67791. "src": "42535:6:50",
  67792. "typeDescriptions": {
  67793. "typeIdentifier": "t_string_storage_ptr",
  67794. "typeString": "string"
  67795. }
  67796. },
  67797. "visibility": "internal"
  67798. }
  67799. ],
  67800. "src": "42486:66:50"
  67801. },
  67802. "returnParameters": {
  67803. "id": 12167,
  67804. "nodeType": "ParameterList",
  67805. "parameters": [],
  67806. "src": "42567:0:50"
  67807. },
  67808. "scope": 15355,
  67809. "stateMutability": "pure",
  67810. "virtual": false,
  67811. "visibility": "internal"
  67812. },
  67813. {
  67814. "id": 12203,
  67815. "nodeType": "FunctionDefinition",
  67816. "src": "42683:192:50",
  67817. "nodes": [],
  67818. "body": {
  67819. "id": 12202,
  67820. "nodeType": "Block",
  67821. "src": "42767:108:50",
  67822. "nodes": [],
  67823. "statements": [
  67824. {
  67825. "expression": {
  67826. "arguments": [
  67827. {
  67828. "arguments": [
  67829. {
  67830. "hexValue": "6c6f6728737472696e672c616464726573732c737472696e672c626f6f6c29",
  67831. "id": 12194,
  67832. "isConstant": false,
  67833. "isLValue": false,
  67834. "isPure": true,
  67835. "kind": "string",
  67836. "lValueRequested": false,
  67837. "nodeType": "Literal",
  67838. "src": "42817:33:50",
  67839. "typeDescriptions": {
  67840. "typeIdentifier": "t_stringliteral_5f15d28c15ddff15fba1c00f6a4975ae6af8b36c9b2a875bf59bd45049046154",
  67841. "typeString": "literal_string \"log(string,address,string,bool)\""
  67842. },
  67843. "value": "log(string,address,string,bool)"
  67844. },
  67845. {
  67846. "id": 12195,
  67847. "name": "p0",
  67848. "nodeType": "Identifier",
  67849. "overloadedDeclarations": [],
  67850. "referencedDeclaration": 12182,
  67851. "src": "42852:2:50",
  67852. "typeDescriptions": {
  67853. "typeIdentifier": "t_string_memory_ptr",
  67854. "typeString": "string memory"
  67855. }
  67856. },
  67857. {
  67858. "id": 12196,
  67859. "name": "p1",
  67860. "nodeType": "Identifier",
  67861. "overloadedDeclarations": [],
  67862. "referencedDeclaration": 12184,
  67863. "src": "42856:2:50",
  67864. "typeDescriptions": {
  67865. "typeIdentifier": "t_address",
  67866. "typeString": "address"
  67867. }
  67868. },
  67869. {
  67870. "id": 12197,
  67871. "name": "p2",
  67872. "nodeType": "Identifier",
  67873. "overloadedDeclarations": [],
  67874. "referencedDeclaration": 12186,
  67875. "src": "42860:2:50",
  67876. "typeDescriptions": {
  67877. "typeIdentifier": "t_string_memory_ptr",
  67878. "typeString": "string memory"
  67879. }
  67880. },
  67881. {
  67882. "id": 12198,
  67883. "name": "p3",
  67884. "nodeType": "Identifier",
  67885. "overloadedDeclarations": [],
  67886. "referencedDeclaration": 12188,
  67887. "src": "42864:2:50",
  67888. "typeDescriptions": {
  67889. "typeIdentifier": "t_bool",
  67890. "typeString": "bool"
  67891. }
  67892. }
  67893. ],
  67894. "expression": {
  67895. "argumentTypes": [
  67896. {
  67897. "typeIdentifier": "t_stringliteral_5f15d28c15ddff15fba1c00f6a4975ae6af8b36c9b2a875bf59bd45049046154",
  67898. "typeString": "literal_string \"log(string,address,string,bool)\""
  67899. },
  67900. {
  67901. "typeIdentifier": "t_string_memory_ptr",
  67902. "typeString": "string memory"
  67903. },
  67904. {
  67905. "typeIdentifier": "t_address",
  67906. "typeString": "address"
  67907. },
  67908. {
  67909. "typeIdentifier": "t_string_memory_ptr",
  67910. "typeString": "string memory"
  67911. },
  67912. {
  67913. "typeIdentifier": "t_bool",
  67914. "typeString": "bool"
  67915. }
  67916. ],
  67917. "expression": {
  67918. "id": 12192,
  67919. "name": "abi",
  67920. "nodeType": "Identifier",
  67921. "overloadedDeclarations": [],
  67922. "referencedDeclaration": -1,
  67923. "src": "42793:3:50",
  67924. "typeDescriptions": {
  67925. "typeIdentifier": "t_magic_abi",
  67926. "typeString": "abi"
  67927. }
  67928. },
  67929. "id": 12193,
  67930. "isConstant": false,
  67931. "isLValue": false,
  67932. "isPure": true,
  67933. "lValueRequested": false,
  67934. "memberLocation": "42797:19:50",
  67935. "memberName": "encodeWithSignature",
  67936. "nodeType": "MemberAccess",
  67937. "src": "42793:23:50",
  67938. "typeDescriptions": {
  67939. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  67940. "typeString": "function (string memory) pure returns (bytes memory)"
  67941. }
  67942. },
  67943. "id": 12199,
  67944. "isConstant": false,
  67945. "isLValue": false,
  67946. "isPure": false,
  67947. "kind": "functionCall",
  67948. "lValueRequested": false,
  67949. "nameLocations": [],
  67950. "names": [],
  67951. "nodeType": "FunctionCall",
  67952. "src": "42793:74:50",
  67953. "tryCall": false,
  67954. "typeDescriptions": {
  67955. "typeIdentifier": "t_bytes_memory_ptr",
  67956. "typeString": "bytes memory"
  67957. }
  67958. }
  67959. ],
  67960. "expression": {
  67961. "argumentTypes": [
  67962. {
  67963. "typeIdentifier": "t_bytes_memory_ptr",
  67964. "typeString": "bytes memory"
  67965. }
  67966. ],
  67967. "id": 12191,
  67968. "name": "_sendLogPayload",
  67969. "nodeType": "Identifier",
  67970. "overloadedDeclarations": [],
  67971. "referencedDeclaration": 7315,
  67972. "src": "42777:15:50",
  67973. "typeDescriptions": {
  67974. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  67975. "typeString": "function (bytes memory) pure"
  67976. }
  67977. },
  67978. "id": 12200,
  67979. "isConstant": false,
  67980. "isLValue": false,
  67981. "isPure": false,
  67982. "kind": "functionCall",
  67983. "lValueRequested": false,
  67984. "nameLocations": [],
  67985. "names": [],
  67986. "nodeType": "FunctionCall",
  67987. "src": "42777:91:50",
  67988. "tryCall": false,
  67989. "typeDescriptions": {
  67990. "typeIdentifier": "t_tuple$__$",
  67991. "typeString": "tuple()"
  67992. }
  67993. },
  67994. "id": 12201,
  67995. "nodeType": "ExpressionStatement",
  67996. "src": "42777:91:50"
  67997. }
  67998. ]
  67999. },
  68000. "implemented": true,
  68001. "kind": "function",
  68002. "modifiers": [],
  68003. "name": "log",
  68004. "nameLocation": "42692:3:50",
  68005. "parameters": {
  68006. "id": 12189,
  68007. "nodeType": "ParameterList",
  68008. "parameters": [
  68009. {
  68010. "constant": false,
  68011. "id": 12182,
  68012. "mutability": "mutable",
  68013. "name": "p0",
  68014. "nameLocation": "42710:2:50",
  68015. "nodeType": "VariableDeclaration",
  68016. "scope": 12203,
  68017. "src": "42696:16:50",
  68018. "stateVariable": false,
  68019. "storageLocation": "memory",
  68020. "typeDescriptions": {
  68021. "typeIdentifier": "t_string_memory_ptr",
  68022. "typeString": "string"
  68023. },
  68024. "typeName": {
  68025. "id": 12181,
  68026. "name": "string",
  68027. "nodeType": "ElementaryTypeName",
  68028. "src": "42696:6:50",
  68029. "typeDescriptions": {
  68030. "typeIdentifier": "t_string_storage_ptr",
  68031. "typeString": "string"
  68032. }
  68033. },
  68034. "visibility": "internal"
  68035. },
  68036. {
  68037. "constant": false,
  68038. "id": 12184,
  68039. "mutability": "mutable",
  68040. "name": "p1",
  68041. "nameLocation": "42722:2:50",
  68042. "nodeType": "VariableDeclaration",
  68043. "scope": 12203,
  68044. "src": "42714:10:50",
  68045. "stateVariable": false,
  68046. "storageLocation": "default",
  68047. "typeDescriptions": {
  68048. "typeIdentifier": "t_address",
  68049. "typeString": "address"
  68050. },
  68051. "typeName": {
  68052. "id": 12183,
  68053. "name": "address",
  68054. "nodeType": "ElementaryTypeName",
  68055. "src": "42714:7:50",
  68056. "stateMutability": "nonpayable",
  68057. "typeDescriptions": {
  68058. "typeIdentifier": "t_address",
  68059. "typeString": "address"
  68060. }
  68061. },
  68062. "visibility": "internal"
  68063. },
  68064. {
  68065. "constant": false,
  68066. "id": 12186,
  68067. "mutability": "mutable",
  68068. "name": "p2",
  68069. "nameLocation": "42740:2:50",
  68070. "nodeType": "VariableDeclaration",
  68071. "scope": 12203,
  68072. "src": "42726:16:50",
  68073. "stateVariable": false,
  68074. "storageLocation": "memory",
  68075. "typeDescriptions": {
  68076. "typeIdentifier": "t_string_memory_ptr",
  68077. "typeString": "string"
  68078. },
  68079. "typeName": {
  68080. "id": 12185,
  68081. "name": "string",
  68082. "nodeType": "ElementaryTypeName",
  68083. "src": "42726:6:50",
  68084. "typeDescriptions": {
  68085. "typeIdentifier": "t_string_storage_ptr",
  68086. "typeString": "string"
  68087. }
  68088. },
  68089. "visibility": "internal"
  68090. },
  68091. {
  68092. "constant": false,
  68093. "id": 12188,
  68094. "mutability": "mutable",
  68095. "name": "p3",
  68096. "nameLocation": "42749:2:50",
  68097. "nodeType": "VariableDeclaration",
  68098. "scope": 12203,
  68099. "src": "42744:7:50",
  68100. "stateVariable": false,
  68101. "storageLocation": "default",
  68102. "typeDescriptions": {
  68103. "typeIdentifier": "t_bool",
  68104. "typeString": "bool"
  68105. },
  68106. "typeName": {
  68107. "id": 12187,
  68108. "name": "bool",
  68109. "nodeType": "ElementaryTypeName",
  68110. "src": "42744:4:50",
  68111. "typeDescriptions": {
  68112. "typeIdentifier": "t_bool",
  68113. "typeString": "bool"
  68114. }
  68115. },
  68116. "visibility": "internal"
  68117. }
  68118. ],
  68119. "src": "42695:57:50"
  68120. },
  68121. "returnParameters": {
  68122. "id": 12190,
  68123. "nodeType": "ParameterList",
  68124. "parameters": [],
  68125. "src": "42767:0:50"
  68126. },
  68127. "scope": 15355,
  68128. "stateMutability": "pure",
  68129. "virtual": false,
  68130. "visibility": "internal"
  68131. },
  68132. {
  68133. "id": 12226,
  68134. "nodeType": "FunctionDefinition",
  68135. "src": "42881:198:50",
  68136. "nodes": [],
  68137. "body": {
  68138. "id": 12225,
  68139. "nodeType": "Block",
  68140. "src": "42968:111:50",
  68141. "nodes": [],
  68142. "statements": [
  68143. {
  68144. "expression": {
  68145. "arguments": [
  68146. {
  68147. "arguments": [
  68148. {
  68149. "hexValue": "6c6f6728737472696e672c616464726573732c737472696e672c6164647265737329",
  68150. "id": 12217,
  68151. "isConstant": false,
  68152. "isLValue": false,
  68153. "isPure": true,
  68154. "kind": "string",
  68155. "lValueRequested": false,
  68156. "nodeType": "Literal",
  68157. "src": "43018:36:50",
  68158. "typeDescriptions": {
  68159. "typeIdentifier": "t_stringliteral_aabc9a311ab49789834b120d81155a7fee846a9f0d4f740bbeb970770190c82d",
  68160. "typeString": "literal_string \"log(string,address,string,address)\""
  68161. },
  68162. "value": "log(string,address,string,address)"
  68163. },
  68164. {
  68165. "id": 12218,
  68166. "name": "p0",
  68167. "nodeType": "Identifier",
  68168. "overloadedDeclarations": [],
  68169. "referencedDeclaration": 12205,
  68170. "src": "43056:2:50",
  68171. "typeDescriptions": {
  68172. "typeIdentifier": "t_string_memory_ptr",
  68173. "typeString": "string memory"
  68174. }
  68175. },
  68176. {
  68177. "id": 12219,
  68178. "name": "p1",
  68179. "nodeType": "Identifier",
  68180. "overloadedDeclarations": [],
  68181. "referencedDeclaration": 12207,
  68182. "src": "43060:2:50",
  68183. "typeDescriptions": {
  68184. "typeIdentifier": "t_address",
  68185. "typeString": "address"
  68186. }
  68187. },
  68188. {
  68189. "id": 12220,
  68190. "name": "p2",
  68191. "nodeType": "Identifier",
  68192. "overloadedDeclarations": [],
  68193. "referencedDeclaration": 12209,
  68194. "src": "43064:2:50",
  68195. "typeDescriptions": {
  68196. "typeIdentifier": "t_string_memory_ptr",
  68197. "typeString": "string memory"
  68198. }
  68199. },
  68200. {
  68201. "id": 12221,
  68202. "name": "p3",
  68203. "nodeType": "Identifier",
  68204. "overloadedDeclarations": [],
  68205. "referencedDeclaration": 12211,
  68206. "src": "43068:2:50",
  68207. "typeDescriptions": {
  68208. "typeIdentifier": "t_address",
  68209. "typeString": "address"
  68210. }
  68211. }
  68212. ],
  68213. "expression": {
  68214. "argumentTypes": [
  68215. {
  68216. "typeIdentifier": "t_stringliteral_aabc9a311ab49789834b120d81155a7fee846a9f0d4f740bbeb970770190c82d",
  68217. "typeString": "literal_string \"log(string,address,string,address)\""
  68218. },
  68219. {
  68220. "typeIdentifier": "t_string_memory_ptr",
  68221. "typeString": "string memory"
  68222. },
  68223. {
  68224. "typeIdentifier": "t_address",
  68225. "typeString": "address"
  68226. },
  68227. {
  68228. "typeIdentifier": "t_string_memory_ptr",
  68229. "typeString": "string memory"
  68230. },
  68231. {
  68232. "typeIdentifier": "t_address",
  68233. "typeString": "address"
  68234. }
  68235. ],
  68236. "expression": {
  68237. "id": 12215,
  68238. "name": "abi",
  68239. "nodeType": "Identifier",
  68240. "overloadedDeclarations": [],
  68241. "referencedDeclaration": -1,
  68242. "src": "42994:3:50",
  68243. "typeDescriptions": {
  68244. "typeIdentifier": "t_magic_abi",
  68245. "typeString": "abi"
  68246. }
  68247. },
  68248. "id": 12216,
  68249. "isConstant": false,
  68250. "isLValue": false,
  68251. "isPure": true,
  68252. "lValueRequested": false,
  68253. "memberLocation": "42998:19:50",
  68254. "memberName": "encodeWithSignature",
  68255. "nodeType": "MemberAccess",
  68256. "src": "42994:23:50",
  68257. "typeDescriptions": {
  68258. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  68259. "typeString": "function (string memory) pure returns (bytes memory)"
  68260. }
  68261. },
  68262. "id": 12222,
  68263. "isConstant": false,
  68264. "isLValue": false,
  68265. "isPure": false,
  68266. "kind": "functionCall",
  68267. "lValueRequested": false,
  68268. "nameLocations": [],
  68269. "names": [],
  68270. "nodeType": "FunctionCall",
  68271. "src": "42994:77:50",
  68272. "tryCall": false,
  68273. "typeDescriptions": {
  68274. "typeIdentifier": "t_bytes_memory_ptr",
  68275. "typeString": "bytes memory"
  68276. }
  68277. }
  68278. ],
  68279. "expression": {
  68280. "argumentTypes": [
  68281. {
  68282. "typeIdentifier": "t_bytes_memory_ptr",
  68283. "typeString": "bytes memory"
  68284. }
  68285. ],
  68286. "id": 12214,
  68287. "name": "_sendLogPayload",
  68288. "nodeType": "Identifier",
  68289. "overloadedDeclarations": [],
  68290. "referencedDeclaration": 7315,
  68291. "src": "42978:15:50",
  68292. "typeDescriptions": {
  68293. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  68294. "typeString": "function (bytes memory) pure"
  68295. }
  68296. },
  68297. "id": 12223,
  68298. "isConstant": false,
  68299. "isLValue": false,
  68300. "isPure": false,
  68301. "kind": "functionCall",
  68302. "lValueRequested": false,
  68303. "nameLocations": [],
  68304. "names": [],
  68305. "nodeType": "FunctionCall",
  68306. "src": "42978:94:50",
  68307. "tryCall": false,
  68308. "typeDescriptions": {
  68309. "typeIdentifier": "t_tuple$__$",
  68310. "typeString": "tuple()"
  68311. }
  68312. },
  68313. "id": 12224,
  68314. "nodeType": "ExpressionStatement",
  68315. "src": "42978:94:50"
  68316. }
  68317. ]
  68318. },
  68319. "implemented": true,
  68320. "kind": "function",
  68321. "modifiers": [],
  68322. "name": "log",
  68323. "nameLocation": "42890:3:50",
  68324. "parameters": {
  68325. "id": 12212,
  68326. "nodeType": "ParameterList",
  68327. "parameters": [
  68328. {
  68329. "constant": false,
  68330. "id": 12205,
  68331. "mutability": "mutable",
  68332. "name": "p0",
  68333. "nameLocation": "42908:2:50",
  68334. "nodeType": "VariableDeclaration",
  68335. "scope": 12226,
  68336. "src": "42894:16:50",
  68337. "stateVariable": false,
  68338. "storageLocation": "memory",
  68339. "typeDescriptions": {
  68340. "typeIdentifier": "t_string_memory_ptr",
  68341. "typeString": "string"
  68342. },
  68343. "typeName": {
  68344. "id": 12204,
  68345. "name": "string",
  68346. "nodeType": "ElementaryTypeName",
  68347. "src": "42894:6:50",
  68348. "typeDescriptions": {
  68349. "typeIdentifier": "t_string_storage_ptr",
  68350. "typeString": "string"
  68351. }
  68352. },
  68353. "visibility": "internal"
  68354. },
  68355. {
  68356. "constant": false,
  68357. "id": 12207,
  68358. "mutability": "mutable",
  68359. "name": "p1",
  68360. "nameLocation": "42920:2:50",
  68361. "nodeType": "VariableDeclaration",
  68362. "scope": 12226,
  68363. "src": "42912:10:50",
  68364. "stateVariable": false,
  68365. "storageLocation": "default",
  68366. "typeDescriptions": {
  68367. "typeIdentifier": "t_address",
  68368. "typeString": "address"
  68369. },
  68370. "typeName": {
  68371. "id": 12206,
  68372. "name": "address",
  68373. "nodeType": "ElementaryTypeName",
  68374. "src": "42912:7:50",
  68375. "stateMutability": "nonpayable",
  68376. "typeDescriptions": {
  68377. "typeIdentifier": "t_address",
  68378. "typeString": "address"
  68379. }
  68380. },
  68381. "visibility": "internal"
  68382. },
  68383. {
  68384. "constant": false,
  68385. "id": 12209,
  68386. "mutability": "mutable",
  68387. "name": "p2",
  68388. "nameLocation": "42938:2:50",
  68389. "nodeType": "VariableDeclaration",
  68390. "scope": 12226,
  68391. "src": "42924:16:50",
  68392. "stateVariable": false,
  68393. "storageLocation": "memory",
  68394. "typeDescriptions": {
  68395. "typeIdentifier": "t_string_memory_ptr",
  68396. "typeString": "string"
  68397. },
  68398. "typeName": {
  68399. "id": 12208,
  68400. "name": "string",
  68401. "nodeType": "ElementaryTypeName",
  68402. "src": "42924:6:50",
  68403. "typeDescriptions": {
  68404. "typeIdentifier": "t_string_storage_ptr",
  68405. "typeString": "string"
  68406. }
  68407. },
  68408. "visibility": "internal"
  68409. },
  68410. {
  68411. "constant": false,
  68412. "id": 12211,
  68413. "mutability": "mutable",
  68414. "name": "p3",
  68415. "nameLocation": "42950:2:50",
  68416. "nodeType": "VariableDeclaration",
  68417. "scope": 12226,
  68418. "src": "42942:10:50",
  68419. "stateVariable": false,
  68420. "storageLocation": "default",
  68421. "typeDescriptions": {
  68422. "typeIdentifier": "t_address",
  68423. "typeString": "address"
  68424. },
  68425. "typeName": {
  68426. "id": 12210,
  68427. "name": "address",
  68428. "nodeType": "ElementaryTypeName",
  68429. "src": "42942:7:50",
  68430. "stateMutability": "nonpayable",
  68431. "typeDescriptions": {
  68432. "typeIdentifier": "t_address",
  68433. "typeString": "address"
  68434. }
  68435. },
  68436. "visibility": "internal"
  68437. }
  68438. ],
  68439. "src": "42893:60:50"
  68440. },
  68441. "returnParameters": {
  68442. "id": 12213,
  68443. "nodeType": "ParameterList",
  68444. "parameters": [],
  68445. "src": "42968:0:50"
  68446. },
  68447. "scope": 15355,
  68448. "stateMutability": "pure",
  68449. "virtual": false,
  68450. "visibility": "internal"
  68451. },
  68452. {
  68453. "id": 12249,
  68454. "nodeType": "FunctionDefinition",
  68455. "src": "43085:187:50",
  68456. "nodes": [],
  68457. "body": {
  68458. "id": 12248,
  68459. "nodeType": "Block",
  68460. "src": "43163:109:50",
  68461. "nodes": [],
  68462. "statements": [
  68463. {
  68464. "expression": {
  68465. "arguments": [
  68466. {
  68467. "arguments": [
  68468. {
  68469. "hexValue": "6c6f6728737472696e672c616464726573732c626f6f6c2c75696e7432353629",
  68470. "id": 12240,
  68471. "isConstant": false,
  68472. "isLValue": false,
  68473. "isPure": true,
  68474. "kind": "string",
  68475. "lValueRequested": false,
  68476. "nodeType": "Literal",
  68477. "src": "43213:34:50",
  68478. "typeDescriptions": {
  68479. "typeIdentifier": "t_stringliteral_3e9f866aadef9b1f2b0257e0ed5e2df8882ba55e598b4f5282674b64ae3f06b5",
  68480. "typeString": "literal_string \"log(string,address,bool,uint256)\""
  68481. },
  68482. "value": "log(string,address,bool,uint256)"
  68483. },
  68484. {
  68485. "id": 12241,
  68486. "name": "p0",
  68487. "nodeType": "Identifier",
  68488. "overloadedDeclarations": [],
  68489. "referencedDeclaration": 12228,
  68490. "src": "43249:2:50",
  68491. "typeDescriptions": {
  68492. "typeIdentifier": "t_string_memory_ptr",
  68493. "typeString": "string memory"
  68494. }
  68495. },
  68496. {
  68497. "id": 12242,
  68498. "name": "p1",
  68499. "nodeType": "Identifier",
  68500. "overloadedDeclarations": [],
  68501. "referencedDeclaration": 12230,
  68502. "src": "43253:2:50",
  68503. "typeDescriptions": {
  68504. "typeIdentifier": "t_address",
  68505. "typeString": "address"
  68506. }
  68507. },
  68508. {
  68509. "id": 12243,
  68510. "name": "p2",
  68511. "nodeType": "Identifier",
  68512. "overloadedDeclarations": [],
  68513. "referencedDeclaration": 12232,
  68514. "src": "43257:2:50",
  68515. "typeDescriptions": {
  68516. "typeIdentifier": "t_bool",
  68517. "typeString": "bool"
  68518. }
  68519. },
  68520. {
  68521. "id": 12244,
  68522. "name": "p3",
  68523. "nodeType": "Identifier",
  68524. "overloadedDeclarations": [],
  68525. "referencedDeclaration": 12234,
  68526. "src": "43261:2:50",
  68527. "typeDescriptions": {
  68528. "typeIdentifier": "t_uint256",
  68529. "typeString": "uint256"
  68530. }
  68531. }
  68532. ],
  68533. "expression": {
  68534. "argumentTypes": [
  68535. {
  68536. "typeIdentifier": "t_stringliteral_3e9f866aadef9b1f2b0257e0ed5e2df8882ba55e598b4f5282674b64ae3f06b5",
  68537. "typeString": "literal_string \"log(string,address,bool,uint256)\""
  68538. },
  68539. {
  68540. "typeIdentifier": "t_string_memory_ptr",
  68541. "typeString": "string memory"
  68542. },
  68543. {
  68544. "typeIdentifier": "t_address",
  68545. "typeString": "address"
  68546. },
  68547. {
  68548. "typeIdentifier": "t_bool",
  68549. "typeString": "bool"
  68550. },
  68551. {
  68552. "typeIdentifier": "t_uint256",
  68553. "typeString": "uint256"
  68554. }
  68555. ],
  68556. "expression": {
  68557. "id": 12238,
  68558. "name": "abi",
  68559. "nodeType": "Identifier",
  68560. "overloadedDeclarations": [],
  68561. "referencedDeclaration": -1,
  68562. "src": "43189:3:50",
  68563. "typeDescriptions": {
  68564. "typeIdentifier": "t_magic_abi",
  68565. "typeString": "abi"
  68566. }
  68567. },
  68568. "id": 12239,
  68569. "isConstant": false,
  68570. "isLValue": false,
  68571. "isPure": true,
  68572. "lValueRequested": false,
  68573. "memberLocation": "43193:19:50",
  68574. "memberName": "encodeWithSignature",
  68575. "nodeType": "MemberAccess",
  68576. "src": "43189:23:50",
  68577. "typeDescriptions": {
  68578. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  68579. "typeString": "function (string memory) pure returns (bytes memory)"
  68580. }
  68581. },
  68582. "id": 12245,
  68583. "isConstant": false,
  68584. "isLValue": false,
  68585. "isPure": false,
  68586. "kind": "functionCall",
  68587. "lValueRequested": false,
  68588. "nameLocations": [],
  68589. "names": [],
  68590. "nodeType": "FunctionCall",
  68591. "src": "43189:75:50",
  68592. "tryCall": false,
  68593. "typeDescriptions": {
  68594. "typeIdentifier": "t_bytes_memory_ptr",
  68595. "typeString": "bytes memory"
  68596. }
  68597. }
  68598. ],
  68599. "expression": {
  68600. "argumentTypes": [
  68601. {
  68602. "typeIdentifier": "t_bytes_memory_ptr",
  68603. "typeString": "bytes memory"
  68604. }
  68605. ],
  68606. "id": 12237,
  68607. "name": "_sendLogPayload",
  68608. "nodeType": "Identifier",
  68609. "overloadedDeclarations": [],
  68610. "referencedDeclaration": 7315,
  68611. "src": "43173:15:50",
  68612. "typeDescriptions": {
  68613. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  68614. "typeString": "function (bytes memory) pure"
  68615. }
  68616. },
  68617. "id": 12246,
  68618. "isConstant": false,
  68619. "isLValue": false,
  68620. "isPure": false,
  68621. "kind": "functionCall",
  68622. "lValueRequested": false,
  68623. "nameLocations": [],
  68624. "names": [],
  68625. "nodeType": "FunctionCall",
  68626. "src": "43173:92:50",
  68627. "tryCall": false,
  68628. "typeDescriptions": {
  68629. "typeIdentifier": "t_tuple$__$",
  68630. "typeString": "tuple()"
  68631. }
  68632. },
  68633. "id": 12247,
  68634. "nodeType": "ExpressionStatement",
  68635. "src": "43173:92:50"
  68636. }
  68637. ]
  68638. },
  68639. "implemented": true,
  68640. "kind": "function",
  68641. "modifiers": [],
  68642. "name": "log",
  68643. "nameLocation": "43094:3:50",
  68644. "parameters": {
  68645. "id": 12235,
  68646. "nodeType": "ParameterList",
  68647. "parameters": [
  68648. {
  68649. "constant": false,
  68650. "id": 12228,
  68651. "mutability": "mutable",
  68652. "name": "p0",
  68653. "nameLocation": "43112:2:50",
  68654. "nodeType": "VariableDeclaration",
  68655. "scope": 12249,
  68656. "src": "43098:16:50",
  68657. "stateVariable": false,
  68658. "storageLocation": "memory",
  68659. "typeDescriptions": {
  68660. "typeIdentifier": "t_string_memory_ptr",
  68661. "typeString": "string"
  68662. },
  68663. "typeName": {
  68664. "id": 12227,
  68665. "name": "string",
  68666. "nodeType": "ElementaryTypeName",
  68667. "src": "43098:6:50",
  68668. "typeDescriptions": {
  68669. "typeIdentifier": "t_string_storage_ptr",
  68670. "typeString": "string"
  68671. }
  68672. },
  68673. "visibility": "internal"
  68674. },
  68675. {
  68676. "constant": false,
  68677. "id": 12230,
  68678. "mutability": "mutable",
  68679. "name": "p1",
  68680. "nameLocation": "43124:2:50",
  68681. "nodeType": "VariableDeclaration",
  68682. "scope": 12249,
  68683. "src": "43116:10:50",
  68684. "stateVariable": false,
  68685. "storageLocation": "default",
  68686. "typeDescriptions": {
  68687. "typeIdentifier": "t_address",
  68688. "typeString": "address"
  68689. },
  68690. "typeName": {
  68691. "id": 12229,
  68692. "name": "address",
  68693. "nodeType": "ElementaryTypeName",
  68694. "src": "43116:7:50",
  68695. "stateMutability": "nonpayable",
  68696. "typeDescriptions": {
  68697. "typeIdentifier": "t_address",
  68698. "typeString": "address"
  68699. }
  68700. },
  68701. "visibility": "internal"
  68702. },
  68703. {
  68704. "constant": false,
  68705. "id": 12232,
  68706. "mutability": "mutable",
  68707. "name": "p2",
  68708. "nameLocation": "43133:2:50",
  68709. "nodeType": "VariableDeclaration",
  68710. "scope": 12249,
  68711. "src": "43128:7:50",
  68712. "stateVariable": false,
  68713. "storageLocation": "default",
  68714. "typeDescriptions": {
  68715. "typeIdentifier": "t_bool",
  68716. "typeString": "bool"
  68717. },
  68718. "typeName": {
  68719. "id": 12231,
  68720. "name": "bool",
  68721. "nodeType": "ElementaryTypeName",
  68722. "src": "43128:4:50",
  68723. "typeDescriptions": {
  68724. "typeIdentifier": "t_bool",
  68725. "typeString": "bool"
  68726. }
  68727. },
  68728. "visibility": "internal"
  68729. },
  68730. {
  68731. "constant": false,
  68732. "id": 12234,
  68733. "mutability": "mutable",
  68734. "name": "p3",
  68735. "nameLocation": "43145:2:50",
  68736. "nodeType": "VariableDeclaration",
  68737. "scope": 12249,
  68738. "src": "43137:10:50",
  68739. "stateVariable": false,
  68740. "storageLocation": "default",
  68741. "typeDescriptions": {
  68742. "typeIdentifier": "t_uint256",
  68743. "typeString": "uint256"
  68744. },
  68745. "typeName": {
  68746. "id": 12233,
  68747. "name": "uint256",
  68748. "nodeType": "ElementaryTypeName",
  68749. "src": "43137:7:50",
  68750. "typeDescriptions": {
  68751. "typeIdentifier": "t_uint256",
  68752. "typeString": "uint256"
  68753. }
  68754. },
  68755. "visibility": "internal"
  68756. }
  68757. ],
  68758. "src": "43097:51:50"
  68759. },
  68760. "returnParameters": {
  68761. "id": 12236,
  68762. "nodeType": "ParameterList",
  68763. "parameters": [],
  68764. "src": "43163:0:50"
  68765. },
  68766. "scope": 15355,
  68767. "stateMutability": "pure",
  68768. "virtual": false,
  68769. "visibility": "internal"
  68770. },
  68771. {
  68772. "id": 12272,
  68773. "nodeType": "FunctionDefinition",
  68774. "src": "43278:192:50",
  68775. "nodes": [],
  68776. "body": {
  68777. "id": 12271,
  68778. "nodeType": "Block",
  68779. "src": "43362:108:50",
  68780. "nodes": [],
  68781. "statements": [
  68782. {
  68783. "expression": {
  68784. "arguments": [
  68785. {
  68786. "arguments": [
  68787. {
  68788. "hexValue": "6c6f6728737472696e672c616464726573732c626f6f6c2c737472696e6729",
  68789. "id": 12263,
  68790. "isConstant": false,
  68791. "isLValue": false,
  68792. "isPure": true,
  68793. "kind": "string",
  68794. "lValueRequested": false,
  68795. "nodeType": "Literal",
  68796. "src": "43412:33:50",
  68797. "typeDescriptions": {
  68798. "typeIdentifier": "t_stringliteral_0454c0793d4a41e5f630eb9a887926f8a67ff9e817a5feb968698354ac9d22fb",
  68799. "typeString": "literal_string \"log(string,address,bool,string)\""
  68800. },
  68801. "value": "log(string,address,bool,string)"
  68802. },
  68803. {
  68804. "id": 12264,
  68805. "name": "p0",
  68806. "nodeType": "Identifier",
  68807. "overloadedDeclarations": [],
  68808. "referencedDeclaration": 12251,
  68809. "src": "43447:2:50",
  68810. "typeDescriptions": {
  68811. "typeIdentifier": "t_string_memory_ptr",
  68812. "typeString": "string memory"
  68813. }
  68814. },
  68815. {
  68816. "id": 12265,
  68817. "name": "p1",
  68818. "nodeType": "Identifier",
  68819. "overloadedDeclarations": [],
  68820. "referencedDeclaration": 12253,
  68821. "src": "43451:2:50",
  68822. "typeDescriptions": {
  68823. "typeIdentifier": "t_address",
  68824. "typeString": "address"
  68825. }
  68826. },
  68827. {
  68828. "id": 12266,
  68829. "name": "p2",
  68830. "nodeType": "Identifier",
  68831. "overloadedDeclarations": [],
  68832. "referencedDeclaration": 12255,
  68833. "src": "43455:2:50",
  68834. "typeDescriptions": {
  68835. "typeIdentifier": "t_bool",
  68836. "typeString": "bool"
  68837. }
  68838. },
  68839. {
  68840. "id": 12267,
  68841. "name": "p3",
  68842. "nodeType": "Identifier",
  68843. "overloadedDeclarations": [],
  68844. "referencedDeclaration": 12257,
  68845. "src": "43459:2:50",
  68846. "typeDescriptions": {
  68847. "typeIdentifier": "t_string_memory_ptr",
  68848. "typeString": "string memory"
  68849. }
  68850. }
  68851. ],
  68852. "expression": {
  68853. "argumentTypes": [
  68854. {
  68855. "typeIdentifier": "t_stringliteral_0454c0793d4a41e5f630eb9a887926f8a67ff9e817a5feb968698354ac9d22fb",
  68856. "typeString": "literal_string \"log(string,address,bool,string)\""
  68857. },
  68858. {
  68859. "typeIdentifier": "t_string_memory_ptr",
  68860. "typeString": "string memory"
  68861. },
  68862. {
  68863. "typeIdentifier": "t_address",
  68864. "typeString": "address"
  68865. },
  68866. {
  68867. "typeIdentifier": "t_bool",
  68868. "typeString": "bool"
  68869. },
  68870. {
  68871. "typeIdentifier": "t_string_memory_ptr",
  68872. "typeString": "string memory"
  68873. }
  68874. ],
  68875. "expression": {
  68876. "id": 12261,
  68877. "name": "abi",
  68878. "nodeType": "Identifier",
  68879. "overloadedDeclarations": [],
  68880. "referencedDeclaration": -1,
  68881. "src": "43388:3:50",
  68882. "typeDescriptions": {
  68883. "typeIdentifier": "t_magic_abi",
  68884. "typeString": "abi"
  68885. }
  68886. },
  68887. "id": 12262,
  68888. "isConstant": false,
  68889. "isLValue": false,
  68890. "isPure": true,
  68891. "lValueRequested": false,
  68892. "memberLocation": "43392:19:50",
  68893. "memberName": "encodeWithSignature",
  68894. "nodeType": "MemberAccess",
  68895. "src": "43388:23:50",
  68896. "typeDescriptions": {
  68897. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  68898. "typeString": "function (string memory) pure returns (bytes memory)"
  68899. }
  68900. },
  68901. "id": 12268,
  68902. "isConstant": false,
  68903. "isLValue": false,
  68904. "isPure": false,
  68905. "kind": "functionCall",
  68906. "lValueRequested": false,
  68907. "nameLocations": [],
  68908. "names": [],
  68909. "nodeType": "FunctionCall",
  68910. "src": "43388:74:50",
  68911. "tryCall": false,
  68912. "typeDescriptions": {
  68913. "typeIdentifier": "t_bytes_memory_ptr",
  68914. "typeString": "bytes memory"
  68915. }
  68916. }
  68917. ],
  68918. "expression": {
  68919. "argumentTypes": [
  68920. {
  68921. "typeIdentifier": "t_bytes_memory_ptr",
  68922. "typeString": "bytes memory"
  68923. }
  68924. ],
  68925. "id": 12260,
  68926. "name": "_sendLogPayload",
  68927. "nodeType": "Identifier",
  68928. "overloadedDeclarations": [],
  68929. "referencedDeclaration": 7315,
  68930. "src": "43372:15:50",
  68931. "typeDescriptions": {
  68932. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  68933. "typeString": "function (bytes memory) pure"
  68934. }
  68935. },
  68936. "id": 12269,
  68937. "isConstant": false,
  68938. "isLValue": false,
  68939. "isPure": false,
  68940. "kind": "functionCall",
  68941. "lValueRequested": false,
  68942. "nameLocations": [],
  68943. "names": [],
  68944. "nodeType": "FunctionCall",
  68945. "src": "43372:91:50",
  68946. "tryCall": false,
  68947. "typeDescriptions": {
  68948. "typeIdentifier": "t_tuple$__$",
  68949. "typeString": "tuple()"
  68950. }
  68951. },
  68952. "id": 12270,
  68953. "nodeType": "ExpressionStatement",
  68954. "src": "43372:91:50"
  68955. }
  68956. ]
  68957. },
  68958. "implemented": true,
  68959. "kind": "function",
  68960. "modifiers": [],
  68961. "name": "log",
  68962. "nameLocation": "43287:3:50",
  68963. "parameters": {
  68964. "id": 12258,
  68965. "nodeType": "ParameterList",
  68966. "parameters": [
  68967. {
  68968. "constant": false,
  68969. "id": 12251,
  68970. "mutability": "mutable",
  68971. "name": "p0",
  68972. "nameLocation": "43305:2:50",
  68973. "nodeType": "VariableDeclaration",
  68974. "scope": 12272,
  68975. "src": "43291:16:50",
  68976. "stateVariable": false,
  68977. "storageLocation": "memory",
  68978. "typeDescriptions": {
  68979. "typeIdentifier": "t_string_memory_ptr",
  68980. "typeString": "string"
  68981. },
  68982. "typeName": {
  68983. "id": 12250,
  68984. "name": "string",
  68985. "nodeType": "ElementaryTypeName",
  68986. "src": "43291:6:50",
  68987. "typeDescriptions": {
  68988. "typeIdentifier": "t_string_storage_ptr",
  68989. "typeString": "string"
  68990. }
  68991. },
  68992. "visibility": "internal"
  68993. },
  68994. {
  68995. "constant": false,
  68996. "id": 12253,
  68997. "mutability": "mutable",
  68998. "name": "p1",
  68999. "nameLocation": "43317:2:50",
  69000. "nodeType": "VariableDeclaration",
  69001. "scope": 12272,
  69002. "src": "43309:10:50",
  69003. "stateVariable": false,
  69004. "storageLocation": "default",
  69005. "typeDescriptions": {
  69006. "typeIdentifier": "t_address",
  69007. "typeString": "address"
  69008. },
  69009. "typeName": {
  69010. "id": 12252,
  69011. "name": "address",
  69012. "nodeType": "ElementaryTypeName",
  69013. "src": "43309:7:50",
  69014. "stateMutability": "nonpayable",
  69015. "typeDescriptions": {
  69016. "typeIdentifier": "t_address",
  69017. "typeString": "address"
  69018. }
  69019. },
  69020. "visibility": "internal"
  69021. },
  69022. {
  69023. "constant": false,
  69024. "id": 12255,
  69025. "mutability": "mutable",
  69026. "name": "p2",
  69027. "nameLocation": "43326:2:50",
  69028. "nodeType": "VariableDeclaration",
  69029. "scope": 12272,
  69030. "src": "43321:7:50",
  69031. "stateVariable": false,
  69032. "storageLocation": "default",
  69033. "typeDescriptions": {
  69034. "typeIdentifier": "t_bool",
  69035. "typeString": "bool"
  69036. },
  69037. "typeName": {
  69038. "id": 12254,
  69039. "name": "bool",
  69040. "nodeType": "ElementaryTypeName",
  69041. "src": "43321:4:50",
  69042. "typeDescriptions": {
  69043. "typeIdentifier": "t_bool",
  69044. "typeString": "bool"
  69045. }
  69046. },
  69047. "visibility": "internal"
  69048. },
  69049. {
  69050. "constant": false,
  69051. "id": 12257,
  69052. "mutability": "mutable",
  69053. "name": "p3",
  69054. "nameLocation": "43344:2:50",
  69055. "nodeType": "VariableDeclaration",
  69056. "scope": 12272,
  69057. "src": "43330:16:50",
  69058. "stateVariable": false,
  69059. "storageLocation": "memory",
  69060. "typeDescriptions": {
  69061. "typeIdentifier": "t_string_memory_ptr",
  69062. "typeString": "string"
  69063. },
  69064. "typeName": {
  69065. "id": 12256,
  69066. "name": "string",
  69067. "nodeType": "ElementaryTypeName",
  69068. "src": "43330:6:50",
  69069. "typeDescriptions": {
  69070. "typeIdentifier": "t_string_storage_ptr",
  69071. "typeString": "string"
  69072. }
  69073. },
  69074. "visibility": "internal"
  69075. }
  69076. ],
  69077. "src": "43290:57:50"
  69078. },
  69079. "returnParameters": {
  69080. "id": 12259,
  69081. "nodeType": "ParameterList",
  69082. "parameters": [],
  69083. "src": "43362:0:50"
  69084. },
  69085. "scope": 15355,
  69086. "stateMutability": "pure",
  69087. "virtual": false,
  69088. "visibility": "internal"
  69089. },
  69090. {
  69091. "id": 12295,
  69092. "nodeType": "FunctionDefinition",
  69093. "src": "43476:181:50",
  69094. "nodes": [],
  69095. "body": {
  69096. "id": 12294,
  69097. "nodeType": "Block",
  69098. "src": "43551:106:50",
  69099. "nodes": [],
  69100. "statements": [
  69101. {
  69102. "expression": {
  69103. "arguments": [
  69104. {
  69105. "arguments": [
  69106. {
  69107. "hexValue": "6c6f6728737472696e672c616464726573732c626f6f6c2c626f6f6c29",
  69108. "id": 12286,
  69109. "isConstant": false,
  69110. "isLValue": false,
  69111. "isPure": true,
  69112. "kind": "string",
  69113. "lValueRequested": false,
  69114. "nodeType": "Literal",
  69115. "src": "43601:31:50",
  69116. "typeDescriptions": {
  69117. "typeIdentifier": "t_stringliteral_79884c2bc85eb73c854df1610df373a05f191b834f79cd47a7ab28be2308c039",
  69118. "typeString": "literal_string \"log(string,address,bool,bool)\""
  69119. },
  69120. "value": "log(string,address,bool,bool)"
  69121. },
  69122. {
  69123. "id": 12287,
  69124. "name": "p0",
  69125. "nodeType": "Identifier",
  69126. "overloadedDeclarations": [],
  69127. "referencedDeclaration": 12274,
  69128. "src": "43634:2:50",
  69129. "typeDescriptions": {
  69130. "typeIdentifier": "t_string_memory_ptr",
  69131. "typeString": "string memory"
  69132. }
  69133. },
  69134. {
  69135. "id": 12288,
  69136. "name": "p1",
  69137. "nodeType": "Identifier",
  69138. "overloadedDeclarations": [],
  69139. "referencedDeclaration": 12276,
  69140. "src": "43638:2:50",
  69141. "typeDescriptions": {
  69142. "typeIdentifier": "t_address",
  69143. "typeString": "address"
  69144. }
  69145. },
  69146. {
  69147. "id": 12289,
  69148. "name": "p2",
  69149. "nodeType": "Identifier",
  69150. "overloadedDeclarations": [],
  69151. "referencedDeclaration": 12278,
  69152. "src": "43642:2:50",
  69153. "typeDescriptions": {
  69154. "typeIdentifier": "t_bool",
  69155. "typeString": "bool"
  69156. }
  69157. },
  69158. {
  69159. "id": 12290,
  69160. "name": "p3",
  69161. "nodeType": "Identifier",
  69162. "overloadedDeclarations": [],
  69163. "referencedDeclaration": 12280,
  69164. "src": "43646:2:50",
  69165. "typeDescriptions": {
  69166. "typeIdentifier": "t_bool",
  69167. "typeString": "bool"
  69168. }
  69169. }
  69170. ],
  69171. "expression": {
  69172. "argumentTypes": [
  69173. {
  69174. "typeIdentifier": "t_stringliteral_79884c2bc85eb73c854df1610df373a05f191b834f79cd47a7ab28be2308c039",
  69175. "typeString": "literal_string \"log(string,address,bool,bool)\""
  69176. },
  69177. {
  69178. "typeIdentifier": "t_string_memory_ptr",
  69179. "typeString": "string memory"
  69180. },
  69181. {
  69182. "typeIdentifier": "t_address",
  69183. "typeString": "address"
  69184. },
  69185. {
  69186. "typeIdentifier": "t_bool",
  69187. "typeString": "bool"
  69188. },
  69189. {
  69190. "typeIdentifier": "t_bool",
  69191. "typeString": "bool"
  69192. }
  69193. ],
  69194. "expression": {
  69195. "id": 12284,
  69196. "name": "abi",
  69197. "nodeType": "Identifier",
  69198. "overloadedDeclarations": [],
  69199. "referencedDeclaration": -1,
  69200. "src": "43577:3:50",
  69201. "typeDescriptions": {
  69202. "typeIdentifier": "t_magic_abi",
  69203. "typeString": "abi"
  69204. }
  69205. },
  69206. "id": 12285,
  69207. "isConstant": false,
  69208. "isLValue": false,
  69209. "isPure": true,
  69210. "lValueRequested": false,
  69211. "memberLocation": "43581:19:50",
  69212. "memberName": "encodeWithSignature",
  69213. "nodeType": "MemberAccess",
  69214. "src": "43577:23:50",
  69215. "typeDescriptions": {
  69216. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  69217. "typeString": "function (string memory) pure returns (bytes memory)"
  69218. }
  69219. },
  69220. "id": 12291,
  69221. "isConstant": false,
  69222. "isLValue": false,
  69223. "isPure": false,
  69224. "kind": "functionCall",
  69225. "lValueRequested": false,
  69226. "nameLocations": [],
  69227. "names": [],
  69228. "nodeType": "FunctionCall",
  69229. "src": "43577:72:50",
  69230. "tryCall": false,
  69231. "typeDescriptions": {
  69232. "typeIdentifier": "t_bytes_memory_ptr",
  69233. "typeString": "bytes memory"
  69234. }
  69235. }
  69236. ],
  69237. "expression": {
  69238. "argumentTypes": [
  69239. {
  69240. "typeIdentifier": "t_bytes_memory_ptr",
  69241. "typeString": "bytes memory"
  69242. }
  69243. ],
  69244. "id": 12283,
  69245. "name": "_sendLogPayload",
  69246. "nodeType": "Identifier",
  69247. "overloadedDeclarations": [],
  69248. "referencedDeclaration": 7315,
  69249. "src": "43561:15:50",
  69250. "typeDescriptions": {
  69251. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  69252. "typeString": "function (bytes memory) pure"
  69253. }
  69254. },
  69255. "id": 12292,
  69256. "isConstant": false,
  69257. "isLValue": false,
  69258. "isPure": false,
  69259. "kind": "functionCall",
  69260. "lValueRequested": false,
  69261. "nameLocations": [],
  69262. "names": [],
  69263. "nodeType": "FunctionCall",
  69264. "src": "43561:89:50",
  69265. "tryCall": false,
  69266. "typeDescriptions": {
  69267. "typeIdentifier": "t_tuple$__$",
  69268. "typeString": "tuple()"
  69269. }
  69270. },
  69271. "id": 12293,
  69272. "nodeType": "ExpressionStatement",
  69273. "src": "43561:89:50"
  69274. }
  69275. ]
  69276. },
  69277. "implemented": true,
  69278. "kind": "function",
  69279. "modifiers": [],
  69280. "name": "log",
  69281. "nameLocation": "43485:3:50",
  69282. "parameters": {
  69283. "id": 12281,
  69284. "nodeType": "ParameterList",
  69285. "parameters": [
  69286. {
  69287. "constant": false,
  69288. "id": 12274,
  69289. "mutability": "mutable",
  69290. "name": "p0",
  69291. "nameLocation": "43503:2:50",
  69292. "nodeType": "VariableDeclaration",
  69293. "scope": 12295,
  69294. "src": "43489:16:50",
  69295. "stateVariable": false,
  69296. "storageLocation": "memory",
  69297. "typeDescriptions": {
  69298. "typeIdentifier": "t_string_memory_ptr",
  69299. "typeString": "string"
  69300. },
  69301. "typeName": {
  69302. "id": 12273,
  69303. "name": "string",
  69304. "nodeType": "ElementaryTypeName",
  69305. "src": "43489:6:50",
  69306. "typeDescriptions": {
  69307. "typeIdentifier": "t_string_storage_ptr",
  69308. "typeString": "string"
  69309. }
  69310. },
  69311. "visibility": "internal"
  69312. },
  69313. {
  69314. "constant": false,
  69315. "id": 12276,
  69316. "mutability": "mutable",
  69317. "name": "p1",
  69318. "nameLocation": "43515:2:50",
  69319. "nodeType": "VariableDeclaration",
  69320. "scope": 12295,
  69321. "src": "43507:10:50",
  69322. "stateVariable": false,
  69323. "storageLocation": "default",
  69324. "typeDescriptions": {
  69325. "typeIdentifier": "t_address",
  69326. "typeString": "address"
  69327. },
  69328. "typeName": {
  69329. "id": 12275,
  69330. "name": "address",
  69331. "nodeType": "ElementaryTypeName",
  69332. "src": "43507:7:50",
  69333. "stateMutability": "nonpayable",
  69334. "typeDescriptions": {
  69335. "typeIdentifier": "t_address",
  69336. "typeString": "address"
  69337. }
  69338. },
  69339. "visibility": "internal"
  69340. },
  69341. {
  69342. "constant": false,
  69343. "id": 12278,
  69344. "mutability": "mutable",
  69345. "name": "p2",
  69346. "nameLocation": "43524:2:50",
  69347. "nodeType": "VariableDeclaration",
  69348. "scope": 12295,
  69349. "src": "43519:7:50",
  69350. "stateVariable": false,
  69351. "storageLocation": "default",
  69352. "typeDescriptions": {
  69353. "typeIdentifier": "t_bool",
  69354. "typeString": "bool"
  69355. },
  69356. "typeName": {
  69357. "id": 12277,
  69358. "name": "bool",
  69359. "nodeType": "ElementaryTypeName",
  69360. "src": "43519:4:50",
  69361. "typeDescriptions": {
  69362. "typeIdentifier": "t_bool",
  69363. "typeString": "bool"
  69364. }
  69365. },
  69366. "visibility": "internal"
  69367. },
  69368. {
  69369. "constant": false,
  69370. "id": 12280,
  69371. "mutability": "mutable",
  69372. "name": "p3",
  69373. "nameLocation": "43533:2:50",
  69374. "nodeType": "VariableDeclaration",
  69375. "scope": 12295,
  69376. "src": "43528:7:50",
  69377. "stateVariable": false,
  69378. "storageLocation": "default",
  69379. "typeDescriptions": {
  69380. "typeIdentifier": "t_bool",
  69381. "typeString": "bool"
  69382. },
  69383. "typeName": {
  69384. "id": 12279,
  69385. "name": "bool",
  69386. "nodeType": "ElementaryTypeName",
  69387. "src": "43528:4:50",
  69388. "typeDescriptions": {
  69389. "typeIdentifier": "t_bool",
  69390. "typeString": "bool"
  69391. }
  69392. },
  69393. "visibility": "internal"
  69394. }
  69395. ],
  69396. "src": "43488:48:50"
  69397. },
  69398. "returnParameters": {
  69399. "id": 12282,
  69400. "nodeType": "ParameterList",
  69401. "parameters": [],
  69402. "src": "43551:0:50"
  69403. },
  69404. "scope": 15355,
  69405. "stateMutability": "pure",
  69406. "virtual": false,
  69407. "visibility": "internal"
  69408. },
  69409. {
  69410. "id": 12318,
  69411. "nodeType": "FunctionDefinition",
  69412. "src": "43663:187:50",
  69413. "nodes": [],
  69414. "body": {
  69415. "id": 12317,
  69416. "nodeType": "Block",
  69417. "src": "43741:109:50",
  69418. "nodes": [],
  69419. "statements": [
  69420. {
  69421. "expression": {
  69422. "arguments": [
  69423. {
  69424. "arguments": [
  69425. {
  69426. "hexValue": "6c6f6728737472696e672c616464726573732c626f6f6c2c6164647265737329",
  69427. "id": 12309,
  69428. "isConstant": false,
  69429. "isLValue": false,
  69430. "isPure": true,
  69431. "kind": "string",
  69432. "lValueRequested": false,
  69433. "nodeType": "Literal",
  69434. "src": "43791:34:50",
  69435. "typeDescriptions": {
  69436. "typeIdentifier": "t_stringliteral_223603bd064d72559a7d519ad0f1c6a8da707a49f5718dfa23a5ccb01bf9ab76",
  69437. "typeString": "literal_string \"log(string,address,bool,address)\""
  69438. },
  69439. "value": "log(string,address,bool,address)"
  69440. },
  69441. {
  69442. "id": 12310,
  69443. "name": "p0",
  69444. "nodeType": "Identifier",
  69445. "overloadedDeclarations": [],
  69446. "referencedDeclaration": 12297,
  69447. "src": "43827:2:50",
  69448. "typeDescriptions": {
  69449. "typeIdentifier": "t_string_memory_ptr",
  69450. "typeString": "string memory"
  69451. }
  69452. },
  69453. {
  69454. "id": 12311,
  69455. "name": "p1",
  69456. "nodeType": "Identifier",
  69457. "overloadedDeclarations": [],
  69458. "referencedDeclaration": 12299,
  69459. "src": "43831:2:50",
  69460. "typeDescriptions": {
  69461. "typeIdentifier": "t_address",
  69462. "typeString": "address"
  69463. }
  69464. },
  69465. {
  69466. "id": 12312,
  69467. "name": "p2",
  69468. "nodeType": "Identifier",
  69469. "overloadedDeclarations": [],
  69470. "referencedDeclaration": 12301,
  69471. "src": "43835:2:50",
  69472. "typeDescriptions": {
  69473. "typeIdentifier": "t_bool",
  69474. "typeString": "bool"
  69475. }
  69476. },
  69477. {
  69478. "id": 12313,
  69479. "name": "p3",
  69480. "nodeType": "Identifier",
  69481. "overloadedDeclarations": [],
  69482. "referencedDeclaration": 12303,
  69483. "src": "43839:2:50",
  69484. "typeDescriptions": {
  69485. "typeIdentifier": "t_address",
  69486. "typeString": "address"
  69487. }
  69488. }
  69489. ],
  69490. "expression": {
  69491. "argumentTypes": [
  69492. {
  69493. "typeIdentifier": "t_stringliteral_223603bd064d72559a7d519ad0f1c6a8da707a49f5718dfa23a5ccb01bf9ab76",
  69494. "typeString": "literal_string \"log(string,address,bool,address)\""
  69495. },
  69496. {
  69497. "typeIdentifier": "t_string_memory_ptr",
  69498. "typeString": "string memory"
  69499. },
  69500. {
  69501. "typeIdentifier": "t_address",
  69502. "typeString": "address"
  69503. },
  69504. {
  69505. "typeIdentifier": "t_bool",
  69506. "typeString": "bool"
  69507. },
  69508. {
  69509. "typeIdentifier": "t_address",
  69510. "typeString": "address"
  69511. }
  69512. ],
  69513. "expression": {
  69514. "id": 12307,
  69515. "name": "abi",
  69516. "nodeType": "Identifier",
  69517. "overloadedDeclarations": [],
  69518. "referencedDeclaration": -1,
  69519. "src": "43767:3:50",
  69520. "typeDescriptions": {
  69521. "typeIdentifier": "t_magic_abi",
  69522. "typeString": "abi"
  69523. }
  69524. },
  69525. "id": 12308,
  69526. "isConstant": false,
  69527. "isLValue": false,
  69528. "isPure": true,
  69529. "lValueRequested": false,
  69530. "memberLocation": "43771:19:50",
  69531. "memberName": "encodeWithSignature",
  69532. "nodeType": "MemberAccess",
  69533. "src": "43767:23:50",
  69534. "typeDescriptions": {
  69535. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  69536. "typeString": "function (string memory) pure returns (bytes memory)"
  69537. }
  69538. },
  69539. "id": 12314,
  69540. "isConstant": false,
  69541. "isLValue": false,
  69542. "isPure": false,
  69543. "kind": "functionCall",
  69544. "lValueRequested": false,
  69545. "nameLocations": [],
  69546. "names": [],
  69547. "nodeType": "FunctionCall",
  69548. "src": "43767:75:50",
  69549. "tryCall": false,
  69550. "typeDescriptions": {
  69551. "typeIdentifier": "t_bytes_memory_ptr",
  69552. "typeString": "bytes memory"
  69553. }
  69554. }
  69555. ],
  69556. "expression": {
  69557. "argumentTypes": [
  69558. {
  69559. "typeIdentifier": "t_bytes_memory_ptr",
  69560. "typeString": "bytes memory"
  69561. }
  69562. ],
  69563. "id": 12306,
  69564. "name": "_sendLogPayload",
  69565. "nodeType": "Identifier",
  69566. "overloadedDeclarations": [],
  69567. "referencedDeclaration": 7315,
  69568. "src": "43751:15:50",
  69569. "typeDescriptions": {
  69570. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  69571. "typeString": "function (bytes memory) pure"
  69572. }
  69573. },
  69574. "id": 12315,
  69575. "isConstant": false,
  69576. "isLValue": false,
  69577. "isPure": false,
  69578. "kind": "functionCall",
  69579. "lValueRequested": false,
  69580. "nameLocations": [],
  69581. "names": [],
  69582. "nodeType": "FunctionCall",
  69583. "src": "43751:92:50",
  69584. "tryCall": false,
  69585. "typeDescriptions": {
  69586. "typeIdentifier": "t_tuple$__$",
  69587. "typeString": "tuple()"
  69588. }
  69589. },
  69590. "id": 12316,
  69591. "nodeType": "ExpressionStatement",
  69592. "src": "43751:92:50"
  69593. }
  69594. ]
  69595. },
  69596. "implemented": true,
  69597. "kind": "function",
  69598. "modifiers": [],
  69599. "name": "log",
  69600. "nameLocation": "43672:3:50",
  69601. "parameters": {
  69602. "id": 12304,
  69603. "nodeType": "ParameterList",
  69604. "parameters": [
  69605. {
  69606. "constant": false,
  69607. "id": 12297,
  69608. "mutability": "mutable",
  69609. "name": "p0",
  69610. "nameLocation": "43690:2:50",
  69611. "nodeType": "VariableDeclaration",
  69612. "scope": 12318,
  69613. "src": "43676:16:50",
  69614. "stateVariable": false,
  69615. "storageLocation": "memory",
  69616. "typeDescriptions": {
  69617. "typeIdentifier": "t_string_memory_ptr",
  69618. "typeString": "string"
  69619. },
  69620. "typeName": {
  69621. "id": 12296,
  69622. "name": "string",
  69623. "nodeType": "ElementaryTypeName",
  69624. "src": "43676:6:50",
  69625. "typeDescriptions": {
  69626. "typeIdentifier": "t_string_storage_ptr",
  69627. "typeString": "string"
  69628. }
  69629. },
  69630. "visibility": "internal"
  69631. },
  69632. {
  69633. "constant": false,
  69634. "id": 12299,
  69635. "mutability": "mutable",
  69636. "name": "p1",
  69637. "nameLocation": "43702:2:50",
  69638. "nodeType": "VariableDeclaration",
  69639. "scope": 12318,
  69640. "src": "43694:10:50",
  69641. "stateVariable": false,
  69642. "storageLocation": "default",
  69643. "typeDescriptions": {
  69644. "typeIdentifier": "t_address",
  69645. "typeString": "address"
  69646. },
  69647. "typeName": {
  69648. "id": 12298,
  69649. "name": "address",
  69650. "nodeType": "ElementaryTypeName",
  69651. "src": "43694:7:50",
  69652. "stateMutability": "nonpayable",
  69653. "typeDescriptions": {
  69654. "typeIdentifier": "t_address",
  69655. "typeString": "address"
  69656. }
  69657. },
  69658. "visibility": "internal"
  69659. },
  69660. {
  69661. "constant": false,
  69662. "id": 12301,
  69663. "mutability": "mutable",
  69664. "name": "p2",
  69665. "nameLocation": "43711:2:50",
  69666. "nodeType": "VariableDeclaration",
  69667. "scope": 12318,
  69668. "src": "43706:7:50",
  69669. "stateVariable": false,
  69670. "storageLocation": "default",
  69671. "typeDescriptions": {
  69672. "typeIdentifier": "t_bool",
  69673. "typeString": "bool"
  69674. },
  69675. "typeName": {
  69676. "id": 12300,
  69677. "name": "bool",
  69678. "nodeType": "ElementaryTypeName",
  69679. "src": "43706:4:50",
  69680. "typeDescriptions": {
  69681. "typeIdentifier": "t_bool",
  69682. "typeString": "bool"
  69683. }
  69684. },
  69685. "visibility": "internal"
  69686. },
  69687. {
  69688. "constant": false,
  69689. "id": 12303,
  69690. "mutability": "mutable",
  69691. "name": "p3",
  69692. "nameLocation": "43723:2:50",
  69693. "nodeType": "VariableDeclaration",
  69694. "scope": 12318,
  69695. "src": "43715:10:50",
  69696. "stateVariable": false,
  69697. "storageLocation": "default",
  69698. "typeDescriptions": {
  69699. "typeIdentifier": "t_address",
  69700. "typeString": "address"
  69701. },
  69702. "typeName": {
  69703. "id": 12302,
  69704. "name": "address",
  69705. "nodeType": "ElementaryTypeName",
  69706. "src": "43715:7:50",
  69707. "stateMutability": "nonpayable",
  69708. "typeDescriptions": {
  69709. "typeIdentifier": "t_address",
  69710. "typeString": "address"
  69711. }
  69712. },
  69713. "visibility": "internal"
  69714. }
  69715. ],
  69716. "src": "43675:51:50"
  69717. },
  69718. "returnParameters": {
  69719. "id": 12305,
  69720. "nodeType": "ParameterList",
  69721. "parameters": [],
  69722. "src": "43741:0:50"
  69723. },
  69724. "scope": 15355,
  69725. "stateMutability": "pure",
  69726. "virtual": false,
  69727. "visibility": "internal"
  69728. },
  69729. {
  69730. "id": 12341,
  69731. "nodeType": "FunctionDefinition",
  69732. "src": "43856:193:50",
  69733. "nodes": [],
  69734. "body": {
  69735. "id": 12340,
  69736. "nodeType": "Block",
  69737. "src": "43937:112:50",
  69738. "nodes": [],
  69739. "statements": [
  69740. {
  69741. "expression": {
  69742. "arguments": [
  69743. {
  69744. "arguments": [
  69745. {
  69746. "hexValue": "6c6f6728737472696e672c616464726573732c616464726573732c75696e7432353629",
  69747. "id": 12332,
  69748. "isConstant": false,
  69749. "isLValue": false,
  69750. "isPure": true,
  69751. "kind": "string",
  69752. "lValueRequested": false,
  69753. "nodeType": "Literal",
  69754. "src": "43987:37:50",
  69755. "typeDescriptions": {
  69756. "typeIdentifier": "t_stringliteral_8ef3f399de1ebecd7840dee5f4cdc1bad43021ab37fa3acdd3dfbd36f7092e7b",
  69757. "typeString": "literal_string \"log(string,address,address,uint256)\""
  69758. },
  69759. "value": "log(string,address,address,uint256)"
  69760. },
  69761. {
  69762. "id": 12333,
  69763. "name": "p0",
  69764. "nodeType": "Identifier",
  69765. "overloadedDeclarations": [],
  69766. "referencedDeclaration": 12320,
  69767. "src": "44026:2:50",
  69768. "typeDescriptions": {
  69769. "typeIdentifier": "t_string_memory_ptr",
  69770. "typeString": "string memory"
  69771. }
  69772. },
  69773. {
  69774. "id": 12334,
  69775. "name": "p1",
  69776. "nodeType": "Identifier",
  69777. "overloadedDeclarations": [],
  69778. "referencedDeclaration": 12322,
  69779. "src": "44030:2:50",
  69780. "typeDescriptions": {
  69781. "typeIdentifier": "t_address",
  69782. "typeString": "address"
  69783. }
  69784. },
  69785. {
  69786. "id": 12335,
  69787. "name": "p2",
  69788. "nodeType": "Identifier",
  69789. "overloadedDeclarations": [],
  69790. "referencedDeclaration": 12324,
  69791. "src": "44034:2:50",
  69792. "typeDescriptions": {
  69793. "typeIdentifier": "t_address",
  69794. "typeString": "address"
  69795. }
  69796. },
  69797. {
  69798. "id": 12336,
  69799. "name": "p3",
  69800. "nodeType": "Identifier",
  69801. "overloadedDeclarations": [],
  69802. "referencedDeclaration": 12326,
  69803. "src": "44038:2:50",
  69804. "typeDescriptions": {
  69805. "typeIdentifier": "t_uint256",
  69806. "typeString": "uint256"
  69807. }
  69808. }
  69809. ],
  69810. "expression": {
  69811. "argumentTypes": [
  69812. {
  69813. "typeIdentifier": "t_stringliteral_8ef3f399de1ebecd7840dee5f4cdc1bad43021ab37fa3acdd3dfbd36f7092e7b",
  69814. "typeString": "literal_string \"log(string,address,address,uint256)\""
  69815. },
  69816. {
  69817. "typeIdentifier": "t_string_memory_ptr",
  69818. "typeString": "string memory"
  69819. },
  69820. {
  69821. "typeIdentifier": "t_address",
  69822. "typeString": "address"
  69823. },
  69824. {
  69825. "typeIdentifier": "t_address",
  69826. "typeString": "address"
  69827. },
  69828. {
  69829. "typeIdentifier": "t_uint256",
  69830. "typeString": "uint256"
  69831. }
  69832. ],
  69833. "expression": {
  69834. "id": 12330,
  69835. "name": "abi",
  69836. "nodeType": "Identifier",
  69837. "overloadedDeclarations": [],
  69838. "referencedDeclaration": -1,
  69839. "src": "43963:3:50",
  69840. "typeDescriptions": {
  69841. "typeIdentifier": "t_magic_abi",
  69842. "typeString": "abi"
  69843. }
  69844. },
  69845. "id": 12331,
  69846. "isConstant": false,
  69847. "isLValue": false,
  69848. "isPure": true,
  69849. "lValueRequested": false,
  69850. "memberLocation": "43967:19:50",
  69851. "memberName": "encodeWithSignature",
  69852. "nodeType": "MemberAccess",
  69853. "src": "43963:23:50",
  69854. "typeDescriptions": {
  69855. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  69856. "typeString": "function (string memory) pure returns (bytes memory)"
  69857. }
  69858. },
  69859. "id": 12337,
  69860. "isConstant": false,
  69861. "isLValue": false,
  69862. "isPure": false,
  69863. "kind": "functionCall",
  69864. "lValueRequested": false,
  69865. "nameLocations": [],
  69866. "names": [],
  69867. "nodeType": "FunctionCall",
  69868. "src": "43963:78:50",
  69869. "tryCall": false,
  69870. "typeDescriptions": {
  69871. "typeIdentifier": "t_bytes_memory_ptr",
  69872. "typeString": "bytes memory"
  69873. }
  69874. }
  69875. ],
  69876. "expression": {
  69877. "argumentTypes": [
  69878. {
  69879. "typeIdentifier": "t_bytes_memory_ptr",
  69880. "typeString": "bytes memory"
  69881. }
  69882. ],
  69883. "id": 12329,
  69884. "name": "_sendLogPayload",
  69885. "nodeType": "Identifier",
  69886. "overloadedDeclarations": [],
  69887. "referencedDeclaration": 7315,
  69888. "src": "43947:15:50",
  69889. "typeDescriptions": {
  69890. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  69891. "typeString": "function (bytes memory) pure"
  69892. }
  69893. },
  69894. "id": 12338,
  69895. "isConstant": false,
  69896. "isLValue": false,
  69897. "isPure": false,
  69898. "kind": "functionCall",
  69899. "lValueRequested": false,
  69900. "nameLocations": [],
  69901. "names": [],
  69902. "nodeType": "FunctionCall",
  69903. "src": "43947:95:50",
  69904. "tryCall": false,
  69905. "typeDescriptions": {
  69906. "typeIdentifier": "t_tuple$__$",
  69907. "typeString": "tuple()"
  69908. }
  69909. },
  69910. "id": 12339,
  69911. "nodeType": "ExpressionStatement",
  69912. "src": "43947:95:50"
  69913. }
  69914. ]
  69915. },
  69916. "implemented": true,
  69917. "kind": "function",
  69918. "modifiers": [],
  69919. "name": "log",
  69920. "nameLocation": "43865:3:50",
  69921. "parameters": {
  69922. "id": 12327,
  69923. "nodeType": "ParameterList",
  69924. "parameters": [
  69925. {
  69926. "constant": false,
  69927. "id": 12320,
  69928. "mutability": "mutable",
  69929. "name": "p0",
  69930. "nameLocation": "43883:2:50",
  69931. "nodeType": "VariableDeclaration",
  69932. "scope": 12341,
  69933. "src": "43869:16:50",
  69934. "stateVariable": false,
  69935. "storageLocation": "memory",
  69936. "typeDescriptions": {
  69937. "typeIdentifier": "t_string_memory_ptr",
  69938. "typeString": "string"
  69939. },
  69940. "typeName": {
  69941. "id": 12319,
  69942. "name": "string",
  69943. "nodeType": "ElementaryTypeName",
  69944. "src": "43869:6:50",
  69945. "typeDescriptions": {
  69946. "typeIdentifier": "t_string_storage_ptr",
  69947. "typeString": "string"
  69948. }
  69949. },
  69950. "visibility": "internal"
  69951. },
  69952. {
  69953. "constant": false,
  69954. "id": 12322,
  69955. "mutability": "mutable",
  69956. "name": "p1",
  69957. "nameLocation": "43895:2:50",
  69958. "nodeType": "VariableDeclaration",
  69959. "scope": 12341,
  69960. "src": "43887:10:50",
  69961. "stateVariable": false,
  69962. "storageLocation": "default",
  69963. "typeDescriptions": {
  69964. "typeIdentifier": "t_address",
  69965. "typeString": "address"
  69966. },
  69967. "typeName": {
  69968. "id": 12321,
  69969. "name": "address",
  69970. "nodeType": "ElementaryTypeName",
  69971. "src": "43887:7:50",
  69972. "stateMutability": "nonpayable",
  69973. "typeDescriptions": {
  69974. "typeIdentifier": "t_address",
  69975. "typeString": "address"
  69976. }
  69977. },
  69978. "visibility": "internal"
  69979. },
  69980. {
  69981. "constant": false,
  69982. "id": 12324,
  69983. "mutability": "mutable",
  69984. "name": "p2",
  69985. "nameLocation": "43907:2:50",
  69986. "nodeType": "VariableDeclaration",
  69987. "scope": 12341,
  69988. "src": "43899:10:50",
  69989. "stateVariable": false,
  69990. "storageLocation": "default",
  69991. "typeDescriptions": {
  69992. "typeIdentifier": "t_address",
  69993. "typeString": "address"
  69994. },
  69995. "typeName": {
  69996. "id": 12323,
  69997. "name": "address",
  69998. "nodeType": "ElementaryTypeName",
  69999. "src": "43899:7:50",
  70000. "stateMutability": "nonpayable",
  70001. "typeDescriptions": {
  70002. "typeIdentifier": "t_address",
  70003. "typeString": "address"
  70004. }
  70005. },
  70006. "visibility": "internal"
  70007. },
  70008. {
  70009. "constant": false,
  70010. "id": 12326,
  70011. "mutability": "mutable",
  70012. "name": "p3",
  70013. "nameLocation": "43919:2:50",
  70014. "nodeType": "VariableDeclaration",
  70015. "scope": 12341,
  70016. "src": "43911:10:50",
  70017. "stateVariable": false,
  70018. "storageLocation": "default",
  70019. "typeDescriptions": {
  70020. "typeIdentifier": "t_uint256",
  70021. "typeString": "uint256"
  70022. },
  70023. "typeName": {
  70024. "id": 12325,
  70025. "name": "uint256",
  70026. "nodeType": "ElementaryTypeName",
  70027. "src": "43911:7:50",
  70028. "typeDescriptions": {
  70029. "typeIdentifier": "t_uint256",
  70030. "typeString": "uint256"
  70031. }
  70032. },
  70033. "visibility": "internal"
  70034. }
  70035. ],
  70036. "src": "43868:54:50"
  70037. },
  70038. "returnParameters": {
  70039. "id": 12328,
  70040. "nodeType": "ParameterList",
  70041. "parameters": [],
  70042. "src": "43937:0:50"
  70043. },
  70044. "scope": 15355,
  70045. "stateMutability": "pure",
  70046. "virtual": false,
  70047. "visibility": "internal"
  70048. },
  70049. {
  70050. "id": 12364,
  70051. "nodeType": "FunctionDefinition",
  70052. "src": "44055:198:50",
  70053. "nodes": [],
  70054. "body": {
  70055. "id": 12363,
  70056. "nodeType": "Block",
  70057. "src": "44142:111:50",
  70058. "nodes": [],
  70059. "statements": [
  70060. {
  70061. "expression": {
  70062. "arguments": [
  70063. {
  70064. "arguments": [
  70065. {
  70066. "hexValue": "6c6f6728737472696e672c616464726573732c616464726573732c737472696e6729",
  70067. "id": 12355,
  70068. "isConstant": false,
  70069. "isLValue": false,
  70070. "isPure": true,
  70071. "kind": "string",
  70072. "lValueRequested": false,
  70073. "nodeType": "Literal",
  70074. "src": "44192:36:50",
  70075. "typeDescriptions": {
  70076. "typeIdentifier": "t_stringliteral_800a1c6756a402b6162ca8653fd8e87e2c52d1c019c876e92eb2980479636a76",
  70077. "typeString": "literal_string \"log(string,address,address,string)\""
  70078. },
  70079. "value": "log(string,address,address,string)"
  70080. },
  70081. {
  70082. "id": 12356,
  70083. "name": "p0",
  70084. "nodeType": "Identifier",
  70085. "overloadedDeclarations": [],
  70086. "referencedDeclaration": 12343,
  70087. "src": "44230:2:50",
  70088. "typeDescriptions": {
  70089. "typeIdentifier": "t_string_memory_ptr",
  70090. "typeString": "string memory"
  70091. }
  70092. },
  70093. {
  70094. "id": 12357,
  70095. "name": "p1",
  70096. "nodeType": "Identifier",
  70097. "overloadedDeclarations": [],
  70098. "referencedDeclaration": 12345,
  70099. "src": "44234:2:50",
  70100. "typeDescriptions": {
  70101. "typeIdentifier": "t_address",
  70102. "typeString": "address"
  70103. }
  70104. },
  70105. {
  70106. "id": 12358,
  70107. "name": "p2",
  70108. "nodeType": "Identifier",
  70109. "overloadedDeclarations": [],
  70110. "referencedDeclaration": 12347,
  70111. "src": "44238:2:50",
  70112. "typeDescriptions": {
  70113. "typeIdentifier": "t_address",
  70114. "typeString": "address"
  70115. }
  70116. },
  70117. {
  70118. "id": 12359,
  70119. "name": "p3",
  70120. "nodeType": "Identifier",
  70121. "overloadedDeclarations": [],
  70122. "referencedDeclaration": 12349,
  70123. "src": "44242:2:50",
  70124. "typeDescriptions": {
  70125. "typeIdentifier": "t_string_memory_ptr",
  70126. "typeString": "string memory"
  70127. }
  70128. }
  70129. ],
  70130. "expression": {
  70131. "argumentTypes": [
  70132. {
  70133. "typeIdentifier": "t_stringliteral_800a1c6756a402b6162ca8653fd8e87e2c52d1c019c876e92eb2980479636a76",
  70134. "typeString": "literal_string \"log(string,address,address,string)\""
  70135. },
  70136. {
  70137. "typeIdentifier": "t_string_memory_ptr",
  70138. "typeString": "string memory"
  70139. },
  70140. {
  70141. "typeIdentifier": "t_address",
  70142. "typeString": "address"
  70143. },
  70144. {
  70145. "typeIdentifier": "t_address",
  70146. "typeString": "address"
  70147. },
  70148. {
  70149. "typeIdentifier": "t_string_memory_ptr",
  70150. "typeString": "string memory"
  70151. }
  70152. ],
  70153. "expression": {
  70154. "id": 12353,
  70155. "name": "abi",
  70156. "nodeType": "Identifier",
  70157. "overloadedDeclarations": [],
  70158. "referencedDeclaration": -1,
  70159. "src": "44168:3:50",
  70160. "typeDescriptions": {
  70161. "typeIdentifier": "t_magic_abi",
  70162. "typeString": "abi"
  70163. }
  70164. },
  70165. "id": 12354,
  70166. "isConstant": false,
  70167. "isLValue": false,
  70168. "isPure": true,
  70169. "lValueRequested": false,
  70170. "memberLocation": "44172:19:50",
  70171. "memberName": "encodeWithSignature",
  70172. "nodeType": "MemberAccess",
  70173. "src": "44168:23:50",
  70174. "typeDescriptions": {
  70175. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  70176. "typeString": "function (string memory) pure returns (bytes memory)"
  70177. }
  70178. },
  70179. "id": 12360,
  70180. "isConstant": false,
  70181. "isLValue": false,
  70182. "isPure": false,
  70183. "kind": "functionCall",
  70184. "lValueRequested": false,
  70185. "nameLocations": [],
  70186. "names": [],
  70187. "nodeType": "FunctionCall",
  70188. "src": "44168:77:50",
  70189. "tryCall": false,
  70190. "typeDescriptions": {
  70191. "typeIdentifier": "t_bytes_memory_ptr",
  70192. "typeString": "bytes memory"
  70193. }
  70194. }
  70195. ],
  70196. "expression": {
  70197. "argumentTypes": [
  70198. {
  70199. "typeIdentifier": "t_bytes_memory_ptr",
  70200. "typeString": "bytes memory"
  70201. }
  70202. ],
  70203. "id": 12352,
  70204. "name": "_sendLogPayload",
  70205. "nodeType": "Identifier",
  70206. "overloadedDeclarations": [],
  70207. "referencedDeclaration": 7315,
  70208. "src": "44152:15:50",
  70209. "typeDescriptions": {
  70210. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  70211. "typeString": "function (bytes memory) pure"
  70212. }
  70213. },
  70214. "id": 12361,
  70215. "isConstant": false,
  70216. "isLValue": false,
  70217. "isPure": false,
  70218. "kind": "functionCall",
  70219. "lValueRequested": false,
  70220. "nameLocations": [],
  70221. "names": [],
  70222. "nodeType": "FunctionCall",
  70223. "src": "44152:94:50",
  70224. "tryCall": false,
  70225. "typeDescriptions": {
  70226. "typeIdentifier": "t_tuple$__$",
  70227. "typeString": "tuple()"
  70228. }
  70229. },
  70230. "id": 12362,
  70231. "nodeType": "ExpressionStatement",
  70232. "src": "44152:94:50"
  70233. }
  70234. ]
  70235. },
  70236. "implemented": true,
  70237. "kind": "function",
  70238. "modifiers": [],
  70239. "name": "log",
  70240. "nameLocation": "44064:3:50",
  70241. "parameters": {
  70242. "id": 12350,
  70243. "nodeType": "ParameterList",
  70244. "parameters": [
  70245. {
  70246. "constant": false,
  70247. "id": 12343,
  70248. "mutability": "mutable",
  70249. "name": "p0",
  70250. "nameLocation": "44082:2:50",
  70251. "nodeType": "VariableDeclaration",
  70252. "scope": 12364,
  70253. "src": "44068:16:50",
  70254. "stateVariable": false,
  70255. "storageLocation": "memory",
  70256. "typeDescriptions": {
  70257. "typeIdentifier": "t_string_memory_ptr",
  70258. "typeString": "string"
  70259. },
  70260. "typeName": {
  70261. "id": 12342,
  70262. "name": "string",
  70263. "nodeType": "ElementaryTypeName",
  70264. "src": "44068:6:50",
  70265. "typeDescriptions": {
  70266. "typeIdentifier": "t_string_storage_ptr",
  70267. "typeString": "string"
  70268. }
  70269. },
  70270. "visibility": "internal"
  70271. },
  70272. {
  70273. "constant": false,
  70274. "id": 12345,
  70275. "mutability": "mutable",
  70276. "name": "p1",
  70277. "nameLocation": "44094:2:50",
  70278. "nodeType": "VariableDeclaration",
  70279. "scope": 12364,
  70280. "src": "44086:10:50",
  70281. "stateVariable": false,
  70282. "storageLocation": "default",
  70283. "typeDescriptions": {
  70284. "typeIdentifier": "t_address",
  70285. "typeString": "address"
  70286. },
  70287. "typeName": {
  70288. "id": 12344,
  70289. "name": "address",
  70290. "nodeType": "ElementaryTypeName",
  70291. "src": "44086:7:50",
  70292. "stateMutability": "nonpayable",
  70293. "typeDescriptions": {
  70294. "typeIdentifier": "t_address",
  70295. "typeString": "address"
  70296. }
  70297. },
  70298. "visibility": "internal"
  70299. },
  70300. {
  70301. "constant": false,
  70302. "id": 12347,
  70303. "mutability": "mutable",
  70304. "name": "p2",
  70305. "nameLocation": "44106:2:50",
  70306. "nodeType": "VariableDeclaration",
  70307. "scope": 12364,
  70308. "src": "44098:10:50",
  70309. "stateVariable": false,
  70310. "storageLocation": "default",
  70311. "typeDescriptions": {
  70312. "typeIdentifier": "t_address",
  70313. "typeString": "address"
  70314. },
  70315. "typeName": {
  70316. "id": 12346,
  70317. "name": "address",
  70318. "nodeType": "ElementaryTypeName",
  70319. "src": "44098:7:50",
  70320. "stateMutability": "nonpayable",
  70321. "typeDescriptions": {
  70322. "typeIdentifier": "t_address",
  70323. "typeString": "address"
  70324. }
  70325. },
  70326. "visibility": "internal"
  70327. },
  70328. {
  70329. "constant": false,
  70330. "id": 12349,
  70331. "mutability": "mutable",
  70332. "name": "p3",
  70333. "nameLocation": "44124:2:50",
  70334. "nodeType": "VariableDeclaration",
  70335. "scope": 12364,
  70336. "src": "44110:16:50",
  70337. "stateVariable": false,
  70338. "storageLocation": "memory",
  70339. "typeDescriptions": {
  70340. "typeIdentifier": "t_string_memory_ptr",
  70341. "typeString": "string"
  70342. },
  70343. "typeName": {
  70344. "id": 12348,
  70345. "name": "string",
  70346. "nodeType": "ElementaryTypeName",
  70347. "src": "44110:6:50",
  70348. "typeDescriptions": {
  70349. "typeIdentifier": "t_string_storage_ptr",
  70350. "typeString": "string"
  70351. }
  70352. },
  70353. "visibility": "internal"
  70354. }
  70355. ],
  70356. "src": "44067:60:50"
  70357. },
  70358. "returnParameters": {
  70359. "id": 12351,
  70360. "nodeType": "ParameterList",
  70361. "parameters": [],
  70362. "src": "44142:0:50"
  70363. },
  70364. "scope": 15355,
  70365. "stateMutability": "pure",
  70366. "virtual": false,
  70367. "visibility": "internal"
  70368. },
  70369. {
  70370. "id": 12387,
  70371. "nodeType": "FunctionDefinition",
  70372. "src": "44259:187:50",
  70373. "nodes": [],
  70374. "body": {
  70375. "id": 12386,
  70376. "nodeType": "Block",
  70377. "src": "44337:109:50",
  70378. "nodes": [],
  70379. "statements": [
  70380. {
  70381. "expression": {
  70382. "arguments": [
  70383. {
  70384. "arguments": [
  70385. {
  70386. "hexValue": "6c6f6728737472696e672c616464726573732c616464726573732c626f6f6c29",
  70387. "id": 12378,
  70388. "isConstant": false,
  70389. "isLValue": false,
  70390. "isPure": true,
  70391. "kind": "string",
  70392. "lValueRequested": false,
  70393. "nodeType": "Literal",
  70394. "src": "44387:34:50",
  70395. "typeDescriptions": {
  70396. "typeIdentifier": "t_stringliteral_b59dbd60587b4eeae521d5427cbc88bff32729f88aff059e7deb0a3a4320aaf4",
  70397. "typeString": "literal_string \"log(string,address,address,bool)\""
  70398. },
  70399. "value": "log(string,address,address,bool)"
  70400. },
  70401. {
  70402. "id": 12379,
  70403. "name": "p0",
  70404. "nodeType": "Identifier",
  70405. "overloadedDeclarations": [],
  70406. "referencedDeclaration": 12366,
  70407. "src": "44423:2:50",
  70408. "typeDescriptions": {
  70409. "typeIdentifier": "t_string_memory_ptr",
  70410. "typeString": "string memory"
  70411. }
  70412. },
  70413. {
  70414. "id": 12380,
  70415. "name": "p1",
  70416. "nodeType": "Identifier",
  70417. "overloadedDeclarations": [],
  70418. "referencedDeclaration": 12368,
  70419. "src": "44427:2:50",
  70420. "typeDescriptions": {
  70421. "typeIdentifier": "t_address",
  70422. "typeString": "address"
  70423. }
  70424. },
  70425. {
  70426. "id": 12381,
  70427. "name": "p2",
  70428. "nodeType": "Identifier",
  70429. "overloadedDeclarations": [],
  70430. "referencedDeclaration": 12370,
  70431. "src": "44431:2:50",
  70432. "typeDescriptions": {
  70433. "typeIdentifier": "t_address",
  70434. "typeString": "address"
  70435. }
  70436. },
  70437. {
  70438. "id": 12382,
  70439. "name": "p3",
  70440. "nodeType": "Identifier",
  70441. "overloadedDeclarations": [],
  70442. "referencedDeclaration": 12372,
  70443. "src": "44435:2:50",
  70444. "typeDescriptions": {
  70445. "typeIdentifier": "t_bool",
  70446. "typeString": "bool"
  70447. }
  70448. }
  70449. ],
  70450. "expression": {
  70451. "argumentTypes": [
  70452. {
  70453. "typeIdentifier": "t_stringliteral_b59dbd60587b4eeae521d5427cbc88bff32729f88aff059e7deb0a3a4320aaf4",
  70454. "typeString": "literal_string \"log(string,address,address,bool)\""
  70455. },
  70456. {
  70457. "typeIdentifier": "t_string_memory_ptr",
  70458. "typeString": "string memory"
  70459. },
  70460. {
  70461. "typeIdentifier": "t_address",
  70462. "typeString": "address"
  70463. },
  70464. {
  70465. "typeIdentifier": "t_address",
  70466. "typeString": "address"
  70467. },
  70468. {
  70469. "typeIdentifier": "t_bool",
  70470. "typeString": "bool"
  70471. }
  70472. ],
  70473. "expression": {
  70474. "id": 12376,
  70475. "name": "abi",
  70476. "nodeType": "Identifier",
  70477. "overloadedDeclarations": [],
  70478. "referencedDeclaration": -1,
  70479. "src": "44363:3:50",
  70480. "typeDescriptions": {
  70481. "typeIdentifier": "t_magic_abi",
  70482. "typeString": "abi"
  70483. }
  70484. },
  70485. "id": 12377,
  70486. "isConstant": false,
  70487. "isLValue": false,
  70488. "isPure": true,
  70489. "lValueRequested": false,
  70490. "memberLocation": "44367:19:50",
  70491. "memberName": "encodeWithSignature",
  70492. "nodeType": "MemberAccess",
  70493. "src": "44363:23:50",
  70494. "typeDescriptions": {
  70495. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  70496. "typeString": "function (string memory) pure returns (bytes memory)"
  70497. }
  70498. },
  70499. "id": 12383,
  70500. "isConstant": false,
  70501. "isLValue": false,
  70502. "isPure": false,
  70503. "kind": "functionCall",
  70504. "lValueRequested": false,
  70505. "nameLocations": [],
  70506. "names": [],
  70507. "nodeType": "FunctionCall",
  70508. "src": "44363:75:50",
  70509. "tryCall": false,
  70510. "typeDescriptions": {
  70511. "typeIdentifier": "t_bytes_memory_ptr",
  70512. "typeString": "bytes memory"
  70513. }
  70514. }
  70515. ],
  70516. "expression": {
  70517. "argumentTypes": [
  70518. {
  70519. "typeIdentifier": "t_bytes_memory_ptr",
  70520. "typeString": "bytes memory"
  70521. }
  70522. ],
  70523. "id": 12375,
  70524. "name": "_sendLogPayload",
  70525. "nodeType": "Identifier",
  70526. "overloadedDeclarations": [],
  70527. "referencedDeclaration": 7315,
  70528. "src": "44347:15:50",
  70529. "typeDescriptions": {
  70530. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  70531. "typeString": "function (bytes memory) pure"
  70532. }
  70533. },
  70534. "id": 12384,
  70535. "isConstant": false,
  70536. "isLValue": false,
  70537. "isPure": false,
  70538. "kind": "functionCall",
  70539. "lValueRequested": false,
  70540. "nameLocations": [],
  70541. "names": [],
  70542. "nodeType": "FunctionCall",
  70543. "src": "44347:92:50",
  70544. "tryCall": false,
  70545. "typeDescriptions": {
  70546. "typeIdentifier": "t_tuple$__$",
  70547. "typeString": "tuple()"
  70548. }
  70549. },
  70550. "id": 12385,
  70551. "nodeType": "ExpressionStatement",
  70552. "src": "44347:92:50"
  70553. }
  70554. ]
  70555. },
  70556. "implemented": true,
  70557. "kind": "function",
  70558. "modifiers": [],
  70559. "name": "log",
  70560. "nameLocation": "44268:3:50",
  70561. "parameters": {
  70562. "id": 12373,
  70563. "nodeType": "ParameterList",
  70564. "parameters": [
  70565. {
  70566. "constant": false,
  70567. "id": 12366,
  70568. "mutability": "mutable",
  70569. "name": "p0",
  70570. "nameLocation": "44286:2:50",
  70571. "nodeType": "VariableDeclaration",
  70572. "scope": 12387,
  70573. "src": "44272:16:50",
  70574. "stateVariable": false,
  70575. "storageLocation": "memory",
  70576. "typeDescriptions": {
  70577. "typeIdentifier": "t_string_memory_ptr",
  70578. "typeString": "string"
  70579. },
  70580. "typeName": {
  70581. "id": 12365,
  70582. "name": "string",
  70583. "nodeType": "ElementaryTypeName",
  70584. "src": "44272:6:50",
  70585. "typeDescriptions": {
  70586. "typeIdentifier": "t_string_storage_ptr",
  70587. "typeString": "string"
  70588. }
  70589. },
  70590. "visibility": "internal"
  70591. },
  70592. {
  70593. "constant": false,
  70594. "id": 12368,
  70595. "mutability": "mutable",
  70596. "name": "p1",
  70597. "nameLocation": "44298:2:50",
  70598. "nodeType": "VariableDeclaration",
  70599. "scope": 12387,
  70600. "src": "44290:10:50",
  70601. "stateVariable": false,
  70602. "storageLocation": "default",
  70603. "typeDescriptions": {
  70604. "typeIdentifier": "t_address",
  70605. "typeString": "address"
  70606. },
  70607. "typeName": {
  70608. "id": 12367,
  70609. "name": "address",
  70610. "nodeType": "ElementaryTypeName",
  70611. "src": "44290:7:50",
  70612. "stateMutability": "nonpayable",
  70613. "typeDescriptions": {
  70614. "typeIdentifier": "t_address",
  70615. "typeString": "address"
  70616. }
  70617. },
  70618. "visibility": "internal"
  70619. },
  70620. {
  70621. "constant": false,
  70622. "id": 12370,
  70623. "mutability": "mutable",
  70624. "name": "p2",
  70625. "nameLocation": "44310:2:50",
  70626. "nodeType": "VariableDeclaration",
  70627. "scope": 12387,
  70628. "src": "44302:10:50",
  70629. "stateVariable": false,
  70630. "storageLocation": "default",
  70631. "typeDescriptions": {
  70632. "typeIdentifier": "t_address",
  70633. "typeString": "address"
  70634. },
  70635. "typeName": {
  70636. "id": 12369,
  70637. "name": "address",
  70638. "nodeType": "ElementaryTypeName",
  70639. "src": "44302:7:50",
  70640. "stateMutability": "nonpayable",
  70641. "typeDescriptions": {
  70642. "typeIdentifier": "t_address",
  70643. "typeString": "address"
  70644. }
  70645. },
  70646. "visibility": "internal"
  70647. },
  70648. {
  70649. "constant": false,
  70650. "id": 12372,
  70651. "mutability": "mutable",
  70652. "name": "p3",
  70653. "nameLocation": "44319:2:50",
  70654. "nodeType": "VariableDeclaration",
  70655. "scope": 12387,
  70656. "src": "44314:7:50",
  70657. "stateVariable": false,
  70658. "storageLocation": "default",
  70659. "typeDescriptions": {
  70660. "typeIdentifier": "t_bool",
  70661. "typeString": "bool"
  70662. },
  70663. "typeName": {
  70664. "id": 12371,
  70665. "name": "bool",
  70666. "nodeType": "ElementaryTypeName",
  70667. "src": "44314:4:50",
  70668. "typeDescriptions": {
  70669. "typeIdentifier": "t_bool",
  70670. "typeString": "bool"
  70671. }
  70672. },
  70673. "visibility": "internal"
  70674. }
  70675. ],
  70676. "src": "44271:51:50"
  70677. },
  70678. "returnParameters": {
  70679. "id": 12374,
  70680. "nodeType": "ParameterList",
  70681. "parameters": [],
  70682. "src": "44337:0:50"
  70683. },
  70684. "scope": 15355,
  70685. "stateMutability": "pure",
  70686. "virtual": false,
  70687. "visibility": "internal"
  70688. },
  70689. {
  70690. "id": 12410,
  70691. "nodeType": "FunctionDefinition",
  70692. "src": "44452:193:50",
  70693. "nodes": [],
  70694. "body": {
  70695. "id": 12409,
  70696. "nodeType": "Block",
  70697. "src": "44533:112:50",
  70698. "nodes": [],
  70699. "statements": [
  70700. {
  70701. "expression": {
  70702. "arguments": [
  70703. {
  70704. "arguments": [
  70705. {
  70706. "hexValue": "6c6f6728737472696e672c616464726573732c616464726573732c6164647265737329",
  70707. "id": 12401,
  70708. "isConstant": false,
  70709. "isLValue": false,
  70710. "isPure": true,
  70711. "kind": "string",
  70712. "lValueRequested": false,
  70713. "nodeType": "Literal",
  70714. "src": "44583:37:50",
  70715. "typeDescriptions": {
  70716. "typeIdentifier": "t_stringliteral_ed8f28f6f4b5d54b1d37f705e543f556805f28b9d1bb3aef0ef7e57ef4992d15",
  70717. "typeString": "literal_string \"log(string,address,address,address)\""
  70718. },
  70719. "value": "log(string,address,address,address)"
  70720. },
  70721. {
  70722. "id": 12402,
  70723. "name": "p0",
  70724. "nodeType": "Identifier",
  70725. "overloadedDeclarations": [],
  70726. "referencedDeclaration": 12389,
  70727. "src": "44622:2:50",
  70728. "typeDescriptions": {
  70729. "typeIdentifier": "t_string_memory_ptr",
  70730. "typeString": "string memory"
  70731. }
  70732. },
  70733. {
  70734. "id": 12403,
  70735. "name": "p1",
  70736. "nodeType": "Identifier",
  70737. "overloadedDeclarations": [],
  70738. "referencedDeclaration": 12391,
  70739. "src": "44626:2:50",
  70740. "typeDescriptions": {
  70741. "typeIdentifier": "t_address",
  70742. "typeString": "address"
  70743. }
  70744. },
  70745. {
  70746. "id": 12404,
  70747. "name": "p2",
  70748. "nodeType": "Identifier",
  70749. "overloadedDeclarations": [],
  70750. "referencedDeclaration": 12393,
  70751. "src": "44630:2:50",
  70752. "typeDescriptions": {
  70753. "typeIdentifier": "t_address",
  70754. "typeString": "address"
  70755. }
  70756. },
  70757. {
  70758. "id": 12405,
  70759. "name": "p3",
  70760. "nodeType": "Identifier",
  70761. "overloadedDeclarations": [],
  70762. "referencedDeclaration": 12395,
  70763. "src": "44634:2:50",
  70764. "typeDescriptions": {
  70765. "typeIdentifier": "t_address",
  70766. "typeString": "address"
  70767. }
  70768. }
  70769. ],
  70770. "expression": {
  70771. "argumentTypes": [
  70772. {
  70773. "typeIdentifier": "t_stringliteral_ed8f28f6f4b5d54b1d37f705e543f556805f28b9d1bb3aef0ef7e57ef4992d15",
  70774. "typeString": "literal_string \"log(string,address,address,address)\""
  70775. },
  70776. {
  70777. "typeIdentifier": "t_string_memory_ptr",
  70778. "typeString": "string memory"
  70779. },
  70780. {
  70781. "typeIdentifier": "t_address",
  70782. "typeString": "address"
  70783. },
  70784. {
  70785. "typeIdentifier": "t_address",
  70786. "typeString": "address"
  70787. },
  70788. {
  70789. "typeIdentifier": "t_address",
  70790. "typeString": "address"
  70791. }
  70792. ],
  70793. "expression": {
  70794. "id": 12399,
  70795. "name": "abi",
  70796. "nodeType": "Identifier",
  70797. "overloadedDeclarations": [],
  70798. "referencedDeclaration": -1,
  70799. "src": "44559:3:50",
  70800. "typeDescriptions": {
  70801. "typeIdentifier": "t_magic_abi",
  70802. "typeString": "abi"
  70803. }
  70804. },
  70805. "id": 12400,
  70806. "isConstant": false,
  70807. "isLValue": false,
  70808. "isPure": true,
  70809. "lValueRequested": false,
  70810. "memberLocation": "44563:19:50",
  70811. "memberName": "encodeWithSignature",
  70812. "nodeType": "MemberAccess",
  70813. "src": "44559:23:50",
  70814. "typeDescriptions": {
  70815. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  70816. "typeString": "function (string memory) pure returns (bytes memory)"
  70817. }
  70818. },
  70819. "id": 12406,
  70820. "isConstant": false,
  70821. "isLValue": false,
  70822. "isPure": false,
  70823. "kind": "functionCall",
  70824. "lValueRequested": false,
  70825. "nameLocations": [],
  70826. "names": [],
  70827. "nodeType": "FunctionCall",
  70828. "src": "44559:78:50",
  70829. "tryCall": false,
  70830. "typeDescriptions": {
  70831. "typeIdentifier": "t_bytes_memory_ptr",
  70832. "typeString": "bytes memory"
  70833. }
  70834. }
  70835. ],
  70836. "expression": {
  70837. "argumentTypes": [
  70838. {
  70839. "typeIdentifier": "t_bytes_memory_ptr",
  70840. "typeString": "bytes memory"
  70841. }
  70842. ],
  70843. "id": 12398,
  70844. "name": "_sendLogPayload",
  70845. "nodeType": "Identifier",
  70846. "overloadedDeclarations": [],
  70847. "referencedDeclaration": 7315,
  70848. "src": "44543:15:50",
  70849. "typeDescriptions": {
  70850. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  70851. "typeString": "function (bytes memory) pure"
  70852. }
  70853. },
  70854. "id": 12407,
  70855. "isConstant": false,
  70856. "isLValue": false,
  70857. "isPure": false,
  70858. "kind": "functionCall",
  70859. "lValueRequested": false,
  70860. "nameLocations": [],
  70861. "names": [],
  70862. "nodeType": "FunctionCall",
  70863. "src": "44543:95:50",
  70864. "tryCall": false,
  70865. "typeDescriptions": {
  70866. "typeIdentifier": "t_tuple$__$",
  70867. "typeString": "tuple()"
  70868. }
  70869. },
  70870. "id": 12408,
  70871. "nodeType": "ExpressionStatement",
  70872. "src": "44543:95:50"
  70873. }
  70874. ]
  70875. },
  70876. "implemented": true,
  70877. "kind": "function",
  70878. "modifiers": [],
  70879. "name": "log",
  70880. "nameLocation": "44461:3:50",
  70881. "parameters": {
  70882. "id": 12396,
  70883. "nodeType": "ParameterList",
  70884. "parameters": [
  70885. {
  70886. "constant": false,
  70887. "id": 12389,
  70888. "mutability": "mutable",
  70889. "name": "p0",
  70890. "nameLocation": "44479:2:50",
  70891. "nodeType": "VariableDeclaration",
  70892. "scope": 12410,
  70893. "src": "44465:16:50",
  70894. "stateVariable": false,
  70895. "storageLocation": "memory",
  70896. "typeDescriptions": {
  70897. "typeIdentifier": "t_string_memory_ptr",
  70898. "typeString": "string"
  70899. },
  70900. "typeName": {
  70901. "id": 12388,
  70902. "name": "string",
  70903. "nodeType": "ElementaryTypeName",
  70904. "src": "44465:6:50",
  70905. "typeDescriptions": {
  70906. "typeIdentifier": "t_string_storage_ptr",
  70907. "typeString": "string"
  70908. }
  70909. },
  70910. "visibility": "internal"
  70911. },
  70912. {
  70913. "constant": false,
  70914. "id": 12391,
  70915. "mutability": "mutable",
  70916. "name": "p1",
  70917. "nameLocation": "44491:2:50",
  70918. "nodeType": "VariableDeclaration",
  70919. "scope": 12410,
  70920. "src": "44483:10:50",
  70921. "stateVariable": false,
  70922. "storageLocation": "default",
  70923. "typeDescriptions": {
  70924. "typeIdentifier": "t_address",
  70925. "typeString": "address"
  70926. },
  70927. "typeName": {
  70928. "id": 12390,
  70929. "name": "address",
  70930. "nodeType": "ElementaryTypeName",
  70931. "src": "44483:7:50",
  70932. "stateMutability": "nonpayable",
  70933. "typeDescriptions": {
  70934. "typeIdentifier": "t_address",
  70935. "typeString": "address"
  70936. }
  70937. },
  70938. "visibility": "internal"
  70939. },
  70940. {
  70941. "constant": false,
  70942. "id": 12393,
  70943. "mutability": "mutable",
  70944. "name": "p2",
  70945. "nameLocation": "44503:2:50",
  70946. "nodeType": "VariableDeclaration",
  70947. "scope": 12410,
  70948. "src": "44495:10:50",
  70949. "stateVariable": false,
  70950. "storageLocation": "default",
  70951. "typeDescriptions": {
  70952. "typeIdentifier": "t_address",
  70953. "typeString": "address"
  70954. },
  70955. "typeName": {
  70956. "id": 12392,
  70957. "name": "address",
  70958. "nodeType": "ElementaryTypeName",
  70959. "src": "44495:7:50",
  70960. "stateMutability": "nonpayable",
  70961. "typeDescriptions": {
  70962. "typeIdentifier": "t_address",
  70963. "typeString": "address"
  70964. }
  70965. },
  70966. "visibility": "internal"
  70967. },
  70968. {
  70969. "constant": false,
  70970. "id": 12395,
  70971. "mutability": "mutable",
  70972. "name": "p3",
  70973. "nameLocation": "44515:2:50",
  70974. "nodeType": "VariableDeclaration",
  70975. "scope": 12410,
  70976. "src": "44507:10:50",
  70977. "stateVariable": false,
  70978. "storageLocation": "default",
  70979. "typeDescriptions": {
  70980. "typeIdentifier": "t_address",
  70981. "typeString": "address"
  70982. },
  70983. "typeName": {
  70984. "id": 12394,
  70985. "name": "address",
  70986. "nodeType": "ElementaryTypeName",
  70987. "src": "44507:7:50",
  70988. "stateMutability": "nonpayable",
  70989. "typeDescriptions": {
  70990. "typeIdentifier": "t_address",
  70991. "typeString": "address"
  70992. }
  70993. },
  70994. "visibility": "internal"
  70995. }
  70996. ],
  70997. "src": "44464:54:50"
  70998. },
  70999. "returnParameters": {
  71000. "id": 12397,
  71001. "nodeType": "ParameterList",
  71002. "parameters": [],
  71003. "src": "44533:0:50"
  71004. },
  71005. "scope": 15355,
  71006. "stateMutability": "pure",
  71007. "virtual": false,
  71008. "visibility": "internal"
  71009. },
  71010. {
  71011. "id": 12433,
  71012. "nodeType": "FunctionDefinition",
  71013. "src": "44651:182:50",
  71014. "nodes": [],
  71015. "body": {
  71016. "id": 12432,
  71017. "nodeType": "Block",
  71018. "src": "44723:110:50",
  71019. "nodes": [],
  71020. "statements": [
  71021. {
  71022. "expression": {
  71023. "arguments": [
  71024. {
  71025. "arguments": [
  71026. {
  71027. "hexValue": "6c6f6728626f6f6c2c75696e743235362c75696e743235362c75696e7432353629",
  71028. "id": 12424,
  71029. "isConstant": false,
  71030. "isLValue": false,
  71031. "isPure": true,
  71032. "kind": "string",
  71033. "lValueRequested": false,
  71034. "nodeType": "Literal",
  71035. "src": "44773:35:50",
  71036. "typeDescriptions": {
  71037. "typeIdentifier": "t_stringliteral_374bb4b29e495d2b557643d341fe72136bf6e92f2ac9b1edd86dbbd72a19d62b",
  71038. "typeString": "literal_string \"log(bool,uint256,uint256,uint256)\""
  71039. },
  71040. "value": "log(bool,uint256,uint256,uint256)"
  71041. },
  71042. {
  71043. "id": 12425,
  71044. "name": "p0",
  71045. "nodeType": "Identifier",
  71046. "overloadedDeclarations": [],
  71047. "referencedDeclaration": 12412,
  71048. "src": "44810:2:50",
  71049. "typeDescriptions": {
  71050. "typeIdentifier": "t_bool",
  71051. "typeString": "bool"
  71052. }
  71053. },
  71054. {
  71055. "id": 12426,
  71056. "name": "p1",
  71057. "nodeType": "Identifier",
  71058. "overloadedDeclarations": [],
  71059. "referencedDeclaration": 12414,
  71060. "src": "44814:2:50",
  71061. "typeDescriptions": {
  71062. "typeIdentifier": "t_uint256",
  71063. "typeString": "uint256"
  71064. }
  71065. },
  71066. {
  71067. "id": 12427,
  71068. "name": "p2",
  71069. "nodeType": "Identifier",
  71070. "overloadedDeclarations": [],
  71071. "referencedDeclaration": 12416,
  71072. "src": "44818:2:50",
  71073. "typeDescriptions": {
  71074. "typeIdentifier": "t_uint256",
  71075. "typeString": "uint256"
  71076. }
  71077. },
  71078. {
  71079. "id": 12428,
  71080. "name": "p3",
  71081. "nodeType": "Identifier",
  71082. "overloadedDeclarations": [],
  71083. "referencedDeclaration": 12418,
  71084. "src": "44822:2:50",
  71085. "typeDescriptions": {
  71086. "typeIdentifier": "t_uint256",
  71087. "typeString": "uint256"
  71088. }
  71089. }
  71090. ],
  71091. "expression": {
  71092. "argumentTypes": [
  71093. {
  71094. "typeIdentifier": "t_stringliteral_374bb4b29e495d2b557643d341fe72136bf6e92f2ac9b1edd86dbbd72a19d62b",
  71095. "typeString": "literal_string \"log(bool,uint256,uint256,uint256)\""
  71096. },
  71097. {
  71098. "typeIdentifier": "t_bool",
  71099. "typeString": "bool"
  71100. },
  71101. {
  71102. "typeIdentifier": "t_uint256",
  71103. "typeString": "uint256"
  71104. },
  71105. {
  71106. "typeIdentifier": "t_uint256",
  71107. "typeString": "uint256"
  71108. },
  71109. {
  71110. "typeIdentifier": "t_uint256",
  71111. "typeString": "uint256"
  71112. }
  71113. ],
  71114. "expression": {
  71115. "id": 12422,
  71116. "name": "abi",
  71117. "nodeType": "Identifier",
  71118. "overloadedDeclarations": [],
  71119. "referencedDeclaration": -1,
  71120. "src": "44749:3:50",
  71121. "typeDescriptions": {
  71122. "typeIdentifier": "t_magic_abi",
  71123. "typeString": "abi"
  71124. }
  71125. },
  71126. "id": 12423,
  71127. "isConstant": false,
  71128. "isLValue": false,
  71129. "isPure": true,
  71130. "lValueRequested": false,
  71131. "memberLocation": "44753:19:50",
  71132. "memberName": "encodeWithSignature",
  71133. "nodeType": "MemberAccess",
  71134. "src": "44749:23:50",
  71135. "typeDescriptions": {
  71136. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  71137. "typeString": "function (string memory) pure returns (bytes memory)"
  71138. }
  71139. },
  71140. "id": 12429,
  71141. "isConstant": false,
  71142. "isLValue": false,
  71143. "isPure": false,
  71144. "kind": "functionCall",
  71145. "lValueRequested": false,
  71146. "nameLocations": [],
  71147. "names": [],
  71148. "nodeType": "FunctionCall",
  71149. "src": "44749:76:50",
  71150. "tryCall": false,
  71151. "typeDescriptions": {
  71152. "typeIdentifier": "t_bytes_memory_ptr",
  71153. "typeString": "bytes memory"
  71154. }
  71155. }
  71156. ],
  71157. "expression": {
  71158. "argumentTypes": [
  71159. {
  71160. "typeIdentifier": "t_bytes_memory_ptr",
  71161. "typeString": "bytes memory"
  71162. }
  71163. ],
  71164. "id": 12421,
  71165. "name": "_sendLogPayload",
  71166. "nodeType": "Identifier",
  71167. "overloadedDeclarations": [],
  71168. "referencedDeclaration": 7315,
  71169. "src": "44733:15:50",
  71170. "typeDescriptions": {
  71171. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  71172. "typeString": "function (bytes memory) pure"
  71173. }
  71174. },
  71175. "id": 12430,
  71176. "isConstant": false,
  71177. "isLValue": false,
  71178. "isPure": false,
  71179. "kind": "functionCall",
  71180. "lValueRequested": false,
  71181. "nameLocations": [],
  71182. "names": [],
  71183. "nodeType": "FunctionCall",
  71184. "src": "44733:93:50",
  71185. "tryCall": false,
  71186. "typeDescriptions": {
  71187. "typeIdentifier": "t_tuple$__$",
  71188. "typeString": "tuple()"
  71189. }
  71190. },
  71191. "id": 12431,
  71192. "nodeType": "ExpressionStatement",
  71193. "src": "44733:93:50"
  71194. }
  71195. ]
  71196. },
  71197. "implemented": true,
  71198. "kind": "function",
  71199. "modifiers": [],
  71200. "name": "log",
  71201. "nameLocation": "44660:3:50",
  71202. "parameters": {
  71203. "id": 12419,
  71204. "nodeType": "ParameterList",
  71205. "parameters": [
  71206. {
  71207. "constant": false,
  71208. "id": 12412,
  71209. "mutability": "mutable",
  71210. "name": "p0",
  71211. "nameLocation": "44669:2:50",
  71212. "nodeType": "VariableDeclaration",
  71213. "scope": 12433,
  71214. "src": "44664:7:50",
  71215. "stateVariable": false,
  71216. "storageLocation": "default",
  71217. "typeDescriptions": {
  71218. "typeIdentifier": "t_bool",
  71219. "typeString": "bool"
  71220. },
  71221. "typeName": {
  71222. "id": 12411,
  71223. "name": "bool",
  71224. "nodeType": "ElementaryTypeName",
  71225. "src": "44664:4:50",
  71226. "typeDescriptions": {
  71227. "typeIdentifier": "t_bool",
  71228. "typeString": "bool"
  71229. }
  71230. },
  71231. "visibility": "internal"
  71232. },
  71233. {
  71234. "constant": false,
  71235. "id": 12414,
  71236. "mutability": "mutable",
  71237. "name": "p1",
  71238. "nameLocation": "44681:2:50",
  71239. "nodeType": "VariableDeclaration",
  71240. "scope": 12433,
  71241. "src": "44673:10:50",
  71242. "stateVariable": false,
  71243. "storageLocation": "default",
  71244. "typeDescriptions": {
  71245. "typeIdentifier": "t_uint256",
  71246. "typeString": "uint256"
  71247. },
  71248. "typeName": {
  71249. "id": 12413,
  71250. "name": "uint256",
  71251. "nodeType": "ElementaryTypeName",
  71252. "src": "44673:7:50",
  71253. "typeDescriptions": {
  71254. "typeIdentifier": "t_uint256",
  71255. "typeString": "uint256"
  71256. }
  71257. },
  71258. "visibility": "internal"
  71259. },
  71260. {
  71261. "constant": false,
  71262. "id": 12416,
  71263. "mutability": "mutable",
  71264. "name": "p2",
  71265. "nameLocation": "44693:2:50",
  71266. "nodeType": "VariableDeclaration",
  71267. "scope": 12433,
  71268. "src": "44685:10:50",
  71269. "stateVariable": false,
  71270. "storageLocation": "default",
  71271. "typeDescriptions": {
  71272. "typeIdentifier": "t_uint256",
  71273. "typeString": "uint256"
  71274. },
  71275. "typeName": {
  71276. "id": 12415,
  71277. "name": "uint256",
  71278. "nodeType": "ElementaryTypeName",
  71279. "src": "44685:7:50",
  71280. "typeDescriptions": {
  71281. "typeIdentifier": "t_uint256",
  71282. "typeString": "uint256"
  71283. }
  71284. },
  71285. "visibility": "internal"
  71286. },
  71287. {
  71288. "constant": false,
  71289. "id": 12418,
  71290. "mutability": "mutable",
  71291. "name": "p3",
  71292. "nameLocation": "44705:2:50",
  71293. "nodeType": "VariableDeclaration",
  71294. "scope": 12433,
  71295. "src": "44697:10:50",
  71296. "stateVariable": false,
  71297. "storageLocation": "default",
  71298. "typeDescriptions": {
  71299. "typeIdentifier": "t_uint256",
  71300. "typeString": "uint256"
  71301. },
  71302. "typeName": {
  71303. "id": 12417,
  71304. "name": "uint256",
  71305. "nodeType": "ElementaryTypeName",
  71306. "src": "44697:7:50",
  71307. "typeDescriptions": {
  71308. "typeIdentifier": "t_uint256",
  71309. "typeString": "uint256"
  71310. }
  71311. },
  71312. "visibility": "internal"
  71313. }
  71314. ],
  71315. "src": "44663:45:50"
  71316. },
  71317. "returnParameters": {
  71318. "id": 12420,
  71319. "nodeType": "ParameterList",
  71320. "parameters": [],
  71321. "src": "44723:0:50"
  71322. },
  71323. "scope": 15355,
  71324. "stateMutability": "pure",
  71325. "virtual": false,
  71326. "visibility": "internal"
  71327. },
  71328. {
  71329. "id": 12456,
  71330. "nodeType": "FunctionDefinition",
  71331. "src": "44839:187:50",
  71332. "nodes": [],
  71333. "body": {
  71334. "id": 12455,
  71335. "nodeType": "Block",
  71336. "src": "44917:109:50",
  71337. "nodes": [],
  71338. "statements": [
  71339. {
  71340. "expression": {
  71341. "arguments": [
  71342. {
  71343. "arguments": [
  71344. {
  71345. "hexValue": "6c6f6728626f6f6c2c75696e743235362c75696e743235362c737472696e6729",
  71346. "id": 12447,
  71347. "isConstant": false,
  71348. "isLValue": false,
  71349. "isPure": true,
  71350. "kind": "string",
  71351. "lValueRequested": false,
  71352. "nodeType": "Literal",
  71353. "src": "44967:34:50",
  71354. "typeDescriptions": {
  71355. "typeIdentifier": "t_stringliteral_8e69fb5dd49f06ae0054ca1d4af84221644c5b45a9306505e04580a4156255c3",
  71356. "typeString": "literal_string \"log(bool,uint256,uint256,string)\""
  71357. },
  71358. "value": "log(bool,uint256,uint256,string)"
  71359. },
  71360. {
  71361. "id": 12448,
  71362. "name": "p0",
  71363. "nodeType": "Identifier",
  71364. "overloadedDeclarations": [],
  71365. "referencedDeclaration": 12435,
  71366. "src": "45003:2:50",
  71367. "typeDescriptions": {
  71368. "typeIdentifier": "t_bool",
  71369. "typeString": "bool"
  71370. }
  71371. },
  71372. {
  71373. "id": 12449,
  71374. "name": "p1",
  71375. "nodeType": "Identifier",
  71376. "overloadedDeclarations": [],
  71377. "referencedDeclaration": 12437,
  71378. "src": "45007:2:50",
  71379. "typeDescriptions": {
  71380. "typeIdentifier": "t_uint256",
  71381. "typeString": "uint256"
  71382. }
  71383. },
  71384. {
  71385. "id": 12450,
  71386. "name": "p2",
  71387. "nodeType": "Identifier",
  71388. "overloadedDeclarations": [],
  71389. "referencedDeclaration": 12439,
  71390. "src": "45011:2:50",
  71391. "typeDescriptions": {
  71392. "typeIdentifier": "t_uint256",
  71393. "typeString": "uint256"
  71394. }
  71395. },
  71396. {
  71397. "id": 12451,
  71398. "name": "p3",
  71399. "nodeType": "Identifier",
  71400. "overloadedDeclarations": [],
  71401. "referencedDeclaration": 12441,
  71402. "src": "45015:2:50",
  71403. "typeDescriptions": {
  71404. "typeIdentifier": "t_string_memory_ptr",
  71405. "typeString": "string memory"
  71406. }
  71407. }
  71408. ],
  71409. "expression": {
  71410. "argumentTypes": [
  71411. {
  71412. "typeIdentifier": "t_stringliteral_8e69fb5dd49f06ae0054ca1d4af84221644c5b45a9306505e04580a4156255c3",
  71413. "typeString": "literal_string \"log(bool,uint256,uint256,string)\""
  71414. },
  71415. {
  71416. "typeIdentifier": "t_bool",
  71417. "typeString": "bool"
  71418. },
  71419. {
  71420. "typeIdentifier": "t_uint256",
  71421. "typeString": "uint256"
  71422. },
  71423. {
  71424. "typeIdentifier": "t_uint256",
  71425. "typeString": "uint256"
  71426. },
  71427. {
  71428. "typeIdentifier": "t_string_memory_ptr",
  71429. "typeString": "string memory"
  71430. }
  71431. ],
  71432. "expression": {
  71433. "id": 12445,
  71434. "name": "abi",
  71435. "nodeType": "Identifier",
  71436. "overloadedDeclarations": [],
  71437. "referencedDeclaration": -1,
  71438. "src": "44943:3:50",
  71439. "typeDescriptions": {
  71440. "typeIdentifier": "t_magic_abi",
  71441. "typeString": "abi"
  71442. }
  71443. },
  71444. "id": 12446,
  71445. "isConstant": false,
  71446. "isLValue": false,
  71447. "isPure": true,
  71448. "lValueRequested": false,
  71449. "memberLocation": "44947:19:50",
  71450. "memberName": "encodeWithSignature",
  71451. "nodeType": "MemberAccess",
  71452. "src": "44943:23:50",
  71453. "typeDescriptions": {
  71454. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  71455. "typeString": "function (string memory) pure returns (bytes memory)"
  71456. }
  71457. },
  71458. "id": 12452,
  71459. "isConstant": false,
  71460. "isLValue": false,
  71461. "isPure": false,
  71462. "kind": "functionCall",
  71463. "lValueRequested": false,
  71464. "nameLocations": [],
  71465. "names": [],
  71466. "nodeType": "FunctionCall",
  71467. "src": "44943:75:50",
  71468. "tryCall": false,
  71469. "typeDescriptions": {
  71470. "typeIdentifier": "t_bytes_memory_ptr",
  71471. "typeString": "bytes memory"
  71472. }
  71473. }
  71474. ],
  71475. "expression": {
  71476. "argumentTypes": [
  71477. {
  71478. "typeIdentifier": "t_bytes_memory_ptr",
  71479. "typeString": "bytes memory"
  71480. }
  71481. ],
  71482. "id": 12444,
  71483. "name": "_sendLogPayload",
  71484. "nodeType": "Identifier",
  71485. "overloadedDeclarations": [],
  71486. "referencedDeclaration": 7315,
  71487. "src": "44927:15:50",
  71488. "typeDescriptions": {
  71489. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  71490. "typeString": "function (bytes memory) pure"
  71491. }
  71492. },
  71493. "id": 12453,
  71494. "isConstant": false,
  71495. "isLValue": false,
  71496. "isPure": false,
  71497. "kind": "functionCall",
  71498. "lValueRequested": false,
  71499. "nameLocations": [],
  71500. "names": [],
  71501. "nodeType": "FunctionCall",
  71502. "src": "44927:92:50",
  71503. "tryCall": false,
  71504. "typeDescriptions": {
  71505. "typeIdentifier": "t_tuple$__$",
  71506. "typeString": "tuple()"
  71507. }
  71508. },
  71509. "id": 12454,
  71510. "nodeType": "ExpressionStatement",
  71511. "src": "44927:92:50"
  71512. }
  71513. ]
  71514. },
  71515. "implemented": true,
  71516. "kind": "function",
  71517. "modifiers": [],
  71518. "name": "log",
  71519. "nameLocation": "44848:3:50",
  71520. "parameters": {
  71521. "id": 12442,
  71522. "nodeType": "ParameterList",
  71523. "parameters": [
  71524. {
  71525. "constant": false,
  71526. "id": 12435,
  71527. "mutability": "mutable",
  71528. "name": "p0",
  71529. "nameLocation": "44857:2:50",
  71530. "nodeType": "VariableDeclaration",
  71531. "scope": 12456,
  71532. "src": "44852:7:50",
  71533. "stateVariable": false,
  71534. "storageLocation": "default",
  71535. "typeDescriptions": {
  71536. "typeIdentifier": "t_bool",
  71537. "typeString": "bool"
  71538. },
  71539. "typeName": {
  71540. "id": 12434,
  71541. "name": "bool",
  71542. "nodeType": "ElementaryTypeName",
  71543. "src": "44852:4:50",
  71544. "typeDescriptions": {
  71545. "typeIdentifier": "t_bool",
  71546. "typeString": "bool"
  71547. }
  71548. },
  71549. "visibility": "internal"
  71550. },
  71551. {
  71552. "constant": false,
  71553. "id": 12437,
  71554. "mutability": "mutable",
  71555. "name": "p1",
  71556. "nameLocation": "44869:2:50",
  71557. "nodeType": "VariableDeclaration",
  71558. "scope": 12456,
  71559. "src": "44861:10:50",
  71560. "stateVariable": false,
  71561. "storageLocation": "default",
  71562. "typeDescriptions": {
  71563. "typeIdentifier": "t_uint256",
  71564. "typeString": "uint256"
  71565. },
  71566. "typeName": {
  71567. "id": 12436,
  71568. "name": "uint256",
  71569. "nodeType": "ElementaryTypeName",
  71570. "src": "44861:7:50",
  71571. "typeDescriptions": {
  71572. "typeIdentifier": "t_uint256",
  71573. "typeString": "uint256"
  71574. }
  71575. },
  71576. "visibility": "internal"
  71577. },
  71578. {
  71579. "constant": false,
  71580. "id": 12439,
  71581. "mutability": "mutable",
  71582. "name": "p2",
  71583. "nameLocation": "44881:2:50",
  71584. "nodeType": "VariableDeclaration",
  71585. "scope": 12456,
  71586. "src": "44873:10:50",
  71587. "stateVariable": false,
  71588. "storageLocation": "default",
  71589. "typeDescriptions": {
  71590. "typeIdentifier": "t_uint256",
  71591. "typeString": "uint256"
  71592. },
  71593. "typeName": {
  71594. "id": 12438,
  71595. "name": "uint256",
  71596. "nodeType": "ElementaryTypeName",
  71597. "src": "44873:7:50",
  71598. "typeDescriptions": {
  71599. "typeIdentifier": "t_uint256",
  71600. "typeString": "uint256"
  71601. }
  71602. },
  71603. "visibility": "internal"
  71604. },
  71605. {
  71606. "constant": false,
  71607. "id": 12441,
  71608. "mutability": "mutable",
  71609. "name": "p3",
  71610. "nameLocation": "44899:2:50",
  71611. "nodeType": "VariableDeclaration",
  71612. "scope": 12456,
  71613. "src": "44885:16:50",
  71614. "stateVariable": false,
  71615. "storageLocation": "memory",
  71616. "typeDescriptions": {
  71617. "typeIdentifier": "t_string_memory_ptr",
  71618. "typeString": "string"
  71619. },
  71620. "typeName": {
  71621. "id": 12440,
  71622. "name": "string",
  71623. "nodeType": "ElementaryTypeName",
  71624. "src": "44885:6:50",
  71625. "typeDescriptions": {
  71626. "typeIdentifier": "t_string_storage_ptr",
  71627. "typeString": "string"
  71628. }
  71629. },
  71630. "visibility": "internal"
  71631. }
  71632. ],
  71633. "src": "44851:51:50"
  71634. },
  71635. "returnParameters": {
  71636. "id": 12443,
  71637. "nodeType": "ParameterList",
  71638. "parameters": [],
  71639. "src": "44917:0:50"
  71640. },
  71641. "scope": 15355,
  71642. "stateMutability": "pure",
  71643. "virtual": false,
  71644. "visibility": "internal"
  71645. },
  71646. {
  71647. "id": 12479,
  71648. "nodeType": "FunctionDefinition",
  71649. "src": "45032:176:50",
  71650. "nodes": [],
  71651. "body": {
  71652. "id": 12478,
  71653. "nodeType": "Block",
  71654. "src": "45101:107:50",
  71655. "nodes": [],
  71656. "statements": [
  71657. {
  71658. "expression": {
  71659. "arguments": [
  71660. {
  71661. "arguments": [
  71662. {
  71663. "hexValue": "6c6f6728626f6f6c2c75696e743235362c75696e743235362c626f6f6c29",
  71664. "id": 12470,
  71665. "isConstant": false,
  71666. "isLValue": false,
  71667. "isPure": true,
  71668. "kind": "string",
  71669. "lValueRequested": false,
  71670. "nodeType": "Literal",
  71671. "src": "45151:32:50",
  71672. "typeDescriptions": {
  71673. "typeIdentifier": "t_stringliteral_be9843530e69b1feba88a3a9701a6984aaa8a57e749a7f9d10c857993e79900d",
  71674. "typeString": "literal_string \"log(bool,uint256,uint256,bool)\""
  71675. },
  71676. "value": "log(bool,uint256,uint256,bool)"
  71677. },
  71678. {
  71679. "id": 12471,
  71680. "name": "p0",
  71681. "nodeType": "Identifier",
  71682. "overloadedDeclarations": [],
  71683. "referencedDeclaration": 12458,
  71684. "src": "45185:2:50",
  71685. "typeDescriptions": {
  71686. "typeIdentifier": "t_bool",
  71687. "typeString": "bool"
  71688. }
  71689. },
  71690. {
  71691. "id": 12472,
  71692. "name": "p1",
  71693. "nodeType": "Identifier",
  71694. "overloadedDeclarations": [],
  71695. "referencedDeclaration": 12460,
  71696. "src": "45189:2:50",
  71697. "typeDescriptions": {
  71698. "typeIdentifier": "t_uint256",
  71699. "typeString": "uint256"
  71700. }
  71701. },
  71702. {
  71703. "id": 12473,
  71704. "name": "p2",
  71705. "nodeType": "Identifier",
  71706. "overloadedDeclarations": [],
  71707. "referencedDeclaration": 12462,
  71708. "src": "45193:2:50",
  71709. "typeDescriptions": {
  71710. "typeIdentifier": "t_uint256",
  71711. "typeString": "uint256"
  71712. }
  71713. },
  71714. {
  71715. "id": 12474,
  71716. "name": "p3",
  71717. "nodeType": "Identifier",
  71718. "overloadedDeclarations": [],
  71719. "referencedDeclaration": 12464,
  71720. "src": "45197:2:50",
  71721. "typeDescriptions": {
  71722. "typeIdentifier": "t_bool",
  71723. "typeString": "bool"
  71724. }
  71725. }
  71726. ],
  71727. "expression": {
  71728. "argumentTypes": [
  71729. {
  71730. "typeIdentifier": "t_stringliteral_be9843530e69b1feba88a3a9701a6984aaa8a57e749a7f9d10c857993e79900d",
  71731. "typeString": "literal_string \"log(bool,uint256,uint256,bool)\""
  71732. },
  71733. {
  71734. "typeIdentifier": "t_bool",
  71735. "typeString": "bool"
  71736. },
  71737. {
  71738. "typeIdentifier": "t_uint256",
  71739. "typeString": "uint256"
  71740. },
  71741. {
  71742. "typeIdentifier": "t_uint256",
  71743. "typeString": "uint256"
  71744. },
  71745. {
  71746. "typeIdentifier": "t_bool",
  71747. "typeString": "bool"
  71748. }
  71749. ],
  71750. "expression": {
  71751. "id": 12468,
  71752. "name": "abi",
  71753. "nodeType": "Identifier",
  71754. "overloadedDeclarations": [],
  71755. "referencedDeclaration": -1,
  71756. "src": "45127:3:50",
  71757. "typeDescriptions": {
  71758. "typeIdentifier": "t_magic_abi",
  71759. "typeString": "abi"
  71760. }
  71761. },
  71762. "id": 12469,
  71763. "isConstant": false,
  71764. "isLValue": false,
  71765. "isPure": true,
  71766. "lValueRequested": false,
  71767. "memberLocation": "45131:19:50",
  71768. "memberName": "encodeWithSignature",
  71769. "nodeType": "MemberAccess",
  71770. "src": "45127:23:50",
  71771. "typeDescriptions": {
  71772. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  71773. "typeString": "function (string memory) pure returns (bytes memory)"
  71774. }
  71775. },
  71776. "id": 12475,
  71777. "isConstant": false,
  71778. "isLValue": false,
  71779. "isPure": false,
  71780. "kind": "functionCall",
  71781. "lValueRequested": false,
  71782. "nameLocations": [],
  71783. "names": [],
  71784. "nodeType": "FunctionCall",
  71785. "src": "45127:73:50",
  71786. "tryCall": false,
  71787. "typeDescriptions": {
  71788. "typeIdentifier": "t_bytes_memory_ptr",
  71789. "typeString": "bytes memory"
  71790. }
  71791. }
  71792. ],
  71793. "expression": {
  71794. "argumentTypes": [
  71795. {
  71796. "typeIdentifier": "t_bytes_memory_ptr",
  71797. "typeString": "bytes memory"
  71798. }
  71799. ],
  71800. "id": 12467,
  71801. "name": "_sendLogPayload",
  71802. "nodeType": "Identifier",
  71803. "overloadedDeclarations": [],
  71804. "referencedDeclaration": 7315,
  71805. "src": "45111:15:50",
  71806. "typeDescriptions": {
  71807. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  71808. "typeString": "function (bytes memory) pure"
  71809. }
  71810. },
  71811. "id": 12476,
  71812. "isConstant": false,
  71813. "isLValue": false,
  71814. "isPure": false,
  71815. "kind": "functionCall",
  71816. "lValueRequested": false,
  71817. "nameLocations": [],
  71818. "names": [],
  71819. "nodeType": "FunctionCall",
  71820. "src": "45111:90:50",
  71821. "tryCall": false,
  71822. "typeDescriptions": {
  71823. "typeIdentifier": "t_tuple$__$",
  71824. "typeString": "tuple()"
  71825. }
  71826. },
  71827. "id": 12477,
  71828. "nodeType": "ExpressionStatement",
  71829. "src": "45111:90:50"
  71830. }
  71831. ]
  71832. },
  71833. "implemented": true,
  71834. "kind": "function",
  71835. "modifiers": [],
  71836. "name": "log",
  71837. "nameLocation": "45041:3:50",
  71838. "parameters": {
  71839. "id": 12465,
  71840. "nodeType": "ParameterList",
  71841. "parameters": [
  71842. {
  71843. "constant": false,
  71844. "id": 12458,
  71845. "mutability": "mutable",
  71846. "name": "p0",
  71847. "nameLocation": "45050:2:50",
  71848. "nodeType": "VariableDeclaration",
  71849. "scope": 12479,
  71850. "src": "45045:7:50",
  71851. "stateVariable": false,
  71852. "storageLocation": "default",
  71853. "typeDescriptions": {
  71854. "typeIdentifier": "t_bool",
  71855. "typeString": "bool"
  71856. },
  71857. "typeName": {
  71858. "id": 12457,
  71859. "name": "bool",
  71860. "nodeType": "ElementaryTypeName",
  71861. "src": "45045:4:50",
  71862. "typeDescriptions": {
  71863. "typeIdentifier": "t_bool",
  71864. "typeString": "bool"
  71865. }
  71866. },
  71867. "visibility": "internal"
  71868. },
  71869. {
  71870. "constant": false,
  71871. "id": 12460,
  71872. "mutability": "mutable",
  71873. "name": "p1",
  71874. "nameLocation": "45062:2:50",
  71875. "nodeType": "VariableDeclaration",
  71876. "scope": 12479,
  71877. "src": "45054:10:50",
  71878. "stateVariable": false,
  71879. "storageLocation": "default",
  71880. "typeDescriptions": {
  71881. "typeIdentifier": "t_uint256",
  71882. "typeString": "uint256"
  71883. },
  71884. "typeName": {
  71885. "id": 12459,
  71886. "name": "uint256",
  71887. "nodeType": "ElementaryTypeName",
  71888. "src": "45054:7:50",
  71889. "typeDescriptions": {
  71890. "typeIdentifier": "t_uint256",
  71891. "typeString": "uint256"
  71892. }
  71893. },
  71894. "visibility": "internal"
  71895. },
  71896. {
  71897. "constant": false,
  71898. "id": 12462,
  71899. "mutability": "mutable",
  71900. "name": "p2",
  71901. "nameLocation": "45074:2:50",
  71902. "nodeType": "VariableDeclaration",
  71903. "scope": 12479,
  71904. "src": "45066:10:50",
  71905. "stateVariable": false,
  71906. "storageLocation": "default",
  71907. "typeDescriptions": {
  71908. "typeIdentifier": "t_uint256",
  71909. "typeString": "uint256"
  71910. },
  71911. "typeName": {
  71912. "id": 12461,
  71913. "name": "uint256",
  71914. "nodeType": "ElementaryTypeName",
  71915. "src": "45066:7:50",
  71916. "typeDescriptions": {
  71917. "typeIdentifier": "t_uint256",
  71918. "typeString": "uint256"
  71919. }
  71920. },
  71921. "visibility": "internal"
  71922. },
  71923. {
  71924. "constant": false,
  71925. "id": 12464,
  71926. "mutability": "mutable",
  71927. "name": "p3",
  71928. "nameLocation": "45083:2:50",
  71929. "nodeType": "VariableDeclaration",
  71930. "scope": 12479,
  71931. "src": "45078:7:50",
  71932. "stateVariable": false,
  71933. "storageLocation": "default",
  71934. "typeDescriptions": {
  71935. "typeIdentifier": "t_bool",
  71936. "typeString": "bool"
  71937. },
  71938. "typeName": {
  71939. "id": 12463,
  71940. "name": "bool",
  71941. "nodeType": "ElementaryTypeName",
  71942. "src": "45078:4:50",
  71943. "typeDescriptions": {
  71944. "typeIdentifier": "t_bool",
  71945. "typeString": "bool"
  71946. }
  71947. },
  71948. "visibility": "internal"
  71949. }
  71950. ],
  71951. "src": "45044:42:50"
  71952. },
  71953. "returnParameters": {
  71954. "id": 12466,
  71955. "nodeType": "ParameterList",
  71956. "parameters": [],
  71957. "src": "45101:0:50"
  71958. },
  71959. "scope": 15355,
  71960. "stateMutability": "pure",
  71961. "virtual": false,
  71962. "visibility": "internal"
  71963. },
  71964. {
  71965. "id": 12502,
  71966. "nodeType": "FunctionDefinition",
  71967. "src": "45214:182:50",
  71968. "nodes": [],
  71969. "body": {
  71970. "id": 12501,
  71971. "nodeType": "Block",
  71972. "src": "45286:110:50",
  71973. "nodes": [],
  71974. "statements": [
  71975. {
  71976. "expression": {
  71977. "arguments": [
  71978. {
  71979. "arguments": [
  71980. {
  71981. "hexValue": "6c6f6728626f6f6c2c75696e743235362c75696e743235362c6164647265737329",
  71982. "id": 12493,
  71983. "isConstant": false,
  71984. "isLValue": false,
  71985. "isPure": true,
  71986. "kind": "string",
  71987. "lValueRequested": false,
  71988. "nodeType": "Literal",
  71989. "src": "45336:35:50",
  71990. "typeDescriptions": {
  71991. "typeIdentifier": "t_stringliteral_00dd87b926eb0a94d5705f2c40026359b9577dfd5ddb2d0d51c86b3f4acb5010",
  71992. "typeString": "literal_string \"log(bool,uint256,uint256,address)\""
  71993. },
  71994. "value": "log(bool,uint256,uint256,address)"
  71995. },
  71996. {
  71997. "id": 12494,
  71998. "name": "p0",
  71999. "nodeType": "Identifier",
  72000. "overloadedDeclarations": [],
  72001. "referencedDeclaration": 12481,
  72002. "src": "45373:2:50",
  72003. "typeDescriptions": {
  72004. "typeIdentifier": "t_bool",
  72005. "typeString": "bool"
  72006. }
  72007. },
  72008. {
  72009. "id": 12495,
  72010. "name": "p1",
  72011. "nodeType": "Identifier",
  72012. "overloadedDeclarations": [],
  72013. "referencedDeclaration": 12483,
  72014. "src": "45377:2:50",
  72015. "typeDescriptions": {
  72016. "typeIdentifier": "t_uint256",
  72017. "typeString": "uint256"
  72018. }
  72019. },
  72020. {
  72021. "id": 12496,
  72022. "name": "p2",
  72023. "nodeType": "Identifier",
  72024. "overloadedDeclarations": [],
  72025. "referencedDeclaration": 12485,
  72026. "src": "45381:2:50",
  72027. "typeDescriptions": {
  72028. "typeIdentifier": "t_uint256",
  72029. "typeString": "uint256"
  72030. }
  72031. },
  72032. {
  72033. "id": 12497,
  72034. "name": "p3",
  72035. "nodeType": "Identifier",
  72036. "overloadedDeclarations": [],
  72037. "referencedDeclaration": 12487,
  72038. "src": "45385:2:50",
  72039. "typeDescriptions": {
  72040. "typeIdentifier": "t_address",
  72041. "typeString": "address"
  72042. }
  72043. }
  72044. ],
  72045. "expression": {
  72046. "argumentTypes": [
  72047. {
  72048. "typeIdentifier": "t_stringliteral_00dd87b926eb0a94d5705f2c40026359b9577dfd5ddb2d0d51c86b3f4acb5010",
  72049. "typeString": "literal_string \"log(bool,uint256,uint256,address)\""
  72050. },
  72051. {
  72052. "typeIdentifier": "t_bool",
  72053. "typeString": "bool"
  72054. },
  72055. {
  72056. "typeIdentifier": "t_uint256",
  72057. "typeString": "uint256"
  72058. },
  72059. {
  72060. "typeIdentifier": "t_uint256",
  72061. "typeString": "uint256"
  72062. },
  72063. {
  72064. "typeIdentifier": "t_address",
  72065. "typeString": "address"
  72066. }
  72067. ],
  72068. "expression": {
  72069. "id": 12491,
  72070. "name": "abi",
  72071. "nodeType": "Identifier",
  72072. "overloadedDeclarations": [],
  72073. "referencedDeclaration": -1,
  72074. "src": "45312:3:50",
  72075. "typeDescriptions": {
  72076. "typeIdentifier": "t_magic_abi",
  72077. "typeString": "abi"
  72078. }
  72079. },
  72080. "id": 12492,
  72081. "isConstant": false,
  72082. "isLValue": false,
  72083. "isPure": true,
  72084. "lValueRequested": false,
  72085. "memberLocation": "45316:19:50",
  72086. "memberName": "encodeWithSignature",
  72087. "nodeType": "MemberAccess",
  72088. "src": "45312:23:50",
  72089. "typeDescriptions": {
  72090. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  72091. "typeString": "function (string memory) pure returns (bytes memory)"
  72092. }
  72093. },
  72094. "id": 12498,
  72095. "isConstant": false,
  72096. "isLValue": false,
  72097. "isPure": false,
  72098. "kind": "functionCall",
  72099. "lValueRequested": false,
  72100. "nameLocations": [],
  72101. "names": [],
  72102. "nodeType": "FunctionCall",
  72103. "src": "45312:76:50",
  72104. "tryCall": false,
  72105. "typeDescriptions": {
  72106. "typeIdentifier": "t_bytes_memory_ptr",
  72107. "typeString": "bytes memory"
  72108. }
  72109. }
  72110. ],
  72111. "expression": {
  72112. "argumentTypes": [
  72113. {
  72114. "typeIdentifier": "t_bytes_memory_ptr",
  72115. "typeString": "bytes memory"
  72116. }
  72117. ],
  72118. "id": 12490,
  72119. "name": "_sendLogPayload",
  72120. "nodeType": "Identifier",
  72121. "overloadedDeclarations": [],
  72122. "referencedDeclaration": 7315,
  72123. "src": "45296:15:50",
  72124. "typeDescriptions": {
  72125. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  72126. "typeString": "function (bytes memory) pure"
  72127. }
  72128. },
  72129. "id": 12499,
  72130. "isConstant": false,
  72131. "isLValue": false,
  72132. "isPure": false,
  72133. "kind": "functionCall",
  72134. "lValueRequested": false,
  72135. "nameLocations": [],
  72136. "names": [],
  72137. "nodeType": "FunctionCall",
  72138. "src": "45296:93:50",
  72139. "tryCall": false,
  72140. "typeDescriptions": {
  72141. "typeIdentifier": "t_tuple$__$",
  72142. "typeString": "tuple()"
  72143. }
  72144. },
  72145. "id": 12500,
  72146. "nodeType": "ExpressionStatement",
  72147. "src": "45296:93:50"
  72148. }
  72149. ]
  72150. },
  72151. "implemented": true,
  72152. "kind": "function",
  72153. "modifiers": [],
  72154. "name": "log",
  72155. "nameLocation": "45223:3:50",
  72156. "parameters": {
  72157. "id": 12488,
  72158. "nodeType": "ParameterList",
  72159. "parameters": [
  72160. {
  72161. "constant": false,
  72162. "id": 12481,
  72163. "mutability": "mutable",
  72164. "name": "p0",
  72165. "nameLocation": "45232:2:50",
  72166. "nodeType": "VariableDeclaration",
  72167. "scope": 12502,
  72168. "src": "45227:7:50",
  72169. "stateVariable": false,
  72170. "storageLocation": "default",
  72171. "typeDescriptions": {
  72172. "typeIdentifier": "t_bool",
  72173. "typeString": "bool"
  72174. },
  72175. "typeName": {
  72176. "id": 12480,
  72177. "name": "bool",
  72178. "nodeType": "ElementaryTypeName",
  72179. "src": "45227:4:50",
  72180. "typeDescriptions": {
  72181. "typeIdentifier": "t_bool",
  72182. "typeString": "bool"
  72183. }
  72184. },
  72185. "visibility": "internal"
  72186. },
  72187. {
  72188. "constant": false,
  72189. "id": 12483,
  72190. "mutability": "mutable",
  72191. "name": "p1",
  72192. "nameLocation": "45244:2:50",
  72193. "nodeType": "VariableDeclaration",
  72194. "scope": 12502,
  72195. "src": "45236:10:50",
  72196. "stateVariable": false,
  72197. "storageLocation": "default",
  72198. "typeDescriptions": {
  72199. "typeIdentifier": "t_uint256",
  72200. "typeString": "uint256"
  72201. },
  72202. "typeName": {
  72203. "id": 12482,
  72204. "name": "uint256",
  72205. "nodeType": "ElementaryTypeName",
  72206. "src": "45236:7:50",
  72207. "typeDescriptions": {
  72208. "typeIdentifier": "t_uint256",
  72209. "typeString": "uint256"
  72210. }
  72211. },
  72212. "visibility": "internal"
  72213. },
  72214. {
  72215. "constant": false,
  72216. "id": 12485,
  72217. "mutability": "mutable",
  72218. "name": "p2",
  72219. "nameLocation": "45256:2:50",
  72220. "nodeType": "VariableDeclaration",
  72221. "scope": 12502,
  72222. "src": "45248:10:50",
  72223. "stateVariable": false,
  72224. "storageLocation": "default",
  72225. "typeDescriptions": {
  72226. "typeIdentifier": "t_uint256",
  72227. "typeString": "uint256"
  72228. },
  72229. "typeName": {
  72230. "id": 12484,
  72231. "name": "uint256",
  72232. "nodeType": "ElementaryTypeName",
  72233. "src": "45248:7:50",
  72234. "typeDescriptions": {
  72235. "typeIdentifier": "t_uint256",
  72236. "typeString": "uint256"
  72237. }
  72238. },
  72239. "visibility": "internal"
  72240. },
  72241. {
  72242. "constant": false,
  72243. "id": 12487,
  72244. "mutability": "mutable",
  72245. "name": "p3",
  72246. "nameLocation": "45268:2:50",
  72247. "nodeType": "VariableDeclaration",
  72248. "scope": 12502,
  72249. "src": "45260:10:50",
  72250. "stateVariable": false,
  72251. "storageLocation": "default",
  72252. "typeDescriptions": {
  72253. "typeIdentifier": "t_address",
  72254. "typeString": "address"
  72255. },
  72256. "typeName": {
  72257. "id": 12486,
  72258. "name": "address",
  72259. "nodeType": "ElementaryTypeName",
  72260. "src": "45260:7:50",
  72261. "stateMutability": "nonpayable",
  72262. "typeDescriptions": {
  72263. "typeIdentifier": "t_address",
  72264. "typeString": "address"
  72265. }
  72266. },
  72267. "visibility": "internal"
  72268. }
  72269. ],
  72270. "src": "45226:45:50"
  72271. },
  72272. "returnParameters": {
  72273. "id": 12489,
  72274. "nodeType": "ParameterList",
  72275. "parameters": [],
  72276. "src": "45286:0:50"
  72277. },
  72278. "scope": 15355,
  72279. "stateMutability": "pure",
  72280. "virtual": false,
  72281. "visibility": "internal"
  72282. },
  72283. {
  72284. "id": 12525,
  72285. "nodeType": "FunctionDefinition",
  72286. "src": "45402:187:50",
  72287. "nodes": [],
  72288. "body": {
  72289. "id": 12524,
  72290. "nodeType": "Block",
  72291. "src": "45480:109:50",
  72292. "nodes": [],
  72293. "statements": [
  72294. {
  72295. "expression": {
  72296. "arguments": [
  72297. {
  72298. "arguments": [
  72299. {
  72300. "hexValue": "6c6f6728626f6f6c2c75696e743235362c737472696e672c75696e7432353629",
  72301. "id": 12516,
  72302. "isConstant": false,
  72303. "isLValue": false,
  72304. "isPure": true,
  72305. "kind": "string",
  72306. "lValueRequested": false,
  72307. "nodeType": "Literal",
  72308. "src": "45530:34:50",
  72309. "typeDescriptions": {
  72310. "typeIdentifier": "t_stringliteral_6a1199e21848ce015eabd66ea7f6a3409c7fc6ef9bb322d84e4c06706c42747e",
  72311. "typeString": "literal_string \"log(bool,uint256,string,uint256)\""
  72312. },
  72313. "value": "log(bool,uint256,string,uint256)"
  72314. },
  72315. {
  72316. "id": 12517,
  72317. "name": "p0",
  72318. "nodeType": "Identifier",
  72319. "overloadedDeclarations": [],
  72320. "referencedDeclaration": 12504,
  72321. "src": "45566:2:50",
  72322. "typeDescriptions": {
  72323. "typeIdentifier": "t_bool",
  72324. "typeString": "bool"
  72325. }
  72326. },
  72327. {
  72328. "id": 12518,
  72329. "name": "p1",
  72330. "nodeType": "Identifier",
  72331. "overloadedDeclarations": [],
  72332. "referencedDeclaration": 12506,
  72333. "src": "45570:2:50",
  72334. "typeDescriptions": {
  72335. "typeIdentifier": "t_uint256",
  72336. "typeString": "uint256"
  72337. }
  72338. },
  72339. {
  72340. "id": 12519,
  72341. "name": "p2",
  72342. "nodeType": "Identifier",
  72343. "overloadedDeclarations": [],
  72344. "referencedDeclaration": 12508,
  72345. "src": "45574:2:50",
  72346. "typeDescriptions": {
  72347. "typeIdentifier": "t_string_memory_ptr",
  72348. "typeString": "string memory"
  72349. }
  72350. },
  72351. {
  72352. "id": 12520,
  72353. "name": "p3",
  72354. "nodeType": "Identifier",
  72355. "overloadedDeclarations": [],
  72356. "referencedDeclaration": 12510,
  72357. "src": "45578:2:50",
  72358. "typeDescriptions": {
  72359. "typeIdentifier": "t_uint256",
  72360. "typeString": "uint256"
  72361. }
  72362. }
  72363. ],
  72364. "expression": {
  72365. "argumentTypes": [
  72366. {
  72367. "typeIdentifier": "t_stringliteral_6a1199e21848ce015eabd66ea7f6a3409c7fc6ef9bb322d84e4c06706c42747e",
  72368. "typeString": "literal_string \"log(bool,uint256,string,uint256)\""
  72369. },
  72370. {
  72371. "typeIdentifier": "t_bool",
  72372. "typeString": "bool"
  72373. },
  72374. {
  72375. "typeIdentifier": "t_uint256",
  72376. "typeString": "uint256"
  72377. },
  72378. {
  72379. "typeIdentifier": "t_string_memory_ptr",
  72380. "typeString": "string memory"
  72381. },
  72382. {
  72383. "typeIdentifier": "t_uint256",
  72384. "typeString": "uint256"
  72385. }
  72386. ],
  72387. "expression": {
  72388. "id": 12514,
  72389. "name": "abi",
  72390. "nodeType": "Identifier",
  72391. "overloadedDeclarations": [],
  72392. "referencedDeclaration": -1,
  72393. "src": "45506:3:50",
  72394. "typeDescriptions": {
  72395. "typeIdentifier": "t_magic_abi",
  72396. "typeString": "abi"
  72397. }
  72398. },
  72399. "id": 12515,
  72400. "isConstant": false,
  72401. "isLValue": false,
  72402. "isPure": true,
  72403. "lValueRequested": false,
  72404. "memberLocation": "45510:19:50",
  72405. "memberName": "encodeWithSignature",
  72406. "nodeType": "MemberAccess",
  72407. "src": "45506:23:50",
  72408. "typeDescriptions": {
  72409. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  72410. "typeString": "function (string memory) pure returns (bytes memory)"
  72411. }
  72412. },
  72413. "id": 12521,
  72414. "isConstant": false,
  72415. "isLValue": false,
  72416. "isPure": false,
  72417. "kind": "functionCall",
  72418. "lValueRequested": false,
  72419. "nameLocations": [],
  72420. "names": [],
  72421. "nodeType": "FunctionCall",
  72422. "src": "45506:75:50",
  72423. "tryCall": false,
  72424. "typeDescriptions": {
  72425. "typeIdentifier": "t_bytes_memory_ptr",
  72426. "typeString": "bytes memory"
  72427. }
  72428. }
  72429. ],
  72430. "expression": {
  72431. "argumentTypes": [
  72432. {
  72433. "typeIdentifier": "t_bytes_memory_ptr",
  72434. "typeString": "bytes memory"
  72435. }
  72436. ],
  72437. "id": 12513,
  72438. "name": "_sendLogPayload",
  72439. "nodeType": "Identifier",
  72440. "overloadedDeclarations": [],
  72441. "referencedDeclaration": 7315,
  72442. "src": "45490:15:50",
  72443. "typeDescriptions": {
  72444. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  72445. "typeString": "function (bytes memory) pure"
  72446. }
  72447. },
  72448. "id": 12522,
  72449. "isConstant": false,
  72450. "isLValue": false,
  72451. "isPure": false,
  72452. "kind": "functionCall",
  72453. "lValueRequested": false,
  72454. "nameLocations": [],
  72455. "names": [],
  72456. "nodeType": "FunctionCall",
  72457. "src": "45490:92:50",
  72458. "tryCall": false,
  72459. "typeDescriptions": {
  72460. "typeIdentifier": "t_tuple$__$",
  72461. "typeString": "tuple()"
  72462. }
  72463. },
  72464. "id": 12523,
  72465. "nodeType": "ExpressionStatement",
  72466. "src": "45490:92:50"
  72467. }
  72468. ]
  72469. },
  72470. "implemented": true,
  72471. "kind": "function",
  72472. "modifiers": [],
  72473. "name": "log",
  72474. "nameLocation": "45411:3:50",
  72475. "parameters": {
  72476. "id": 12511,
  72477. "nodeType": "ParameterList",
  72478. "parameters": [
  72479. {
  72480. "constant": false,
  72481. "id": 12504,
  72482. "mutability": "mutable",
  72483. "name": "p0",
  72484. "nameLocation": "45420:2:50",
  72485. "nodeType": "VariableDeclaration",
  72486. "scope": 12525,
  72487. "src": "45415:7:50",
  72488. "stateVariable": false,
  72489. "storageLocation": "default",
  72490. "typeDescriptions": {
  72491. "typeIdentifier": "t_bool",
  72492. "typeString": "bool"
  72493. },
  72494. "typeName": {
  72495. "id": 12503,
  72496. "name": "bool",
  72497. "nodeType": "ElementaryTypeName",
  72498. "src": "45415:4:50",
  72499. "typeDescriptions": {
  72500. "typeIdentifier": "t_bool",
  72501. "typeString": "bool"
  72502. }
  72503. },
  72504. "visibility": "internal"
  72505. },
  72506. {
  72507. "constant": false,
  72508. "id": 12506,
  72509. "mutability": "mutable",
  72510. "name": "p1",
  72511. "nameLocation": "45432:2:50",
  72512. "nodeType": "VariableDeclaration",
  72513. "scope": 12525,
  72514. "src": "45424:10:50",
  72515. "stateVariable": false,
  72516. "storageLocation": "default",
  72517. "typeDescriptions": {
  72518. "typeIdentifier": "t_uint256",
  72519. "typeString": "uint256"
  72520. },
  72521. "typeName": {
  72522. "id": 12505,
  72523. "name": "uint256",
  72524. "nodeType": "ElementaryTypeName",
  72525. "src": "45424:7:50",
  72526. "typeDescriptions": {
  72527. "typeIdentifier": "t_uint256",
  72528. "typeString": "uint256"
  72529. }
  72530. },
  72531. "visibility": "internal"
  72532. },
  72533. {
  72534. "constant": false,
  72535. "id": 12508,
  72536. "mutability": "mutable",
  72537. "name": "p2",
  72538. "nameLocation": "45450:2:50",
  72539. "nodeType": "VariableDeclaration",
  72540. "scope": 12525,
  72541. "src": "45436:16:50",
  72542. "stateVariable": false,
  72543. "storageLocation": "memory",
  72544. "typeDescriptions": {
  72545. "typeIdentifier": "t_string_memory_ptr",
  72546. "typeString": "string"
  72547. },
  72548. "typeName": {
  72549. "id": 12507,
  72550. "name": "string",
  72551. "nodeType": "ElementaryTypeName",
  72552. "src": "45436:6:50",
  72553. "typeDescriptions": {
  72554. "typeIdentifier": "t_string_storage_ptr",
  72555. "typeString": "string"
  72556. }
  72557. },
  72558. "visibility": "internal"
  72559. },
  72560. {
  72561. "constant": false,
  72562. "id": 12510,
  72563. "mutability": "mutable",
  72564. "name": "p3",
  72565. "nameLocation": "45462:2:50",
  72566. "nodeType": "VariableDeclaration",
  72567. "scope": 12525,
  72568. "src": "45454:10:50",
  72569. "stateVariable": false,
  72570. "storageLocation": "default",
  72571. "typeDescriptions": {
  72572. "typeIdentifier": "t_uint256",
  72573. "typeString": "uint256"
  72574. },
  72575. "typeName": {
  72576. "id": 12509,
  72577. "name": "uint256",
  72578. "nodeType": "ElementaryTypeName",
  72579. "src": "45454:7:50",
  72580. "typeDescriptions": {
  72581. "typeIdentifier": "t_uint256",
  72582. "typeString": "uint256"
  72583. }
  72584. },
  72585. "visibility": "internal"
  72586. }
  72587. ],
  72588. "src": "45414:51:50"
  72589. },
  72590. "returnParameters": {
  72591. "id": 12512,
  72592. "nodeType": "ParameterList",
  72593. "parameters": [],
  72594. "src": "45480:0:50"
  72595. },
  72596. "scope": 15355,
  72597. "stateMutability": "pure",
  72598. "virtual": false,
  72599. "visibility": "internal"
  72600. },
  72601. {
  72602. "id": 12548,
  72603. "nodeType": "FunctionDefinition",
  72604. "src": "45595:192:50",
  72605. "nodes": [],
  72606. "body": {
  72607. "id": 12547,
  72608. "nodeType": "Block",
  72609. "src": "45679:108:50",
  72610. "nodes": [],
  72611. "statements": [
  72612. {
  72613. "expression": {
  72614. "arguments": [
  72615. {
  72616. "arguments": [
  72617. {
  72618. "hexValue": "6c6f6728626f6f6c2c75696e743235362c737472696e672c737472696e6729",
  72619. "id": 12539,
  72620. "isConstant": false,
  72621. "isLValue": false,
  72622. "isPure": true,
  72623. "kind": "string",
  72624. "lValueRequested": false,
  72625. "nodeType": "Literal",
  72626. "src": "45729:33:50",
  72627. "typeDescriptions": {
  72628. "typeIdentifier": "t_stringliteral_f5bc2249bce1f463dc4a6cae73d4e7be2aab36b6885cd1506575f16575a67f07",
  72629. "typeString": "literal_string \"log(bool,uint256,string,string)\""
  72630. },
  72631. "value": "log(bool,uint256,string,string)"
  72632. },
  72633. {
  72634. "id": 12540,
  72635. "name": "p0",
  72636. "nodeType": "Identifier",
  72637. "overloadedDeclarations": [],
  72638. "referencedDeclaration": 12527,
  72639. "src": "45764:2:50",
  72640. "typeDescriptions": {
  72641. "typeIdentifier": "t_bool",
  72642. "typeString": "bool"
  72643. }
  72644. },
  72645. {
  72646. "id": 12541,
  72647. "name": "p1",
  72648. "nodeType": "Identifier",
  72649. "overloadedDeclarations": [],
  72650. "referencedDeclaration": 12529,
  72651. "src": "45768:2:50",
  72652. "typeDescriptions": {
  72653. "typeIdentifier": "t_uint256",
  72654. "typeString": "uint256"
  72655. }
  72656. },
  72657. {
  72658. "id": 12542,
  72659. "name": "p2",
  72660. "nodeType": "Identifier",
  72661. "overloadedDeclarations": [],
  72662. "referencedDeclaration": 12531,
  72663. "src": "45772:2:50",
  72664. "typeDescriptions": {
  72665. "typeIdentifier": "t_string_memory_ptr",
  72666. "typeString": "string memory"
  72667. }
  72668. },
  72669. {
  72670. "id": 12543,
  72671. "name": "p3",
  72672. "nodeType": "Identifier",
  72673. "overloadedDeclarations": [],
  72674. "referencedDeclaration": 12533,
  72675. "src": "45776:2:50",
  72676. "typeDescriptions": {
  72677. "typeIdentifier": "t_string_memory_ptr",
  72678. "typeString": "string memory"
  72679. }
  72680. }
  72681. ],
  72682. "expression": {
  72683. "argumentTypes": [
  72684. {
  72685. "typeIdentifier": "t_stringliteral_f5bc2249bce1f463dc4a6cae73d4e7be2aab36b6885cd1506575f16575a67f07",
  72686. "typeString": "literal_string \"log(bool,uint256,string,string)\""
  72687. },
  72688. {
  72689. "typeIdentifier": "t_bool",
  72690. "typeString": "bool"
  72691. },
  72692. {
  72693. "typeIdentifier": "t_uint256",
  72694. "typeString": "uint256"
  72695. },
  72696. {
  72697. "typeIdentifier": "t_string_memory_ptr",
  72698. "typeString": "string memory"
  72699. },
  72700. {
  72701. "typeIdentifier": "t_string_memory_ptr",
  72702. "typeString": "string memory"
  72703. }
  72704. ],
  72705. "expression": {
  72706. "id": 12537,
  72707. "name": "abi",
  72708. "nodeType": "Identifier",
  72709. "overloadedDeclarations": [],
  72710. "referencedDeclaration": -1,
  72711. "src": "45705:3:50",
  72712. "typeDescriptions": {
  72713. "typeIdentifier": "t_magic_abi",
  72714. "typeString": "abi"
  72715. }
  72716. },
  72717. "id": 12538,
  72718. "isConstant": false,
  72719. "isLValue": false,
  72720. "isPure": true,
  72721. "lValueRequested": false,
  72722. "memberLocation": "45709:19:50",
  72723. "memberName": "encodeWithSignature",
  72724. "nodeType": "MemberAccess",
  72725. "src": "45705:23:50",
  72726. "typeDescriptions": {
  72727. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  72728. "typeString": "function (string memory) pure returns (bytes memory)"
  72729. }
  72730. },
  72731. "id": 12544,
  72732. "isConstant": false,
  72733. "isLValue": false,
  72734. "isPure": false,
  72735. "kind": "functionCall",
  72736. "lValueRequested": false,
  72737. "nameLocations": [],
  72738. "names": [],
  72739. "nodeType": "FunctionCall",
  72740. "src": "45705:74:50",
  72741. "tryCall": false,
  72742. "typeDescriptions": {
  72743. "typeIdentifier": "t_bytes_memory_ptr",
  72744. "typeString": "bytes memory"
  72745. }
  72746. }
  72747. ],
  72748. "expression": {
  72749. "argumentTypes": [
  72750. {
  72751. "typeIdentifier": "t_bytes_memory_ptr",
  72752. "typeString": "bytes memory"
  72753. }
  72754. ],
  72755. "id": 12536,
  72756. "name": "_sendLogPayload",
  72757. "nodeType": "Identifier",
  72758. "overloadedDeclarations": [],
  72759. "referencedDeclaration": 7315,
  72760. "src": "45689:15:50",
  72761. "typeDescriptions": {
  72762. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  72763. "typeString": "function (bytes memory) pure"
  72764. }
  72765. },
  72766. "id": 12545,
  72767. "isConstant": false,
  72768. "isLValue": false,
  72769. "isPure": false,
  72770. "kind": "functionCall",
  72771. "lValueRequested": false,
  72772. "nameLocations": [],
  72773. "names": [],
  72774. "nodeType": "FunctionCall",
  72775. "src": "45689:91:50",
  72776. "tryCall": false,
  72777. "typeDescriptions": {
  72778. "typeIdentifier": "t_tuple$__$",
  72779. "typeString": "tuple()"
  72780. }
  72781. },
  72782. "id": 12546,
  72783. "nodeType": "ExpressionStatement",
  72784. "src": "45689:91:50"
  72785. }
  72786. ]
  72787. },
  72788. "implemented": true,
  72789. "kind": "function",
  72790. "modifiers": [],
  72791. "name": "log",
  72792. "nameLocation": "45604:3:50",
  72793. "parameters": {
  72794. "id": 12534,
  72795. "nodeType": "ParameterList",
  72796. "parameters": [
  72797. {
  72798. "constant": false,
  72799. "id": 12527,
  72800. "mutability": "mutable",
  72801. "name": "p0",
  72802. "nameLocation": "45613:2:50",
  72803. "nodeType": "VariableDeclaration",
  72804. "scope": 12548,
  72805. "src": "45608:7:50",
  72806. "stateVariable": false,
  72807. "storageLocation": "default",
  72808. "typeDescriptions": {
  72809. "typeIdentifier": "t_bool",
  72810. "typeString": "bool"
  72811. },
  72812. "typeName": {
  72813. "id": 12526,
  72814. "name": "bool",
  72815. "nodeType": "ElementaryTypeName",
  72816. "src": "45608:4:50",
  72817. "typeDescriptions": {
  72818. "typeIdentifier": "t_bool",
  72819. "typeString": "bool"
  72820. }
  72821. },
  72822. "visibility": "internal"
  72823. },
  72824. {
  72825. "constant": false,
  72826. "id": 12529,
  72827. "mutability": "mutable",
  72828. "name": "p1",
  72829. "nameLocation": "45625:2:50",
  72830. "nodeType": "VariableDeclaration",
  72831. "scope": 12548,
  72832. "src": "45617:10:50",
  72833. "stateVariable": false,
  72834. "storageLocation": "default",
  72835. "typeDescriptions": {
  72836. "typeIdentifier": "t_uint256",
  72837. "typeString": "uint256"
  72838. },
  72839. "typeName": {
  72840. "id": 12528,
  72841. "name": "uint256",
  72842. "nodeType": "ElementaryTypeName",
  72843. "src": "45617:7:50",
  72844. "typeDescriptions": {
  72845. "typeIdentifier": "t_uint256",
  72846. "typeString": "uint256"
  72847. }
  72848. },
  72849. "visibility": "internal"
  72850. },
  72851. {
  72852. "constant": false,
  72853. "id": 12531,
  72854. "mutability": "mutable",
  72855. "name": "p2",
  72856. "nameLocation": "45643:2:50",
  72857. "nodeType": "VariableDeclaration",
  72858. "scope": 12548,
  72859. "src": "45629:16:50",
  72860. "stateVariable": false,
  72861. "storageLocation": "memory",
  72862. "typeDescriptions": {
  72863. "typeIdentifier": "t_string_memory_ptr",
  72864. "typeString": "string"
  72865. },
  72866. "typeName": {
  72867. "id": 12530,
  72868. "name": "string",
  72869. "nodeType": "ElementaryTypeName",
  72870. "src": "45629:6:50",
  72871. "typeDescriptions": {
  72872. "typeIdentifier": "t_string_storage_ptr",
  72873. "typeString": "string"
  72874. }
  72875. },
  72876. "visibility": "internal"
  72877. },
  72878. {
  72879. "constant": false,
  72880. "id": 12533,
  72881. "mutability": "mutable",
  72882. "name": "p3",
  72883. "nameLocation": "45661:2:50",
  72884. "nodeType": "VariableDeclaration",
  72885. "scope": 12548,
  72886. "src": "45647:16:50",
  72887. "stateVariable": false,
  72888. "storageLocation": "memory",
  72889. "typeDescriptions": {
  72890. "typeIdentifier": "t_string_memory_ptr",
  72891. "typeString": "string"
  72892. },
  72893. "typeName": {
  72894. "id": 12532,
  72895. "name": "string",
  72896. "nodeType": "ElementaryTypeName",
  72897. "src": "45647:6:50",
  72898. "typeDescriptions": {
  72899. "typeIdentifier": "t_string_storage_ptr",
  72900. "typeString": "string"
  72901. }
  72902. },
  72903. "visibility": "internal"
  72904. }
  72905. ],
  72906. "src": "45607:57:50"
  72907. },
  72908. "returnParameters": {
  72909. "id": 12535,
  72910. "nodeType": "ParameterList",
  72911. "parameters": [],
  72912. "src": "45679:0:50"
  72913. },
  72914. "scope": 15355,
  72915. "stateMutability": "pure",
  72916. "virtual": false,
  72917. "visibility": "internal"
  72918. },
  72919. {
  72920. "id": 12571,
  72921. "nodeType": "FunctionDefinition",
  72922. "src": "45793:181:50",
  72923. "nodes": [],
  72924. "body": {
  72925. "id": 12570,
  72926. "nodeType": "Block",
  72927. "src": "45868:106:50",
  72928. "nodes": [],
  72929. "statements": [
  72930. {
  72931. "expression": {
  72932. "arguments": [
  72933. {
  72934. "arguments": [
  72935. {
  72936. "hexValue": "6c6f6728626f6f6c2c75696e743235362c737472696e672c626f6f6c29",
  72937. "id": 12562,
  72938. "isConstant": false,
  72939. "isLValue": false,
  72940. "isPure": true,
  72941. "kind": "string",
  72942. "lValueRequested": false,
  72943. "nodeType": "Literal",
  72944. "src": "45918:31:50",
  72945. "typeDescriptions": {
  72946. "typeIdentifier": "t_stringliteral_e5e70b2b79ba63a1232a1075e7d527614bad7291574e41ebeb8ef428426395c2",
  72947. "typeString": "literal_string \"log(bool,uint256,string,bool)\""
  72948. },
  72949. "value": "log(bool,uint256,string,bool)"
  72950. },
  72951. {
  72952. "id": 12563,
  72953. "name": "p0",
  72954. "nodeType": "Identifier",
  72955. "overloadedDeclarations": [],
  72956. "referencedDeclaration": 12550,
  72957. "src": "45951:2:50",
  72958. "typeDescriptions": {
  72959. "typeIdentifier": "t_bool",
  72960. "typeString": "bool"
  72961. }
  72962. },
  72963. {
  72964. "id": 12564,
  72965. "name": "p1",
  72966. "nodeType": "Identifier",
  72967. "overloadedDeclarations": [],
  72968. "referencedDeclaration": 12552,
  72969. "src": "45955:2:50",
  72970. "typeDescriptions": {
  72971. "typeIdentifier": "t_uint256",
  72972. "typeString": "uint256"
  72973. }
  72974. },
  72975. {
  72976. "id": 12565,
  72977. "name": "p2",
  72978. "nodeType": "Identifier",
  72979. "overloadedDeclarations": [],
  72980. "referencedDeclaration": 12554,
  72981. "src": "45959:2:50",
  72982. "typeDescriptions": {
  72983. "typeIdentifier": "t_string_memory_ptr",
  72984. "typeString": "string memory"
  72985. }
  72986. },
  72987. {
  72988. "id": 12566,
  72989. "name": "p3",
  72990. "nodeType": "Identifier",
  72991. "overloadedDeclarations": [],
  72992. "referencedDeclaration": 12556,
  72993. "src": "45963:2:50",
  72994. "typeDescriptions": {
  72995. "typeIdentifier": "t_bool",
  72996. "typeString": "bool"
  72997. }
  72998. }
  72999. ],
  73000. "expression": {
  73001. "argumentTypes": [
  73002. {
  73003. "typeIdentifier": "t_stringliteral_e5e70b2b79ba63a1232a1075e7d527614bad7291574e41ebeb8ef428426395c2",
  73004. "typeString": "literal_string \"log(bool,uint256,string,bool)\""
  73005. },
  73006. {
  73007. "typeIdentifier": "t_bool",
  73008. "typeString": "bool"
  73009. },
  73010. {
  73011. "typeIdentifier": "t_uint256",
  73012. "typeString": "uint256"
  73013. },
  73014. {
  73015. "typeIdentifier": "t_string_memory_ptr",
  73016. "typeString": "string memory"
  73017. },
  73018. {
  73019. "typeIdentifier": "t_bool",
  73020. "typeString": "bool"
  73021. }
  73022. ],
  73023. "expression": {
  73024. "id": 12560,
  73025. "name": "abi",
  73026. "nodeType": "Identifier",
  73027. "overloadedDeclarations": [],
  73028. "referencedDeclaration": -1,
  73029. "src": "45894:3:50",
  73030. "typeDescriptions": {
  73031. "typeIdentifier": "t_magic_abi",
  73032. "typeString": "abi"
  73033. }
  73034. },
  73035. "id": 12561,
  73036. "isConstant": false,
  73037. "isLValue": false,
  73038. "isPure": true,
  73039. "lValueRequested": false,
  73040. "memberLocation": "45898:19:50",
  73041. "memberName": "encodeWithSignature",
  73042. "nodeType": "MemberAccess",
  73043. "src": "45894:23:50",
  73044. "typeDescriptions": {
  73045. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  73046. "typeString": "function (string memory) pure returns (bytes memory)"
  73047. }
  73048. },
  73049. "id": 12567,
  73050. "isConstant": false,
  73051. "isLValue": false,
  73052. "isPure": false,
  73053. "kind": "functionCall",
  73054. "lValueRequested": false,
  73055. "nameLocations": [],
  73056. "names": [],
  73057. "nodeType": "FunctionCall",
  73058. "src": "45894:72:50",
  73059. "tryCall": false,
  73060. "typeDescriptions": {
  73061. "typeIdentifier": "t_bytes_memory_ptr",
  73062. "typeString": "bytes memory"
  73063. }
  73064. }
  73065. ],
  73066. "expression": {
  73067. "argumentTypes": [
  73068. {
  73069. "typeIdentifier": "t_bytes_memory_ptr",
  73070. "typeString": "bytes memory"
  73071. }
  73072. ],
  73073. "id": 12559,
  73074. "name": "_sendLogPayload",
  73075. "nodeType": "Identifier",
  73076. "overloadedDeclarations": [],
  73077. "referencedDeclaration": 7315,
  73078. "src": "45878:15:50",
  73079. "typeDescriptions": {
  73080. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  73081. "typeString": "function (bytes memory) pure"
  73082. }
  73083. },
  73084. "id": 12568,
  73085. "isConstant": false,
  73086. "isLValue": false,
  73087. "isPure": false,
  73088. "kind": "functionCall",
  73089. "lValueRequested": false,
  73090. "nameLocations": [],
  73091. "names": [],
  73092. "nodeType": "FunctionCall",
  73093. "src": "45878:89:50",
  73094. "tryCall": false,
  73095. "typeDescriptions": {
  73096. "typeIdentifier": "t_tuple$__$",
  73097. "typeString": "tuple()"
  73098. }
  73099. },
  73100. "id": 12569,
  73101. "nodeType": "ExpressionStatement",
  73102. "src": "45878:89:50"
  73103. }
  73104. ]
  73105. },
  73106. "implemented": true,
  73107. "kind": "function",
  73108. "modifiers": [],
  73109. "name": "log",
  73110. "nameLocation": "45802:3:50",
  73111. "parameters": {
  73112. "id": 12557,
  73113. "nodeType": "ParameterList",
  73114. "parameters": [
  73115. {
  73116. "constant": false,
  73117. "id": 12550,
  73118. "mutability": "mutable",
  73119. "name": "p0",
  73120. "nameLocation": "45811:2:50",
  73121. "nodeType": "VariableDeclaration",
  73122. "scope": 12571,
  73123. "src": "45806:7:50",
  73124. "stateVariable": false,
  73125. "storageLocation": "default",
  73126. "typeDescriptions": {
  73127. "typeIdentifier": "t_bool",
  73128. "typeString": "bool"
  73129. },
  73130. "typeName": {
  73131. "id": 12549,
  73132. "name": "bool",
  73133. "nodeType": "ElementaryTypeName",
  73134. "src": "45806:4:50",
  73135. "typeDescriptions": {
  73136. "typeIdentifier": "t_bool",
  73137. "typeString": "bool"
  73138. }
  73139. },
  73140. "visibility": "internal"
  73141. },
  73142. {
  73143. "constant": false,
  73144. "id": 12552,
  73145. "mutability": "mutable",
  73146. "name": "p1",
  73147. "nameLocation": "45823:2:50",
  73148. "nodeType": "VariableDeclaration",
  73149. "scope": 12571,
  73150. "src": "45815:10:50",
  73151. "stateVariable": false,
  73152. "storageLocation": "default",
  73153. "typeDescriptions": {
  73154. "typeIdentifier": "t_uint256",
  73155. "typeString": "uint256"
  73156. },
  73157. "typeName": {
  73158. "id": 12551,
  73159. "name": "uint256",
  73160. "nodeType": "ElementaryTypeName",
  73161. "src": "45815:7:50",
  73162. "typeDescriptions": {
  73163. "typeIdentifier": "t_uint256",
  73164. "typeString": "uint256"
  73165. }
  73166. },
  73167. "visibility": "internal"
  73168. },
  73169. {
  73170. "constant": false,
  73171. "id": 12554,
  73172. "mutability": "mutable",
  73173. "name": "p2",
  73174. "nameLocation": "45841:2:50",
  73175. "nodeType": "VariableDeclaration",
  73176. "scope": 12571,
  73177. "src": "45827:16:50",
  73178. "stateVariable": false,
  73179. "storageLocation": "memory",
  73180. "typeDescriptions": {
  73181. "typeIdentifier": "t_string_memory_ptr",
  73182. "typeString": "string"
  73183. },
  73184. "typeName": {
  73185. "id": 12553,
  73186. "name": "string",
  73187. "nodeType": "ElementaryTypeName",
  73188. "src": "45827:6:50",
  73189. "typeDescriptions": {
  73190. "typeIdentifier": "t_string_storage_ptr",
  73191. "typeString": "string"
  73192. }
  73193. },
  73194. "visibility": "internal"
  73195. },
  73196. {
  73197. "constant": false,
  73198. "id": 12556,
  73199. "mutability": "mutable",
  73200. "name": "p3",
  73201. "nameLocation": "45850:2:50",
  73202. "nodeType": "VariableDeclaration",
  73203. "scope": 12571,
  73204. "src": "45845:7:50",
  73205. "stateVariable": false,
  73206. "storageLocation": "default",
  73207. "typeDescriptions": {
  73208. "typeIdentifier": "t_bool",
  73209. "typeString": "bool"
  73210. },
  73211. "typeName": {
  73212. "id": 12555,
  73213. "name": "bool",
  73214. "nodeType": "ElementaryTypeName",
  73215. "src": "45845:4:50",
  73216. "typeDescriptions": {
  73217. "typeIdentifier": "t_bool",
  73218. "typeString": "bool"
  73219. }
  73220. },
  73221. "visibility": "internal"
  73222. }
  73223. ],
  73224. "src": "45805:48:50"
  73225. },
  73226. "returnParameters": {
  73227. "id": 12558,
  73228. "nodeType": "ParameterList",
  73229. "parameters": [],
  73230. "src": "45868:0:50"
  73231. },
  73232. "scope": 15355,
  73233. "stateMutability": "pure",
  73234. "virtual": false,
  73235. "visibility": "internal"
  73236. },
  73237. {
  73238. "id": 12594,
  73239. "nodeType": "FunctionDefinition",
  73240. "src": "45980:187:50",
  73241. "nodes": [],
  73242. "body": {
  73243. "id": 12593,
  73244. "nodeType": "Block",
  73245. "src": "46058:109:50",
  73246. "nodes": [],
  73247. "statements": [
  73248. {
  73249. "expression": {
  73250. "arguments": [
  73251. {
  73252. "arguments": [
  73253. {
  73254. "hexValue": "6c6f6728626f6f6c2c75696e743235362c737472696e672c6164647265737329",
  73255. "id": 12585,
  73256. "isConstant": false,
  73257. "isLValue": false,
  73258. "isPure": true,
  73259. "kind": "string",
  73260. "lValueRequested": false,
  73261. "nodeType": "Literal",
  73262. "src": "46108:34:50",
  73263. "typeDescriptions": {
  73264. "typeIdentifier": "t_stringliteral_fedd1fffaad08b0e5474b192f50d84da9ca48f54859d4d4f42d00bf3f4781fab",
  73265. "typeString": "literal_string \"log(bool,uint256,string,address)\""
  73266. },
  73267. "value": "log(bool,uint256,string,address)"
  73268. },
  73269. {
  73270. "id": 12586,
  73271. "name": "p0",
  73272. "nodeType": "Identifier",
  73273. "overloadedDeclarations": [],
  73274. "referencedDeclaration": 12573,
  73275. "src": "46144:2:50",
  73276. "typeDescriptions": {
  73277. "typeIdentifier": "t_bool",
  73278. "typeString": "bool"
  73279. }
  73280. },
  73281. {
  73282. "id": 12587,
  73283. "name": "p1",
  73284. "nodeType": "Identifier",
  73285. "overloadedDeclarations": [],
  73286. "referencedDeclaration": 12575,
  73287. "src": "46148:2:50",
  73288. "typeDescriptions": {
  73289. "typeIdentifier": "t_uint256",
  73290. "typeString": "uint256"
  73291. }
  73292. },
  73293. {
  73294. "id": 12588,
  73295. "name": "p2",
  73296. "nodeType": "Identifier",
  73297. "overloadedDeclarations": [],
  73298. "referencedDeclaration": 12577,
  73299. "src": "46152:2:50",
  73300. "typeDescriptions": {
  73301. "typeIdentifier": "t_string_memory_ptr",
  73302. "typeString": "string memory"
  73303. }
  73304. },
  73305. {
  73306. "id": 12589,
  73307. "name": "p3",
  73308. "nodeType": "Identifier",
  73309. "overloadedDeclarations": [],
  73310. "referencedDeclaration": 12579,
  73311. "src": "46156:2:50",
  73312. "typeDescriptions": {
  73313. "typeIdentifier": "t_address",
  73314. "typeString": "address"
  73315. }
  73316. }
  73317. ],
  73318. "expression": {
  73319. "argumentTypes": [
  73320. {
  73321. "typeIdentifier": "t_stringliteral_fedd1fffaad08b0e5474b192f50d84da9ca48f54859d4d4f42d00bf3f4781fab",
  73322. "typeString": "literal_string \"log(bool,uint256,string,address)\""
  73323. },
  73324. {
  73325. "typeIdentifier": "t_bool",
  73326. "typeString": "bool"
  73327. },
  73328. {
  73329. "typeIdentifier": "t_uint256",
  73330. "typeString": "uint256"
  73331. },
  73332. {
  73333. "typeIdentifier": "t_string_memory_ptr",
  73334. "typeString": "string memory"
  73335. },
  73336. {
  73337. "typeIdentifier": "t_address",
  73338. "typeString": "address"
  73339. }
  73340. ],
  73341. "expression": {
  73342. "id": 12583,
  73343. "name": "abi",
  73344. "nodeType": "Identifier",
  73345. "overloadedDeclarations": [],
  73346. "referencedDeclaration": -1,
  73347. "src": "46084:3:50",
  73348. "typeDescriptions": {
  73349. "typeIdentifier": "t_magic_abi",
  73350. "typeString": "abi"
  73351. }
  73352. },
  73353. "id": 12584,
  73354. "isConstant": false,
  73355. "isLValue": false,
  73356. "isPure": true,
  73357. "lValueRequested": false,
  73358. "memberLocation": "46088:19:50",
  73359. "memberName": "encodeWithSignature",
  73360. "nodeType": "MemberAccess",
  73361. "src": "46084:23:50",
  73362. "typeDescriptions": {
  73363. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  73364. "typeString": "function (string memory) pure returns (bytes memory)"
  73365. }
  73366. },
  73367. "id": 12590,
  73368. "isConstant": false,
  73369. "isLValue": false,
  73370. "isPure": false,
  73371. "kind": "functionCall",
  73372. "lValueRequested": false,
  73373. "nameLocations": [],
  73374. "names": [],
  73375. "nodeType": "FunctionCall",
  73376. "src": "46084:75:50",
  73377. "tryCall": false,
  73378. "typeDescriptions": {
  73379. "typeIdentifier": "t_bytes_memory_ptr",
  73380. "typeString": "bytes memory"
  73381. }
  73382. }
  73383. ],
  73384. "expression": {
  73385. "argumentTypes": [
  73386. {
  73387. "typeIdentifier": "t_bytes_memory_ptr",
  73388. "typeString": "bytes memory"
  73389. }
  73390. ],
  73391. "id": 12582,
  73392. "name": "_sendLogPayload",
  73393. "nodeType": "Identifier",
  73394. "overloadedDeclarations": [],
  73395. "referencedDeclaration": 7315,
  73396. "src": "46068:15:50",
  73397. "typeDescriptions": {
  73398. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  73399. "typeString": "function (bytes memory) pure"
  73400. }
  73401. },
  73402. "id": 12591,
  73403. "isConstant": false,
  73404. "isLValue": false,
  73405. "isPure": false,
  73406. "kind": "functionCall",
  73407. "lValueRequested": false,
  73408. "nameLocations": [],
  73409. "names": [],
  73410. "nodeType": "FunctionCall",
  73411. "src": "46068:92:50",
  73412. "tryCall": false,
  73413. "typeDescriptions": {
  73414. "typeIdentifier": "t_tuple$__$",
  73415. "typeString": "tuple()"
  73416. }
  73417. },
  73418. "id": 12592,
  73419. "nodeType": "ExpressionStatement",
  73420. "src": "46068:92:50"
  73421. }
  73422. ]
  73423. },
  73424. "implemented": true,
  73425. "kind": "function",
  73426. "modifiers": [],
  73427. "name": "log",
  73428. "nameLocation": "45989:3:50",
  73429. "parameters": {
  73430. "id": 12580,
  73431. "nodeType": "ParameterList",
  73432. "parameters": [
  73433. {
  73434. "constant": false,
  73435. "id": 12573,
  73436. "mutability": "mutable",
  73437. "name": "p0",
  73438. "nameLocation": "45998:2:50",
  73439. "nodeType": "VariableDeclaration",
  73440. "scope": 12594,
  73441. "src": "45993:7:50",
  73442. "stateVariable": false,
  73443. "storageLocation": "default",
  73444. "typeDescriptions": {
  73445. "typeIdentifier": "t_bool",
  73446. "typeString": "bool"
  73447. },
  73448. "typeName": {
  73449. "id": 12572,
  73450. "name": "bool",
  73451. "nodeType": "ElementaryTypeName",
  73452. "src": "45993:4:50",
  73453. "typeDescriptions": {
  73454. "typeIdentifier": "t_bool",
  73455. "typeString": "bool"
  73456. }
  73457. },
  73458. "visibility": "internal"
  73459. },
  73460. {
  73461. "constant": false,
  73462. "id": 12575,
  73463. "mutability": "mutable",
  73464. "name": "p1",
  73465. "nameLocation": "46010:2:50",
  73466. "nodeType": "VariableDeclaration",
  73467. "scope": 12594,
  73468. "src": "46002:10:50",
  73469. "stateVariable": false,
  73470. "storageLocation": "default",
  73471. "typeDescriptions": {
  73472. "typeIdentifier": "t_uint256",
  73473. "typeString": "uint256"
  73474. },
  73475. "typeName": {
  73476. "id": 12574,
  73477. "name": "uint256",
  73478. "nodeType": "ElementaryTypeName",
  73479. "src": "46002:7:50",
  73480. "typeDescriptions": {
  73481. "typeIdentifier": "t_uint256",
  73482. "typeString": "uint256"
  73483. }
  73484. },
  73485. "visibility": "internal"
  73486. },
  73487. {
  73488. "constant": false,
  73489. "id": 12577,
  73490. "mutability": "mutable",
  73491. "name": "p2",
  73492. "nameLocation": "46028:2:50",
  73493. "nodeType": "VariableDeclaration",
  73494. "scope": 12594,
  73495. "src": "46014:16:50",
  73496. "stateVariable": false,
  73497. "storageLocation": "memory",
  73498. "typeDescriptions": {
  73499. "typeIdentifier": "t_string_memory_ptr",
  73500. "typeString": "string"
  73501. },
  73502. "typeName": {
  73503. "id": 12576,
  73504. "name": "string",
  73505. "nodeType": "ElementaryTypeName",
  73506. "src": "46014:6:50",
  73507. "typeDescriptions": {
  73508. "typeIdentifier": "t_string_storage_ptr",
  73509. "typeString": "string"
  73510. }
  73511. },
  73512. "visibility": "internal"
  73513. },
  73514. {
  73515. "constant": false,
  73516. "id": 12579,
  73517. "mutability": "mutable",
  73518. "name": "p3",
  73519. "nameLocation": "46040:2:50",
  73520. "nodeType": "VariableDeclaration",
  73521. "scope": 12594,
  73522. "src": "46032:10:50",
  73523. "stateVariable": false,
  73524. "storageLocation": "default",
  73525. "typeDescriptions": {
  73526. "typeIdentifier": "t_address",
  73527. "typeString": "address"
  73528. },
  73529. "typeName": {
  73530. "id": 12578,
  73531. "name": "address",
  73532. "nodeType": "ElementaryTypeName",
  73533. "src": "46032:7:50",
  73534. "stateMutability": "nonpayable",
  73535. "typeDescriptions": {
  73536. "typeIdentifier": "t_address",
  73537. "typeString": "address"
  73538. }
  73539. },
  73540. "visibility": "internal"
  73541. }
  73542. ],
  73543. "src": "45992:51:50"
  73544. },
  73545. "returnParameters": {
  73546. "id": 12581,
  73547. "nodeType": "ParameterList",
  73548. "parameters": [],
  73549. "src": "46058:0:50"
  73550. },
  73551. "scope": 15355,
  73552. "stateMutability": "pure",
  73553. "virtual": false,
  73554. "visibility": "internal"
  73555. },
  73556. {
  73557. "id": 12617,
  73558. "nodeType": "FunctionDefinition",
  73559. "src": "46173:176:50",
  73560. "nodes": [],
  73561. "body": {
  73562. "id": 12616,
  73563. "nodeType": "Block",
  73564. "src": "46242:107:50",
  73565. "nodes": [],
  73566. "statements": [
  73567. {
  73568. "expression": {
  73569. "arguments": [
  73570. {
  73571. "arguments": [
  73572. {
  73573. "hexValue": "6c6f6728626f6f6c2c75696e743235362c626f6f6c2c75696e7432353629",
  73574. "id": 12608,
  73575. "isConstant": false,
  73576. "isLValue": false,
  73577. "isPure": true,
  73578. "kind": "string",
  73579. "lValueRequested": false,
  73580. "nodeType": "Literal",
  73581. "src": "46292:32:50",
  73582. "typeDescriptions": {
  73583. "typeIdentifier": "t_stringliteral_7f9bbca288abffbb423da5759392c2bb0e6c7c60dc55ee1c76da7b38adac1443",
  73584. "typeString": "literal_string \"log(bool,uint256,bool,uint256)\""
  73585. },
  73586. "value": "log(bool,uint256,bool,uint256)"
  73587. },
  73588. {
  73589. "id": 12609,
  73590. "name": "p0",
  73591. "nodeType": "Identifier",
  73592. "overloadedDeclarations": [],
  73593. "referencedDeclaration": 12596,
  73594. "src": "46326:2:50",
  73595. "typeDescriptions": {
  73596. "typeIdentifier": "t_bool",
  73597. "typeString": "bool"
  73598. }
  73599. },
  73600. {
  73601. "id": 12610,
  73602. "name": "p1",
  73603. "nodeType": "Identifier",
  73604. "overloadedDeclarations": [],
  73605. "referencedDeclaration": 12598,
  73606. "src": "46330:2:50",
  73607. "typeDescriptions": {
  73608. "typeIdentifier": "t_uint256",
  73609. "typeString": "uint256"
  73610. }
  73611. },
  73612. {
  73613. "id": 12611,
  73614. "name": "p2",
  73615. "nodeType": "Identifier",
  73616. "overloadedDeclarations": [],
  73617. "referencedDeclaration": 12600,
  73618. "src": "46334:2:50",
  73619. "typeDescriptions": {
  73620. "typeIdentifier": "t_bool",
  73621. "typeString": "bool"
  73622. }
  73623. },
  73624. {
  73625. "id": 12612,
  73626. "name": "p3",
  73627. "nodeType": "Identifier",
  73628. "overloadedDeclarations": [],
  73629. "referencedDeclaration": 12602,
  73630. "src": "46338:2:50",
  73631. "typeDescriptions": {
  73632. "typeIdentifier": "t_uint256",
  73633. "typeString": "uint256"
  73634. }
  73635. }
  73636. ],
  73637. "expression": {
  73638. "argumentTypes": [
  73639. {
  73640. "typeIdentifier": "t_stringliteral_7f9bbca288abffbb423da5759392c2bb0e6c7c60dc55ee1c76da7b38adac1443",
  73641. "typeString": "literal_string \"log(bool,uint256,bool,uint256)\""
  73642. },
  73643. {
  73644. "typeIdentifier": "t_bool",
  73645. "typeString": "bool"
  73646. },
  73647. {
  73648. "typeIdentifier": "t_uint256",
  73649. "typeString": "uint256"
  73650. },
  73651. {
  73652. "typeIdentifier": "t_bool",
  73653. "typeString": "bool"
  73654. },
  73655. {
  73656. "typeIdentifier": "t_uint256",
  73657. "typeString": "uint256"
  73658. }
  73659. ],
  73660. "expression": {
  73661. "id": 12606,
  73662. "name": "abi",
  73663. "nodeType": "Identifier",
  73664. "overloadedDeclarations": [],
  73665. "referencedDeclaration": -1,
  73666. "src": "46268:3:50",
  73667. "typeDescriptions": {
  73668. "typeIdentifier": "t_magic_abi",
  73669. "typeString": "abi"
  73670. }
  73671. },
  73672. "id": 12607,
  73673. "isConstant": false,
  73674. "isLValue": false,
  73675. "isPure": true,
  73676. "lValueRequested": false,
  73677. "memberLocation": "46272:19:50",
  73678. "memberName": "encodeWithSignature",
  73679. "nodeType": "MemberAccess",
  73680. "src": "46268:23:50",
  73681. "typeDescriptions": {
  73682. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  73683. "typeString": "function (string memory) pure returns (bytes memory)"
  73684. }
  73685. },
  73686. "id": 12613,
  73687. "isConstant": false,
  73688. "isLValue": false,
  73689. "isPure": false,
  73690. "kind": "functionCall",
  73691. "lValueRequested": false,
  73692. "nameLocations": [],
  73693. "names": [],
  73694. "nodeType": "FunctionCall",
  73695. "src": "46268:73:50",
  73696. "tryCall": false,
  73697. "typeDescriptions": {
  73698. "typeIdentifier": "t_bytes_memory_ptr",
  73699. "typeString": "bytes memory"
  73700. }
  73701. }
  73702. ],
  73703. "expression": {
  73704. "argumentTypes": [
  73705. {
  73706. "typeIdentifier": "t_bytes_memory_ptr",
  73707. "typeString": "bytes memory"
  73708. }
  73709. ],
  73710. "id": 12605,
  73711. "name": "_sendLogPayload",
  73712. "nodeType": "Identifier",
  73713. "overloadedDeclarations": [],
  73714. "referencedDeclaration": 7315,
  73715. "src": "46252:15:50",
  73716. "typeDescriptions": {
  73717. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  73718. "typeString": "function (bytes memory) pure"
  73719. }
  73720. },
  73721. "id": 12614,
  73722. "isConstant": false,
  73723. "isLValue": false,
  73724. "isPure": false,
  73725. "kind": "functionCall",
  73726. "lValueRequested": false,
  73727. "nameLocations": [],
  73728. "names": [],
  73729. "nodeType": "FunctionCall",
  73730. "src": "46252:90:50",
  73731. "tryCall": false,
  73732. "typeDescriptions": {
  73733. "typeIdentifier": "t_tuple$__$",
  73734. "typeString": "tuple()"
  73735. }
  73736. },
  73737. "id": 12615,
  73738. "nodeType": "ExpressionStatement",
  73739. "src": "46252:90:50"
  73740. }
  73741. ]
  73742. },
  73743. "implemented": true,
  73744. "kind": "function",
  73745. "modifiers": [],
  73746. "name": "log",
  73747. "nameLocation": "46182:3:50",
  73748. "parameters": {
  73749. "id": 12603,
  73750. "nodeType": "ParameterList",
  73751. "parameters": [
  73752. {
  73753. "constant": false,
  73754. "id": 12596,
  73755. "mutability": "mutable",
  73756. "name": "p0",
  73757. "nameLocation": "46191:2:50",
  73758. "nodeType": "VariableDeclaration",
  73759. "scope": 12617,
  73760. "src": "46186:7:50",
  73761. "stateVariable": false,
  73762. "storageLocation": "default",
  73763. "typeDescriptions": {
  73764. "typeIdentifier": "t_bool",
  73765. "typeString": "bool"
  73766. },
  73767. "typeName": {
  73768. "id": 12595,
  73769. "name": "bool",
  73770. "nodeType": "ElementaryTypeName",
  73771. "src": "46186:4:50",
  73772. "typeDescriptions": {
  73773. "typeIdentifier": "t_bool",
  73774. "typeString": "bool"
  73775. }
  73776. },
  73777. "visibility": "internal"
  73778. },
  73779. {
  73780. "constant": false,
  73781. "id": 12598,
  73782. "mutability": "mutable",
  73783. "name": "p1",
  73784. "nameLocation": "46203:2:50",
  73785. "nodeType": "VariableDeclaration",
  73786. "scope": 12617,
  73787. "src": "46195:10:50",
  73788. "stateVariable": false,
  73789. "storageLocation": "default",
  73790. "typeDescriptions": {
  73791. "typeIdentifier": "t_uint256",
  73792. "typeString": "uint256"
  73793. },
  73794. "typeName": {
  73795. "id": 12597,
  73796. "name": "uint256",
  73797. "nodeType": "ElementaryTypeName",
  73798. "src": "46195:7:50",
  73799. "typeDescriptions": {
  73800. "typeIdentifier": "t_uint256",
  73801. "typeString": "uint256"
  73802. }
  73803. },
  73804. "visibility": "internal"
  73805. },
  73806. {
  73807. "constant": false,
  73808. "id": 12600,
  73809. "mutability": "mutable",
  73810. "name": "p2",
  73811. "nameLocation": "46212:2:50",
  73812. "nodeType": "VariableDeclaration",
  73813. "scope": 12617,
  73814. "src": "46207:7:50",
  73815. "stateVariable": false,
  73816. "storageLocation": "default",
  73817. "typeDescriptions": {
  73818. "typeIdentifier": "t_bool",
  73819. "typeString": "bool"
  73820. },
  73821. "typeName": {
  73822. "id": 12599,
  73823. "name": "bool",
  73824. "nodeType": "ElementaryTypeName",
  73825. "src": "46207:4:50",
  73826. "typeDescriptions": {
  73827. "typeIdentifier": "t_bool",
  73828. "typeString": "bool"
  73829. }
  73830. },
  73831. "visibility": "internal"
  73832. },
  73833. {
  73834. "constant": false,
  73835. "id": 12602,
  73836. "mutability": "mutable",
  73837. "name": "p3",
  73838. "nameLocation": "46224:2:50",
  73839. "nodeType": "VariableDeclaration",
  73840. "scope": 12617,
  73841. "src": "46216:10:50",
  73842. "stateVariable": false,
  73843. "storageLocation": "default",
  73844. "typeDescriptions": {
  73845. "typeIdentifier": "t_uint256",
  73846. "typeString": "uint256"
  73847. },
  73848. "typeName": {
  73849. "id": 12601,
  73850. "name": "uint256",
  73851. "nodeType": "ElementaryTypeName",
  73852. "src": "46216:7:50",
  73853. "typeDescriptions": {
  73854. "typeIdentifier": "t_uint256",
  73855. "typeString": "uint256"
  73856. }
  73857. },
  73858. "visibility": "internal"
  73859. }
  73860. ],
  73861. "src": "46185:42:50"
  73862. },
  73863. "returnParameters": {
  73864. "id": 12604,
  73865. "nodeType": "ParameterList",
  73866. "parameters": [],
  73867. "src": "46242:0:50"
  73868. },
  73869. "scope": 15355,
  73870. "stateMutability": "pure",
  73871. "virtual": false,
  73872. "visibility": "internal"
  73873. },
  73874. {
  73875. "id": 12640,
  73876. "nodeType": "FunctionDefinition",
  73877. "src": "46355:181:50",
  73878. "nodes": [],
  73879. "body": {
  73880. "id": 12639,
  73881. "nodeType": "Block",
  73882. "src": "46430:106:50",
  73883. "nodes": [],
  73884. "statements": [
  73885. {
  73886. "expression": {
  73887. "arguments": [
  73888. {
  73889. "arguments": [
  73890. {
  73891. "hexValue": "6c6f6728626f6f6c2c75696e743235362c626f6f6c2c737472696e6729",
  73892. "id": 12631,
  73893. "isConstant": false,
  73894. "isLValue": false,
  73895. "isPure": true,
  73896. "kind": "string",
  73897. "lValueRequested": false,
  73898. "nodeType": "Literal",
  73899. "src": "46480:31:50",
  73900. "typeDescriptions": {
  73901. "typeIdentifier": "t_stringliteral_9143dbb14a0962a6e3d7ec52e236cb9bf165b86383a96499ea4cf52b827d7ce0",
  73902. "typeString": "literal_string \"log(bool,uint256,bool,string)\""
  73903. },
  73904. "value": "log(bool,uint256,bool,string)"
  73905. },
  73906. {
  73907. "id": 12632,
  73908. "name": "p0",
  73909. "nodeType": "Identifier",
  73910. "overloadedDeclarations": [],
  73911. "referencedDeclaration": 12619,
  73912. "src": "46513:2:50",
  73913. "typeDescriptions": {
  73914. "typeIdentifier": "t_bool",
  73915. "typeString": "bool"
  73916. }
  73917. },
  73918. {
  73919. "id": 12633,
  73920. "name": "p1",
  73921. "nodeType": "Identifier",
  73922. "overloadedDeclarations": [],
  73923. "referencedDeclaration": 12621,
  73924. "src": "46517:2:50",
  73925. "typeDescriptions": {
  73926. "typeIdentifier": "t_uint256",
  73927. "typeString": "uint256"
  73928. }
  73929. },
  73930. {
  73931. "id": 12634,
  73932. "name": "p2",
  73933. "nodeType": "Identifier",
  73934. "overloadedDeclarations": [],
  73935. "referencedDeclaration": 12623,
  73936. "src": "46521:2:50",
  73937. "typeDescriptions": {
  73938. "typeIdentifier": "t_bool",
  73939. "typeString": "bool"
  73940. }
  73941. },
  73942. {
  73943. "id": 12635,
  73944. "name": "p3",
  73945. "nodeType": "Identifier",
  73946. "overloadedDeclarations": [],
  73947. "referencedDeclaration": 12625,
  73948. "src": "46525:2:50",
  73949. "typeDescriptions": {
  73950. "typeIdentifier": "t_string_memory_ptr",
  73951. "typeString": "string memory"
  73952. }
  73953. }
  73954. ],
  73955. "expression": {
  73956. "argumentTypes": [
  73957. {
  73958. "typeIdentifier": "t_stringliteral_9143dbb14a0962a6e3d7ec52e236cb9bf165b86383a96499ea4cf52b827d7ce0",
  73959. "typeString": "literal_string \"log(bool,uint256,bool,string)\""
  73960. },
  73961. {
  73962. "typeIdentifier": "t_bool",
  73963. "typeString": "bool"
  73964. },
  73965. {
  73966. "typeIdentifier": "t_uint256",
  73967. "typeString": "uint256"
  73968. },
  73969. {
  73970. "typeIdentifier": "t_bool",
  73971. "typeString": "bool"
  73972. },
  73973. {
  73974. "typeIdentifier": "t_string_memory_ptr",
  73975. "typeString": "string memory"
  73976. }
  73977. ],
  73978. "expression": {
  73979. "id": 12629,
  73980. "name": "abi",
  73981. "nodeType": "Identifier",
  73982. "overloadedDeclarations": [],
  73983. "referencedDeclaration": -1,
  73984. "src": "46456:3:50",
  73985. "typeDescriptions": {
  73986. "typeIdentifier": "t_magic_abi",
  73987. "typeString": "abi"
  73988. }
  73989. },
  73990. "id": 12630,
  73991. "isConstant": false,
  73992. "isLValue": false,
  73993. "isPure": true,
  73994. "lValueRequested": false,
  73995. "memberLocation": "46460:19:50",
  73996. "memberName": "encodeWithSignature",
  73997. "nodeType": "MemberAccess",
  73998. "src": "46456:23:50",
  73999. "typeDescriptions": {
  74000. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  74001. "typeString": "function (string memory) pure returns (bytes memory)"
  74002. }
  74003. },
  74004. "id": 12636,
  74005. "isConstant": false,
  74006. "isLValue": false,
  74007. "isPure": false,
  74008. "kind": "functionCall",
  74009. "lValueRequested": false,
  74010. "nameLocations": [],
  74011. "names": [],
  74012. "nodeType": "FunctionCall",
  74013. "src": "46456:72:50",
  74014. "tryCall": false,
  74015. "typeDescriptions": {
  74016. "typeIdentifier": "t_bytes_memory_ptr",
  74017. "typeString": "bytes memory"
  74018. }
  74019. }
  74020. ],
  74021. "expression": {
  74022. "argumentTypes": [
  74023. {
  74024. "typeIdentifier": "t_bytes_memory_ptr",
  74025. "typeString": "bytes memory"
  74026. }
  74027. ],
  74028. "id": 12628,
  74029. "name": "_sendLogPayload",
  74030. "nodeType": "Identifier",
  74031. "overloadedDeclarations": [],
  74032. "referencedDeclaration": 7315,
  74033. "src": "46440:15:50",
  74034. "typeDescriptions": {
  74035. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  74036. "typeString": "function (bytes memory) pure"
  74037. }
  74038. },
  74039. "id": 12637,
  74040. "isConstant": false,
  74041. "isLValue": false,
  74042. "isPure": false,
  74043. "kind": "functionCall",
  74044. "lValueRequested": false,
  74045. "nameLocations": [],
  74046. "names": [],
  74047. "nodeType": "FunctionCall",
  74048. "src": "46440:89:50",
  74049. "tryCall": false,
  74050. "typeDescriptions": {
  74051. "typeIdentifier": "t_tuple$__$",
  74052. "typeString": "tuple()"
  74053. }
  74054. },
  74055. "id": 12638,
  74056. "nodeType": "ExpressionStatement",
  74057. "src": "46440:89:50"
  74058. }
  74059. ]
  74060. },
  74061. "implemented": true,
  74062. "kind": "function",
  74063. "modifiers": [],
  74064. "name": "log",
  74065. "nameLocation": "46364:3:50",
  74066. "parameters": {
  74067. "id": 12626,
  74068. "nodeType": "ParameterList",
  74069. "parameters": [
  74070. {
  74071. "constant": false,
  74072. "id": 12619,
  74073. "mutability": "mutable",
  74074. "name": "p0",
  74075. "nameLocation": "46373:2:50",
  74076. "nodeType": "VariableDeclaration",
  74077. "scope": 12640,
  74078. "src": "46368:7:50",
  74079. "stateVariable": false,
  74080. "storageLocation": "default",
  74081. "typeDescriptions": {
  74082. "typeIdentifier": "t_bool",
  74083. "typeString": "bool"
  74084. },
  74085. "typeName": {
  74086. "id": 12618,
  74087. "name": "bool",
  74088. "nodeType": "ElementaryTypeName",
  74089. "src": "46368:4:50",
  74090. "typeDescriptions": {
  74091. "typeIdentifier": "t_bool",
  74092. "typeString": "bool"
  74093. }
  74094. },
  74095. "visibility": "internal"
  74096. },
  74097. {
  74098. "constant": false,
  74099. "id": 12621,
  74100. "mutability": "mutable",
  74101. "name": "p1",
  74102. "nameLocation": "46385:2:50",
  74103. "nodeType": "VariableDeclaration",
  74104. "scope": 12640,
  74105. "src": "46377:10:50",
  74106. "stateVariable": false,
  74107. "storageLocation": "default",
  74108. "typeDescriptions": {
  74109. "typeIdentifier": "t_uint256",
  74110. "typeString": "uint256"
  74111. },
  74112. "typeName": {
  74113. "id": 12620,
  74114. "name": "uint256",
  74115. "nodeType": "ElementaryTypeName",
  74116. "src": "46377:7:50",
  74117. "typeDescriptions": {
  74118. "typeIdentifier": "t_uint256",
  74119. "typeString": "uint256"
  74120. }
  74121. },
  74122. "visibility": "internal"
  74123. },
  74124. {
  74125. "constant": false,
  74126. "id": 12623,
  74127. "mutability": "mutable",
  74128. "name": "p2",
  74129. "nameLocation": "46394:2:50",
  74130. "nodeType": "VariableDeclaration",
  74131. "scope": 12640,
  74132. "src": "46389:7:50",
  74133. "stateVariable": false,
  74134. "storageLocation": "default",
  74135. "typeDescriptions": {
  74136. "typeIdentifier": "t_bool",
  74137. "typeString": "bool"
  74138. },
  74139. "typeName": {
  74140. "id": 12622,
  74141. "name": "bool",
  74142. "nodeType": "ElementaryTypeName",
  74143. "src": "46389:4:50",
  74144. "typeDescriptions": {
  74145. "typeIdentifier": "t_bool",
  74146. "typeString": "bool"
  74147. }
  74148. },
  74149. "visibility": "internal"
  74150. },
  74151. {
  74152. "constant": false,
  74153. "id": 12625,
  74154. "mutability": "mutable",
  74155. "name": "p3",
  74156. "nameLocation": "46412:2:50",
  74157. "nodeType": "VariableDeclaration",
  74158. "scope": 12640,
  74159. "src": "46398:16:50",
  74160. "stateVariable": false,
  74161. "storageLocation": "memory",
  74162. "typeDescriptions": {
  74163. "typeIdentifier": "t_string_memory_ptr",
  74164. "typeString": "string"
  74165. },
  74166. "typeName": {
  74167. "id": 12624,
  74168. "name": "string",
  74169. "nodeType": "ElementaryTypeName",
  74170. "src": "46398:6:50",
  74171. "typeDescriptions": {
  74172. "typeIdentifier": "t_string_storage_ptr",
  74173. "typeString": "string"
  74174. }
  74175. },
  74176. "visibility": "internal"
  74177. }
  74178. ],
  74179. "src": "46367:48:50"
  74180. },
  74181. "returnParameters": {
  74182. "id": 12627,
  74183. "nodeType": "ParameterList",
  74184. "parameters": [],
  74185. "src": "46430:0:50"
  74186. },
  74187. "scope": 15355,
  74188. "stateMutability": "pure",
  74189. "virtual": false,
  74190. "visibility": "internal"
  74191. },
  74192. {
  74193. "id": 12663,
  74194. "nodeType": "FunctionDefinition",
  74195. "src": "46542:170:50",
  74196. "nodes": [],
  74197. "body": {
  74198. "id": 12662,
  74199. "nodeType": "Block",
  74200. "src": "46608:104:50",
  74201. "nodes": [],
  74202. "statements": [
  74203. {
  74204. "expression": {
  74205. "arguments": [
  74206. {
  74207. "arguments": [
  74208. {
  74209. "hexValue": "6c6f6728626f6f6c2c75696e743235362c626f6f6c2c626f6f6c29",
  74210. "id": 12654,
  74211. "isConstant": false,
  74212. "isLValue": false,
  74213. "isPure": true,
  74214. "kind": "string",
  74215. "lValueRequested": false,
  74216. "nodeType": "Literal",
  74217. "src": "46658:29:50",
  74218. "typeDescriptions": {
  74219. "typeIdentifier": "t_stringliteral_ceb5f4d77121f3d3cfafeaa403e6fff70e4470d0bfb40c1d850f89e3d65029f2",
  74220. "typeString": "literal_string \"log(bool,uint256,bool,bool)\""
  74221. },
  74222. "value": "log(bool,uint256,bool,bool)"
  74223. },
  74224. {
  74225. "id": 12655,
  74226. "name": "p0",
  74227. "nodeType": "Identifier",
  74228. "overloadedDeclarations": [],
  74229. "referencedDeclaration": 12642,
  74230. "src": "46689:2:50",
  74231. "typeDescriptions": {
  74232. "typeIdentifier": "t_bool",
  74233. "typeString": "bool"
  74234. }
  74235. },
  74236. {
  74237. "id": 12656,
  74238. "name": "p1",
  74239. "nodeType": "Identifier",
  74240. "overloadedDeclarations": [],
  74241. "referencedDeclaration": 12644,
  74242. "src": "46693:2:50",
  74243. "typeDescriptions": {
  74244. "typeIdentifier": "t_uint256",
  74245. "typeString": "uint256"
  74246. }
  74247. },
  74248. {
  74249. "id": 12657,
  74250. "name": "p2",
  74251. "nodeType": "Identifier",
  74252. "overloadedDeclarations": [],
  74253. "referencedDeclaration": 12646,
  74254. "src": "46697:2:50",
  74255. "typeDescriptions": {
  74256. "typeIdentifier": "t_bool",
  74257. "typeString": "bool"
  74258. }
  74259. },
  74260. {
  74261. "id": 12658,
  74262. "name": "p3",
  74263. "nodeType": "Identifier",
  74264. "overloadedDeclarations": [],
  74265. "referencedDeclaration": 12648,
  74266. "src": "46701:2:50",
  74267. "typeDescriptions": {
  74268. "typeIdentifier": "t_bool",
  74269. "typeString": "bool"
  74270. }
  74271. }
  74272. ],
  74273. "expression": {
  74274. "argumentTypes": [
  74275. {
  74276. "typeIdentifier": "t_stringliteral_ceb5f4d77121f3d3cfafeaa403e6fff70e4470d0bfb40c1d850f89e3d65029f2",
  74277. "typeString": "literal_string \"log(bool,uint256,bool,bool)\""
  74278. },
  74279. {
  74280. "typeIdentifier": "t_bool",
  74281. "typeString": "bool"
  74282. },
  74283. {
  74284. "typeIdentifier": "t_uint256",
  74285. "typeString": "uint256"
  74286. },
  74287. {
  74288. "typeIdentifier": "t_bool",
  74289. "typeString": "bool"
  74290. },
  74291. {
  74292. "typeIdentifier": "t_bool",
  74293. "typeString": "bool"
  74294. }
  74295. ],
  74296. "expression": {
  74297. "id": 12652,
  74298. "name": "abi",
  74299. "nodeType": "Identifier",
  74300. "overloadedDeclarations": [],
  74301. "referencedDeclaration": -1,
  74302. "src": "46634:3:50",
  74303. "typeDescriptions": {
  74304. "typeIdentifier": "t_magic_abi",
  74305. "typeString": "abi"
  74306. }
  74307. },
  74308. "id": 12653,
  74309. "isConstant": false,
  74310. "isLValue": false,
  74311. "isPure": true,
  74312. "lValueRequested": false,
  74313. "memberLocation": "46638:19:50",
  74314. "memberName": "encodeWithSignature",
  74315. "nodeType": "MemberAccess",
  74316. "src": "46634:23:50",
  74317. "typeDescriptions": {
  74318. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  74319. "typeString": "function (string memory) pure returns (bytes memory)"
  74320. }
  74321. },
  74322. "id": 12659,
  74323. "isConstant": false,
  74324. "isLValue": false,
  74325. "isPure": false,
  74326. "kind": "functionCall",
  74327. "lValueRequested": false,
  74328. "nameLocations": [],
  74329. "names": [],
  74330. "nodeType": "FunctionCall",
  74331. "src": "46634:70:50",
  74332. "tryCall": false,
  74333. "typeDescriptions": {
  74334. "typeIdentifier": "t_bytes_memory_ptr",
  74335. "typeString": "bytes memory"
  74336. }
  74337. }
  74338. ],
  74339. "expression": {
  74340. "argumentTypes": [
  74341. {
  74342. "typeIdentifier": "t_bytes_memory_ptr",
  74343. "typeString": "bytes memory"
  74344. }
  74345. ],
  74346. "id": 12651,
  74347. "name": "_sendLogPayload",
  74348. "nodeType": "Identifier",
  74349. "overloadedDeclarations": [],
  74350. "referencedDeclaration": 7315,
  74351. "src": "46618:15:50",
  74352. "typeDescriptions": {
  74353. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  74354. "typeString": "function (bytes memory) pure"
  74355. }
  74356. },
  74357. "id": 12660,
  74358. "isConstant": false,
  74359. "isLValue": false,
  74360. "isPure": false,
  74361. "kind": "functionCall",
  74362. "lValueRequested": false,
  74363. "nameLocations": [],
  74364. "names": [],
  74365. "nodeType": "FunctionCall",
  74366. "src": "46618:87:50",
  74367. "tryCall": false,
  74368. "typeDescriptions": {
  74369. "typeIdentifier": "t_tuple$__$",
  74370. "typeString": "tuple()"
  74371. }
  74372. },
  74373. "id": 12661,
  74374. "nodeType": "ExpressionStatement",
  74375. "src": "46618:87:50"
  74376. }
  74377. ]
  74378. },
  74379. "implemented": true,
  74380. "kind": "function",
  74381. "modifiers": [],
  74382. "name": "log",
  74383. "nameLocation": "46551:3:50",
  74384. "parameters": {
  74385. "id": 12649,
  74386. "nodeType": "ParameterList",
  74387. "parameters": [
  74388. {
  74389. "constant": false,
  74390. "id": 12642,
  74391. "mutability": "mutable",
  74392. "name": "p0",
  74393. "nameLocation": "46560:2:50",
  74394. "nodeType": "VariableDeclaration",
  74395. "scope": 12663,
  74396. "src": "46555:7:50",
  74397. "stateVariable": false,
  74398. "storageLocation": "default",
  74399. "typeDescriptions": {
  74400. "typeIdentifier": "t_bool",
  74401. "typeString": "bool"
  74402. },
  74403. "typeName": {
  74404. "id": 12641,
  74405. "name": "bool",
  74406. "nodeType": "ElementaryTypeName",
  74407. "src": "46555:4:50",
  74408. "typeDescriptions": {
  74409. "typeIdentifier": "t_bool",
  74410. "typeString": "bool"
  74411. }
  74412. },
  74413. "visibility": "internal"
  74414. },
  74415. {
  74416. "constant": false,
  74417. "id": 12644,
  74418. "mutability": "mutable",
  74419. "name": "p1",
  74420. "nameLocation": "46572:2:50",
  74421. "nodeType": "VariableDeclaration",
  74422. "scope": 12663,
  74423. "src": "46564:10:50",
  74424. "stateVariable": false,
  74425. "storageLocation": "default",
  74426. "typeDescriptions": {
  74427. "typeIdentifier": "t_uint256",
  74428. "typeString": "uint256"
  74429. },
  74430. "typeName": {
  74431. "id": 12643,
  74432. "name": "uint256",
  74433. "nodeType": "ElementaryTypeName",
  74434. "src": "46564:7:50",
  74435. "typeDescriptions": {
  74436. "typeIdentifier": "t_uint256",
  74437. "typeString": "uint256"
  74438. }
  74439. },
  74440. "visibility": "internal"
  74441. },
  74442. {
  74443. "constant": false,
  74444. "id": 12646,
  74445. "mutability": "mutable",
  74446. "name": "p2",
  74447. "nameLocation": "46581:2:50",
  74448. "nodeType": "VariableDeclaration",
  74449. "scope": 12663,
  74450. "src": "46576:7:50",
  74451. "stateVariable": false,
  74452. "storageLocation": "default",
  74453. "typeDescriptions": {
  74454. "typeIdentifier": "t_bool",
  74455. "typeString": "bool"
  74456. },
  74457. "typeName": {
  74458. "id": 12645,
  74459. "name": "bool",
  74460. "nodeType": "ElementaryTypeName",
  74461. "src": "46576:4:50",
  74462. "typeDescriptions": {
  74463. "typeIdentifier": "t_bool",
  74464. "typeString": "bool"
  74465. }
  74466. },
  74467. "visibility": "internal"
  74468. },
  74469. {
  74470. "constant": false,
  74471. "id": 12648,
  74472. "mutability": "mutable",
  74473. "name": "p3",
  74474. "nameLocation": "46590:2:50",
  74475. "nodeType": "VariableDeclaration",
  74476. "scope": 12663,
  74477. "src": "46585:7:50",
  74478. "stateVariable": false,
  74479. "storageLocation": "default",
  74480. "typeDescriptions": {
  74481. "typeIdentifier": "t_bool",
  74482. "typeString": "bool"
  74483. },
  74484. "typeName": {
  74485. "id": 12647,
  74486. "name": "bool",
  74487. "nodeType": "ElementaryTypeName",
  74488. "src": "46585:4:50",
  74489. "typeDescriptions": {
  74490. "typeIdentifier": "t_bool",
  74491. "typeString": "bool"
  74492. }
  74493. },
  74494. "visibility": "internal"
  74495. }
  74496. ],
  74497. "src": "46554:39:50"
  74498. },
  74499. "returnParameters": {
  74500. "id": 12650,
  74501. "nodeType": "ParameterList",
  74502. "parameters": [],
  74503. "src": "46608:0:50"
  74504. },
  74505. "scope": 15355,
  74506. "stateMutability": "pure",
  74507. "virtual": false,
  74508. "visibility": "internal"
  74509. },
  74510. {
  74511. "id": 12686,
  74512. "nodeType": "FunctionDefinition",
  74513. "src": "46718:176:50",
  74514. "nodes": [],
  74515. "body": {
  74516. "id": 12685,
  74517. "nodeType": "Block",
  74518. "src": "46787:107:50",
  74519. "nodes": [],
  74520. "statements": [
  74521. {
  74522. "expression": {
  74523. "arguments": [
  74524. {
  74525. "arguments": [
  74526. {
  74527. "hexValue": "6c6f6728626f6f6c2c75696e743235362c626f6f6c2c6164647265737329",
  74528. "id": 12677,
  74529. "isConstant": false,
  74530. "isLValue": false,
  74531. "isPure": true,
  74532. "kind": "string",
  74533. "lValueRequested": false,
  74534. "nodeType": "Literal",
  74535. "src": "46837:32:50",
  74536. "typeDescriptions": {
  74537. "typeIdentifier": "t_stringliteral_9acd3616ce3d15d7b870c591206f600266707f40592e6070353f762f54c75a2e",
  74538. "typeString": "literal_string \"log(bool,uint256,bool,address)\""
  74539. },
  74540. "value": "log(bool,uint256,bool,address)"
  74541. },
  74542. {
  74543. "id": 12678,
  74544. "name": "p0",
  74545. "nodeType": "Identifier",
  74546. "overloadedDeclarations": [],
  74547. "referencedDeclaration": 12665,
  74548. "src": "46871:2:50",
  74549. "typeDescriptions": {
  74550. "typeIdentifier": "t_bool",
  74551. "typeString": "bool"
  74552. }
  74553. },
  74554. {
  74555. "id": 12679,
  74556. "name": "p1",
  74557. "nodeType": "Identifier",
  74558. "overloadedDeclarations": [],
  74559. "referencedDeclaration": 12667,
  74560. "src": "46875:2:50",
  74561. "typeDescriptions": {
  74562. "typeIdentifier": "t_uint256",
  74563. "typeString": "uint256"
  74564. }
  74565. },
  74566. {
  74567. "id": 12680,
  74568. "name": "p2",
  74569. "nodeType": "Identifier",
  74570. "overloadedDeclarations": [],
  74571. "referencedDeclaration": 12669,
  74572. "src": "46879:2:50",
  74573. "typeDescriptions": {
  74574. "typeIdentifier": "t_bool",
  74575. "typeString": "bool"
  74576. }
  74577. },
  74578. {
  74579. "id": 12681,
  74580. "name": "p3",
  74581. "nodeType": "Identifier",
  74582. "overloadedDeclarations": [],
  74583. "referencedDeclaration": 12671,
  74584. "src": "46883:2:50",
  74585. "typeDescriptions": {
  74586. "typeIdentifier": "t_address",
  74587. "typeString": "address"
  74588. }
  74589. }
  74590. ],
  74591. "expression": {
  74592. "argumentTypes": [
  74593. {
  74594. "typeIdentifier": "t_stringliteral_9acd3616ce3d15d7b870c591206f600266707f40592e6070353f762f54c75a2e",
  74595. "typeString": "literal_string \"log(bool,uint256,bool,address)\""
  74596. },
  74597. {
  74598. "typeIdentifier": "t_bool",
  74599. "typeString": "bool"
  74600. },
  74601. {
  74602. "typeIdentifier": "t_uint256",
  74603. "typeString": "uint256"
  74604. },
  74605. {
  74606. "typeIdentifier": "t_bool",
  74607. "typeString": "bool"
  74608. },
  74609. {
  74610. "typeIdentifier": "t_address",
  74611. "typeString": "address"
  74612. }
  74613. ],
  74614. "expression": {
  74615. "id": 12675,
  74616. "name": "abi",
  74617. "nodeType": "Identifier",
  74618. "overloadedDeclarations": [],
  74619. "referencedDeclaration": -1,
  74620. "src": "46813:3:50",
  74621. "typeDescriptions": {
  74622. "typeIdentifier": "t_magic_abi",
  74623. "typeString": "abi"
  74624. }
  74625. },
  74626. "id": 12676,
  74627. "isConstant": false,
  74628. "isLValue": false,
  74629. "isPure": true,
  74630. "lValueRequested": false,
  74631. "memberLocation": "46817:19:50",
  74632. "memberName": "encodeWithSignature",
  74633. "nodeType": "MemberAccess",
  74634. "src": "46813:23:50",
  74635. "typeDescriptions": {
  74636. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  74637. "typeString": "function (string memory) pure returns (bytes memory)"
  74638. }
  74639. },
  74640. "id": 12682,
  74641. "isConstant": false,
  74642. "isLValue": false,
  74643. "isPure": false,
  74644. "kind": "functionCall",
  74645. "lValueRequested": false,
  74646. "nameLocations": [],
  74647. "names": [],
  74648. "nodeType": "FunctionCall",
  74649. "src": "46813:73:50",
  74650. "tryCall": false,
  74651. "typeDescriptions": {
  74652. "typeIdentifier": "t_bytes_memory_ptr",
  74653. "typeString": "bytes memory"
  74654. }
  74655. }
  74656. ],
  74657. "expression": {
  74658. "argumentTypes": [
  74659. {
  74660. "typeIdentifier": "t_bytes_memory_ptr",
  74661. "typeString": "bytes memory"
  74662. }
  74663. ],
  74664. "id": 12674,
  74665. "name": "_sendLogPayload",
  74666. "nodeType": "Identifier",
  74667. "overloadedDeclarations": [],
  74668. "referencedDeclaration": 7315,
  74669. "src": "46797:15:50",
  74670. "typeDescriptions": {
  74671. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  74672. "typeString": "function (bytes memory) pure"
  74673. }
  74674. },
  74675. "id": 12683,
  74676. "isConstant": false,
  74677. "isLValue": false,
  74678. "isPure": false,
  74679. "kind": "functionCall",
  74680. "lValueRequested": false,
  74681. "nameLocations": [],
  74682. "names": [],
  74683. "nodeType": "FunctionCall",
  74684. "src": "46797:90:50",
  74685. "tryCall": false,
  74686. "typeDescriptions": {
  74687. "typeIdentifier": "t_tuple$__$",
  74688. "typeString": "tuple()"
  74689. }
  74690. },
  74691. "id": 12684,
  74692. "nodeType": "ExpressionStatement",
  74693. "src": "46797:90:50"
  74694. }
  74695. ]
  74696. },
  74697. "implemented": true,
  74698. "kind": "function",
  74699. "modifiers": [],
  74700. "name": "log",
  74701. "nameLocation": "46727:3:50",
  74702. "parameters": {
  74703. "id": 12672,
  74704. "nodeType": "ParameterList",
  74705. "parameters": [
  74706. {
  74707. "constant": false,
  74708. "id": 12665,
  74709. "mutability": "mutable",
  74710. "name": "p0",
  74711. "nameLocation": "46736:2:50",
  74712. "nodeType": "VariableDeclaration",
  74713. "scope": 12686,
  74714. "src": "46731:7:50",
  74715. "stateVariable": false,
  74716. "storageLocation": "default",
  74717. "typeDescriptions": {
  74718. "typeIdentifier": "t_bool",
  74719. "typeString": "bool"
  74720. },
  74721. "typeName": {
  74722. "id": 12664,
  74723. "name": "bool",
  74724. "nodeType": "ElementaryTypeName",
  74725. "src": "46731:4:50",
  74726. "typeDescriptions": {
  74727. "typeIdentifier": "t_bool",
  74728. "typeString": "bool"
  74729. }
  74730. },
  74731. "visibility": "internal"
  74732. },
  74733. {
  74734. "constant": false,
  74735. "id": 12667,
  74736. "mutability": "mutable",
  74737. "name": "p1",
  74738. "nameLocation": "46748:2:50",
  74739. "nodeType": "VariableDeclaration",
  74740. "scope": 12686,
  74741. "src": "46740:10:50",
  74742. "stateVariable": false,
  74743. "storageLocation": "default",
  74744. "typeDescriptions": {
  74745. "typeIdentifier": "t_uint256",
  74746. "typeString": "uint256"
  74747. },
  74748. "typeName": {
  74749. "id": 12666,
  74750. "name": "uint256",
  74751. "nodeType": "ElementaryTypeName",
  74752. "src": "46740:7:50",
  74753. "typeDescriptions": {
  74754. "typeIdentifier": "t_uint256",
  74755. "typeString": "uint256"
  74756. }
  74757. },
  74758. "visibility": "internal"
  74759. },
  74760. {
  74761. "constant": false,
  74762. "id": 12669,
  74763. "mutability": "mutable",
  74764. "name": "p2",
  74765. "nameLocation": "46757:2:50",
  74766. "nodeType": "VariableDeclaration",
  74767. "scope": 12686,
  74768. "src": "46752:7:50",
  74769. "stateVariable": false,
  74770. "storageLocation": "default",
  74771. "typeDescriptions": {
  74772. "typeIdentifier": "t_bool",
  74773. "typeString": "bool"
  74774. },
  74775. "typeName": {
  74776. "id": 12668,
  74777. "name": "bool",
  74778. "nodeType": "ElementaryTypeName",
  74779. "src": "46752:4:50",
  74780. "typeDescriptions": {
  74781. "typeIdentifier": "t_bool",
  74782. "typeString": "bool"
  74783. }
  74784. },
  74785. "visibility": "internal"
  74786. },
  74787. {
  74788. "constant": false,
  74789. "id": 12671,
  74790. "mutability": "mutable",
  74791. "name": "p3",
  74792. "nameLocation": "46769:2:50",
  74793. "nodeType": "VariableDeclaration",
  74794. "scope": 12686,
  74795. "src": "46761:10:50",
  74796. "stateVariable": false,
  74797. "storageLocation": "default",
  74798. "typeDescriptions": {
  74799. "typeIdentifier": "t_address",
  74800. "typeString": "address"
  74801. },
  74802. "typeName": {
  74803. "id": 12670,
  74804. "name": "address",
  74805. "nodeType": "ElementaryTypeName",
  74806. "src": "46761:7:50",
  74807. "stateMutability": "nonpayable",
  74808. "typeDescriptions": {
  74809. "typeIdentifier": "t_address",
  74810. "typeString": "address"
  74811. }
  74812. },
  74813. "visibility": "internal"
  74814. }
  74815. ],
  74816. "src": "46730:42:50"
  74817. },
  74818. "returnParameters": {
  74819. "id": 12673,
  74820. "nodeType": "ParameterList",
  74821. "parameters": [],
  74822. "src": "46787:0:50"
  74823. },
  74824. "scope": 15355,
  74825. "stateMutability": "pure",
  74826. "virtual": false,
  74827. "visibility": "internal"
  74828. },
  74829. {
  74830. "id": 12709,
  74831. "nodeType": "FunctionDefinition",
  74832. "src": "46900:182:50",
  74833. "nodes": [],
  74834. "body": {
  74835. "id": 12708,
  74836. "nodeType": "Block",
  74837. "src": "46972:110:50",
  74838. "nodes": [],
  74839. "statements": [
  74840. {
  74841. "expression": {
  74842. "arguments": [
  74843. {
  74844. "arguments": [
  74845. {
  74846. "hexValue": "6c6f6728626f6f6c2c75696e743235362c616464726573732c75696e7432353629",
  74847. "id": 12700,
  74848. "isConstant": false,
  74849. "isLValue": false,
  74850. "isPure": true,
  74851. "kind": "string",
  74852. "lValueRequested": false,
  74853. "nodeType": "Literal",
  74854. "src": "47022:35:50",
  74855. "typeDescriptions": {
  74856. "typeIdentifier": "t_stringliteral_1537dc87a2086882c18d77c4157142ca3b6771cb00e940824367191cd9b5e560",
  74857. "typeString": "literal_string \"log(bool,uint256,address,uint256)\""
  74858. },
  74859. "value": "log(bool,uint256,address,uint256)"
  74860. },
  74861. {
  74862. "id": 12701,
  74863. "name": "p0",
  74864. "nodeType": "Identifier",
  74865. "overloadedDeclarations": [],
  74866. "referencedDeclaration": 12688,
  74867. "src": "47059:2:50",
  74868. "typeDescriptions": {
  74869. "typeIdentifier": "t_bool",
  74870. "typeString": "bool"
  74871. }
  74872. },
  74873. {
  74874. "id": 12702,
  74875. "name": "p1",
  74876. "nodeType": "Identifier",
  74877. "overloadedDeclarations": [],
  74878. "referencedDeclaration": 12690,
  74879. "src": "47063:2:50",
  74880. "typeDescriptions": {
  74881. "typeIdentifier": "t_uint256",
  74882. "typeString": "uint256"
  74883. }
  74884. },
  74885. {
  74886. "id": 12703,
  74887. "name": "p2",
  74888. "nodeType": "Identifier",
  74889. "overloadedDeclarations": [],
  74890. "referencedDeclaration": 12692,
  74891. "src": "47067:2:50",
  74892. "typeDescriptions": {
  74893. "typeIdentifier": "t_address",
  74894. "typeString": "address"
  74895. }
  74896. },
  74897. {
  74898. "id": 12704,
  74899. "name": "p3",
  74900. "nodeType": "Identifier",
  74901. "overloadedDeclarations": [],
  74902. "referencedDeclaration": 12694,
  74903. "src": "47071:2:50",
  74904. "typeDescriptions": {
  74905. "typeIdentifier": "t_uint256",
  74906. "typeString": "uint256"
  74907. }
  74908. }
  74909. ],
  74910. "expression": {
  74911. "argumentTypes": [
  74912. {
  74913. "typeIdentifier": "t_stringliteral_1537dc87a2086882c18d77c4157142ca3b6771cb00e940824367191cd9b5e560",
  74914. "typeString": "literal_string \"log(bool,uint256,address,uint256)\""
  74915. },
  74916. {
  74917. "typeIdentifier": "t_bool",
  74918. "typeString": "bool"
  74919. },
  74920. {
  74921. "typeIdentifier": "t_uint256",
  74922. "typeString": "uint256"
  74923. },
  74924. {
  74925. "typeIdentifier": "t_address",
  74926. "typeString": "address"
  74927. },
  74928. {
  74929. "typeIdentifier": "t_uint256",
  74930. "typeString": "uint256"
  74931. }
  74932. ],
  74933. "expression": {
  74934. "id": 12698,
  74935. "name": "abi",
  74936. "nodeType": "Identifier",
  74937. "overloadedDeclarations": [],
  74938. "referencedDeclaration": -1,
  74939. "src": "46998:3:50",
  74940. "typeDescriptions": {
  74941. "typeIdentifier": "t_magic_abi",
  74942. "typeString": "abi"
  74943. }
  74944. },
  74945. "id": 12699,
  74946. "isConstant": false,
  74947. "isLValue": false,
  74948. "isPure": true,
  74949. "lValueRequested": false,
  74950. "memberLocation": "47002:19:50",
  74951. "memberName": "encodeWithSignature",
  74952. "nodeType": "MemberAccess",
  74953. "src": "46998:23:50",
  74954. "typeDescriptions": {
  74955. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  74956. "typeString": "function (string memory) pure returns (bytes memory)"
  74957. }
  74958. },
  74959. "id": 12705,
  74960. "isConstant": false,
  74961. "isLValue": false,
  74962. "isPure": false,
  74963. "kind": "functionCall",
  74964. "lValueRequested": false,
  74965. "nameLocations": [],
  74966. "names": [],
  74967. "nodeType": "FunctionCall",
  74968. "src": "46998:76:50",
  74969. "tryCall": false,
  74970. "typeDescriptions": {
  74971. "typeIdentifier": "t_bytes_memory_ptr",
  74972. "typeString": "bytes memory"
  74973. }
  74974. }
  74975. ],
  74976. "expression": {
  74977. "argumentTypes": [
  74978. {
  74979. "typeIdentifier": "t_bytes_memory_ptr",
  74980. "typeString": "bytes memory"
  74981. }
  74982. ],
  74983. "id": 12697,
  74984. "name": "_sendLogPayload",
  74985. "nodeType": "Identifier",
  74986. "overloadedDeclarations": [],
  74987. "referencedDeclaration": 7315,
  74988. "src": "46982:15:50",
  74989. "typeDescriptions": {
  74990. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  74991. "typeString": "function (bytes memory) pure"
  74992. }
  74993. },
  74994. "id": 12706,
  74995. "isConstant": false,
  74996. "isLValue": false,
  74997. "isPure": false,
  74998. "kind": "functionCall",
  74999. "lValueRequested": false,
  75000. "nameLocations": [],
  75001. "names": [],
  75002. "nodeType": "FunctionCall",
  75003. "src": "46982:93:50",
  75004. "tryCall": false,
  75005. "typeDescriptions": {
  75006. "typeIdentifier": "t_tuple$__$",
  75007. "typeString": "tuple()"
  75008. }
  75009. },
  75010. "id": 12707,
  75011. "nodeType": "ExpressionStatement",
  75012. "src": "46982:93:50"
  75013. }
  75014. ]
  75015. },
  75016. "implemented": true,
  75017. "kind": "function",
  75018. "modifiers": [],
  75019. "name": "log",
  75020. "nameLocation": "46909:3:50",
  75021. "parameters": {
  75022. "id": 12695,
  75023. "nodeType": "ParameterList",
  75024. "parameters": [
  75025. {
  75026. "constant": false,
  75027. "id": 12688,
  75028. "mutability": "mutable",
  75029. "name": "p0",
  75030. "nameLocation": "46918:2:50",
  75031. "nodeType": "VariableDeclaration",
  75032. "scope": 12709,
  75033. "src": "46913:7:50",
  75034. "stateVariable": false,
  75035. "storageLocation": "default",
  75036. "typeDescriptions": {
  75037. "typeIdentifier": "t_bool",
  75038. "typeString": "bool"
  75039. },
  75040. "typeName": {
  75041. "id": 12687,
  75042. "name": "bool",
  75043. "nodeType": "ElementaryTypeName",
  75044. "src": "46913:4:50",
  75045. "typeDescriptions": {
  75046. "typeIdentifier": "t_bool",
  75047. "typeString": "bool"
  75048. }
  75049. },
  75050. "visibility": "internal"
  75051. },
  75052. {
  75053. "constant": false,
  75054. "id": 12690,
  75055. "mutability": "mutable",
  75056. "name": "p1",
  75057. "nameLocation": "46930:2:50",
  75058. "nodeType": "VariableDeclaration",
  75059. "scope": 12709,
  75060. "src": "46922:10:50",
  75061. "stateVariable": false,
  75062. "storageLocation": "default",
  75063. "typeDescriptions": {
  75064. "typeIdentifier": "t_uint256",
  75065. "typeString": "uint256"
  75066. },
  75067. "typeName": {
  75068. "id": 12689,
  75069. "name": "uint256",
  75070. "nodeType": "ElementaryTypeName",
  75071. "src": "46922:7:50",
  75072. "typeDescriptions": {
  75073. "typeIdentifier": "t_uint256",
  75074. "typeString": "uint256"
  75075. }
  75076. },
  75077. "visibility": "internal"
  75078. },
  75079. {
  75080. "constant": false,
  75081. "id": 12692,
  75082. "mutability": "mutable",
  75083. "name": "p2",
  75084. "nameLocation": "46942:2:50",
  75085. "nodeType": "VariableDeclaration",
  75086. "scope": 12709,
  75087. "src": "46934:10:50",
  75088. "stateVariable": false,
  75089. "storageLocation": "default",
  75090. "typeDescriptions": {
  75091. "typeIdentifier": "t_address",
  75092. "typeString": "address"
  75093. },
  75094. "typeName": {
  75095. "id": 12691,
  75096. "name": "address",
  75097. "nodeType": "ElementaryTypeName",
  75098. "src": "46934:7:50",
  75099. "stateMutability": "nonpayable",
  75100. "typeDescriptions": {
  75101. "typeIdentifier": "t_address",
  75102. "typeString": "address"
  75103. }
  75104. },
  75105. "visibility": "internal"
  75106. },
  75107. {
  75108. "constant": false,
  75109. "id": 12694,
  75110. "mutability": "mutable",
  75111. "name": "p3",
  75112. "nameLocation": "46954:2:50",
  75113. "nodeType": "VariableDeclaration",
  75114. "scope": 12709,
  75115. "src": "46946:10:50",
  75116. "stateVariable": false,
  75117. "storageLocation": "default",
  75118. "typeDescriptions": {
  75119. "typeIdentifier": "t_uint256",
  75120. "typeString": "uint256"
  75121. },
  75122. "typeName": {
  75123. "id": 12693,
  75124. "name": "uint256",
  75125. "nodeType": "ElementaryTypeName",
  75126. "src": "46946:7:50",
  75127. "typeDescriptions": {
  75128. "typeIdentifier": "t_uint256",
  75129. "typeString": "uint256"
  75130. }
  75131. },
  75132. "visibility": "internal"
  75133. }
  75134. ],
  75135. "src": "46912:45:50"
  75136. },
  75137. "returnParameters": {
  75138. "id": 12696,
  75139. "nodeType": "ParameterList",
  75140. "parameters": [],
  75141. "src": "46972:0:50"
  75142. },
  75143. "scope": 15355,
  75144. "stateMutability": "pure",
  75145. "virtual": false,
  75146. "visibility": "internal"
  75147. },
  75148. {
  75149. "id": 12732,
  75150. "nodeType": "FunctionDefinition",
  75151. "src": "47088:187:50",
  75152. "nodes": [],
  75153. "body": {
  75154. "id": 12731,
  75155. "nodeType": "Block",
  75156. "src": "47166:109:50",
  75157. "nodes": [],
  75158. "statements": [
  75159. {
  75160. "expression": {
  75161. "arguments": [
  75162. {
  75163. "arguments": [
  75164. {
  75165. "hexValue": "6c6f6728626f6f6c2c75696e743235362c616464726573732c737472696e6729",
  75166. "id": 12723,
  75167. "isConstant": false,
  75168. "isLValue": false,
  75169. "isPure": true,
  75170. "kind": "string",
  75171. "lValueRequested": false,
  75172. "nodeType": "Literal",
  75173. "src": "47216:34:50",
  75174. "typeDescriptions": {
  75175. "typeIdentifier": "t_stringliteral_1bb3b09a4221f0a7df6a4e6e8ee3a14c54c5ebf8032d4ada871c774122536c94",
  75176. "typeString": "literal_string \"log(bool,uint256,address,string)\""
  75177. },
  75178. "value": "log(bool,uint256,address,string)"
  75179. },
  75180. {
  75181. "id": 12724,
  75182. "name": "p0",
  75183. "nodeType": "Identifier",
  75184. "overloadedDeclarations": [],
  75185. "referencedDeclaration": 12711,
  75186. "src": "47252:2:50",
  75187. "typeDescriptions": {
  75188. "typeIdentifier": "t_bool",
  75189. "typeString": "bool"
  75190. }
  75191. },
  75192. {
  75193. "id": 12725,
  75194. "name": "p1",
  75195. "nodeType": "Identifier",
  75196. "overloadedDeclarations": [],
  75197. "referencedDeclaration": 12713,
  75198. "src": "47256:2:50",
  75199. "typeDescriptions": {
  75200. "typeIdentifier": "t_uint256",
  75201. "typeString": "uint256"
  75202. }
  75203. },
  75204. {
  75205. "id": 12726,
  75206. "name": "p2",
  75207. "nodeType": "Identifier",
  75208. "overloadedDeclarations": [],
  75209. "referencedDeclaration": 12715,
  75210. "src": "47260:2:50",
  75211. "typeDescriptions": {
  75212. "typeIdentifier": "t_address",
  75213. "typeString": "address"
  75214. }
  75215. },
  75216. {
  75217. "id": 12727,
  75218. "name": "p3",
  75219. "nodeType": "Identifier",
  75220. "overloadedDeclarations": [],
  75221. "referencedDeclaration": 12717,
  75222. "src": "47264:2:50",
  75223. "typeDescriptions": {
  75224. "typeIdentifier": "t_string_memory_ptr",
  75225. "typeString": "string memory"
  75226. }
  75227. }
  75228. ],
  75229. "expression": {
  75230. "argumentTypes": [
  75231. {
  75232. "typeIdentifier": "t_stringliteral_1bb3b09a4221f0a7df6a4e6e8ee3a14c54c5ebf8032d4ada871c774122536c94",
  75233. "typeString": "literal_string \"log(bool,uint256,address,string)\""
  75234. },
  75235. {
  75236. "typeIdentifier": "t_bool",
  75237. "typeString": "bool"
  75238. },
  75239. {
  75240. "typeIdentifier": "t_uint256",
  75241. "typeString": "uint256"
  75242. },
  75243. {
  75244. "typeIdentifier": "t_address",
  75245. "typeString": "address"
  75246. },
  75247. {
  75248. "typeIdentifier": "t_string_memory_ptr",
  75249. "typeString": "string memory"
  75250. }
  75251. ],
  75252. "expression": {
  75253. "id": 12721,
  75254. "name": "abi",
  75255. "nodeType": "Identifier",
  75256. "overloadedDeclarations": [],
  75257. "referencedDeclaration": -1,
  75258. "src": "47192:3:50",
  75259. "typeDescriptions": {
  75260. "typeIdentifier": "t_magic_abi",
  75261. "typeString": "abi"
  75262. }
  75263. },
  75264. "id": 12722,
  75265. "isConstant": false,
  75266. "isLValue": false,
  75267. "isPure": true,
  75268. "lValueRequested": false,
  75269. "memberLocation": "47196:19:50",
  75270. "memberName": "encodeWithSignature",
  75271. "nodeType": "MemberAccess",
  75272. "src": "47192:23:50",
  75273. "typeDescriptions": {
  75274. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  75275. "typeString": "function (string memory) pure returns (bytes memory)"
  75276. }
  75277. },
  75278. "id": 12728,
  75279. "isConstant": false,
  75280. "isLValue": false,
  75281. "isPure": false,
  75282. "kind": "functionCall",
  75283. "lValueRequested": false,
  75284. "nameLocations": [],
  75285. "names": [],
  75286. "nodeType": "FunctionCall",
  75287. "src": "47192:75:50",
  75288. "tryCall": false,
  75289. "typeDescriptions": {
  75290. "typeIdentifier": "t_bytes_memory_ptr",
  75291. "typeString": "bytes memory"
  75292. }
  75293. }
  75294. ],
  75295. "expression": {
  75296. "argumentTypes": [
  75297. {
  75298. "typeIdentifier": "t_bytes_memory_ptr",
  75299. "typeString": "bytes memory"
  75300. }
  75301. ],
  75302. "id": 12720,
  75303. "name": "_sendLogPayload",
  75304. "nodeType": "Identifier",
  75305. "overloadedDeclarations": [],
  75306. "referencedDeclaration": 7315,
  75307. "src": "47176:15:50",
  75308. "typeDescriptions": {
  75309. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  75310. "typeString": "function (bytes memory) pure"
  75311. }
  75312. },
  75313. "id": 12729,
  75314. "isConstant": false,
  75315. "isLValue": false,
  75316. "isPure": false,
  75317. "kind": "functionCall",
  75318. "lValueRequested": false,
  75319. "nameLocations": [],
  75320. "names": [],
  75321. "nodeType": "FunctionCall",
  75322. "src": "47176:92:50",
  75323. "tryCall": false,
  75324. "typeDescriptions": {
  75325. "typeIdentifier": "t_tuple$__$",
  75326. "typeString": "tuple()"
  75327. }
  75328. },
  75329. "id": 12730,
  75330. "nodeType": "ExpressionStatement",
  75331. "src": "47176:92:50"
  75332. }
  75333. ]
  75334. },
  75335. "implemented": true,
  75336. "kind": "function",
  75337. "modifiers": [],
  75338. "name": "log",
  75339. "nameLocation": "47097:3:50",
  75340. "parameters": {
  75341. "id": 12718,
  75342. "nodeType": "ParameterList",
  75343. "parameters": [
  75344. {
  75345. "constant": false,
  75346. "id": 12711,
  75347. "mutability": "mutable",
  75348. "name": "p0",
  75349. "nameLocation": "47106:2:50",
  75350. "nodeType": "VariableDeclaration",
  75351. "scope": 12732,
  75352. "src": "47101:7:50",
  75353. "stateVariable": false,
  75354. "storageLocation": "default",
  75355. "typeDescriptions": {
  75356. "typeIdentifier": "t_bool",
  75357. "typeString": "bool"
  75358. },
  75359. "typeName": {
  75360. "id": 12710,
  75361. "name": "bool",
  75362. "nodeType": "ElementaryTypeName",
  75363. "src": "47101:4:50",
  75364. "typeDescriptions": {
  75365. "typeIdentifier": "t_bool",
  75366. "typeString": "bool"
  75367. }
  75368. },
  75369. "visibility": "internal"
  75370. },
  75371. {
  75372. "constant": false,
  75373. "id": 12713,
  75374. "mutability": "mutable",
  75375. "name": "p1",
  75376. "nameLocation": "47118:2:50",
  75377. "nodeType": "VariableDeclaration",
  75378. "scope": 12732,
  75379. "src": "47110:10:50",
  75380. "stateVariable": false,
  75381. "storageLocation": "default",
  75382. "typeDescriptions": {
  75383. "typeIdentifier": "t_uint256",
  75384. "typeString": "uint256"
  75385. },
  75386. "typeName": {
  75387. "id": 12712,
  75388. "name": "uint256",
  75389. "nodeType": "ElementaryTypeName",
  75390. "src": "47110:7:50",
  75391. "typeDescriptions": {
  75392. "typeIdentifier": "t_uint256",
  75393. "typeString": "uint256"
  75394. }
  75395. },
  75396. "visibility": "internal"
  75397. },
  75398. {
  75399. "constant": false,
  75400. "id": 12715,
  75401. "mutability": "mutable",
  75402. "name": "p2",
  75403. "nameLocation": "47130:2:50",
  75404. "nodeType": "VariableDeclaration",
  75405. "scope": 12732,
  75406. "src": "47122:10:50",
  75407. "stateVariable": false,
  75408. "storageLocation": "default",
  75409. "typeDescriptions": {
  75410. "typeIdentifier": "t_address",
  75411. "typeString": "address"
  75412. },
  75413. "typeName": {
  75414. "id": 12714,
  75415. "name": "address",
  75416. "nodeType": "ElementaryTypeName",
  75417. "src": "47122:7:50",
  75418. "stateMutability": "nonpayable",
  75419. "typeDescriptions": {
  75420. "typeIdentifier": "t_address",
  75421. "typeString": "address"
  75422. }
  75423. },
  75424. "visibility": "internal"
  75425. },
  75426. {
  75427. "constant": false,
  75428. "id": 12717,
  75429. "mutability": "mutable",
  75430. "name": "p3",
  75431. "nameLocation": "47148:2:50",
  75432. "nodeType": "VariableDeclaration",
  75433. "scope": 12732,
  75434. "src": "47134:16:50",
  75435. "stateVariable": false,
  75436. "storageLocation": "memory",
  75437. "typeDescriptions": {
  75438. "typeIdentifier": "t_string_memory_ptr",
  75439. "typeString": "string"
  75440. },
  75441. "typeName": {
  75442. "id": 12716,
  75443. "name": "string",
  75444. "nodeType": "ElementaryTypeName",
  75445. "src": "47134:6:50",
  75446. "typeDescriptions": {
  75447. "typeIdentifier": "t_string_storage_ptr",
  75448. "typeString": "string"
  75449. }
  75450. },
  75451. "visibility": "internal"
  75452. }
  75453. ],
  75454. "src": "47100:51:50"
  75455. },
  75456. "returnParameters": {
  75457. "id": 12719,
  75458. "nodeType": "ParameterList",
  75459. "parameters": [],
  75460. "src": "47166:0:50"
  75461. },
  75462. "scope": 15355,
  75463. "stateMutability": "pure",
  75464. "virtual": false,
  75465. "visibility": "internal"
  75466. },
  75467. {
  75468. "id": 12755,
  75469. "nodeType": "FunctionDefinition",
  75470. "src": "47281:176:50",
  75471. "nodes": [],
  75472. "body": {
  75473. "id": 12754,
  75474. "nodeType": "Block",
  75475. "src": "47350:107:50",
  75476. "nodes": [],
  75477. "statements": [
  75478. {
  75479. "expression": {
  75480. "arguments": [
  75481. {
  75482. "arguments": [
  75483. {
  75484. "hexValue": "6c6f6728626f6f6c2c75696e743235362c616464726573732c626f6f6c29",
  75485. "id": 12746,
  75486. "isConstant": false,
  75487. "isLValue": false,
  75488. "isPure": true,
  75489. "kind": "string",
  75490. "lValueRequested": false,
  75491. "nodeType": "Literal",
  75492. "src": "47400:32:50",
  75493. "typeDescriptions": {
  75494. "typeIdentifier": "t_stringliteral_b4c314ff4d8914c4657179922b73426f4bcee4ae499bd03b5b3cf557ef247ea8",
  75495. "typeString": "literal_string \"log(bool,uint256,address,bool)\""
  75496. },
  75497. "value": "log(bool,uint256,address,bool)"
  75498. },
  75499. {
  75500. "id": 12747,
  75501. "name": "p0",
  75502. "nodeType": "Identifier",
  75503. "overloadedDeclarations": [],
  75504. "referencedDeclaration": 12734,
  75505. "src": "47434:2:50",
  75506. "typeDescriptions": {
  75507. "typeIdentifier": "t_bool",
  75508. "typeString": "bool"
  75509. }
  75510. },
  75511. {
  75512. "id": 12748,
  75513. "name": "p1",
  75514. "nodeType": "Identifier",
  75515. "overloadedDeclarations": [],
  75516. "referencedDeclaration": 12736,
  75517. "src": "47438:2:50",
  75518. "typeDescriptions": {
  75519. "typeIdentifier": "t_uint256",
  75520. "typeString": "uint256"
  75521. }
  75522. },
  75523. {
  75524. "id": 12749,
  75525. "name": "p2",
  75526. "nodeType": "Identifier",
  75527. "overloadedDeclarations": [],
  75528. "referencedDeclaration": 12738,
  75529. "src": "47442:2:50",
  75530. "typeDescriptions": {
  75531. "typeIdentifier": "t_address",
  75532. "typeString": "address"
  75533. }
  75534. },
  75535. {
  75536. "id": 12750,
  75537. "name": "p3",
  75538. "nodeType": "Identifier",
  75539. "overloadedDeclarations": [],
  75540. "referencedDeclaration": 12740,
  75541. "src": "47446:2:50",
  75542. "typeDescriptions": {
  75543. "typeIdentifier": "t_bool",
  75544. "typeString": "bool"
  75545. }
  75546. }
  75547. ],
  75548. "expression": {
  75549. "argumentTypes": [
  75550. {
  75551. "typeIdentifier": "t_stringliteral_b4c314ff4d8914c4657179922b73426f4bcee4ae499bd03b5b3cf557ef247ea8",
  75552. "typeString": "literal_string \"log(bool,uint256,address,bool)\""
  75553. },
  75554. {
  75555. "typeIdentifier": "t_bool",
  75556. "typeString": "bool"
  75557. },
  75558. {
  75559. "typeIdentifier": "t_uint256",
  75560. "typeString": "uint256"
  75561. },
  75562. {
  75563. "typeIdentifier": "t_address",
  75564. "typeString": "address"
  75565. },
  75566. {
  75567. "typeIdentifier": "t_bool",
  75568. "typeString": "bool"
  75569. }
  75570. ],
  75571. "expression": {
  75572. "id": 12744,
  75573. "name": "abi",
  75574. "nodeType": "Identifier",
  75575. "overloadedDeclarations": [],
  75576. "referencedDeclaration": -1,
  75577. "src": "47376:3:50",
  75578. "typeDescriptions": {
  75579. "typeIdentifier": "t_magic_abi",
  75580. "typeString": "abi"
  75581. }
  75582. },
  75583. "id": 12745,
  75584. "isConstant": false,
  75585. "isLValue": false,
  75586. "isPure": true,
  75587. "lValueRequested": false,
  75588. "memberLocation": "47380:19:50",
  75589. "memberName": "encodeWithSignature",
  75590. "nodeType": "MemberAccess",
  75591. "src": "47376:23:50",
  75592. "typeDescriptions": {
  75593. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  75594. "typeString": "function (string memory) pure returns (bytes memory)"
  75595. }
  75596. },
  75597. "id": 12751,
  75598. "isConstant": false,
  75599. "isLValue": false,
  75600. "isPure": false,
  75601. "kind": "functionCall",
  75602. "lValueRequested": false,
  75603. "nameLocations": [],
  75604. "names": [],
  75605. "nodeType": "FunctionCall",
  75606. "src": "47376:73:50",
  75607. "tryCall": false,
  75608. "typeDescriptions": {
  75609. "typeIdentifier": "t_bytes_memory_ptr",
  75610. "typeString": "bytes memory"
  75611. }
  75612. }
  75613. ],
  75614. "expression": {
  75615. "argumentTypes": [
  75616. {
  75617. "typeIdentifier": "t_bytes_memory_ptr",
  75618. "typeString": "bytes memory"
  75619. }
  75620. ],
  75621. "id": 12743,
  75622. "name": "_sendLogPayload",
  75623. "nodeType": "Identifier",
  75624. "overloadedDeclarations": [],
  75625. "referencedDeclaration": 7315,
  75626. "src": "47360:15:50",
  75627. "typeDescriptions": {
  75628. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  75629. "typeString": "function (bytes memory) pure"
  75630. }
  75631. },
  75632. "id": 12752,
  75633. "isConstant": false,
  75634. "isLValue": false,
  75635. "isPure": false,
  75636. "kind": "functionCall",
  75637. "lValueRequested": false,
  75638. "nameLocations": [],
  75639. "names": [],
  75640. "nodeType": "FunctionCall",
  75641. "src": "47360:90:50",
  75642. "tryCall": false,
  75643. "typeDescriptions": {
  75644. "typeIdentifier": "t_tuple$__$",
  75645. "typeString": "tuple()"
  75646. }
  75647. },
  75648. "id": 12753,
  75649. "nodeType": "ExpressionStatement",
  75650. "src": "47360:90:50"
  75651. }
  75652. ]
  75653. },
  75654. "implemented": true,
  75655. "kind": "function",
  75656. "modifiers": [],
  75657. "name": "log",
  75658. "nameLocation": "47290:3:50",
  75659. "parameters": {
  75660. "id": 12741,
  75661. "nodeType": "ParameterList",
  75662. "parameters": [
  75663. {
  75664. "constant": false,
  75665. "id": 12734,
  75666. "mutability": "mutable",
  75667. "name": "p0",
  75668. "nameLocation": "47299:2:50",
  75669. "nodeType": "VariableDeclaration",
  75670. "scope": 12755,
  75671. "src": "47294:7:50",
  75672. "stateVariable": false,
  75673. "storageLocation": "default",
  75674. "typeDescriptions": {
  75675. "typeIdentifier": "t_bool",
  75676. "typeString": "bool"
  75677. },
  75678. "typeName": {
  75679. "id": 12733,
  75680. "name": "bool",
  75681. "nodeType": "ElementaryTypeName",
  75682. "src": "47294:4:50",
  75683. "typeDescriptions": {
  75684. "typeIdentifier": "t_bool",
  75685. "typeString": "bool"
  75686. }
  75687. },
  75688. "visibility": "internal"
  75689. },
  75690. {
  75691. "constant": false,
  75692. "id": 12736,
  75693. "mutability": "mutable",
  75694. "name": "p1",
  75695. "nameLocation": "47311:2:50",
  75696. "nodeType": "VariableDeclaration",
  75697. "scope": 12755,
  75698. "src": "47303:10:50",
  75699. "stateVariable": false,
  75700. "storageLocation": "default",
  75701. "typeDescriptions": {
  75702. "typeIdentifier": "t_uint256",
  75703. "typeString": "uint256"
  75704. },
  75705. "typeName": {
  75706. "id": 12735,
  75707. "name": "uint256",
  75708. "nodeType": "ElementaryTypeName",
  75709. "src": "47303:7:50",
  75710. "typeDescriptions": {
  75711. "typeIdentifier": "t_uint256",
  75712. "typeString": "uint256"
  75713. }
  75714. },
  75715. "visibility": "internal"
  75716. },
  75717. {
  75718. "constant": false,
  75719. "id": 12738,
  75720. "mutability": "mutable",
  75721. "name": "p2",
  75722. "nameLocation": "47323:2:50",
  75723. "nodeType": "VariableDeclaration",
  75724. "scope": 12755,
  75725. "src": "47315:10:50",
  75726. "stateVariable": false,
  75727. "storageLocation": "default",
  75728. "typeDescriptions": {
  75729. "typeIdentifier": "t_address",
  75730. "typeString": "address"
  75731. },
  75732. "typeName": {
  75733. "id": 12737,
  75734. "name": "address",
  75735. "nodeType": "ElementaryTypeName",
  75736. "src": "47315:7:50",
  75737. "stateMutability": "nonpayable",
  75738. "typeDescriptions": {
  75739. "typeIdentifier": "t_address",
  75740. "typeString": "address"
  75741. }
  75742. },
  75743. "visibility": "internal"
  75744. },
  75745. {
  75746. "constant": false,
  75747. "id": 12740,
  75748. "mutability": "mutable",
  75749. "name": "p3",
  75750. "nameLocation": "47332:2:50",
  75751. "nodeType": "VariableDeclaration",
  75752. "scope": 12755,
  75753. "src": "47327:7:50",
  75754. "stateVariable": false,
  75755. "storageLocation": "default",
  75756. "typeDescriptions": {
  75757. "typeIdentifier": "t_bool",
  75758. "typeString": "bool"
  75759. },
  75760. "typeName": {
  75761. "id": 12739,
  75762. "name": "bool",
  75763. "nodeType": "ElementaryTypeName",
  75764. "src": "47327:4:50",
  75765. "typeDescriptions": {
  75766. "typeIdentifier": "t_bool",
  75767. "typeString": "bool"
  75768. }
  75769. },
  75770. "visibility": "internal"
  75771. }
  75772. ],
  75773. "src": "47293:42:50"
  75774. },
  75775. "returnParameters": {
  75776. "id": 12742,
  75777. "nodeType": "ParameterList",
  75778. "parameters": [],
  75779. "src": "47350:0:50"
  75780. },
  75781. "scope": 15355,
  75782. "stateMutability": "pure",
  75783. "virtual": false,
  75784. "visibility": "internal"
  75785. },
  75786. {
  75787. "id": 12778,
  75788. "nodeType": "FunctionDefinition",
  75789. "src": "47463:182:50",
  75790. "nodes": [],
  75791. "body": {
  75792. "id": 12777,
  75793. "nodeType": "Block",
  75794. "src": "47535:110:50",
  75795. "nodes": [],
  75796. "statements": [
  75797. {
  75798. "expression": {
  75799. "arguments": [
  75800. {
  75801. "arguments": [
  75802. {
  75803. "hexValue": "6c6f6728626f6f6c2c75696e743235362c616464726573732c6164647265737329",
  75804. "id": 12769,
  75805. "isConstant": false,
  75806. "isLValue": false,
  75807. "isPure": true,
  75808. "kind": "string",
  75809. "lValueRequested": false,
  75810. "nodeType": "Literal",
  75811. "src": "47585:35:50",
  75812. "typeDescriptions": {
  75813. "typeIdentifier": "t_stringliteral_26f560a852938fadf6addef4dd03c86f93715a295417544d6a793cb20f13b8dd",
  75814. "typeString": "literal_string \"log(bool,uint256,address,address)\""
  75815. },
  75816. "value": "log(bool,uint256,address,address)"
  75817. },
  75818. {
  75819. "id": 12770,
  75820. "name": "p0",
  75821. "nodeType": "Identifier",
  75822. "overloadedDeclarations": [],
  75823. "referencedDeclaration": 12757,
  75824. "src": "47622:2:50",
  75825. "typeDescriptions": {
  75826. "typeIdentifier": "t_bool",
  75827. "typeString": "bool"
  75828. }
  75829. },
  75830. {
  75831. "id": 12771,
  75832. "name": "p1",
  75833. "nodeType": "Identifier",
  75834. "overloadedDeclarations": [],
  75835. "referencedDeclaration": 12759,
  75836. "src": "47626:2:50",
  75837. "typeDescriptions": {
  75838. "typeIdentifier": "t_uint256",
  75839. "typeString": "uint256"
  75840. }
  75841. },
  75842. {
  75843. "id": 12772,
  75844. "name": "p2",
  75845. "nodeType": "Identifier",
  75846. "overloadedDeclarations": [],
  75847. "referencedDeclaration": 12761,
  75848. "src": "47630:2:50",
  75849. "typeDescriptions": {
  75850. "typeIdentifier": "t_address",
  75851. "typeString": "address"
  75852. }
  75853. },
  75854. {
  75855. "id": 12773,
  75856. "name": "p3",
  75857. "nodeType": "Identifier",
  75858. "overloadedDeclarations": [],
  75859. "referencedDeclaration": 12763,
  75860. "src": "47634:2:50",
  75861. "typeDescriptions": {
  75862. "typeIdentifier": "t_address",
  75863. "typeString": "address"
  75864. }
  75865. }
  75866. ],
  75867. "expression": {
  75868. "argumentTypes": [
  75869. {
  75870. "typeIdentifier": "t_stringliteral_26f560a852938fadf6addef4dd03c86f93715a295417544d6a793cb20f13b8dd",
  75871. "typeString": "literal_string \"log(bool,uint256,address,address)\""
  75872. },
  75873. {
  75874. "typeIdentifier": "t_bool",
  75875. "typeString": "bool"
  75876. },
  75877. {
  75878. "typeIdentifier": "t_uint256",
  75879. "typeString": "uint256"
  75880. },
  75881. {
  75882. "typeIdentifier": "t_address",
  75883. "typeString": "address"
  75884. },
  75885. {
  75886. "typeIdentifier": "t_address",
  75887. "typeString": "address"
  75888. }
  75889. ],
  75890. "expression": {
  75891. "id": 12767,
  75892. "name": "abi",
  75893. "nodeType": "Identifier",
  75894. "overloadedDeclarations": [],
  75895. "referencedDeclaration": -1,
  75896. "src": "47561:3:50",
  75897. "typeDescriptions": {
  75898. "typeIdentifier": "t_magic_abi",
  75899. "typeString": "abi"
  75900. }
  75901. },
  75902. "id": 12768,
  75903. "isConstant": false,
  75904. "isLValue": false,
  75905. "isPure": true,
  75906. "lValueRequested": false,
  75907. "memberLocation": "47565:19:50",
  75908. "memberName": "encodeWithSignature",
  75909. "nodeType": "MemberAccess",
  75910. "src": "47561:23:50",
  75911. "typeDescriptions": {
  75912. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  75913. "typeString": "function (string memory) pure returns (bytes memory)"
  75914. }
  75915. },
  75916. "id": 12774,
  75917. "isConstant": false,
  75918. "isLValue": false,
  75919. "isPure": false,
  75920. "kind": "functionCall",
  75921. "lValueRequested": false,
  75922. "nameLocations": [],
  75923. "names": [],
  75924. "nodeType": "FunctionCall",
  75925. "src": "47561:76:50",
  75926. "tryCall": false,
  75927. "typeDescriptions": {
  75928. "typeIdentifier": "t_bytes_memory_ptr",
  75929. "typeString": "bytes memory"
  75930. }
  75931. }
  75932. ],
  75933. "expression": {
  75934. "argumentTypes": [
  75935. {
  75936. "typeIdentifier": "t_bytes_memory_ptr",
  75937. "typeString": "bytes memory"
  75938. }
  75939. ],
  75940. "id": 12766,
  75941. "name": "_sendLogPayload",
  75942. "nodeType": "Identifier",
  75943. "overloadedDeclarations": [],
  75944. "referencedDeclaration": 7315,
  75945. "src": "47545:15:50",
  75946. "typeDescriptions": {
  75947. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  75948. "typeString": "function (bytes memory) pure"
  75949. }
  75950. },
  75951. "id": 12775,
  75952. "isConstant": false,
  75953. "isLValue": false,
  75954. "isPure": false,
  75955. "kind": "functionCall",
  75956. "lValueRequested": false,
  75957. "nameLocations": [],
  75958. "names": [],
  75959. "nodeType": "FunctionCall",
  75960. "src": "47545:93:50",
  75961. "tryCall": false,
  75962. "typeDescriptions": {
  75963. "typeIdentifier": "t_tuple$__$",
  75964. "typeString": "tuple()"
  75965. }
  75966. },
  75967. "id": 12776,
  75968. "nodeType": "ExpressionStatement",
  75969. "src": "47545:93:50"
  75970. }
  75971. ]
  75972. },
  75973. "implemented": true,
  75974. "kind": "function",
  75975. "modifiers": [],
  75976. "name": "log",
  75977. "nameLocation": "47472:3:50",
  75978. "parameters": {
  75979. "id": 12764,
  75980. "nodeType": "ParameterList",
  75981. "parameters": [
  75982. {
  75983. "constant": false,
  75984. "id": 12757,
  75985. "mutability": "mutable",
  75986. "name": "p0",
  75987. "nameLocation": "47481:2:50",
  75988. "nodeType": "VariableDeclaration",
  75989. "scope": 12778,
  75990. "src": "47476:7:50",
  75991. "stateVariable": false,
  75992. "storageLocation": "default",
  75993. "typeDescriptions": {
  75994. "typeIdentifier": "t_bool",
  75995. "typeString": "bool"
  75996. },
  75997. "typeName": {
  75998. "id": 12756,
  75999. "name": "bool",
  76000. "nodeType": "ElementaryTypeName",
  76001. "src": "47476:4:50",
  76002. "typeDescriptions": {
  76003. "typeIdentifier": "t_bool",
  76004. "typeString": "bool"
  76005. }
  76006. },
  76007. "visibility": "internal"
  76008. },
  76009. {
  76010. "constant": false,
  76011. "id": 12759,
  76012. "mutability": "mutable",
  76013. "name": "p1",
  76014. "nameLocation": "47493:2:50",
  76015. "nodeType": "VariableDeclaration",
  76016. "scope": 12778,
  76017. "src": "47485:10:50",
  76018. "stateVariable": false,
  76019. "storageLocation": "default",
  76020. "typeDescriptions": {
  76021. "typeIdentifier": "t_uint256",
  76022. "typeString": "uint256"
  76023. },
  76024. "typeName": {
  76025. "id": 12758,
  76026. "name": "uint256",
  76027. "nodeType": "ElementaryTypeName",
  76028. "src": "47485:7:50",
  76029. "typeDescriptions": {
  76030. "typeIdentifier": "t_uint256",
  76031. "typeString": "uint256"
  76032. }
  76033. },
  76034. "visibility": "internal"
  76035. },
  76036. {
  76037. "constant": false,
  76038. "id": 12761,
  76039. "mutability": "mutable",
  76040. "name": "p2",
  76041. "nameLocation": "47505:2:50",
  76042. "nodeType": "VariableDeclaration",
  76043. "scope": 12778,
  76044. "src": "47497:10:50",
  76045. "stateVariable": false,
  76046. "storageLocation": "default",
  76047. "typeDescriptions": {
  76048. "typeIdentifier": "t_address",
  76049. "typeString": "address"
  76050. },
  76051. "typeName": {
  76052. "id": 12760,
  76053. "name": "address",
  76054. "nodeType": "ElementaryTypeName",
  76055. "src": "47497:7:50",
  76056. "stateMutability": "nonpayable",
  76057. "typeDescriptions": {
  76058. "typeIdentifier": "t_address",
  76059. "typeString": "address"
  76060. }
  76061. },
  76062. "visibility": "internal"
  76063. },
  76064. {
  76065. "constant": false,
  76066. "id": 12763,
  76067. "mutability": "mutable",
  76068. "name": "p3",
  76069. "nameLocation": "47517:2:50",
  76070. "nodeType": "VariableDeclaration",
  76071. "scope": 12778,
  76072. "src": "47509:10:50",
  76073. "stateVariable": false,
  76074. "storageLocation": "default",
  76075. "typeDescriptions": {
  76076. "typeIdentifier": "t_address",
  76077. "typeString": "address"
  76078. },
  76079. "typeName": {
  76080. "id": 12762,
  76081. "name": "address",
  76082. "nodeType": "ElementaryTypeName",
  76083. "src": "47509:7:50",
  76084. "stateMutability": "nonpayable",
  76085. "typeDescriptions": {
  76086. "typeIdentifier": "t_address",
  76087. "typeString": "address"
  76088. }
  76089. },
  76090. "visibility": "internal"
  76091. }
  76092. ],
  76093. "src": "47475:45:50"
  76094. },
  76095. "returnParameters": {
  76096. "id": 12765,
  76097. "nodeType": "ParameterList",
  76098. "parameters": [],
  76099. "src": "47535:0:50"
  76100. },
  76101. "scope": 15355,
  76102. "stateMutability": "pure",
  76103. "virtual": false,
  76104. "visibility": "internal"
  76105. },
  76106. {
  76107. "id": 12801,
  76108. "nodeType": "FunctionDefinition",
  76109. "src": "47651:187:50",
  76110. "nodes": [],
  76111. "body": {
  76112. "id": 12800,
  76113. "nodeType": "Block",
  76114. "src": "47729:109:50",
  76115. "nodes": [],
  76116. "statements": [
  76117. {
  76118. "expression": {
  76119. "arguments": [
  76120. {
  76121. "arguments": [
  76122. {
  76123. "hexValue": "6c6f6728626f6f6c2c737472696e672c75696e743235362c75696e7432353629",
  76124. "id": 12792,
  76125. "isConstant": false,
  76126. "isLValue": false,
  76127. "isPure": true,
  76128. "kind": "string",
  76129. "lValueRequested": false,
  76130. "nodeType": "Literal",
  76131. "src": "47779:34:50",
  76132. "typeDescriptions": {
  76133. "typeIdentifier": "t_stringliteral_28863fcbec29a80af15c2b8595f162a2324efa0e9f70b928971349e597c15cb0",
  76134. "typeString": "literal_string \"log(bool,string,uint256,uint256)\""
  76135. },
  76136. "value": "log(bool,string,uint256,uint256)"
  76137. },
  76138. {
  76139. "id": 12793,
  76140. "name": "p0",
  76141. "nodeType": "Identifier",
  76142. "overloadedDeclarations": [],
  76143. "referencedDeclaration": 12780,
  76144. "src": "47815:2:50",
  76145. "typeDescriptions": {
  76146. "typeIdentifier": "t_bool",
  76147. "typeString": "bool"
  76148. }
  76149. },
  76150. {
  76151. "id": 12794,
  76152. "name": "p1",
  76153. "nodeType": "Identifier",
  76154. "overloadedDeclarations": [],
  76155. "referencedDeclaration": 12782,
  76156. "src": "47819:2:50",
  76157. "typeDescriptions": {
  76158. "typeIdentifier": "t_string_memory_ptr",
  76159. "typeString": "string memory"
  76160. }
  76161. },
  76162. {
  76163. "id": 12795,
  76164. "name": "p2",
  76165. "nodeType": "Identifier",
  76166. "overloadedDeclarations": [],
  76167. "referencedDeclaration": 12784,
  76168. "src": "47823:2:50",
  76169. "typeDescriptions": {
  76170. "typeIdentifier": "t_uint256",
  76171. "typeString": "uint256"
  76172. }
  76173. },
  76174. {
  76175. "id": 12796,
  76176. "name": "p3",
  76177. "nodeType": "Identifier",
  76178. "overloadedDeclarations": [],
  76179. "referencedDeclaration": 12786,
  76180. "src": "47827:2:50",
  76181. "typeDescriptions": {
  76182. "typeIdentifier": "t_uint256",
  76183. "typeString": "uint256"
  76184. }
  76185. }
  76186. ],
  76187. "expression": {
  76188. "argumentTypes": [
  76189. {
  76190. "typeIdentifier": "t_stringliteral_28863fcbec29a80af15c2b8595f162a2324efa0e9f70b928971349e597c15cb0",
  76191. "typeString": "literal_string \"log(bool,string,uint256,uint256)\""
  76192. },
  76193. {
  76194. "typeIdentifier": "t_bool",
  76195. "typeString": "bool"
  76196. },
  76197. {
  76198. "typeIdentifier": "t_string_memory_ptr",
  76199. "typeString": "string memory"
  76200. },
  76201. {
  76202. "typeIdentifier": "t_uint256",
  76203. "typeString": "uint256"
  76204. },
  76205. {
  76206. "typeIdentifier": "t_uint256",
  76207. "typeString": "uint256"
  76208. }
  76209. ],
  76210. "expression": {
  76211. "id": 12790,
  76212. "name": "abi",
  76213. "nodeType": "Identifier",
  76214. "overloadedDeclarations": [],
  76215. "referencedDeclaration": -1,
  76216. "src": "47755:3:50",
  76217. "typeDescriptions": {
  76218. "typeIdentifier": "t_magic_abi",
  76219. "typeString": "abi"
  76220. }
  76221. },
  76222. "id": 12791,
  76223. "isConstant": false,
  76224. "isLValue": false,
  76225. "isPure": true,
  76226. "lValueRequested": false,
  76227. "memberLocation": "47759:19:50",
  76228. "memberName": "encodeWithSignature",
  76229. "nodeType": "MemberAccess",
  76230. "src": "47755:23:50",
  76231. "typeDescriptions": {
  76232. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  76233. "typeString": "function (string memory) pure returns (bytes memory)"
  76234. }
  76235. },
  76236. "id": 12797,
  76237. "isConstant": false,
  76238. "isLValue": false,
  76239. "isPure": false,
  76240. "kind": "functionCall",
  76241. "lValueRequested": false,
  76242. "nameLocations": [],
  76243. "names": [],
  76244. "nodeType": "FunctionCall",
  76245. "src": "47755:75:50",
  76246. "tryCall": false,
  76247. "typeDescriptions": {
  76248. "typeIdentifier": "t_bytes_memory_ptr",
  76249. "typeString": "bytes memory"
  76250. }
  76251. }
  76252. ],
  76253. "expression": {
  76254. "argumentTypes": [
  76255. {
  76256. "typeIdentifier": "t_bytes_memory_ptr",
  76257. "typeString": "bytes memory"
  76258. }
  76259. ],
  76260. "id": 12789,
  76261. "name": "_sendLogPayload",
  76262. "nodeType": "Identifier",
  76263. "overloadedDeclarations": [],
  76264. "referencedDeclaration": 7315,
  76265. "src": "47739:15:50",
  76266. "typeDescriptions": {
  76267. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  76268. "typeString": "function (bytes memory) pure"
  76269. }
  76270. },
  76271. "id": 12798,
  76272. "isConstant": false,
  76273. "isLValue": false,
  76274. "isPure": false,
  76275. "kind": "functionCall",
  76276. "lValueRequested": false,
  76277. "nameLocations": [],
  76278. "names": [],
  76279. "nodeType": "FunctionCall",
  76280. "src": "47739:92:50",
  76281. "tryCall": false,
  76282. "typeDescriptions": {
  76283. "typeIdentifier": "t_tuple$__$",
  76284. "typeString": "tuple()"
  76285. }
  76286. },
  76287. "id": 12799,
  76288. "nodeType": "ExpressionStatement",
  76289. "src": "47739:92:50"
  76290. }
  76291. ]
  76292. },
  76293. "implemented": true,
  76294. "kind": "function",
  76295. "modifiers": [],
  76296. "name": "log",
  76297. "nameLocation": "47660:3:50",
  76298. "parameters": {
  76299. "id": 12787,
  76300. "nodeType": "ParameterList",
  76301. "parameters": [
  76302. {
  76303. "constant": false,
  76304. "id": 12780,
  76305. "mutability": "mutable",
  76306. "name": "p0",
  76307. "nameLocation": "47669:2:50",
  76308. "nodeType": "VariableDeclaration",
  76309. "scope": 12801,
  76310. "src": "47664:7:50",
  76311. "stateVariable": false,
  76312. "storageLocation": "default",
  76313. "typeDescriptions": {
  76314. "typeIdentifier": "t_bool",
  76315. "typeString": "bool"
  76316. },
  76317. "typeName": {
  76318. "id": 12779,
  76319. "name": "bool",
  76320. "nodeType": "ElementaryTypeName",
  76321. "src": "47664:4:50",
  76322. "typeDescriptions": {
  76323. "typeIdentifier": "t_bool",
  76324. "typeString": "bool"
  76325. }
  76326. },
  76327. "visibility": "internal"
  76328. },
  76329. {
  76330. "constant": false,
  76331. "id": 12782,
  76332. "mutability": "mutable",
  76333. "name": "p1",
  76334. "nameLocation": "47687:2:50",
  76335. "nodeType": "VariableDeclaration",
  76336. "scope": 12801,
  76337. "src": "47673:16:50",
  76338. "stateVariable": false,
  76339. "storageLocation": "memory",
  76340. "typeDescriptions": {
  76341. "typeIdentifier": "t_string_memory_ptr",
  76342. "typeString": "string"
  76343. },
  76344. "typeName": {
  76345. "id": 12781,
  76346. "name": "string",
  76347. "nodeType": "ElementaryTypeName",
  76348. "src": "47673:6:50",
  76349. "typeDescriptions": {
  76350. "typeIdentifier": "t_string_storage_ptr",
  76351. "typeString": "string"
  76352. }
  76353. },
  76354. "visibility": "internal"
  76355. },
  76356. {
  76357. "constant": false,
  76358. "id": 12784,
  76359. "mutability": "mutable",
  76360. "name": "p2",
  76361. "nameLocation": "47699:2:50",
  76362. "nodeType": "VariableDeclaration",
  76363. "scope": 12801,
  76364. "src": "47691:10:50",
  76365. "stateVariable": false,
  76366. "storageLocation": "default",
  76367. "typeDescriptions": {
  76368. "typeIdentifier": "t_uint256",
  76369. "typeString": "uint256"
  76370. },
  76371. "typeName": {
  76372. "id": 12783,
  76373. "name": "uint256",
  76374. "nodeType": "ElementaryTypeName",
  76375. "src": "47691:7:50",
  76376. "typeDescriptions": {
  76377. "typeIdentifier": "t_uint256",
  76378. "typeString": "uint256"
  76379. }
  76380. },
  76381. "visibility": "internal"
  76382. },
  76383. {
  76384. "constant": false,
  76385. "id": 12786,
  76386. "mutability": "mutable",
  76387. "name": "p3",
  76388. "nameLocation": "47711:2:50",
  76389. "nodeType": "VariableDeclaration",
  76390. "scope": 12801,
  76391. "src": "47703:10:50",
  76392. "stateVariable": false,
  76393. "storageLocation": "default",
  76394. "typeDescriptions": {
  76395. "typeIdentifier": "t_uint256",
  76396. "typeString": "uint256"
  76397. },
  76398. "typeName": {
  76399. "id": 12785,
  76400. "name": "uint256",
  76401. "nodeType": "ElementaryTypeName",
  76402. "src": "47703:7:50",
  76403. "typeDescriptions": {
  76404. "typeIdentifier": "t_uint256",
  76405. "typeString": "uint256"
  76406. }
  76407. },
  76408. "visibility": "internal"
  76409. }
  76410. ],
  76411. "src": "47663:51:50"
  76412. },
  76413. "returnParameters": {
  76414. "id": 12788,
  76415. "nodeType": "ParameterList",
  76416. "parameters": [],
  76417. "src": "47729:0:50"
  76418. },
  76419. "scope": 15355,
  76420. "stateMutability": "pure",
  76421. "virtual": false,
  76422. "visibility": "internal"
  76423. },
  76424. {
  76425. "id": 12824,
  76426. "nodeType": "FunctionDefinition",
  76427. "src": "47844:192:50",
  76428. "nodes": [],
  76429. "body": {
  76430. "id": 12823,
  76431. "nodeType": "Block",
  76432. "src": "47928:108:50",
  76433. "nodes": [],
  76434. "statements": [
  76435. {
  76436. "expression": {
  76437. "arguments": [
  76438. {
  76439. "arguments": [
  76440. {
  76441. "hexValue": "6c6f6728626f6f6c2c737472696e672c75696e743235362c737472696e6729",
  76442. "id": 12815,
  76443. "isConstant": false,
  76444. "isLValue": false,
  76445. "isPure": true,
  76446. "kind": "string",
  76447. "lValueRequested": false,
  76448. "nodeType": "Literal",
  76449. "src": "47978:33:50",
  76450. "typeDescriptions": {
  76451. "typeIdentifier": "t_stringliteral_1ad96de6602c0b08f6631d6647303bccf3e586fcfa2c15fa04c5d6cbf0ffc70d",
  76452. "typeString": "literal_string \"log(bool,string,uint256,string)\""
  76453. },
  76454. "value": "log(bool,string,uint256,string)"
  76455. },
  76456. {
  76457. "id": 12816,
  76458. "name": "p0",
  76459. "nodeType": "Identifier",
  76460. "overloadedDeclarations": [],
  76461. "referencedDeclaration": 12803,
  76462. "src": "48013:2:50",
  76463. "typeDescriptions": {
  76464. "typeIdentifier": "t_bool",
  76465. "typeString": "bool"
  76466. }
  76467. },
  76468. {
  76469. "id": 12817,
  76470. "name": "p1",
  76471. "nodeType": "Identifier",
  76472. "overloadedDeclarations": [],
  76473. "referencedDeclaration": 12805,
  76474. "src": "48017:2:50",
  76475. "typeDescriptions": {
  76476. "typeIdentifier": "t_string_memory_ptr",
  76477. "typeString": "string memory"
  76478. }
  76479. },
  76480. {
  76481. "id": 12818,
  76482. "name": "p2",
  76483. "nodeType": "Identifier",
  76484. "overloadedDeclarations": [],
  76485. "referencedDeclaration": 12807,
  76486. "src": "48021:2:50",
  76487. "typeDescriptions": {
  76488. "typeIdentifier": "t_uint256",
  76489. "typeString": "uint256"
  76490. }
  76491. },
  76492. {
  76493. "id": 12819,
  76494. "name": "p3",
  76495. "nodeType": "Identifier",
  76496. "overloadedDeclarations": [],
  76497. "referencedDeclaration": 12809,
  76498. "src": "48025:2:50",
  76499. "typeDescriptions": {
  76500. "typeIdentifier": "t_string_memory_ptr",
  76501. "typeString": "string memory"
  76502. }
  76503. }
  76504. ],
  76505. "expression": {
  76506. "argumentTypes": [
  76507. {
  76508. "typeIdentifier": "t_stringliteral_1ad96de6602c0b08f6631d6647303bccf3e586fcfa2c15fa04c5d6cbf0ffc70d",
  76509. "typeString": "literal_string \"log(bool,string,uint256,string)\""
  76510. },
  76511. {
  76512. "typeIdentifier": "t_bool",
  76513. "typeString": "bool"
  76514. },
  76515. {
  76516. "typeIdentifier": "t_string_memory_ptr",
  76517. "typeString": "string memory"
  76518. },
  76519. {
  76520. "typeIdentifier": "t_uint256",
  76521. "typeString": "uint256"
  76522. },
  76523. {
  76524. "typeIdentifier": "t_string_memory_ptr",
  76525. "typeString": "string memory"
  76526. }
  76527. ],
  76528. "expression": {
  76529. "id": 12813,
  76530. "name": "abi",
  76531. "nodeType": "Identifier",
  76532. "overloadedDeclarations": [],
  76533. "referencedDeclaration": -1,
  76534. "src": "47954:3:50",
  76535. "typeDescriptions": {
  76536. "typeIdentifier": "t_magic_abi",
  76537. "typeString": "abi"
  76538. }
  76539. },
  76540. "id": 12814,
  76541. "isConstant": false,
  76542. "isLValue": false,
  76543. "isPure": true,
  76544. "lValueRequested": false,
  76545. "memberLocation": "47958:19:50",
  76546. "memberName": "encodeWithSignature",
  76547. "nodeType": "MemberAccess",
  76548. "src": "47954:23:50",
  76549. "typeDescriptions": {
  76550. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  76551. "typeString": "function (string memory) pure returns (bytes memory)"
  76552. }
  76553. },
  76554. "id": 12820,
  76555. "isConstant": false,
  76556. "isLValue": false,
  76557. "isPure": false,
  76558. "kind": "functionCall",
  76559. "lValueRequested": false,
  76560. "nameLocations": [],
  76561. "names": [],
  76562. "nodeType": "FunctionCall",
  76563. "src": "47954:74:50",
  76564. "tryCall": false,
  76565. "typeDescriptions": {
  76566. "typeIdentifier": "t_bytes_memory_ptr",
  76567. "typeString": "bytes memory"
  76568. }
  76569. }
  76570. ],
  76571. "expression": {
  76572. "argumentTypes": [
  76573. {
  76574. "typeIdentifier": "t_bytes_memory_ptr",
  76575. "typeString": "bytes memory"
  76576. }
  76577. ],
  76578. "id": 12812,
  76579. "name": "_sendLogPayload",
  76580. "nodeType": "Identifier",
  76581. "overloadedDeclarations": [],
  76582. "referencedDeclaration": 7315,
  76583. "src": "47938:15:50",
  76584. "typeDescriptions": {
  76585. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  76586. "typeString": "function (bytes memory) pure"
  76587. }
  76588. },
  76589. "id": 12821,
  76590. "isConstant": false,
  76591. "isLValue": false,
  76592. "isPure": false,
  76593. "kind": "functionCall",
  76594. "lValueRequested": false,
  76595. "nameLocations": [],
  76596. "names": [],
  76597. "nodeType": "FunctionCall",
  76598. "src": "47938:91:50",
  76599. "tryCall": false,
  76600. "typeDescriptions": {
  76601. "typeIdentifier": "t_tuple$__$",
  76602. "typeString": "tuple()"
  76603. }
  76604. },
  76605. "id": 12822,
  76606. "nodeType": "ExpressionStatement",
  76607. "src": "47938:91:50"
  76608. }
  76609. ]
  76610. },
  76611. "implemented": true,
  76612. "kind": "function",
  76613. "modifiers": [],
  76614. "name": "log",
  76615. "nameLocation": "47853:3:50",
  76616. "parameters": {
  76617. "id": 12810,
  76618. "nodeType": "ParameterList",
  76619. "parameters": [
  76620. {
  76621. "constant": false,
  76622. "id": 12803,
  76623. "mutability": "mutable",
  76624. "name": "p0",
  76625. "nameLocation": "47862:2:50",
  76626. "nodeType": "VariableDeclaration",
  76627. "scope": 12824,
  76628. "src": "47857:7:50",
  76629. "stateVariable": false,
  76630. "storageLocation": "default",
  76631. "typeDescriptions": {
  76632. "typeIdentifier": "t_bool",
  76633. "typeString": "bool"
  76634. },
  76635. "typeName": {
  76636. "id": 12802,
  76637. "name": "bool",
  76638. "nodeType": "ElementaryTypeName",
  76639. "src": "47857:4:50",
  76640. "typeDescriptions": {
  76641. "typeIdentifier": "t_bool",
  76642. "typeString": "bool"
  76643. }
  76644. },
  76645. "visibility": "internal"
  76646. },
  76647. {
  76648. "constant": false,
  76649. "id": 12805,
  76650. "mutability": "mutable",
  76651. "name": "p1",
  76652. "nameLocation": "47880:2:50",
  76653. "nodeType": "VariableDeclaration",
  76654. "scope": 12824,
  76655. "src": "47866:16:50",
  76656. "stateVariable": false,
  76657. "storageLocation": "memory",
  76658. "typeDescriptions": {
  76659. "typeIdentifier": "t_string_memory_ptr",
  76660. "typeString": "string"
  76661. },
  76662. "typeName": {
  76663. "id": 12804,
  76664. "name": "string",
  76665. "nodeType": "ElementaryTypeName",
  76666. "src": "47866:6:50",
  76667. "typeDescriptions": {
  76668. "typeIdentifier": "t_string_storage_ptr",
  76669. "typeString": "string"
  76670. }
  76671. },
  76672. "visibility": "internal"
  76673. },
  76674. {
  76675. "constant": false,
  76676. "id": 12807,
  76677. "mutability": "mutable",
  76678. "name": "p2",
  76679. "nameLocation": "47892:2:50",
  76680. "nodeType": "VariableDeclaration",
  76681. "scope": 12824,
  76682. "src": "47884:10:50",
  76683. "stateVariable": false,
  76684. "storageLocation": "default",
  76685. "typeDescriptions": {
  76686. "typeIdentifier": "t_uint256",
  76687. "typeString": "uint256"
  76688. },
  76689. "typeName": {
  76690. "id": 12806,
  76691. "name": "uint256",
  76692. "nodeType": "ElementaryTypeName",
  76693. "src": "47884:7:50",
  76694. "typeDescriptions": {
  76695. "typeIdentifier": "t_uint256",
  76696. "typeString": "uint256"
  76697. }
  76698. },
  76699. "visibility": "internal"
  76700. },
  76701. {
  76702. "constant": false,
  76703. "id": 12809,
  76704. "mutability": "mutable",
  76705. "name": "p3",
  76706. "nameLocation": "47910:2:50",
  76707. "nodeType": "VariableDeclaration",
  76708. "scope": 12824,
  76709. "src": "47896:16:50",
  76710. "stateVariable": false,
  76711. "storageLocation": "memory",
  76712. "typeDescriptions": {
  76713. "typeIdentifier": "t_string_memory_ptr",
  76714. "typeString": "string"
  76715. },
  76716. "typeName": {
  76717. "id": 12808,
  76718. "name": "string",
  76719. "nodeType": "ElementaryTypeName",
  76720. "src": "47896:6:50",
  76721. "typeDescriptions": {
  76722. "typeIdentifier": "t_string_storage_ptr",
  76723. "typeString": "string"
  76724. }
  76725. },
  76726. "visibility": "internal"
  76727. }
  76728. ],
  76729. "src": "47856:57:50"
  76730. },
  76731. "returnParameters": {
  76732. "id": 12811,
  76733. "nodeType": "ParameterList",
  76734. "parameters": [],
  76735. "src": "47928:0:50"
  76736. },
  76737. "scope": 15355,
  76738. "stateMutability": "pure",
  76739. "virtual": false,
  76740. "visibility": "internal"
  76741. },
  76742. {
  76743. "id": 12847,
  76744. "nodeType": "FunctionDefinition",
  76745. "src": "48042:181:50",
  76746. "nodes": [],
  76747. "body": {
  76748. "id": 12846,
  76749. "nodeType": "Block",
  76750. "src": "48117:106:50",
  76751. "nodes": [],
  76752. "statements": [
  76753. {
  76754. "expression": {
  76755. "arguments": [
  76756. {
  76757. "arguments": [
  76758. {
  76759. "hexValue": "6c6f6728626f6f6c2c737472696e672c75696e743235362c626f6f6c29",
  76760. "id": 12838,
  76761. "isConstant": false,
  76762. "isLValue": false,
  76763. "isPure": true,
  76764. "kind": "string",
  76765. "lValueRequested": false,
  76766. "nodeType": "Literal",
  76767. "src": "48167:31:50",
  76768. "typeDescriptions": {
  76769. "typeIdentifier": "t_stringliteral_6b0e5d538cb3332d8fd45a0c2680232536414e292adbc2f70059f1d665e25411",
  76770. "typeString": "literal_string \"log(bool,string,uint256,bool)\""
  76771. },
  76772. "value": "log(bool,string,uint256,bool)"
  76773. },
  76774. {
  76775. "id": 12839,
  76776. "name": "p0",
  76777. "nodeType": "Identifier",
  76778. "overloadedDeclarations": [],
  76779. "referencedDeclaration": 12826,
  76780. "src": "48200:2:50",
  76781. "typeDescriptions": {
  76782. "typeIdentifier": "t_bool",
  76783. "typeString": "bool"
  76784. }
  76785. },
  76786. {
  76787. "id": 12840,
  76788. "name": "p1",
  76789. "nodeType": "Identifier",
  76790. "overloadedDeclarations": [],
  76791. "referencedDeclaration": 12828,
  76792. "src": "48204:2:50",
  76793. "typeDescriptions": {
  76794. "typeIdentifier": "t_string_memory_ptr",
  76795. "typeString": "string memory"
  76796. }
  76797. },
  76798. {
  76799. "id": 12841,
  76800. "name": "p2",
  76801. "nodeType": "Identifier",
  76802. "overloadedDeclarations": [],
  76803. "referencedDeclaration": 12830,
  76804. "src": "48208:2:50",
  76805. "typeDescriptions": {
  76806. "typeIdentifier": "t_uint256",
  76807. "typeString": "uint256"
  76808. }
  76809. },
  76810. {
  76811. "id": 12842,
  76812. "name": "p3",
  76813. "nodeType": "Identifier",
  76814. "overloadedDeclarations": [],
  76815. "referencedDeclaration": 12832,
  76816. "src": "48212:2:50",
  76817. "typeDescriptions": {
  76818. "typeIdentifier": "t_bool",
  76819. "typeString": "bool"
  76820. }
  76821. }
  76822. ],
  76823. "expression": {
  76824. "argumentTypes": [
  76825. {
  76826. "typeIdentifier": "t_stringliteral_6b0e5d538cb3332d8fd45a0c2680232536414e292adbc2f70059f1d665e25411",
  76827. "typeString": "literal_string \"log(bool,string,uint256,bool)\""
  76828. },
  76829. {
  76830. "typeIdentifier": "t_bool",
  76831. "typeString": "bool"
  76832. },
  76833. {
  76834. "typeIdentifier": "t_string_memory_ptr",
  76835. "typeString": "string memory"
  76836. },
  76837. {
  76838. "typeIdentifier": "t_uint256",
  76839. "typeString": "uint256"
  76840. },
  76841. {
  76842. "typeIdentifier": "t_bool",
  76843. "typeString": "bool"
  76844. }
  76845. ],
  76846. "expression": {
  76847. "id": 12836,
  76848. "name": "abi",
  76849. "nodeType": "Identifier",
  76850. "overloadedDeclarations": [],
  76851. "referencedDeclaration": -1,
  76852. "src": "48143:3:50",
  76853. "typeDescriptions": {
  76854. "typeIdentifier": "t_magic_abi",
  76855. "typeString": "abi"
  76856. }
  76857. },
  76858. "id": 12837,
  76859. "isConstant": false,
  76860. "isLValue": false,
  76861. "isPure": true,
  76862. "lValueRequested": false,
  76863. "memberLocation": "48147:19:50",
  76864. "memberName": "encodeWithSignature",
  76865. "nodeType": "MemberAccess",
  76866. "src": "48143:23:50",
  76867. "typeDescriptions": {
  76868. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  76869. "typeString": "function (string memory) pure returns (bytes memory)"
  76870. }
  76871. },
  76872. "id": 12843,
  76873. "isConstant": false,
  76874. "isLValue": false,
  76875. "isPure": false,
  76876. "kind": "functionCall",
  76877. "lValueRequested": false,
  76878. "nameLocations": [],
  76879. "names": [],
  76880. "nodeType": "FunctionCall",
  76881. "src": "48143:72:50",
  76882. "tryCall": false,
  76883. "typeDescriptions": {
  76884. "typeIdentifier": "t_bytes_memory_ptr",
  76885. "typeString": "bytes memory"
  76886. }
  76887. }
  76888. ],
  76889. "expression": {
  76890. "argumentTypes": [
  76891. {
  76892. "typeIdentifier": "t_bytes_memory_ptr",
  76893. "typeString": "bytes memory"
  76894. }
  76895. ],
  76896. "id": 12835,
  76897. "name": "_sendLogPayload",
  76898. "nodeType": "Identifier",
  76899. "overloadedDeclarations": [],
  76900. "referencedDeclaration": 7315,
  76901. "src": "48127:15:50",
  76902. "typeDescriptions": {
  76903. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  76904. "typeString": "function (bytes memory) pure"
  76905. }
  76906. },
  76907. "id": 12844,
  76908. "isConstant": false,
  76909. "isLValue": false,
  76910. "isPure": false,
  76911. "kind": "functionCall",
  76912. "lValueRequested": false,
  76913. "nameLocations": [],
  76914. "names": [],
  76915. "nodeType": "FunctionCall",
  76916. "src": "48127:89:50",
  76917. "tryCall": false,
  76918. "typeDescriptions": {
  76919. "typeIdentifier": "t_tuple$__$",
  76920. "typeString": "tuple()"
  76921. }
  76922. },
  76923. "id": 12845,
  76924. "nodeType": "ExpressionStatement",
  76925. "src": "48127:89:50"
  76926. }
  76927. ]
  76928. },
  76929. "implemented": true,
  76930. "kind": "function",
  76931. "modifiers": [],
  76932. "name": "log",
  76933. "nameLocation": "48051:3:50",
  76934. "parameters": {
  76935. "id": 12833,
  76936. "nodeType": "ParameterList",
  76937. "parameters": [
  76938. {
  76939. "constant": false,
  76940. "id": 12826,
  76941. "mutability": "mutable",
  76942. "name": "p0",
  76943. "nameLocation": "48060:2:50",
  76944. "nodeType": "VariableDeclaration",
  76945. "scope": 12847,
  76946. "src": "48055:7:50",
  76947. "stateVariable": false,
  76948. "storageLocation": "default",
  76949. "typeDescriptions": {
  76950. "typeIdentifier": "t_bool",
  76951. "typeString": "bool"
  76952. },
  76953. "typeName": {
  76954. "id": 12825,
  76955. "name": "bool",
  76956. "nodeType": "ElementaryTypeName",
  76957. "src": "48055:4:50",
  76958. "typeDescriptions": {
  76959. "typeIdentifier": "t_bool",
  76960. "typeString": "bool"
  76961. }
  76962. },
  76963. "visibility": "internal"
  76964. },
  76965. {
  76966. "constant": false,
  76967. "id": 12828,
  76968. "mutability": "mutable",
  76969. "name": "p1",
  76970. "nameLocation": "48078:2:50",
  76971. "nodeType": "VariableDeclaration",
  76972. "scope": 12847,
  76973. "src": "48064:16:50",
  76974. "stateVariable": false,
  76975. "storageLocation": "memory",
  76976. "typeDescriptions": {
  76977. "typeIdentifier": "t_string_memory_ptr",
  76978. "typeString": "string"
  76979. },
  76980. "typeName": {
  76981. "id": 12827,
  76982. "name": "string",
  76983. "nodeType": "ElementaryTypeName",
  76984. "src": "48064:6:50",
  76985. "typeDescriptions": {
  76986. "typeIdentifier": "t_string_storage_ptr",
  76987. "typeString": "string"
  76988. }
  76989. },
  76990. "visibility": "internal"
  76991. },
  76992. {
  76993. "constant": false,
  76994. "id": 12830,
  76995. "mutability": "mutable",
  76996. "name": "p2",
  76997. "nameLocation": "48090:2:50",
  76998. "nodeType": "VariableDeclaration",
  76999. "scope": 12847,
  77000. "src": "48082:10:50",
  77001. "stateVariable": false,
  77002. "storageLocation": "default",
  77003. "typeDescriptions": {
  77004. "typeIdentifier": "t_uint256",
  77005. "typeString": "uint256"
  77006. },
  77007. "typeName": {
  77008. "id": 12829,
  77009. "name": "uint256",
  77010. "nodeType": "ElementaryTypeName",
  77011. "src": "48082:7:50",
  77012. "typeDescriptions": {
  77013. "typeIdentifier": "t_uint256",
  77014. "typeString": "uint256"
  77015. }
  77016. },
  77017. "visibility": "internal"
  77018. },
  77019. {
  77020. "constant": false,
  77021. "id": 12832,
  77022. "mutability": "mutable",
  77023. "name": "p3",
  77024. "nameLocation": "48099:2:50",
  77025. "nodeType": "VariableDeclaration",
  77026. "scope": 12847,
  77027. "src": "48094:7:50",
  77028. "stateVariable": false,
  77029. "storageLocation": "default",
  77030. "typeDescriptions": {
  77031. "typeIdentifier": "t_bool",
  77032. "typeString": "bool"
  77033. },
  77034. "typeName": {
  77035. "id": 12831,
  77036. "name": "bool",
  77037. "nodeType": "ElementaryTypeName",
  77038. "src": "48094:4:50",
  77039. "typeDescriptions": {
  77040. "typeIdentifier": "t_bool",
  77041. "typeString": "bool"
  77042. }
  77043. },
  77044. "visibility": "internal"
  77045. }
  77046. ],
  77047. "src": "48054:48:50"
  77048. },
  77049. "returnParameters": {
  77050. "id": 12834,
  77051. "nodeType": "ParameterList",
  77052. "parameters": [],
  77053. "src": "48117:0:50"
  77054. },
  77055. "scope": 15355,
  77056. "stateMutability": "pure",
  77057. "virtual": false,
  77058. "visibility": "internal"
  77059. },
  77060. {
  77061. "id": 12870,
  77062. "nodeType": "FunctionDefinition",
  77063. "src": "48229:187:50",
  77064. "nodes": [],
  77065. "body": {
  77066. "id": 12869,
  77067. "nodeType": "Block",
  77068. "src": "48307:109:50",
  77069. "nodes": [],
  77070. "statements": [
  77071. {
  77072. "expression": {
  77073. "arguments": [
  77074. {
  77075. "arguments": [
  77076. {
  77077. "hexValue": "6c6f6728626f6f6c2c737472696e672c75696e743235362c6164647265737329",
  77078. "id": 12861,
  77079. "isConstant": false,
  77080. "isLValue": false,
  77081. "isPure": true,
  77082. "kind": "string",
  77083. "lValueRequested": false,
  77084. "nodeType": "Literal",
  77085. "src": "48357:34:50",
  77086. "typeDescriptions": {
  77087. "typeIdentifier": "t_stringliteral_1596a1ceb88c7fe162cbcf294bbc564db1eb943f277b50b442bf55dba1134056",
  77088. "typeString": "literal_string \"log(bool,string,uint256,address)\""
  77089. },
  77090. "value": "log(bool,string,uint256,address)"
  77091. },
  77092. {
  77093. "id": 12862,
  77094. "name": "p0",
  77095. "nodeType": "Identifier",
  77096. "overloadedDeclarations": [],
  77097. "referencedDeclaration": 12849,
  77098. "src": "48393:2:50",
  77099. "typeDescriptions": {
  77100. "typeIdentifier": "t_bool",
  77101. "typeString": "bool"
  77102. }
  77103. },
  77104. {
  77105. "id": 12863,
  77106. "name": "p1",
  77107. "nodeType": "Identifier",
  77108. "overloadedDeclarations": [],
  77109. "referencedDeclaration": 12851,
  77110. "src": "48397:2:50",
  77111. "typeDescriptions": {
  77112. "typeIdentifier": "t_string_memory_ptr",
  77113. "typeString": "string memory"
  77114. }
  77115. },
  77116. {
  77117. "id": 12864,
  77118. "name": "p2",
  77119. "nodeType": "Identifier",
  77120. "overloadedDeclarations": [],
  77121. "referencedDeclaration": 12853,
  77122. "src": "48401:2:50",
  77123. "typeDescriptions": {
  77124. "typeIdentifier": "t_uint256",
  77125. "typeString": "uint256"
  77126. }
  77127. },
  77128. {
  77129. "id": 12865,
  77130. "name": "p3",
  77131. "nodeType": "Identifier",
  77132. "overloadedDeclarations": [],
  77133. "referencedDeclaration": 12855,
  77134. "src": "48405:2:50",
  77135. "typeDescriptions": {
  77136. "typeIdentifier": "t_address",
  77137. "typeString": "address"
  77138. }
  77139. }
  77140. ],
  77141. "expression": {
  77142. "argumentTypes": [
  77143. {
  77144. "typeIdentifier": "t_stringliteral_1596a1ceb88c7fe162cbcf294bbc564db1eb943f277b50b442bf55dba1134056",
  77145. "typeString": "literal_string \"log(bool,string,uint256,address)\""
  77146. },
  77147. {
  77148. "typeIdentifier": "t_bool",
  77149. "typeString": "bool"
  77150. },
  77151. {
  77152. "typeIdentifier": "t_string_memory_ptr",
  77153. "typeString": "string memory"
  77154. },
  77155. {
  77156. "typeIdentifier": "t_uint256",
  77157. "typeString": "uint256"
  77158. },
  77159. {
  77160. "typeIdentifier": "t_address",
  77161. "typeString": "address"
  77162. }
  77163. ],
  77164. "expression": {
  77165. "id": 12859,
  77166. "name": "abi",
  77167. "nodeType": "Identifier",
  77168. "overloadedDeclarations": [],
  77169. "referencedDeclaration": -1,
  77170. "src": "48333:3:50",
  77171. "typeDescriptions": {
  77172. "typeIdentifier": "t_magic_abi",
  77173. "typeString": "abi"
  77174. }
  77175. },
  77176. "id": 12860,
  77177. "isConstant": false,
  77178. "isLValue": false,
  77179. "isPure": true,
  77180. "lValueRequested": false,
  77181. "memberLocation": "48337:19:50",
  77182. "memberName": "encodeWithSignature",
  77183. "nodeType": "MemberAccess",
  77184. "src": "48333:23:50",
  77185. "typeDescriptions": {
  77186. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  77187. "typeString": "function (string memory) pure returns (bytes memory)"
  77188. }
  77189. },
  77190. "id": 12866,
  77191. "isConstant": false,
  77192. "isLValue": false,
  77193. "isPure": false,
  77194. "kind": "functionCall",
  77195. "lValueRequested": false,
  77196. "nameLocations": [],
  77197. "names": [],
  77198. "nodeType": "FunctionCall",
  77199. "src": "48333:75:50",
  77200. "tryCall": false,
  77201. "typeDescriptions": {
  77202. "typeIdentifier": "t_bytes_memory_ptr",
  77203. "typeString": "bytes memory"
  77204. }
  77205. }
  77206. ],
  77207. "expression": {
  77208. "argumentTypes": [
  77209. {
  77210. "typeIdentifier": "t_bytes_memory_ptr",
  77211. "typeString": "bytes memory"
  77212. }
  77213. ],
  77214. "id": 12858,
  77215. "name": "_sendLogPayload",
  77216. "nodeType": "Identifier",
  77217. "overloadedDeclarations": [],
  77218. "referencedDeclaration": 7315,
  77219. "src": "48317:15:50",
  77220. "typeDescriptions": {
  77221. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  77222. "typeString": "function (bytes memory) pure"
  77223. }
  77224. },
  77225. "id": 12867,
  77226. "isConstant": false,
  77227. "isLValue": false,
  77228. "isPure": false,
  77229. "kind": "functionCall",
  77230. "lValueRequested": false,
  77231. "nameLocations": [],
  77232. "names": [],
  77233. "nodeType": "FunctionCall",
  77234. "src": "48317:92:50",
  77235. "tryCall": false,
  77236. "typeDescriptions": {
  77237. "typeIdentifier": "t_tuple$__$",
  77238. "typeString": "tuple()"
  77239. }
  77240. },
  77241. "id": 12868,
  77242. "nodeType": "ExpressionStatement",
  77243. "src": "48317:92:50"
  77244. }
  77245. ]
  77246. },
  77247. "implemented": true,
  77248. "kind": "function",
  77249. "modifiers": [],
  77250. "name": "log",
  77251. "nameLocation": "48238:3:50",
  77252. "parameters": {
  77253. "id": 12856,
  77254. "nodeType": "ParameterList",
  77255. "parameters": [
  77256. {
  77257. "constant": false,
  77258. "id": 12849,
  77259. "mutability": "mutable",
  77260. "name": "p0",
  77261. "nameLocation": "48247:2:50",
  77262. "nodeType": "VariableDeclaration",
  77263. "scope": 12870,
  77264. "src": "48242:7:50",
  77265. "stateVariable": false,
  77266. "storageLocation": "default",
  77267. "typeDescriptions": {
  77268. "typeIdentifier": "t_bool",
  77269. "typeString": "bool"
  77270. },
  77271. "typeName": {
  77272. "id": 12848,
  77273. "name": "bool",
  77274. "nodeType": "ElementaryTypeName",
  77275. "src": "48242:4:50",
  77276. "typeDescriptions": {
  77277. "typeIdentifier": "t_bool",
  77278. "typeString": "bool"
  77279. }
  77280. },
  77281. "visibility": "internal"
  77282. },
  77283. {
  77284. "constant": false,
  77285. "id": 12851,
  77286. "mutability": "mutable",
  77287. "name": "p1",
  77288. "nameLocation": "48265:2:50",
  77289. "nodeType": "VariableDeclaration",
  77290. "scope": 12870,
  77291. "src": "48251:16:50",
  77292. "stateVariable": false,
  77293. "storageLocation": "memory",
  77294. "typeDescriptions": {
  77295. "typeIdentifier": "t_string_memory_ptr",
  77296. "typeString": "string"
  77297. },
  77298. "typeName": {
  77299. "id": 12850,
  77300. "name": "string",
  77301. "nodeType": "ElementaryTypeName",
  77302. "src": "48251:6:50",
  77303. "typeDescriptions": {
  77304. "typeIdentifier": "t_string_storage_ptr",
  77305. "typeString": "string"
  77306. }
  77307. },
  77308. "visibility": "internal"
  77309. },
  77310. {
  77311. "constant": false,
  77312. "id": 12853,
  77313. "mutability": "mutable",
  77314. "name": "p2",
  77315. "nameLocation": "48277:2:50",
  77316. "nodeType": "VariableDeclaration",
  77317. "scope": 12870,
  77318. "src": "48269:10:50",
  77319. "stateVariable": false,
  77320. "storageLocation": "default",
  77321. "typeDescriptions": {
  77322. "typeIdentifier": "t_uint256",
  77323. "typeString": "uint256"
  77324. },
  77325. "typeName": {
  77326. "id": 12852,
  77327. "name": "uint256",
  77328. "nodeType": "ElementaryTypeName",
  77329. "src": "48269:7:50",
  77330. "typeDescriptions": {
  77331. "typeIdentifier": "t_uint256",
  77332. "typeString": "uint256"
  77333. }
  77334. },
  77335. "visibility": "internal"
  77336. },
  77337. {
  77338. "constant": false,
  77339. "id": 12855,
  77340. "mutability": "mutable",
  77341. "name": "p3",
  77342. "nameLocation": "48289:2:50",
  77343. "nodeType": "VariableDeclaration",
  77344. "scope": 12870,
  77345. "src": "48281:10:50",
  77346. "stateVariable": false,
  77347. "storageLocation": "default",
  77348. "typeDescriptions": {
  77349. "typeIdentifier": "t_address",
  77350. "typeString": "address"
  77351. },
  77352. "typeName": {
  77353. "id": 12854,
  77354. "name": "address",
  77355. "nodeType": "ElementaryTypeName",
  77356. "src": "48281:7:50",
  77357. "stateMutability": "nonpayable",
  77358. "typeDescriptions": {
  77359. "typeIdentifier": "t_address",
  77360. "typeString": "address"
  77361. }
  77362. },
  77363. "visibility": "internal"
  77364. }
  77365. ],
  77366. "src": "48241:51:50"
  77367. },
  77368. "returnParameters": {
  77369. "id": 12857,
  77370. "nodeType": "ParameterList",
  77371. "parameters": [],
  77372. "src": "48307:0:50"
  77373. },
  77374. "scope": 15355,
  77375. "stateMutability": "pure",
  77376. "virtual": false,
  77377. "visibility": "internal"
  77378. },
  77379. {
  77380. "id": 12893,
  77381. "nodeType": "FunctionDefinition",
  77382. "src": "48422:192:50",
  77383. "nodes": [],
  77384. "body": {
  77385. "id": 12892,
  77386. "nodeType": "Block",
  77387. "src": "48506:108:50",
  77388. "nodes": [],
  77389. "statements": [
  77390. {
  77391. "expression": {
  77392. "arguments": [
  77393. {
  77394. "arguments": [
  77395. {
  77396. "hexValue": "6c6f6728626f6f6c2c737472696e672c737472696e672c75696e7432353629",
  77397. "id": 12884,
  77398. "isConstant": false,
  77399. "isLValue": false,
  77400. "isPure": true,
  77401. "kind": "string",
  77402. "lValueRequested": false,
  77403. "nodeType": "Literal",
  77404. "src": "48556:33:50",
  77405. "typeDescriptions": {
  77406. "typeIdentifier": "t_stringliteral_7be0c3eb1e87c47c60c12330b930fb496493960f97b03f8342bbe08fec9d20a2",
  77407. "typeString": "literal_string \"log(bool,string,string,uint256)\""
  77408. },
  77409. "value": "log(bool,string,string,uint256)"
  77410. },
  77411. {
  77412. "id": 12885,
  77413. "name": "p0",
  77414. "nodeType": "Identifier",
  77415. "overloadedDeclarations": [],
  77416. "referencedDeclaration": 12872,
  77417. "src": "48591:2:50",
  77418. "typeDescriptions": {
  77419. "typeIdentifier": "t_bool",
  77420. "typeString": "bool"
  77421. }
  77422. },
  77423. {
  77424. "id": 12886,
  77425. "name": "p1",
  77426. "nodeType": "Identifier",
  77427. "overloadedDeclarations": [],
  77428. "referencedDeclaration": 12874,
  77429. "src": "48595:2:50",
  77430. "typeDescriptions": {
  77431. "typeIdentifier": "t_string_memory_ptr",
  77432. "typeString": "string memory"
  77433. }
  77434. },
  77435. {
  77436. "id": 12887,
  77437. "name": "p2",
  77438. "nodeType": "Identifier",
  77439. "overloadedDeclarations": [],
  77440. "referencedDeclaration": 12876,
  77441. "src": "48599:2:50",
  77442. "typeDescriptions": {
  77443. "typeIdentifier": "t_string_memory_ptr",
  77444. "typeString": "string memory"
  77445. }
  77446. },
  77447. {
  77448. "id": 12888,
  77449. "name": "p3",
  77450. "nodeType": "Identifier",
  77451. "overloadedDeclarations": [],
  77452. "referencedDeclaration": 12878,
  77453. "src": "48603:2:50",
  77454. "typeDescriptions": {
  77455. "typeIdentifier": "t_uint256",
  77456. "typeString": "uint256"
  77457. }
  77458. }
  77459. ],
  77460. "expression": {
  77461. "argumentTypes": [
  77462. {
  77463. "typeIdentifier": "t_stringliteral_7be0c3eb1e87c47c60c12330b930fb496493960f97b03f8342bbe08fec9d20a2",
  77464. "typeString": "literal_string \"log(bool,string,string,uint256)\""
  77465. },
  77466. {
  77467. "typeIdentifier": "t_bool",
  77468. "typeString": "bool"
  77469. },
  77470. {
  77471. "typeIdentifier": "t_string_memory_ptr",
  77472. "typeString": "string memory"
  77473. },
  77474. {
  77475. "typeIdentifier": "t_string_memory_ptr",
  77476. "typeString": "string memory"
  77477. },
  77478. {
  77479. "typeIdentifier": "t_uint256",
  77480. "typeString": "uint256"
  77481. }
  77482. ],
  77483. "expression": {
  77484. "id": 12882,
  77485. "name": "abi",
  77486. "nodeType": "Identifier",
  77487. "overloadedDeclarations": [],
  77488. "referencedDeclaration": -1,
  77489. "src": "48532:3:50",
  77490. "typeDescriptions": {
  77491. "typeIdentifier": "t_magic_abi",
  77492. "typeString": "abi"
  77493. }
  77494. },
  77495. "id": 12883,
  77496. "isConstant": false,
  77497. "isLValue": false,
  77498. "isPure": true,
  77499. "lValueRequested": false,
  77500. "memberLocation": "48536:19:50",
  77501. "memberName": "encodeWithSignature",
  77502. "nodeType": "MemberAccess",
  77503. "src": "48532:23:50",
  77504. "typeDescriptions": {
  77505. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  77506. "typeString": "function (string memory) pure returns (bytes memory)"
  77507. }
  77508. },
  77509. "id": 12889,
  77510. "isConstant": false,
  77511. "isLValue": false,
  77512. "isPure": false,
  77513. "kind": "functionCall",
  77514. "lValueRequested": false,
  77515. "nameLocations": [],
  77516. "names": [],
  77517. "nodeType": "FunctionCall",
  77518. "src": "48532:74:50",
  77519. "tryCall": false,
  77520. "typeDescriptions": {
  77521. "typeIdentifier": "t_bytes_memory_ptr",
  77522. "typeString": "bytes memory"
  77523. }
  77524. }
  77525. ],
  77526. "expression": {
  77527. "argumentTypes": [
  77528. {
  77529. "typeIdentifier": "t_bytes_memory_ptr",
  77530. "typeString": "bytes memory"
  77531. }
  77532. ],
  77533. "id": 12881,
  77534. "name": "_sendLogPayload",
  77535. "nodeType": "Identifier",
  77536. "overloadedDeclarations": [],
  77537. "referencedDeclaration": 7315,
  77538. "src": "48516:15:50",
  77539. "typeDescriptions": {
  77540. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  77541. "typeString": "function (bytes memory) pure"
  77542. }
  77543. },
  77544. "id": 12890,
  77545. "isConstant": false,
  77546. "isLValue": false,
  77547. "isPure": false,
  77548. "kind": "functionCall",
  77549. "lValueRequested": false,
  77550. "nameLocations": [],
  77551. "names": [],
  77552. "nodeType": "FunctionCall",
  77553. "src": "48516:91:50",
  77554. "tryCall": false,
  77555. "typeDescriptions": {
  77556. "typeIdentifier": "t_tuple$__$",
  77557. "typeString": "tuple()"
  77558. }
  77559. },
  77560. "id": 12891,
  77561. "nodeType": "ExpressionStatement",
  77562. "src": "48516:91:50"
  77563. }
  77564. ]
  77565. },
  77566. "implemented": true,
  77567. "kind": "function",
  77568. "modifiers": [],
  77569. "name": "log",
  77570. "nameLocation": "48431:3:50",
  77571. "parameters": {
  77572. "id": 12879,
  77573. "nodeType": "ParameterList",
  77574. "parameters": [
  77575. {
  77576. "constant": false,
  77577. "id": 12872,
  77578. "mutability": "mutable",
  77579. "name": "p0",
  77580. "nameLocation": "48440:2:50",
  77581. "nodeType": "VariableDeclaration",
  77582. "scope": 12893,
  77583. "src": "48435:7:50",
  77584. "stateVariable": false,
  77585. "storageLocation": "default",
  77586. "typeDescriptions": {
  77587. "typeIdentifier": "t_bool",
  77588. "typeString": "bool"
  77589. },
  77590. "typeName": {
  77591. "id": 12871,
  77592. "name": "bool",
  77593. "nodeType": "ElementaryTypeName",
  77594. "src": "48435:4:50",
  77595. "typeDescriptions": {
  77596. "typeIdentifier": "t_bool",
  77597. "typeString": "bool"
  77598. }
  77599. },
  77600. "visibility": "internal"
  77601. },
  77602. {
  77603. "constant": false,
  77604. "id": 12874,
  77605. "mutability": "mutable",
  77606. "name": "p1",
  77607. "nameLocation": "48458:2:50",
  77608. "nodeType": "VariableDeclaration",
  77609. "scope": 12893,
  77610. "src": "48444:16:50",
  77611. "stateVariable": false,
  77612. "storageLocation": "memory",
  77613. "typeDescriptions": {
  77614. "typeIdentifier": "t_string_memory_ptr",
  77615. "typeString": "string"
  77616. },
  77617. "typeName": {
  77618. "id": 12873,
  77619. "name": "string",
  77620. "nodeType": "ElementaryTypeName",
  77621. "src": "48444:6:50",
  77622. "typeDescriptions": {
  77623. "typeIdentifier": "t_string_storage_ptr",
  77624. "typeString": "string"
  77625. }
  77626. },
  77627. "visibility": "internal"
  77628. },
  77629. {
  77630. "constant": false,
  77631. "id": 12876,
  77632. "mutability": "mutable",
  77633. "name": "p2",
  77634. "nameLocation": "48476:2:50",
  77635. "nodeType": "VariableDeclaration",
  77636. "scope": 12893,
  77637. "src": "48462:16:50",
  77638. "stateVariable": false,
  77639. "storageLocation": "memory",
  77640. "typeDescriptions": {
  77641. "typeIdentifier": "t_string_memory_ptr",
  77642. "typeString": "string"
  77643. },
  77644. "typeName": {
  77645. "id": 12875,
  77646. "name": "string",
  77647. "nodeType": "ElementaryTypeName",
  77648. "src": "48462:6:50",
  77649. "typeDescriptions": {
  77650. "typeIdentifier": "t_string_storage_ptr",
  77651. "typeString": "string"
  77652. }
  77653. },
  77654. "visibility": "internal"
  77655. },
  77656. {
  77657. "constant": false,
  77658. "id": 12878,
  77659. "mutability": "mutable",
  77660. "name": "p3",
  77661. "nameLocation": "48488:2:50",
  77662. "nodeType": "VariableDeclaration",
  77663. "scope": 12893,
  77664. "src": "48480:10:50",
  77665. "stateVariable": false,
  77666. "storageLocation": "default",
  77667. "typeDescriptions": {
  77668. "typeIdentifier": "t_uint256",
  77669. "typeString": "uint256"
  77670. },
  77671. "typeName": {
  77672. "id": 12877,
  77673. "name": "uint256",
  77674. "nodeType": "ElementaryTypeName",
  77675. "src": "48480:7:50",
  77676. "typeDescriptions": {
  77677. "typeIdentifier": "t_uint256",
  77678. "typeString": "uint256"
  77679. }
  77680. },
  77681. "visibility": "internal"
  77682. }
  77683. ],
  77684. "src": "48434:57:50"
  77685. },
  77686. "returnParameters": {
  77687. "id": 12880,
  77688. "nodeType": "ParameterList",
  77689. "parameters": [],
  77690. "src": "48506:0:50"
  77691. },
  77692. "scope": 15355,
  77693. "stateMutability": "pure",
  77694. "virtual": false,
  77695. "visibility": "internal"
  77696. },
  77697. {
  77698. "id": 12916,
  77699. "nodeType": "FunctionDefinition",
  77700. "src": "48620:197:50",
  77701. "nodes": [],
  77702. "body": {
  77703. "id": 12915,
  77704. "nodeType": "Block",
  77705. "src": "48710:107:50",
  77706. "nodes": [],
  77707. "statements": [
  77708. {
  77709. "expression": {
  77710. "arguments": [
  77711. {
  77712. "arguments": [
  77713. {
  77714. "hexValue": "6c6f6728626f6f6c2c737472696e672c737472696e672c737472696e6729",
  77715. "id": 12907,
  77716. "isConstant": false,
  77717. "isLValue": false,
  77718. "isPure": true,
  77719. "kind": "string",
  77720. "lValueRequested": false,
  77721. "nodeType": "Literal",
  77722. "src": "48760:32:50",
  77723. "typeDescriptions": {
  77724. "typeIdentifier": "t_stringliteral_1762e32af9fa924f818d8f4a6c92011d30129df73749081e0b95feea819a17c9",
  77725. "typeString": "literal_string \"log(bool,string,string,string)\""
  77726. },
  77727. "value": "log(bool,string,string,string)"
  77728. },
  77729. {
  77730. "id": 12908,
  77731. "name": "p0",
  77732. "nodeType": "Identifier",
  77733. "overloadedDeclarations": [],
  77734. "referencedDeclaration": 12895,
  77735. "src": "48794:2:50",
  77736. "typeDescriptions": {
  77737. "typeIdentifier": "t_bool",
  77738. "typeString": "bool"
  77739. }
  77740. },
  77741. {
  77742. "id": 12909,
  77743. "name": "p1",
  77744. "nodeType": "Identifier",
  77745. "overloadedDeclarations": [],
  77746. "referencedDeclaration": 12897,
  77747. "src": "48798:2:50",
  77748. "typeDescriptions": {
  77749. "typeIdentifier": "t_string_memory_ptr",
  77750. "typeString": "string memory"
  77751. }
  77752. },
  77753. {
  77754. "id": 12910,
  77755. "name": "p2",
  77756. "nodeType": "Identifier",
  77757. "overloadedDeclarations": [],
  77758. "referencedDeclaration": 12899,
  77759. "src": "48802:2:50",
  77760. "typeDescriptions": {
  77761. "typeIdentifier": "t_string_memory_ptr",
  77762. "typeString": "string memory"
  77763. }
  77764. },
  77765. {
  77766. "id": 12911,
  77767. "name": "p3",
  77768. "nodeType": "Identifier",
  77769. "overloadedDeclarations": [],
  77770. "referencedDeclaration": 12901,
  77771. "src": "48806:2:50",
  77772. "typeDescriptions": {
  77773. "typeIdentifier": "t_string_memory_ptr",
  77774. "typeString": "string memory"
  77775. }
  77776. }
  77777. ],
  77778. "expression": {
  77779. "argumentTypes": [
  77780. {
  77781. "typeIdentifier": "t_stringliteral_1762e32af9fa924f818d8f4a6c92011d30129df73749081e0b95feea819a17c9",
  77782. "typeString": "literal_string \"log(bool,string,string,string)\""
  77783. },
  77784. {
  77785. "typeIdentifier": "t_bool",
  77786. "typeString": "bool"
  77787. },
  77788. {
  77789. "typeIdentifier": "t_string_memory_ptr",
  77790. "typeString": "string memory"
  77791. },
  77792. {
  77793. "typeIdentifier": "t_string_memory_ptr",
  77794. "typeString": "string memory"
  77795. },
  77796. {
  77797. "typeIdentifier": "t_string_memory_ptr",
  77798. "typeString": "string memory"
  77799. }
  77800. ],
  77801. "expression": {
  77802. "id": 12905,
  77803. "name": "abi",
  77804. "nodeType": "Identifier",
  77805. "overloadedDeclarations": [],
  77806. "referencedDeclaration": -1,
  77807. "src": "48736:3:50",
  77808. "typeDescriptions": {
  77809. "typeIdentifier": "t_magic_abi",
  77810. "typeString": "abi"
  77811. }
  77812. },
  77813. "id": 12906,
  77814. "isConstant": false,
  77815. "isLValue": false,
  77816. "isPure": true,
  77817. "lValueRequested": false,
  77818. "memberLocation": "48740:19:50",
  77819. "memberName": "encodeWithSignature",
  77820. "nodeType": "MemberAccess",
  77821. "src": "48736:23:50",
  77822. "typeDescriptions": {
  77823. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  77824. "typeString": "function (string memory) pure returns (bytes memory)"
  77825. }
  77826. },
  77827. "id": 12912,
  77828. "isConstant": false,
  77829. "isLValue": false,
  77830. "isPure": false,
  77831. "kind": "functionCall",
  77832. "lValueRequested": false,
  77833. "nameLocations": [],
  77834. "names": [],
  77835. "nodeType": "FunctionCall",
  77836. "src": "48736:73:50",
  77837. "tryCall": false,
  77838. "typeDescriptions": {
  77839. "typeIdentifier": "t_bytes_memory_ptr",
  77840. "typeString": "bytes memory"
  77841. }
  77842. }
  77843. ],
  77844. "expression": {
  77845. "argumentTypes": [
  77846. {
  77847. "typeIdentifier": "t_bytes_memory_ptr",
  77848. "typeString": "bytes memory"
  77849. }
  77850. ],
  77851. "id": 12904,
  77852. "name": "_sendLogPayload",
  77853. "nodeType": "Identifier",
  77854. "overloadedDeclarations": [],
  77855. "referencedDeclaration": 7315,
  77856. "src": "48720:15:50",
  77857. "typeDescriptions": {
  77858. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  77859. "typeString": "function (bytes memory) pure"
  77860. }
  77861. },
  77862. "id": 12913,
  77863. "isConstant": false,
  77864. "isLValue": false,
  77865. "isPure": false,
  77866. "kind": "functionCall",
  77867. "lValueRequested": false,
  77868. "nameLocations": [],
  77869. "names": [],
  77870. "nodeType": "FunctionCall",
  77871. "src": "48720:90:50",
  77872. "tryCall": false,
  77873. "typeDescriptions": {
  77874. "typeIdentifier": "t_tuple$__$",
  77875. "typeString": "tuple()"
  77876. }
  77877. },
  77878. "id": 12914,
  77879. "nodeType": "ExpressionStatement",
  77880. "src": "48720:90:50"
  77881. }
  77882. ]
  77883. },
  77884. "implemented": true,
  77885. "kind": "function",
  77886. "modifiers": [],
  77887. "name": "log",
  77888. "nameLocation": "48629:3:50",
  77889. "parameters": {
  77890. "id": 12902,
  77891. "nodeType": "ParameterList",
  77892. "parameters": [
  77893. {
  77894. "constant": false,
  77895. "id": 12895,
  77896. "mutability": "mutable",
  77897. "name": "p0",
  77898. "nameLocation": "48638:2:50",
  77899. "nodeType": "VariableDeclaration",
  77900. "scope": 12916,
  77901. "src": "48633:7:50",
  77902. "stateVariable": false,
  77903. "storageLocation": "default",
  77904. "typeDescriptions": {
  77905. "typeIdentifier": "t_bool",
  77906. "typeString": "bool"
  77907. },
  77908. "typeName": {
  77909. "id": 12894,
  77910. "name": "bool",
  77911. "nodeType": "ElementaryTypeName",
  77912. "src": "48633:4:50",
  77913. "typeDescriptions": {
  77914. "typeIdentifier": "t_bool",
  77915. "typeString": "bool"
  77916. }
  77917. },
  77918. "visibility": "internal"
  77919. },
  77920. {
  77921. "constant": false,
  77922. "id": 12897,
  77923. "mutability": "mutable",
  77924. "name": "p1",
  77925. "nameLocation": "48656:2:50",
  77926. "nodeType": "VariableDeclaration",
  77927. "scope": 12916,
  77928. "src": "48642:16:50",
  77929. "stateVariable": false,
  77930. "storageLocation": "memory",
  77931. "typeDescriptions": {
  77932. "typeIdentifier": "t_string_memory_ptr",
  77933. "typeString": "string"
  77934. },
  77935. "typeName": {
  77936. "id": 12896,
  77937. "name": "string",
  77938. "nodeType": "ElementaryTypeName",
  77939. "src": "48642:6:50",
  77940. "typeDescriptions": {
  77941. "typeIdentifier": "t_string_storage_ptr",
  77942. "typeString": "string"
  77943. }
  77944. },
  77945. "visibility": "internal"
  77946. },
  77947. {
  77948. "constant": false,
  77949. "id": 12899,
  77950. "mutability": "mutable",
  77951. "name": "p2",
  77952. "nameLocation": "48674:2:50",
  77953. "nodeType": "VariableDeclaration",
  77954. "scope": 12916,
  77955. "src": "48660:16:50",
  77956. "stateVariable": false,
  77957. "storageLocation": "memory",
  77958. "typeDescriptions": {
  77959. "typeIdentifier": "t_string_memory_ptr",
  77960. "typeString": "string"
  77961. },
  77962. "typeName": {
  77963. "id": 12898,
  77964. "name": "string",
  77965. "nodeType": "ElementaryTypeName",
  77966. "src": "48660:6:50",
  77967. "typeDescriptions": {
  77968. "typeIdentifier": "t_string_storage_ptr",
  77969. "typeString": "string"
  77970. }
  77971. },
  77972. "visibility": "internal"
  77973. },
  77974. {
  77975. "constant": false,
  77976. "id": 12901,
  77977. "mutability": "mutable",
  77978. "name": "p3",
  77979. "nameLocation": "48692:2:50",
  77980. "nodeType": "VariableDeclaration",
  77981. "scope": 12916,
  77982. "src": "48678:16:50",
  77983. "stateVariable": false,
  77984. "storageLocation": "memory",
  77985. "typeDescriptions": {
  77986. "typeIdentifier": "t_string_memory_ptr",
  77987. "typeString": "string"
  77988. },
  77989. "typeName": {
  77990. "id": 12900,
  77991. "name": "string",
  77992. "nodeType": "ElementaryTypeName",
  77993. "src": "48678:6:50",
  77994. "typeDescriptions": {
  77995. "typeIdentifier": "t_string_storage_ptr",
  77996. "typeString": "string"
  77997. }
  77998. },
  77999. "visibility": "internal"
  78000. }
  78001. ],
  78002. "src": "48632:63:50"
  78003. },
  78004. "returnParameters": {
  78005. "id": 12903,
  78006. "nodeType": "ParameterList",
  78007. "parameters": [],
  78008. "src": "48710:0:50"
  78009. },
  78010. "scope": 15355,
  78011. "stateMutability": "pure",
  78012. "virtual": false,
  78013. "visibility": "internal"
  78014. },
  78015. {
  78016. "id": 12939,
  78017. "nodeType": "FunctionDefinition",
  78018. "src": "48823:186:50",
  78019. "nodes": [],
  78020. "body": {
  78021. "id": 12938,
  78022. "nodeType": "Block",
  78023. "src": "48904:105:50",
  78024. "nodes": [],
  78025. "statements": [
  78026. {
  78027. "expression": {
  78028. "arguments": [
  78029. {
  78030. "arguments": [
  78031. {
  78032. "hexValue": "6c6f6728626f6f6c2c737472696e672c737472696e672c626f6f6c29",
  78033. "id": 12930,
  78034. "isConstant": false,
  78035. "isLValue": false,
  78036. "isPure": true,
  78037. "kind": "string",
  78038. "lValueRequested": false,
  78039. "nodeType": "Literal",
  78040. "src": "48954:30:50",
  78041. "typeDescriptions": {
  78042. "typeIdentifier": "t_stringliteral_1e4b87e52d13efc5b368defba0463e423637ec55125c6230945d005f817198d1",
  78043. "typeString": "literal_string \"log(bool,string,string,bool)\""
  78044. },
  78045. "value": "log(bool,string,string,bool)"
  78046. },
  78047. {
  78048. "id": 12931,
  78049. "name": "p0",
  78050. "nodeType": "Identifier",
  78051. "overloadedDeclarations": [],
  78052. "referencedDeclaration": 12918,
  78053. "src": "48986:2:50",
  78054. "typeDescriptions": {
  78055. "typeIdentifier": "t_bool",
  78056. "typeString": "bool"
  78057. }
  78058. },
  78059. {
  78060. "id": 12932,
  78061. "name": "p1",
  78062. "nodeType": "Identifier",
  78063. "overloadedDeclarations": [],
  78064. "referencedDeclaration": 12920,
  78065. "src": "48990:2:50",
  78066. "typeDescriptions": {
  78067. "typeIdentifier": "t_string_memory_ptr",
  78068. "typeString": "string memory"
  78069. }
  78070. },
  78071. {
  78072. "id": 12933,
  78073. "name": "p2",
  78074. "nodeType": "Identifier",
  78075. "overloadedDeclarations": [],
  78076. "referencedDeclaration": 12922,
  78077. "src": "48994:2:50",
  78078. "typeDescriptions": {
  78079. "typeIdentifier": "t_string_memory_ptr",
  78080. "typeString": "string memory"
  78081. }
  78082. },
  78083. {
  78084. "id": 12934,
  78085. "name": "p3",
  78086. "nodeType": "Identifier",
  78087. "overloadedDeclarations": [],
  78088. "referencedDeclaration": 12924,
  78089. "src": "48998:2:50",
  78090. "typeDescriptions": {
  78091. "typeIdentifier": "t_bool",
  78092. "typeString": "bool"
  78093. }
  78094. }
  78095. ],
  78096. "expression": {
  78097. "argumentTypes": [
  78098. {
  78099. "typeIdentifier": "t_stringliteral_1e4b87e52d13efc5b368defba0463e423637ec55125c6230945d005f817198d1",
  78100. "typeString": "literal_string \"log(bool,string,string,bool)\""
  78101. },
  78102. {
  78103. "typeIdentifier": "t_bool",
  78104. "typeString": "bool"
  78105. },
  78106. {
  78107. "typeIdentifier": "t_string_memory_ptr",
  78108. "typeString": "string memory"
  78109. },
  78110. {
  78111. "typeIdentifier": "t_string_memory_ptr",
  78112. "typeString": "string memory"
  78113. },
  78114. {
  78115. "typeIdentifier": "t_bool",
  78116. "typeString": "bool"
  78117. }
  78118. ],
  78119. "expression": {
  78120. "id": 12928,
  78121. "name": "abi",
  78122. "nodeType": "Identifier",
  78123. "overloadedDeclarations": [],
  78124. "referencedDeclaration": -1,
  78125. "src": "48930:3:50",
  78126. "typeDescriptions": {
  78127. "typeIdentifier": "t_magic_abi",
  78128. "typeString": "abi"
  78129. }
  78130. },
  78131. "id": 12929,
  78132. "isConstant": false,
  78133. "isLValue": false,
  78134. "isPure": true,
  78135. "lValueRequested": false,
  78136. "memberLocation": "48934:19:50",
  78137. "memberName": "encodeWithSignature",
  78138. "nodeType": "MemberAccess",
  78139. "src": "48930:23:50",
  78140. "typeDescriptions": {
  78141. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  78142. "typeString": "function (string memory) pure returns (bytes memory)"
  78143. }
  78144. },
  78145. "id": 12935,
  78146. "isConstant": false,
  78147. "isLValue": false,
  78148. "isPure": false,
  78149. "kind": "functionCall",
  78150. "lValueRequested": false,
  78151. "nameLocations": [],
  78152. "names": [],
  78153. "nodeType": "FunctionCall",
  78154. "src": "48930:71:50",
  78155. "tryCall": false,
  78156. "typeDescriptions": {
  78157. "typeIdentifier": "t_bytes_memory_ptr",
  78158. "typeString": "bytes memory"
  78159. }
  78160. }
  78161. ],
  78162. "expression": {
  78163. "argumentTypes": [
  78164. {
  78165. "typeIdentifier": "t_bytes_memory_ptr",
  78166. "typeString": "bytes memory"
  78167. }
  78168. ],
  78169. "id": 12927,
  78170. "name": "_sendLogPayload",
  78171. "nodeType": "Identifier",
  78172. "overloadedDeclarations": [],
  78173. "referencedDeclaration": 7315,
  78174. "src": "48914:15:50",
  78175. "typeDescriptions": {
  78176. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  78177. "typeString": "function (bytes memory) pure"
  78178. }
  78179. },
  78180. "id": 12936,
  78181. "isConstant": false,
  78182. "isLValue": false,
  78183. "isPure": false,
  78184. "kind": "functionCall",
  78185. "lValueRequested": false,
  78186. "nameLocations": [],
  78187. "names": [],
  78188. "nodeType": "FunctionCall",
  78189. "src": "48914:88:50",
  78190. "tryCall": false,
  78191. "typeDescriptions": {
  78192. "typeIdentifier": "t_tuple$__$",
  78193. "typeString": "tuple()"
  78194. }
  78195. },
  78196. "id": 12937,
  78197. "nodeType": "ExpressionStatement",
  78198. "src": "48914:88:50"
  78199. }
  78200. ]
  78201. },
  78202. "implemented": true,
  78203. "kind": "function",
  78204. "modifiers": [],
  78205. "name": "log",
  78206. "nameLocation": "48832:3:50",
  78207. "parameters": {
  78208. "id": 12925,
  78209. "nodeType": "ParameterList",
  78210. "parameters": [
  78211. {
  78212. "constant": false,
  78213. "id": 12918,
  78214. "mutability": "mutable",
  78215. "name": "p0",
  78216. "nameLocation": "48841:2:50",
  78217. "nodeType": "VariableDeclaration",
  78218. "scope": 12939,
  78219. "src": "48836:7:50",
  78220. "stateVariable": false,
  78221. "storageLocation": "default",
  78222. "typeDescriptions": {
  78223. "typeIdentifier": "t_bool",
  78224. "typeString": "bool"
  78225. },
  78226. "typeName": {
  78227. "id": 12917,
  78228. "name": "bool",
  78229. "nodeType": "ElementaryTypeName",
  78230. "src": "48836:4:50",
  78231. "typeDescriptions": {
  78232. "typeIdentifier": "t_bool",
  78233. "typeString": "bool"
  78234. }
  78235. },
  78236. "visibility": "internal"
  78237. },
  78238. {
  78239. "constant": false,
  78240. "id": 12920,
  78241. "mutability": "mutable",
  78242. "name": "p1",
  78243. "nameLocation": "48859:2:50",
  78244. "nodeType": "VariableDeclaration",
  78245. "scope": 12939,
  78246. "src": "48845:16:50",
  78247. "stateVariable": false,
  78248. "storageLocation": "memory",
  78249. "typeDescriptions": {
  78250. "typeIdentifier": "t_string_memory_ptr",
  78251. "typeString": "string"
  78252. },
  78253. "typeName": {
  78254. "id": 12919,
  78255. "name": "string",
  78256. "nodeType": "ElementaryTypeName",
  78257. "src": "48845:6:50",
  78258. "typeDescriptions": {
  78259. "typeIdentifier": "t_string_storage_ptr",
  78260. "typeString": "string"
  78261. }
  78262. },
  78263. "visibility": "internal"
  78264. },
  78265. {
  78266. "constant": false,
  78267. "id": 12922,
  78268. "mutability": "mutable",
  78269. "name": "p2",
  78270. "nameLocation": "48877:2:50",
  78271. "nodeType": "VariableDeclaration",
  78272. "scope": 12939,
  78273. "src": "48863:16:50",
  78274. "stateVariable": false,
  78275. "storageLocation": "memory",
  78276. "typeDescriptions": {
  78277. "typeIdentifier": "t_string_memory_ptr",
  78278. "typeString": "string"
  78279. },
  78280. "typeName": {
  78281. "id": 12921,
  78282. "name": "string",
  78283. "nodeType": "ElementaryTypeName",
  78284. "src": "48863:6:50",
  78285. "typeDescriptions": {
  78286. "typeIdentifier": "t_string_storage_ptr",
  78287. "typeString": "string"
  78288. }
  78289. },
  78290. "visibility": "internal"
  78291. },
  78292. {
  78293. "constant": false,
  78294. "id": 12924,
  78295. "mutability": "mutable",
  78296. "name": "p3",
  78297. "nameLocation": "48886:2:50",
  78298. "nodeType": "VariableDeclaration",
  78299. "scope": 12939,
  78300. "src": "48881:7:50",
  78301. "stateVariable": false,
  78302. "storageLocation": "default",
  78303. "typeDescriptions": {
  78304. "typeIdentifier": "t_bool",
  78305. "typeString": "bool"
  78306. },
  78307. "typeName": {
  78308. "id": 12923,
  78309. "name": "bool",
  78310. "nodeType": "ElementaryTypeName",
  78311. "src": "48881:4:50",
  78312. "typeDescriptions": {
  78313. "typeIdentifier": "t_bool",
  78314. "typeString": "bool"
  78315. }
  78316. },
  78317. "visibility": "internal"
  78318. }
  78319. ],
  78320. "src": "48835:54:50"
  78321. },
  78322. "returnParameters": {
  78323. "id": 12926,
  78324. "nodeType": "ParameterList",
  78325. "parameters": [],
  78326. "src": "48904:0:50"
  78327. },
  78328. "scope": 15355,
  78329. "stateMutability": "pure",
  78330. "virtual": false,
  78331. "visibility": "internal"
  78332. },
  78333. {
  78334. "id": 12962,
  78335. "nodeType": "FunctionDefinition",
  78336. "src": "49015:192:50",
  78337. "nodes": [],
  78338. "body": {
  78339. "id": 12961,
  78340. "nodeType": "Block",
  78341. "src": "49099:108:50",
  78342. "nodes": [],
  78343. "statements": [
  78344. {
  78345. "expression": {
  78346. "arguments": [
  78347. {
  78348. "arguments": [
  78349. {
  78350. "hexValue": "6c6f6728626f6f6c2c737472696e672c737472696e672c6164647265737329",
  78351. "id": 12953,
  78352. "isConstant": false,
  78353. "isLValue": false,
  78354. "isPure": true,
  78355. "kind": "string",
  78356. "lValueRequested": false,
  78357. "nodeType": "Literal",
  78358. "src": "49149:33:50",
  78359. "typeDescriptions": {
  78360. "typeIdentifier": "t_stringliteral_97d394d89551bd441d1340d1c3dcc3b6160871bf042c6884bcb4049b2fa2bdb5",
  78361. "typeString": "literal_string \"log(bool,string,string,address)\""
  78362. },
  78363. "value": "log(bool,string,string,address)"
  78364. },
  78365. {
  78366. "id": 12954,
  78367. "name": "p0",
  78368. "nodeType": "Identifier",
  78369. "overloadedDeclarations": [],
  78370. "referencedDeclaration": 12941,
  78371. "src": "49184:2:50",
  78372. "typeDescriptions": {
  78373. "typeIdentifier": "t_bool",
  78374. "typeString": "bool"
  78375. }
  78376. },
  78377. {
  78378. "id": 12955,
  78379. "name": "p1",
  78380. "nodeType": "Identifier",
  78381. "overloadedDeclarations": [],
  78382. "referencedDeclaration": 12943,
  78383. "src": "49188:2:50",
  78384. "typeDescriptions": {
  78385. "typeIdentifier": "t_string_memory_ptr",
  78386. "typeString": "string memory"
  78387. }
  78388. },
  78389. {
  78390. "id": 12956,
  78391. "name": "p2",
  78392. "nodeType": "Identifier",
  78393. "overloadedDeclarations": [],
  78394. "referencedDeclaration": 12945,
  78395. "src": "49192:2:50",
  78396. "typeDescriptions": {
  78397. "typeIdentifier": "t_string_memory_ptr",
  78398. "typeString": "string memory"
  78399. }
  78400. },
  78401. {
  78402. "id": 12957,
  78403. "name": "p3",
  78404. "nodeType": "Identifier",
  78405. "overloadedDeclarations": [],
  78406. "referencedDeclaration": 12947,
  78407. "src": "49196:2:50",
  78408. "typeDescriptions": {
  78409. "typeIdentifier": "t_address",
  78410. "typeString": "address"
  78411. }
  78412. }
  78413. ],
  78414. "expression": {
  78415. "argumentTypes": [
  78416. {
  78417. "typeIdentifier": "t_stringliteral_97d394d89551bd441d1340d1c3dcc3b6160871bf042c6884bcb4049b2fa2bdb5",
  78418. "typeString": "literal_string \"log(bool,string,string,address)\""
  78419. },
  78420. {
  78421. "typeIdentifier": "t_bool",
  78422. "typeString": "bool"
  78423. },
  78424. {
  78425. "typeIdentifier": "t_string_memory_ptr",
  78426. "typeString": "string memory"
  78427. },
  78428. {
  78429. "typeIdentifier": "t_string_memory_ptr",
  78430. "typeString": "string memory"
  78431. },
  78432. {
  78433. "typeIdentifier": "t_address",
  78434. "typeString": "address"
  78435. }
  78436. ],
  78437. "expression": {
  78438. "id": 12951,
  78439. "name": "abi",
  78440. "nodeType": "Identifier",
  78441. "overloadedDeclarations": [],
  78442. "referencedDeclaration": -1,
  78443. "src": "49125:3:50",
  78444. "typeDescriptions": {
  78445. "typeIdentifier": "t_magic_abi",
  78446. "typeString": "abi"
  78447. }
  78448. },
  78449. "id": 12952,
  78450. "isConstant": false,
  78451. "isLValue": false,
  78452. "isPure": true,
  78453. "lValueRequested": false,
  78454. "memberLocation": "49129:19:50",
  78455. "memberName": "encodeWithSignature",
  78456. "nodeType": "MemberAccess",
  78457. "src": "49125:23:50",
  78458. "typeDescriptions": {
  78459. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  78460. "typeString": "function (string memory) pure returns (bytes memory)"
  78461. }
  78462. },
  78463. "id": 12958,
  78464. "isConstant": false,
  78465. "isLValue": false,
  78466. "isPure": false,
  78467. "kind": "functionCall",
  78468. "lValueRequested": false,
  78469. "nameLocations": [],
  78470. "names": [],
  78471. "nodeType": "FunctionCall",
  78472. "src": "49125:74:50",
  78473. "tryCall": false,
  78474. "typeDescriptions": {
  78475. "typeIdentifier": "t_bytes_memory_ptr",
  78476. "typeString": "bytes memory"
  78477. }
  78478. }
  78479. ],
  78480. "expression": {
  78481. "argumentTypes": [
  78482. {
  78483. "typeIdentifier": "t_bytes_memory_ptr",
  78484. "typeString": "bytes memory"
  78485. }
  78486. ],
  78487. "id": 12950,
  78488. "name": "_sendLogPayload",
  78489. "nodeType": "Identifier",
  78490. "overloadedDeclarations": [],
  78491. "referencedDeclaration": 7315,
  78492. "src": "49109:15:50",
  78493. "typeDescriptions": {
  78494. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  78495. "typeString": "function (bytes memory) pure"
  78496. }
  78497. },
  78498. "id": 12959,
  78499. "isConstant": false,
  78500. "isLValue": false,
  78501. "isPure": false,
  78502. "kind": "functionCall",
  78503. "lValueRequested": false,
  78504. "nameLocations": [],
  78505. "names": [],
  78506. "nodeType": "FunctionCall",
  78507. "src": "49109:91:50",
  78508. "tryCall": false,
  78509. "typeDescriptions": {
  78510. "typeIdentifier": "t_tuple$__$",
  78511. "typeString": "tuple()"
  78512. }
  78513. },
  78514. "id": 12960,
  78515. "nodeType": "ExpressionStatement",
  78516. "src": "49109:91:50"
  78517. }
  78518. ]
  78519. },
  78520. "implemented": true,
  78521. "kind": "function",
  78522. "modifiers": [],
  78523. "name": "log",
  78524. "nameLocation": "49024:3:50",
  78525. "parameters": {
  78526. "id": 12948,
  78527. "nodeType": "ParameterList",
  78528. "parameters": [
  78529. {
  78530. "constant": false,
  78531. "id": 12941,
  78532. "mutability": "mutable",
  78533. "name": "p0",
  78534. "nameLocation": "49033:2:50",
  78535. "nodeType": "VariableDeclaration",
  78536. "scope": 12962,
  78537. "src": "49028:7:50",
  78538. "stateVariable": false,
  78539. "storageLocation": "default",
  78540. "typeDescriptions": {
  78541. "typeIdentifier": "t_bool",
  78542. "typeString": "bool"
  78543. },
  78544. "typeName": {
  78545. "id": 12940,
  78546. "name": "bool",
  78547. "nodeType": "ElementaryTypeName",
  78548. "src": "49028:4:50",
  78549. "typeDescriptions": {
  78550. "typeIdentifier": "t_bool",
  78551. "typeString": "bool"
  78552. }
  78553. },
  78554. "visibility": "internal"
  78555. },
  78556. {
  78557. "constant": false,
  78558. "id": 12943,
  78559. "mutability": "mutable",
  78560. "name": "p1",
  78561. "nameLocation": "49051:2:50",
  78562. "nodeType": "VariableDeclaration",
  78563. "scope": 12962,
  78564. "src": "49037:16:50",
  78565. "stateVariable": false,
  78566. "storageLocation": "memory",
  78567. "typeDescriptions": {
  78568. "typeIdentifier": "t_string_memory_ptr",
  78569. "typeString": "string"
  78570. },
  78571. "typeName": {
  78572. "id": 12942,
  78573. "name": "string",
  78574. "nodeType": "ElementaryTypeName",
  78575. "src": "49037:6:50",
  78576. "typeDescriptions": {
  78577. "typeIdentifier": "t_string_storage_ptr",
  78578. "typeString": "string"
  78579. }
  78580. },
  78581. "visibility": "internal"
  78582. },
  78583. {
  78584. "constant": false,
  78585. "id": 12945,
  78586. "mutability": "mutable",
  78587. "name": "p2",
  78588. "nameLocation": "49069:2:50",
  78589. "nodeType": "VariableDeclaration",
  78590. "scope": 12962,
  78591. "src": "49055:16:50",
  78592. "stateVariable": false,
  78593. "storageLocation": "memory",
  78594. "typeDescriptions": {
  78595. "typeIdentifier": "t_string_memory_ptr",
  78596. "typeString": "string"
  78597. },
  78598. "typeName": {
  78599. "id": 12944,
  78600. "name": "string",
  78601. "nodeType": "ElementaryTypeName",
  78602. "src": "49055:6:50",
  78603. "typeDescriptions": {
  78604. "typeIdentifier": "t_string_storage_ptr",
  78605. "typeString": "string"
  78606. }
  78607. },
  78608. "visibility": "internal"
  78609. },
  78610. {
  78611. "constant": false,
  78612. "id": 12947,
  78613. "mutability": "mutable",
  78614. "name": "p3",
  78615. "nameLocation": "49081:2:50",
  78616. "nodeType": "VariableDeclaration",
  78617. "scope": 12962,
  78618. "src": "49073:10:50",
  78619. "stateVariable": false,
  78620. "storageLocation": "default",
  78621. "typeDescriptions": {
  78622. "typeIdentifier": "t_address",
  78623. "typeString": "address"
  78624. },
  78625. "typeName": {
  78626. "id": 12946,
  78627. "name": "address",
  78628. "nodeType": "ElementaryTypeName",
  78629. "src": "49073:7:50",
  78630. "stateMutability": "nonpayable",
  78631. "typeDescriptions": {
  78632. "typeIdentifier": "t_address",
  78633. "typeString": "address"
  78634. }
  78635. },
  78636. "visibility": "internal"
  78637. }
  78638. ],
  78639. "src": "49027:57:50"
  78640. },
  78641. "returnParameters": {
  78642. "id": 12949,
  78643. "nodeType": "ParameterList",
  78644. "parameters": [],
  78645. "src": "49099:0:50"
  78646. },
  78647. "scope": 15355,
  78648. "stateMutability": "pure",
  78649. "virtual": false,
  78650. "visibility": "internal"
  78651. },
  78652. {
  78653. "id": 12985,
  78654. "nodeType": "FunctionDefinition",
  78655. "src": "49213:181:50",
  78656. "nodes": [],
  78657. "body": {
  78658. "id": 12984,
  78659. "nodeType": "Block",
  78660. "src": "49288:106:50",
  78661. "nodes": [],
  78662. "statements": [
  78663. {
  78664. "expression": {
  78665. "arguments": [
  78666. {
  78667. "arguments": [
  78668. {
  78669. "hexValue": "6c6f6728626f6f6c2c737472696e672c626f6f6c2c75696e7432353629",
  78670. "id": 12976,
  78671. "isConstant": false,
  78672. "isLValue": false,
  78673. "isPure": true,
  78674. "kind": "string",
  78675. "lValueRequested": false,
  78676. "nodeType": "Literal",
  78677. "src": "49338:31:50",
  78678. "typeDescriptions": {
  78679. "typeIdentifier": "t_stringliteral_1606a393d6d8ee0e5b372b3b4baba691a3700cb155888ecb60500deb6038e937",
  78680. "typeString": "literal_string \"log(bool,string,bool,uint256)\""
  78681. },
  78682. "value": "log(bool,string,bool,uint256)"
  78683. },
  78684. {
  78685. "id": 12977,
  78686. "name": "p0",
  78687. "nodeType": "Identifier",
  78688. "overloadedDeclarations": [],
  78689. "referencedDeclaration": 12964,
  78690. "src": "49371:2:50",
  78691. "typeDescriptions": {
  78692. "typeIdentifier": "t_bool",
  78693. "typeString": "bool"
  78694. }
  78695. },
  78696. {
  78697. "id": 12978,
  78698. "name": "p1",
  78699. "nodeType": "Identifier",
  78700. "overloadedDeclarations": [],
  78701. "referencedDeclaration": 12966,
  78702. "src": "49375:2:50",
  78703. "typeDescriptions": {
  78704. "typeIdentifier": "t_string_memory_ptr",
  78705. "typeString": "string memory"
  78706. }
  78707. },
  78708. {
  78709. "id": 12979,
  78710. "name": "p2",
  78711. "nodeType": "Identifier",
  78712. "overloadedDeclarations": [],
  78713. "referencedDeclaration": 12968,
  78714. "src": "49379:2:50",
  78715. "typeDescriptions": {
  78716. "typeIdentifier": "t_bool",
  78717. "typeString": "bool"
  78718. }
  78719. },
  78720. {
  78721. "id": 12980,
  78722. "name": "p3",
  78723. "nodeType": "Identifier",
  78724. "overloadedDeclarations": [],
  78725. "referencedDeclaration": 12970,
  78726. "src": "49383:2:50",
  78727. "typeDescriptions": {
  78728. "typeIdentifier": "t_uint256",
  78729. "typeString": "uint256"
  78730. }
  78731. }
  78732. ],
  78733. "expression": {
  78734. "argumentTypes": [
  78735. {
  78736. "typeIdentifier": "t_stringliteral_1606a393d6d8ee0e5b372b3b4baba691a3700cb155888ecb60500deb6038e937",
  78737. "typeString": "literal_string \"log(bool,string,bool,uint256)\""
  78738. },
  78739. {
  78740. "typeIdentifier": "t_bool",
  78741. "typeString": "bool"
  78742. },
  78743. {
  78744. "typeIdentifier": "t_string_memory_ptr",
  78745. "typeString": "string memory"
  78746. },
  78747. {
  78748. "typeIdentifier": "t_bool",
  78749. "typeString": "bool"
  78750. },
  78751. {
  78752. "typeIdentifier": "t_uint256",
  78753. "typeString": "uint256"
  78754. }
  78755. ],
  78756. "expression": {
  78757. "id": 12974,
  78758. "name": "abi",
  78759. "nodeType": "Identifier",
  78760. "overloadedDeclarations": [],
  78761. "referencedDeclaration": -1,
  78762. "src": "49314:3:50",
  78763. "typeDescriptions": {
  78764. "typeIdentifier": "t_magic_abi",
  78765. "typeString": "abi"
  78766. }
  78767. },
  78768. "id": 12975,
  78769. "isConstant": false,
  78770. "isLValue": false,
  78771. "isPure": true,
  78772. "lValueRequested": false,
  78773. "memberLocation": "49318:19:50",
  78774. "memberName": "encodeWithSignature",
  78775. "nodeType": "MemberAccess",
  78776. "src": "49314:23:50",
  78777. "typeDescriptions": {
  78778. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  78779. "typeString": "function (string memory) pure returns (bytes memory)"
  78780. }
  78781. },
  78782. "id": 12981,
  78783. "isConstant": false,
  78784. "isLValue": false,
  78785. "isPure": false,
  78786. "kind": "functionCall",
  78787. "lValueRequested": false,
  78788. "nameLocations": [],
  78789. "names": [],
  78790. "nodeType": "FunctionCall",
  78791. "src": "49314:72:50",
  78792. "tryCall": false,
  78793. "typeDescriptions": {
  78794. "typeIdentifier": "t_bytes_memory_ptr",
  78795. "typeString": "bytes memory"
  78796. }
  78797. }
  78798. ],
  78799. "expression": {
  78800. "argumentTypes": [
  78801. {
  78802. "typeIdentifier": "t_bytes_memory_ptr",
  78803. "typeString": "bytes memory"
  78804. }
  78805. ],
  78806. "id": 12973,
  78807. "name": "_sendLogPayload",
  78808. "nodeType": "Identifier",
  78809. "overloadedDeclarations": [],
  78810. "referencedDeclaration": 7315,
  78811. "src": "49298:15:50",
  78812. "typeDescriptions": {
  78813. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  78814. "typeString": "function (bytes memory) pure"
  78815. }
  78816. },
  78817. "id": 12982,
  78818. "isConstant": false,
  78819. "isLValue": false,
  78820. "isPure": false,
  78821. "kind": "functionCall",
  78822. "lValueRequested": false,
  78823. "nameLocations": [],
  78824. "names": [],
  78825. "nodeType": "FunctionCall",
  78826. "src": "49298:89:50",
  78827. "tryCall": false,
  78828. "typeDescriptions": {
  78829. "typeIdentifier": "t_tuple$__$",
  78830. "typeString": "tuple()"
  78831. }
  78832. },
  78833. "id": 12983,
  78834. "nodeType": "ExpressionStatement",
  78835. "src": "49298:89:50"
  78836. }
  78837. ]
  78838. },
  78839. "implemented": true,
  78840. "kind": "function",
  78841. "modifiers": [],
  78842. "name": "log",
  78843. "nameLocation": "49222:3:50",
  78844. "parameters": {
  78845. "id": 12971,
  78846. "nodeType": "ParameterList",
  78847. "parameters": [
  78848. {
  78849. "constant": false,
  78850. "id": 12964,
  78851. "mutability": "mutable",
  78852. "name": "p0",
  78853. "nameLocation": "49231:2:50",
  78854. "nodeType": "VariableDeclaration",
  78855. "scope": 12985,
  78856. "src": "49226:7:50",
  78857. "stateVariable": false,
  78858. "storageLocation": "default",
  78859. "typeDescriptions": {
  78860. "typeIdentifier": "t_bool",
  78861. "typeString": "bool"
  78862. },
  78863. "typeName": {
  78864. "id": 12963,
  78865. "name": "bool",
  78866. "nodeType": "ElementaryTypeName",
  78867. "src": "49226:4:50",
  78868. "typeDescriptions": {
  78869. "typeIdentifier": "t_bool",
  78870. "typeString": "bool"
  78871. }
  78872. },
  78873. "visibility": "internal"
  78874. },
  78875. {
  78876. "constant": false,
  78877. "id": 12966,
  78878. "mutability": "mutable",
  78879. "name": "p1",
  78880. "nameLocation": "49249:2:50",
  78881. "nodeType": "VariableDeclaration",
  78882. "scope": 12985,
  78883. "src": "49235:16:50",
  78884. "stateVariable": false,
  78885. "storageLocation": "memory",
  78886. "typeDescriptions": {
  78887. "typeIdentifier": "t_string_memory_ptr",
  78888. "typeString": "string"
  78889. },
  78890. "typeName": {
  78891. "id": 12965,
  78892. "name": "string",
  78893. "nodeType": "ElementaryTypeName",
  78894. "src": "49235:6:50",
  78895. "typeDescriptions": {
  78896. "typeIdentifier": "t_string_storage_ptr",
  78897. "typeString": "string"
  78898. }
  78899. },
  78900. "visibility": "internal"
  78901. },
  78902. {
  78903. "constant": false,
  78904. "id": 12968,
  78905. "mutability": "mutable",
  78906. "name": "p2",
  78907. "nameLocation": "49258:2:50",
  78908. "nodeType": "VariableDeclaration",
  78909. "scope": 12985,
  78910. "src": "49253:7:50",
  78911. "stateVariable": false,
  78912. "storageLocation": "default",
  78913. "typeDescriptions": {
  78914. "typeIdentifier": "t_bool",
  78915. "typeString": "bool"
  78916. },
  78917. "typeName": {
  78918. "id": 12967,
  78919. "name": "bool",
  78920. "nodeType": "ElementaryTypeName",
  78921. "src": "49253:4:50",
  78922. "typeDescriptions": {
  78923. "typeIdentifier": "t_bool",
  78924. "typeString": "bool"
  78925. }
  78926. },
  78927. "visibility": "internal"
  78928. },
  78929. {
  78930. "constant": false,
  78931. "id": 12970,
  78932. "mutability": "mutable",
  78933. "name": "p3",
  78934. "nameLocation": "49270:2:50",
  78935. "nodeType": "VariableDeclaration",
  78936. "scope": 12985,
  78937. "src": "49262:10:50",
  78938. "stateVariable": false,
  78939. "storageLocation": "default",
  78940. "typeDescriptions": {
  78941. "typeIdentifier": "t_uint256",
  78942. "typeString": "uint256"
  78943. },
  78944. "typeName": {
  78945. "id": 12969,
  78946. "name": "uint256",
  78947. "nodeType": "ElementaryTypeName",
  78948. "src": "49262:7:50",
  78949. "typeDescriptions": {
  78950. "typeIdentifier": "t_uint256",
  78951. "typeString": "uint256"
  78952. }
  78953. },
  78954. "visibility": "internal"
  78955. }
  78956. ],
  78957. "src": "49225:48:50"
  78958. },
  78959. "returnParameters": {
  78960. "id": 12972,
  78961. "nodeType": "ParameterList",
  78962. "parameters": [],
  78963. "src": "49288:0:50"
  78964. },
  78965. "scope": 15355,
  78966. "stateMutability": "pure",
  78967. "virtual": false,
  78968. "visibility": "internal"
  78969. },
  78970. {
  78971. "id": 13008,
  78972. "nodeType": "FunctionDefinition",
  78973. "src": "49400:186:50",
  78974. "nodes": [],
  78975. "body": {
  78976. "id": 13007,
  78977. "nodeType": "Block",
  78978. "src": "49481:105:50",
  78979. "nodes": [],
  78980. "statements": [
  78981. {
  78982. "expression": {
  78983. "arguments": [
  78984. {
  78985. "arguments": [
  78986. {
  78987. "hexValue": "6c6f6728626f6f6c2c737472696e672c626f6f6c2c737472696e6729",
  78988. "id": 12999,
  78989. "isConstant": false,
  78990. "isLValue": false,
  78991. "isPure": true,
  78992. "kind": "string",
  78993. "lValueRequested": false,
  78994. "nodeType": "Literal",
  78995. "src": "49531:30:50",
  78996. "typeDescriptions": {
  78997. "typeIdentifier": "t_stringliteral_483d0416329d0c81c68975a0cac822497c590c00f8ae8be66af490d0f9215468",
  78998. "typeString": "literal_string \"log(bool,string,bool,string)\""
  78999. },
  79000. "value": "log(bool,string,bool,string)"
  79001. },
  79002. {
  79003. "id": 13000,
  79004. "name": "p0",
  79005. "nodeType": "Identifier",
  79006. "overloadedDeclarations": [],
  79007. "referencedDeclaration": 12987,
  79008. "src": "49563:2:50",
  79009. "typeDescriptions": {
  79010. "typeIdentifier": "t_bool",
  79011. "typeString": "bool"
  79012. }
  79013. },
  79014. {
  79015. "id": 13001,
  79016. "name": "p1",
  79017. "nodeType": "Identifier",
  79018. "overloadedDeclarations": [],
  79019. "referencedDeclaration": 12989,
  79020. "src": "49567:2:50",
  79021. "typeDescriptions": {
  79022. "typeIdentifier": "t_string_memory_ptr",
  79023. "typeString": "string memory"
  79024. }
  79025. },
  79026. {
  79027. "id": 13002,
  79028. "name": "p2",
  79029. "nodeType": "Identifier",
  79030. "overloadedDeclarations": [],
  79031. "referencedDeclaration": 12991,
  79032. "src": "49571:2:50",
  79033. "typeDescriptions": {
  79034. "typeIdentifier": "t_bool",
  79035. "typeString": "bool"
  79036. }
  79037. },
  79038. {
  79039. "id": 13003,
  79040. "name": "p3",
  79041. "nodeType": "Identifier",
  79042. "overloadedDeclarations": [],
  79043. "referencedDeclaration": 12993,
  79044. "src": "49575:2:50",
  79045. "typeDescriptions": {
  79046. "typeIdentifier": "t_string_memory_ptr",
  79047. "typeString": "string memory"
  79048. }
  79049. }
  79050. ],
  79051. "expression": {
  79052. "argumentTypes": [
  79053. {
  79054. "typeIdentifier": "t_stringliteral_483d0416329d0c81c68975a0cac822497c590c00f8ae8be66af490d0f9215468",
  79055. "typeString": "literal_string \"log(bool,string,bool,string)\""
  79056. },
  79057. {
  79058. "typeIdentifier": "t_bool",
  79059. "typeString": "bool"
  79060. },
  79061. {
  79062. "typeIdentifier": "t_string_memory_ptr",
  79063. "typeString": "string memory"
  79064. },
  79065. {
  79066. "typeIdentifier": "t_bool",
  79067. "typeString": "bool"
  79068. },
  79069. {
  79070. "typeIdentifier": "t_string_memory_ptr",
  79071. "typeString": "string memory"
  79072. }
  79073. ],
  79074. "expression": {
  79075. "id": 12997,
  79076. "name": "abi",
  79077. "nodeType": "Identifier",
  79078. "overloadedDeclarations": [],
  79079. "referencedDeclaration": -1,
  79080. "src": "49507:3:50",
  79081. "typeDescriptions": {
  79082. "typeIdentifier": "t_magic_abi",
  79083. "typeString": "abi"
  79084. }
  79085. },
  79086. "id": 12998,
  79087. "isConstant": false,
  79088. "isLValue": false,
  79089. "isPure": true,
  79090. "lValueRequested": false,
  79091. "memberLocation": "49511:19:50",
  79092. "memberName": "encodeWithSignature",
  79093. "nodeType": "MemberAccess",
  79094. "src": "49507:23:50",
  79095. "typeDescriptions": {
  79096. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  79097. "typeString": "function (string memory) pure returns (bytes memory)"
  79098. }
  79099. },
  79100. "id": 13004,
  79101. "isConstant": false,
  79102. "isLValue": false,
  79103. "isPure": false,
  79104. "kind": "functionCall",
  79105. "lValueRequested": false,
  79106. "nameLocations": [],
  79107. "names": [],
  79108. "nodeType": "FunctionCall",
  79109. "src": "49507:71:50",
  79110. "tryCall": false,
  79111. "typeDescriptions": {
  79112. "typeIdentifier": "t_bytes_memory_ptr",
  79113. "typeString": "bytes memory"
  79114. }
  79115. }
  79116. ],
  79117. "expression": {
  79118. "argumentTypes": [
  79119. {
  79120. "typeIdentifier": "t_bytes_memory_ptr",
  79121. "typeString": "bytes memory"
  79122. }
  79123. ],
  79124. "id": 12996,
  79125. "name": "_sendLogPayload",
  79126. "nodeType": "Identifier",
  79127. "overloadedDeclarations": [],
  79128. "referencedDeclaration": 7315,
  79129. "src": "49491:15:50",
  79130. "typeDescriptions": {
  79131. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  79132. "typeString": "function (bytes memory) pure"
  79133. }
  79134. },
  79135. "id": 13005,
  79136. "isConstant": false,
  79137. "isLValue": false,
  79138. "isPure": false,
  79139. "kind": "functionCall",
  79140. "lValueRequested": false,
  79141. "nameLocations": [],
  79142. "names": [],
  79143. "nodeType": "FunctionCall",
  79144. "src": "49491:88:50",
  79145. "tryCall": false,
  79146. "typeDescriptions": {
  79147. "typeIdentifier": "t_tuple$__$",
  79148. "typeString": "tuple()"
  79149. }
  79150. },
  79151. "id": 13006,
  79152. "nodeType": "ExpressionStatement",
  79153. "src": "49491:88:50"
  79154. }
  79155. ]
  79156. },
  79157. "implemented": true,
  79158. "kind": "function",
  79159. "modifiers": [],
  79160. "name": "log",
  79161. "nameLocation": "49409:3:50",
  79162. "parameters": {
  79163. "id": 12994,
  79164. "nodeType": "ParameterList",
  79165. "parameters": [
  79166. {
  79167. "constant": false,
  79168. "id": 12987,
  79169. "mutability": "mutable",
  79170. "name": "p0",
  79171. "nameLocation": "49418:2:50",
  79172. "nodeType": "VariableDeclaration",
  79173. "scope": 13008,
  79174. "src": "49413:7:50",
  79175. "stateVariable": false,
  79176. "storageLocation": "default",
  79177. "typeDescriptions": {
  79178. "typeIdentifier": "t_bool",
  79179. "typeString": "bool"
  79180. },
  79181. "typeName": {
  79182. "id": 12986,
  79183. "name": "bool",
  79184. "nodeType": "ElementaryTypeName",
  79185. "src": "49413:4:50",
  79186. "typeDescriptions": {
  79187. "typeIdentifier": "t_bool",
  79188. "typeString": "bool"
  79189. }
  79190. },
  79191. "visibility": "internal"
  79192. },
  79193. {
  79194. "constant": false,
  79195. "id": 12989,
  79196. "mutability": "mutable",
  79197. "name": "p1",
  79198. "nameLocation": "49436:2:50",
  79199. "nodeType": "VariableDeclaration",
  79200. "scope": 13008,
  79201. "src": "49422:16:50",
  79202. "stateVariable": false,
  79203. "storageLocation": "memory",
  79204. "typeDescriptions": {
  79205. "typeIdentifier": "t_string_memory_ptr",
  79206. "typeString": "string"
  79207. },
  79208. "typeName": {
  79209. "id": 12988,
  79210. "name": "string",
  79211. "nodeType": "ElementaryTypeName",
  79212. "src": "49422:6:50",
  79213. "typeDescriptions": {
  79214. "typeIdentifier": "t_string_storage_ptr",
  79215. "typeString": "string"
  79216. }
  79217. },
  79218. "visibility": "internal"
  79219. },
  79220. {
  79221. "constant": false,
  79222. "id": 12991,
  79223. "mutability": "mutable",
  79224. "name": "p2",
  79225. "nameLocation": "49445:2:50",
  79226. "nodeType": "VariableDeclaration",
  79227. "scope": 13008,
  79228. "src": "49440:7:50",
  79229. "stateVariable": false,
  79230. "storageLocation": "default",
  79231. "typeDescriptions": {
  79232. "typeIdentifier": "t_bool",
  79233. "typeString": "bool"
  79234. },
  79235. "typeName": {
  79236. "id": 12990,
  79237. "name": "bool",
  79238. "nodeType": "ElementaryTypeName",
  79239. "src": "49440:4:50",
  79240. "typeDescriptions": {
  79241. "typeIdentifier": "t_bool",
  79242. "typeString": "bool"
  79243. }
  79244. },
  79245. "visibility": "internal"
  79246. },
  79247. {
  79248. "constant": false,
  79249. "id": 12993,
  79250. "mutability": "mutable",
  79251. "name": "p3",
  79252. "nameLocation": "49463:2:50",
  79253. "nodeType": "VariableDeclaration",
  79254. "scope": 13008,
  79255. "src": "49449:16:50",
  79256. "stateVariable": false,
  79257. "storageLocation": "memory",
  79258. "typeDescriptions": {
  79259. "typeIdentifier": "t_string_memory_ptr",
  79260. "typeString": "string"
  79261. },
  79262. "typeName": {
  79263. "id": 12992,
  79264. "name": "string",
  79265. "nodeType": "ElementaryTypeName",
  79266. "src": "49449:6:50",
  79267. "typeDescriptions": {
  79268. "typeIdentifier": "t_string_storage_ptr",
  79269. "typeString": "string"
  79270. }
  79271. },
  79272. "visibility": "internal"
  79273. }
  79274. ],
  79275. "src": "49412:54:50"
  79276. },
  79277. "returnParameters": {
  79278. "id": 12995,
  79279. "nodeType": "ParameterList",
  79280. "parameters": [],
  79281. "src": "49481:0:50"
  79282. },
  79283. "scope": 15355,
  79284. "stateMutability": "pure",
  79285. "virtual": false,
  79286. "visibility": "internal"
  79287. },
  79288. {
  79289. "id": 13031,
  79290. "nodeType": "FunctionDefinition",
  79291. "src": "49592:175:50",
  79292. "nodes": [],
  79293. "body": {
  79294. "id": 13030,
  79295. "nodeType": "Block",
  79296. "src": "49664:103:50",
  79297. "nodes": [],
  79298. "statements": [
  79299. {
  79300. "expression": {
  79301. "arguments": [
  79302. {
  79303. "arguments": [
  79304. {
  79305. "hexValue": "6c6f6728626f6f6c2c737472696e672c626f6f6c2c626f6f6c29",
  79306. "id": 13022,
  79307. "isConstant": false,
  79308. "isLValue": false,
  79309. "isPure": true,
  79310. "kind": "string",
  79311. "lValueRequested": false,
  79312. "nodeType": "Literal",
  79313. "src": "49714:28:50",
  79314. "typeDescriptions": {
  79315. "typeIdentifier": "t_stringliteral_dc5e935b9ccf45ff13b5900aeaf3a593df3e9479fc07e9c213f5fcaa0951e91f",
  79316. "typeString": "literal_string \"log(bool,string,bool,bool)\""
  79317. },
  79318. "value": "log(bool,string,bool,bool)"
  79319. },
  79320. {
  79321. "id": 13023,
  79322. "name": "p0",
  79323. "nodeType": "Identifier",
  79324. "overloadedDeclarations": [],
  79325. "referencedDeclaration": 13010,
  79326. "src": "49744:2:50",
  79327. "typeDescriptions": {
  79328. "typeIdentifier": "t_bool",
  79329. "typeString": "bool"
  79330. }
  79331. },
  79332. {
  79333. "id": 13024,
  79334. "name": "p1",
  79335. "nodeType": "Identifier",
  79336. "overloadedDeclarations": [],
  79337. "referencedDeclaration": 13012,
  79338. "src": "49748:2:50",
  79339. "typeDescriptions": {
  79340. "typeIdentifier": "t_string_memory_ptr",
  79341. "typeString": "string memory"
  79342. }
  79343. },
  79344. {
  79345. "id": 13025,
  79346. "name": "p2",
  79347. "nodeType": "Identifier",
  79348. "overloadedDeclarations": [],
  79349. "referencedDeclaration": 13014,
  79350. "src": "49752:2:50",
  79351. "typeDescriptions": {
  79352. "typeIdentifier": "t_bool",
  79353. "typeString": "bool"
  79354. }
  79355. },
  79356. {
  79357. "id": 13026,
  79358. "name": "p3",
  79359. "nodeType": "Identifier",
  79360. "overloadedDeclarations": [],
  79361. "referencedDeclaration": 13016,
  79362. "src": "49756:2:50",
  79363. "typeDescriptions": {
  79364. "typeIdentifier": "t_bool",
  79365. "typeString": "bool"
  79366. }
  79367. }
  79368. ],
  79369. "expression": {
  79370. "argumentTypes": [
  79371. {
  79372. "typeIdentifier": "t_stringliteral_dc5e935b9ccf45ff13b5900aeaf3a593df3e9479fc07e9c213f5fcaa0951e91f",
  79373. "typeString": "literal_string \"log(bool,string,bool,bool)\""
  79374. },
  79375. {
  79376. "typeIdentifier": "t_bool",
  79377. "typeString": "bool"
  79378. },
  79379. {
  79380. "typeIdentifier": "t_string_memory_ptr",
  79381. "typeString": "string memory"
  79382. },
  79383. {
  79384. "typeIdentifier": "t_bool",
  79385. "typeString": "bool"
  79386. },
  79387. {
  79388. "typeIdentifier": "t_bool",
  79389. "typeString": "bool"
  79390. }
  79391. ],
  79392. "expression": {
  79393. "id": 13020,
  79394. "name": "abi",
  79395. "nodeType": "Identifier",
  79396. "overloadedDeclarations": [],
  79397. "referencedDeclaration": -1,
  79398. "src": "49690:3:50",
  79399. "typeDescriptions": {
  79400. "typeIdentifier": "t_magic_abi",
  79401. "typeString": "abi"
  79402. }
  79403. },
  79404. "id": 13021,
  79405. "isConstant": false,
  79406. "isLValue": false,
  79407. "isPure": true,
  79408. "lValueRequested": false,
  79409. "memberLocation": "49694:19:50",
  79410. "memberName": "encodeWithSignature",
  79411. "nodeType": "MemberAccess",
  79412. "src": "49690:23:50",
  79413. "typeDescriptions": {
  79414. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  79415. "typeString": "function (string memory) pure returns (bytes memory)"
  79416. }
  79417. },
  79418. "id": 13027,
  79419. "isConstant": false,
  79420. "isLValue": false,
  79421. "isPure": false,
  79422. "kind": "functionCall",
  79423. "lValueRequested": false,
  79424. "nameLocations": [],
  79425. "names": [],
  79426. "nodeType": "FunctionCall",
  79427. "src": "49690:69:50",
  79428. "tryCall": false,
  79429. "typeDescriptions": {
  79430. "typeIdentifier": "t_bytes_memory_ptr",
  79431. "typeString": "bytes memory"
  79432. }
  79433. }
  79434. ],
  79435. "expression": {
  79436. "argumentTypes": [
  79437. {
  79438. "typeIdentifier": "t_bytes_memory_ptr",
  79439. "typeString": "bytes memory"
  79440. }
  79441. ],
  79442. "id": 13019,
  79443. "name": "_sendLogPayload",
  79444. "nodeType": "Identifier",
  79445. "overloadedDeclarations": [],
  79446. "referencedDeclaration": 7315,
  79447. "src": "49674:15:50",
  79448. "typeDescriptions": {
  79449. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  79450. "typeString": "function (bytes memory) pure"
  79451. }
  79452. },
  79453. "id": 13028,
  79454. "isConstant": false,
  79455. "isLValue": false,
  79456. "isPure": false,
  79457. "kind": "functionCall",
  79458. "lValueRequested": false,
  79459. "nameLocations": [],
  79460. "names": [],
  79461. "nodeType": "FunctionCall",
  79462. "src": "49674:86:50",
  79463. "tryCall": false,
  79464. "typeDescriptions": {
  79465. "typeIdentifier": "t_tuple$__$",
  79466. "typeString": "tuple()"
  79467. }
  79468. },
  79469. "id": 13029,
  79470. "nodeType": "ExpressionStatement",
  79471. "src": "49674:86:50"
  79472. }
  79473. ]
  79474. },
  79475. "implemented": true,
  79476. "kind": "function",
  79477. "modifiers": [],
  79478. "name": "log",
  79479. "nameLocation": "49601:3:50",
  79480. "parameters": {
  79481. "id": 13017,
  79482. "nodeType": "ParameterList",
  79483. "parameters": [
  79484. {
  79485. "constant": false,
  79486. "id": 13010,
  79487. "mutability": "mutable",
  79488. "name": "p0",
  79489. "nameLocation": "49610:2:50",
  79490. "nodeType": "VariableDeclaration",
  79491. "scope": 13031,
  79492. "src": "49605:7:50",
  79493. "stateVariable": false,
  79494. "storageLocation": "default",
  79495. "typeDescriptions": {
  79496. "typeIdentifier": "t_bool",
  79497. "typeString": "bool"
  79498. },
  79499. "typeName": {
  79500. "id": 13009,
  79501. "name": "bool",
  79502. "nodeType": "ElementaryTypeName",
  79503. "src": "49605:4:50",
  79504. "typeDescriptions": {
  79505. "typeIdentifier": "t_bool",
  79506. "typeString": "bool"
  79507. }
  79508. },
  79509. "visibility": "internal"
  79510. },
  79511. {
  79512. "constant": false,
  79513. "id": 13012,
  79514. "mutability": "mutable",
  79515. "name": "p1",
  79516. "nameLocation": "49628:2:50",
  79517. "nodeType": "VariableDeclaration",
  79518. "scope": 13031,
  79519. "src": "49614:16:50",
  79520. "stateVariable": false,
  79521. "storageLocation": "memory",
  79522. "typeDescriptions": {
  79523. "typeIdentifier": "t_string_memory_ptr",
  79524. "typeString": "string"
  79525. },
  79526. "typeName": {
  79527. "id": 13011,
  79528. "name": "string",
  79529. "nodeType": "ElementaryTypeName",
  79530. "src": "49614:6:50",
  79531. "typeDescriptions": {
  79532. "typeIdentifier": "t_string_storage_ptr",
  79533. "typeString": "string"
  79534. }
  79535. },
  79536. "visibility": "internal"
  79537. },
  79538. {
  79539. "constant": false,
  79540. "id": 13014,
  79541. "mutability": "mutable",
  79542. "name": "p2",
  79543. "nameLocation": "49637:2:50",
  79544. "nodeType": "VariableDeclaration",
  79545. "scope": 13031,
  79546. "src": "49632:7:50",
  79547. "stateVariable": false,
  79548. "storageLocation": "default",
  79549. "typeDescriptions": {
  79550. "typeIdentifier": "t_bool",
  79551. "typeString": "bool"
  79552. },
  79553. "typeName": {
  79554. "id": 13013,
  79555. "name": "bool",
  79556. "nodeType": "ElementaryTypeName",
  79557. "src": "49632:4:50",
  79558. "typeDescriptions": {
  79559. "typeIdentifier": "t_bool",
  79560. "typeString": "bool"
  79561. }
  79562. },
  79563. "visibility": "internal"
  79564. },
  79565. {
  79566. "constant": false,
  79567. "id": 13016,
  79568. "mutability": "mutable",
  79569. "name": "p3",
  79570. "nameLocation": "49646:2:50",
  79571. "nodeType": "VariableDeclaration",
  79572. "scope": 13031,
  79573. "src": "49641:7:50",
  79574. "stateVariable": false,
  79575. "storageLocation": "default",
  79576. "typeDescriptions": {
  79577. "typeIdentifier": "t_bool",
  79578. "typeString": "bool"
  79579. },
  79580. "typeName": {
  79581. "id": 13015,
  79582. "name": "bool",
  79583. "nodeType": "ElementaryTypeName",
  79584. "src": "49641:4:50",
  79585. "typeDescriptions": {
  79586. "typeIdentifier": "t_bool",
  79587. "typeString": "bool"
  79588. }
  79589. },
  79590. "visibility": "internal"
  79591. }
  79592. ],
  79593. "src": "49604:45:50"
  79594. },
  79595. "returnParameters": {
  79596. "id": 13018,
  79597. "nodeType": "ParameterList",
  79598. "parameters": [],
  79599. "src": "49664:0:50"
  79600. },
  79601. "scope": 15355,
  79602. "stateMutability": "pure",
  79603. "virtual": false,
  79604. "visibility": "internal"
  79605. },
  79606. {
  79607. "id": 13054,
  79608. "nodeType": "FunctionDefinition",
  79609. "src": "49773:181:50",
  79610. "nodes": [],
  79611. "body": {
  79612. "id": 13053,
  79613. "nodeType": "Block",
  79614. "src": "49848:106:50",
  79615. "nodes": [],
  79616. "statements": [
  79617. {
  79618. "expression": {
  79619. "arguments": [
  79620. {
  79621. "arguments": [
  79622. {
  79623. "hexValue": "6c6f6728626f6f6c2c737472696e672c626f6f6c2c6164647265737329",
  79624. "id": 13045,
  79625. "isConstant": false,
  79626. "isLValue": false,
  79627. "isPure": true,
  79628. "kind": "string",
  79629. "lValueRequested": false,
  79630. "nodeType": "Literal",
  79631. "src": "49898:31:50",
  79632. "typeDescriptions": {
  79633. "typeIdentifier": "t_stringliteral_538e06ab06366b189ea53da7c11628ee5730bc373b0bc64719bea1a2afab03c5",
  79634. "typeString": "literal_string \"log(bool,string,bool,address)\""
  79635. },
  79636. "value": "log(bool,string,bool,address)"
  79637. },
  79638. {
  79639. "id": 13046,
  79640. "name": "p0",
  79641. "nodeType": "Identifier",
  79642. "overloadedDeclarations": [],
  79643. "referencedDeclaration": 13033,
  79644. "src": "49931:2:50",
  79645. "typeDescriptions": {
  79646. "typeIdentifier": "t_bool",
  79647. "typeString": "bool"
  79648. }
  79649. },
  79650. {
  79651. "id": 13047,
  79652. "name": "p1",
  79653. "nodeType": "Identifier",
  79654. "overloadedDeclarations": [],
  79655. "referencedDeclaration": 13035,
  79656. "src": "49935:2:50",
  79657. "typeDescriptions": {
  79658. "typeIdentifier": "t_string_memory_ptr",
  79659. "typeString": "string memory"
  79660. }
  79661. },
  79662. {
  79663. "id": 13048,
  79664. "name": "p2",
  79665. "nodeType": "Identifier",
  79666. "overloadedDeclarations": [],
  79667. "referencedDeclaration": 13037,
  79668. "src": "49939:2:50",
  79669. "typeDescriptions": {
  79670. "typeIdentifier": "t_bool",
  79671. "typeString": "bool"
  79672. }
  79673. },
  79674. {
  79675. "id": 13049,
  79676. "name": "p3",
  79677. "nodeType": "Identifier",
  79678. "overloadedDeclarations": [],
  79679. "referencedDeclaration": 13039,
  79680. "src": "49943:2:50",
  79681. "typeDescriptions": {
  79682. "typeIdentifier": "t_address",
  79683. "typeString": "address"
  79684. }
  79685. }
  79686. ],
  79687. "expression": {
  79688. "argumentTypes": [
  79689. {
  79690. "typeIdentifier": "t_stringliteral_538e06ab06366b189ea53da7c11628ee5730bc373b0bc64719bea1a2afab03c5",
  79691. "typeString": "literal_string \"log(bool,string,bool,address)\""
  79692. },
  79693. {
  79694. "typeIdentifier": "t_bool",
  79695. "typeString": "bool"
  79696. },
  79697. {
  79698. "typeIdentifier": "t_string_memory_ptr",
  79699. "typeString": "string memory"
  79700. },
  79701. {
  79702. "typeIdentifier": "t_bool",
  79703. "typeString": "bool"
  79704. },
  79705. {
  79706. "typeIdentifier": "t_address",
  79707. "typeString": "address"
  79708. }
  79709. ],
  79710. "expression": {
  79711. "id": 13043,
  79712. "name": "abi",
  79713. "nodeType": "Identifier",
  79714. "overloadedDeclarations": [],
  79715. "referencedDeclaration": -1,
  79716. "src": "49874:3:50",
  79717. "typeDescriptions": {
  79718. "typeIdentifier": "t_magic_abi",
  79719. "typeString": "abi"
  79720. }
  79721. },
  79722. "id": 13044,
  79723. "isConstant": false,
  79724. "isLValue": false,
  79725. "isPure": true,
  79726. "lValueRequested": false,
  79727. "memberLocation": "49878:19:50",
  79728. "memberName": "encodeWithSignature",
  79729. "nodeType": "MemberAccess",
  79730. "src": "49874:23:50",
  79731. "typeDescriptions": {
  79732. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  79733. "typeString": "function (string memory) pure returns (bytes memory)"
  79734. }
  79735. },
  79736. "id": 13050,
  79737. "isConstant": false,
  79738. "isLValue": false,
  79739. "isPure": false,
  79740. "kind": "functionCall",
  79741. "lValueRequested": false,
  79742. "nameLocations": [],
  79743. "names": [],
  79744. "nodeType": "FunctionCall",
  79745. "src": "49874:72:50",
  79746. "tryCall": false,
  79747. "typeDescriptions": {
  79748. "typeIdentifier": "t_bytes_memory_ptr",
  79749. "typeString": "bytes memory"
  79750. }
  79751. }
  79752. ],
  79753. "expression": {
  79754. "argumentTypes": [
  79755. {
  79756. "typeIdentifier": "t_bytes_memory_ptr",
  79757. "typeString": "bytes memory"
  79758. }
  79759. ],
  79760. "id": 13042,
  79761. "name": "_sendLogPayload",
  79762. "nodeType": "Identifier",
  79763. "overloadedDeclarations": [],
  79764. "referencedDeclaration": 7315,
  79765. "src": "49858:15:50",
  79766. "typeDescriptions": {
  79767. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  79768. "typeString": "function (bytes memory) pure"
  79769. }
  79770. },
  79771. "id": 13051,
  79772. "isConstant": false,
  79773. "isLValue": false,
  79774. "isPure": false,
  79775. "kind": "functionCall",
  79776. "lValueRequested": false,
  79777. "nameLocations": [],
  79778. "names": [],
  79779. "nodeType": "FunctionCall",
  79780. "src": "49858:89:50",
  79781. "tryCall": false,
  79782. "typeDescriptions": {
  79783. "typeIdentifier": "t_tuple$__$",
  79784. "typeString": "tuple()"
  79785. }
  79786. },
  79787. "id": 13052,
  79788. "nodeType": "ExpressionStatement",
  79789. "src": "49858:89:50"
  79790. }
  79791. ]
  79792. },
  79793. "implemented": true,
  79794. "kind": "function",
  79795. "modifiers": [],
  79796. "name": "log",
  79797. "nameLocation": "49782:3:50",
  79798. "parameters": {
  79799. "id": 13040,
  79800. "nodeType": "ParameterList",
  79801. "parameters": [
  79802. {
  79803. "constant": false,
  79804. "id": 13033,
  79805. "mutability": "mutable",
  79806. "name": "p0",
  79807. "nameLocation": "49791:2:50",
  79808. "nodeType": "VariableDeclaration",
  79809. "scope": 13054,
  79810. "src": "49786:7:50",
  79811. "stateVariable": false,
  79812. "storageLocation": "default",
  79813. "typeDescriptions": {
  79814. "typeIdentifier": "t_bool",
  79815. "typeString": "bool"
  79816. },
  79817. "typeName": {
  79818. "id": 13032,
  79819. "name": "bool",
  79820. "nodeType": "ElementaryTypeName",
  79821. "src": "49786:4:50",
  79822. "typeDescriptions": {
  79823. "typeIdentifier": "t_bool",
  79824. "typeString": "bool"
  79825. }
  79826. },
  79827. "visibility": "internal"
  79828. },
  79829. {
  79830. "constant": false,
  79831. "id": 13035,
  79832. "mutability": "mutable",
  79833. "name": "p1",
  79834. "nameLocation": "49809:2:50",
  79835. "nodeType": "VariableDeclaration",
  79836. "scope": 13054,
  79837. "src": "49795:16:50",
  79838. "stateVariable": false,
  79839. "storageLocation": "memory",
  79840. "typeDescriptions": {
  79841. "typeIdentifier": "t_string_memory_ptr",
  79842. "typeString": "string"
  79843. },
  79844. "typeName": {
  79845. "id": 13034,
  79846. "name": "string",
  79847. "nodeType": "ElementaryTypeName",
  79848. "src": "49795:6:50",
  79849. "typeDescriptions": {
  79850. "typeIdentifier": "t_string_storage_ptr",
  79851. "typeString": "string"
  79852. }
  79853. },
  79854. "visibility": "internal"
  79855. },
  79856. {
  79857. "constant": false,
  79858. "id": 13037,
  79859. "mutability": "mutable",
  79860. "name": "p2",
  79861. "nameLocation": "49818:2:50",
  79862. "nodeType": "VariableDeclaration",
  79863. "scope": 13054,
  79864. "src": "49813:7:50",
  79865. "stateVariable": false,
  79866. "storageLocation": "default",
  79867. "typeDescriptions": {
  79868. "typeIdentifier": "t_bool",
  79869. "typeString": "bool"
  79870. },
  79871. "typeName": {
  79872. "id": 13036,
  79873. "name": "bool",
  79874. "nodeType": "ElementaryTypeName",
  79875. "src": "49813:4:50",
  79876. "typeDescriptions": {
  79877. "typeIdentifier": "t_bool",
  79878. "typeString": "bool"
  79879. }
  79880. },
  79881. "visibility": "internal"
  79882. },
  79883. {
  79884. "constant": false,
  79885. "id": 13039,
  79886. "mutability": "mutable",
  79887. "name": "p3",
  79888. "nameLocation": "49830:2:50",
  79889. "nodeType": "VariableDeclaration",
  79890. "scope": 13054,
  79891. "src": "49822:10:50",
  79892. "stateVariable": false,
  79893. "storageLocation": "default",
  79894. "typeDescriptions": {
  79895. "typeIdentifier": "t_address",
  79896. "typeString": "address"
  79897. },
  79898. "typeName": {
  79899. "id": 13038,
  79900. "name": "address",
  79901. "nodeType": "ElementaryTypeName",
  79902. "src": "49822:7:50",
  79903. "stateMutability": "nonpayable",
  79904. "typeDescriptions": {
  79905. "typeIdentifier": "t_address",
  79906. "typeString": "address"
  79907. }
  79908. },
  79909. "visibility": "internal"
  79910. }
  79911. ],
  79912. "src": "49785:48:50"
  79913. },
  79914. "returnParameters": {
  79915. "id": 13041,
  79916. "nodeType": "ParameterList",
  79917. "parameters": [],
  79918. "src": "49848:0:50"
  79919. },
  79920. "scope": 15355,
  79921. "stateMutability": "pure",
  79922. "virtual": false,
  79923. "visibility": "internal"
  79924. },
  79925. {
  79926. "id": 13077,
  79927. "nodeType": "FunctionDefinition",
  79928. "src": "49960:187:50",
  79929. "nodes": [],
  79930. "body": {
  79931. "id": 13076,
  79932. "nodeType": "Block",
  79933. "src": "50038:109:50",
  79934. "nodes": [],
  79935. "statements": [
  79936. {
  79937. "expression": {
  79938. "arguments": [
  79939. {
  79940. "arguments": [
  79941. {
  79942. "hexValue": "6c6f6728626f6f6c2c737472696e672c616464726573732c75696e7432353629",
  79943. "id": 13068,
  79944. "isConstant": false,
  79945. "isLValue": false,
  79946. "isPure": true,
  79947. "kind": "string",
  79948. "lValueRequested": false,
  79949. "nodeType": "Literal",
  79950. "src": "50088:34:50",
  79951. "typeDescriptions": {
  79952. "typeIdentifier": "t_stringliteral_a5cada94c7dfdda57d4cfcf14da44c63431bfd533756a6e0d0d0a684af164218",
  79953. "typeString": "literal_string \"log(bool,string,address,uint256)\""
  79954. },
  79955. "value": "log(bool,string,address,uint256)"
  79956. },
  79957. {
  79958. "id": 13069,
  79959. "name": "p0",
  79960. "nodeType": "Identifier",
  79961. "overloadedDeclarations": [],
  79962. "referencedDeclaration": 13056,
  79963. "src": "50124:2:50",
  79964. "typeDescriptions": {
  79965. "typeIdentifier": "t_bool",
  79966. "typeString": "bool"
  79967. }
  79968. },
  79969. {
  79970. "id": 13070,
  79971. "name": "p1",
  79972. "nodeType": "Identifier",
  79973. "overloadedDeclarations": [],
  79974. "referencedDeclaration": 13058,
  79975. "src": "50128:2:50",
  79976. "typeDescriptions": {
  79977. "typeIdentifier": "t_string_memory_ptr",
  79978. "typeString": "string memory"
  79979. }
  79980. },
  79981. {
  79982. "id": 13071,
  79983. "name": "p2",
  79984. "nodeType": "Identifier",
  79985. "overloadedDeclarations": [],
  79986. "referencedDeclaration": 13060,
  79987. "src": "50132:2:50",
  79988. "typeDescriptions": {
  79989. "typeIdentifier": "t_address",
  79990. "typeString": "address"
  79991. }
  79992. },
  79993. {
  79994. "id": 13072,
  79995. "name": "p3",
  79996. "nodeType": "Identifier",
  79997. "overloadedDeclarations": [],
  79998. "referencedDeclaration": 13062,
  79999. "src": "50136:2:50",
  80000. "typeDescriptions": {
  80001. "typeIdentifier": "t_uint256",
  80002. "typeString": "uint256"
  80003. }
  80004. }
  80005. ],
  80006. "expression": {
  80007. "argumentTypes": [
  80008. {
  80009. "typeIdentifier": "t_stringliteral_a5cada94c7dfdda57d4cfcf14da44c63431bfd533756a6e0d0d0a684af164218",
  80010. "typeString": "literal_string \"log(bool,string,address,uint256)\""
  80011. },
  80012. {
  80013. "typeIdentifier": "t_bool",
  80014. "typeString": "bool"
  80015. },
  80016. {
  80017. "typeIdentifier": "t_string_memory_ptr",
  80018. "typeString": "string memory"
  80019. },
  80020. {
  80021. "typeIdentifier": "t_address",
  80022. "typeString": "address"
  80023. },
  80024. {
  80025. "typeIdentifier": "t_uint256",
  80026. "typeString": "uint256"
  80027. }
  80028. ],
  80029. "expression": {
  80030. "id": 13066,
  80031. "name": "abi",
  80032. "nodeType": "Identifier",
  80033. "overloadedDeclarations": [],
  80034. "referencedDeclaration": -1,
  80035. "src": "50064:3:50",
  80036. "typeDescriptions": {
  80037. "typeIdentifier": "t_magic_abi",
  80038. "typeString": "abi"
  80039. }
  80040. },
  80041. "id": 13067,
  80042. "isConstant": false,
  80043. "isLValue": false,
  80044. "isPure": true,
  80045. "lValueRequested": false,
  80046. "memberLocation": "50068:19:50",
  80047. "memberName": "encodeWithSignature",
  80048. "nodeType": "MemberAccess",
  80049. "src": "50064:23:50",
  80050. "typeDescriptions": {
  80051. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  80052. "typeString": "function (string memory) pure returns (bytes memory)"
  80053. }
  80054. },
  80055. "id": 13073,
  80056. "isConstant": false,
  80057. "isLValue": false,
  80058. "isPure": false,
  80059. "kind": "functionCall",
  80060. "lValueRequested": false,
  80061. "nameLocations": [],
  80062. "names": [],
  80063. "nodeType": "FunctionCall",
  80064. "src": "50064:75:50",
  80065. "tryCall": false,
  80066. "typeDescriptions": {
  80067. "typeIdentifier": "t_bytes_memory_ptr",
  80068. "typeString": "bytes memory"
  80069. }
  80070. }
  80071. ],
  80072. "expression": {
  80073. "argumentTypes": [
  80074. {
  80075. "typeIdentifier": "t_bytes_memory_ptr",
  80076. "typeString": "bytes memory"
  80077. }
  80078. ],
  80079. "id": 13065,
  80080. "name": "_sendLogPayload",
  80081. "nodeType": "Identifier",
  80082. "overloadedDeclarations": [],
  80083. "referencedDeclaration": 7315,
  80084. "src": "50048:15:50",
  80085. "typeDescriptions": {
  80086. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  80087. "typeString": "function (bytes memory) pure"
  80088. }
  80089. },
  80090. "id": 13074,
  80091. "isConstant": false,
  80092. "isLValue": false,
  80093. "isPure": false,
  80094. "kind": "functionCall",
  80095. "lValueRequested": false,
  80096. "nameLocations": [],
  80097. "names": [],
  80098. "nodeType": "FunctionCall",
  80099. "src": "50048:92:50",
  80100. "tryCall": false,
  80101. "typeDescriptions": {
  80102. "typeIdentifier": "t_tuple$__$",
  80103. "typeString": "tuple()"
  80104. }
  80105. },
  80106. "id": 13075,
  80107. "nodeType": "ExpressionStatement",
  80108. "src": "50048:92:50"
  80109. }
  80110. ]
  80111. },
  80112. "implemented": true,
  80113. "kind": "function",
  80114. "modifiers": [],
  80115. "name": "log",
  80116. "nameLocation": "49969:3:50",
  80117. "parameters": {
  80118. "id": 13063,
  80119. "nodeType": "ParameterList",
  80120. "parameters": [
  80121. {
  80122. "constant": false,
  80123. "id": 13056,
  80124. "mutability": "mutable",
  80125. "name": "p0",
  80126. "nameLocation": "49978:2:50",
  80127. "nodeType": "VariableDeclaration",
  80128. "scope": 13077,
  80129. "src": "49973:7:50",
  80130. "stateVariable": false,
  80131. "storageLocation": "default",
  80132. "typeDescriptions": {
  80133. "typeIdentifier": "t_bool",
  80134. "typeString": "bool"
  80135. },
  80136. "typeName": {
  80137. "id": 13055,
  80138. "name": "bool",
  80139. "nodeType": "ElementaryTypeName",
  80140. "src": "49973:4:50",
  80141. "typeDescriptions": {
  80142. "typeIdentifier": "t_bool",
  80143. "typeString": "bool"
  80144. }
  80145. },
  80146. "visibility": "internal"
  80147. },
  80148. {
  80149. "constant": false,
  80150. "id": 13058,
  80151. "mutability": "mutable",
  80152. "name": "p1",
  80153. "nameLocation": "49996:2:50",
  80154. "nodeType": "VariableDeclaration",
  80155. "scope": 13077,
  80156. "src": "49982:16:50",
  80157. "stateVariable": false,
  80158. "storageLocation": "memory",
  80159. "typeDescriptions": {
  80160. "typeIdentifier": "t_string_memory_ptr",
  80161. "typeString": "string"
  80162. },
  80163. "typeName": {
  80164. "id": 13057,
  80165. "name": "string",
  80166. "nodeType": "ElementaryTypeName",
  80167. "src": "49982:6:50",
  80168. "typeDescriptions": {
  80169. "typeIdentifier": "t_string_storage_ptr",
  80170. "typeString": "string"
  80171. }
  80172. },
  80173. "visibility": "internal"
  80174. },
  80175. {
  80176. "constant": false,
  80177. "id": 13060,
  80178. "mutability": "mutable",
  80179. "name": "p2",
  80180. "nameLocation": "50008:2:50",
  80181. "nodeType": "VariableDeclaration",
  80182. "scope": 13077,
  80183. "src": "50000:10:50",
  80184. "stateVariable": false,
  80185. "storageLocation": "default",
  80186. "typeDescriptions": {
  80187. "typeIdentifier": "t_address",
  80188. "typeString": "address"
  80189. },
  80190. "typeName": {
  80191. "id": 13059,
  80192. "name": "address",
  80193. "nodeType": "ElementaryTypeName",
  80194. "src": "50000:7:50",
  80195. "stateMutability": "nonpayable",
  80196. "typeDescriptions": {
  80197. "typeIdentifier": "t_address",
  80198. "typeString": "address"
  80199. }
  80200. },
  80201. "visibility": "internal"
  80202. },
  80203. {
  80204. "constant": false,
  80205. "id": 13062,
  80206. "mutability": "mutable",
  80207. "name": "p3",
  80208. "nameLocation": "50020:2:50",
  80209. "nodeType": "VariableDeclaration",
  80210. "scope": 13077,
  80211. "src": "50012:10:50",
  80212. "stateVariable": false,
  80213. "storageLocation": "default",
  80214. "typeDescriptions": {
  80215. "typeIdentifier": "t_uint256",
  80216. "typeString": "uint256"
  80217. },
  80218. "typeName": {
  80219. "id": 13061,
  80220. "name": "uint256",
  80221. "nodeType": "ElementaryTypeName",
  80222. "src": "50012:7:50",
  80223. "typeDescriptions": {
  80224. "typeIdentifier": "t_uint256",
  80225. "typeString": "uint256"
  80226. }
  80227. },
  80228. "visibility": "internal"
  80229. }
  80230. ],
  80231. "src": "49972:51:50"
  80232. },
  80233. "returnParameters": {
  80234. "id": 13064,
  80235. "nodeType": "ParameterList",
  80236. "parameters": [],
  80237. "src": "50038:0:50"
  80238. },
  80239. "scope": 15355,
  80240. "stateMutability": "pure",
  80241. "virtual": false,
  80242. "visibility": "internal"
  80243. },
  80244. {
  80245. "id": 13100,
  80246. "nodeType": "FunctionDefinition",
  80247. "src": "50153:192:50",
  80248. "nodes": [],
  80249. "body": {
  80250. "id": 13099,
  80251. "nodeType": "Block",
  80252. "src": "50237:108:50",
  80253. "nodes": [],
  80254. "statements": [
  80255. {
  80256. "expression": {
  80257. "arguments": [
  80258. {
  80259. "arguments": [
  80260. {
  80261. "hexValue": "6c6f6728626f6f6c2c737472696e672c616464726573732c737472696e6729",
  80262. "id": 13091,
  80263. "isConstant": false,
  80264. "isLValue": false,
  80265. "isPure": true,
  80266. "kind": "string",
  80267. "lValueRequested": false,
  80268. "nodeType": "Literal",
  80269. "src": "50287:33:50",
  80270. "typeDescriptions": {
  80271. "typeIdentifier": "t_stringliteral_12d6c788fea4d6144f2607e1e8821bec55a5c2dfdc4cece41a536f7b7831e7a7",
  80272. "typeString": "literal_string \"log(bool,string,address,string)\""
  80273. },
  80274. "value": "log(bool,string,address,string)"
  80275. },
  80276. {
  80277. "id": 13092,
  80278. "name": "p0",
  80279. "nodeType": "Identifier",
  80280. "overloadedDeclarations": [],
  80281. "referencedDeclaration": 13079,
  80282. "src": "50322:2:50",
  80283. "typeDescriptions": {
  80284. "typeIdentifier": "t_bool",
  80285. "typeString": "bool"
  80286. }
  80287. },
  80288. {
  80289. "id": 13093,
  80290. "name": "p1",
  80291. "nodeType": "Identifier",
  80292. "overloadedDeclarations": [],
  80293. "referencedDeclaration": 13081,
  80294. "src": "50326:2:50",
  80295. "typeDescriptions": {
  80296. "typeIdentifier": "t_string_memory_ptr",
  80297. "typeString": "string memory"
  80298. }
  80299. },
  80300. {
  80301. "id": 13094,
  80302. "name": "p2",
  80303. "nodeType": "Identifier",
  80304. "overloadedDeclarations": [],
  80305. "referencedDeclaration": 13083,
  80306. "src": "50330:2:50",
  80307. "typeDescriptions": {
  80308. "typeIdentifier": "t_address",
  80309. "typeString": "address"
  80310. }
  80311. },
  80312. {
  80313. "id": 13095,
  80314. "name": "p3",
  80315. "nodeType": "Identifier",
  80316. "overloadedDeclarations": [],
  80317. "referencedDeclaration": 13085,
  80318. "src": "50334:2:50",
  80319. "typeDescriptions": {
  80320. "typeIdentifier": "t_string_memory_ptr",
  80321. "typeString": "string memory"
  80322. }
  80323. }
  80324. ],
  80325. "expression": {
  80326. "argumentTypes": [
  80327. {
  80328. "typeIdentifier": "t_stringliteral_12d6c788fea4d6144f2607e1e8821bec55a5c2dfdc4cece41a536f7b7831e7a7",
  80329. "typeString": "literal_string \"log(bool,string,address,string)\""
  80330. },
  80331. {
  80332. "typeIdentifier": "t_bool",
  80333. "typeString": "bool"
  80334. },
  80335. {
  80336. "typeIdentifier": "t_string_memory_ptr",
  80337. "typeString": "string memory"
  80338. },
  80339. {
  80340. "typeIdentifier": "t_address",
  80341. "typeString": "address"
  80342. },
  80343. {
  80344. "typeIdentifier": "t_string_memory_ptr",
  80345. "typeString": "string memory"
  80346. }
  80347. ],
  80348. "expression": {
  80349. "id": 13089,
  80350. "name": "abi",
  80351. "nodeType": "Identifier",
  80352. "overloadedDeclarations": [],
  80353. "referencedDeclaration": -1,
  80354. "src": "50263:3:50",
  80355. "typeDescriptions": {
  80356. "typeIdentifier": "t_magic_abi",
  80357. "typeString": "abi"
  80358. }
  80359. },
  80360. "id": 13090,
  80361. "isConstant": false,
  80362. "isLValue": false,
  80363. "isPure": true,
  80364. "lValueRequested": false,
  80365. "memberLocation": "50267:19:50",
  80366. "memberName": "encodeWithSignature",
  80367. "nodeType": "MemberAccess",
  80368. "src": "50263:23:50",
  80369. "typeDescriptions": {
  80370. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  80371. "typeString": "function (string memory) pure returns (bytes memory)"
  80372. }
  80373. },
  80374. "id": 13096,
  80375. "isConstant": false,
  80376. "isLValue": false,
  80377. "isPure": false,
  80378. "kind": "functionCall",
  80379. "lValueRequested": false,
  80380. "nameLocations": [],
  80381. "names": [],
  80382. "nodeType": "FunctionCall",
  80383. "src": "50263:74:50",
  80384. "tryCall": false,
  80385. "typeDescriptions": {
  80386. "typeIdentifier": "t_bytes_memory_ptr",
  80387. "typeString": "bytes memory"
  80388. }
  80389. }
  80390. ],
  80391. "expression": {
  80392. "argumentTypes": [
  80393. {
  80394. "typeIdentifier": "t_bytes_memory_ptr",
  80395. "typeString": "bytes memory"
  80396. }
  80397. ],
  80398. "id": 13088,
  80399. "name": "_sendLogPayload",
  80400. "nodeType": "Identifier",
  80401. "overloadedDeclarations": [],
  80402. "referencedDeclaration": 7315,
  80403. "src": "50247:15:50",
  80404. "typeDescriptions": {
  80405. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  80406. "typeString": "function (bytes memory) pure"
  80407. }
  80408. },
  80409. "id": 13097,
  80410. "isConstant": false,
  80411. "isLValue": false,
  80412. "isPure": false,
  80413. "kind": "functionCall",
  80414. "lValueRequested": false,
  80415. "nameLocations": [],
  80416. "names": [],
  80417. "nodeType": "FunctionCall",
  80418. "src": "50247:91:50",
  80419. "tryCall": false,
  80420. "typeDescriptions": {
  80421. "typeIdentifier": "t_tuple$__$",
  80422. "typeString": "tuple()"
  80423. }
  80424. },
  80425. "id": 13098,
  80426. "nodeType": "ExpressionStatement",
  80427. "src": "50247:91:50"
  80428. }
  80429. ]
  80430. },
  80431. "implemented": true,
  80432. "kind": "function",
  80433. "modifiers": [],
  80434. "name": "log",
  80435. "nameLocation": "50162:3:50",
  80436. "parameters": {
  80437. "id": 13086,
  80438. "nodeType": "ParameterList",
  80439. "parameters": [
  80440. {
  80441. "constant": false,
  80442. "id": 13079,
  80443. "mutability": "mutable",
  80444. "name": "p0",
  80445. "nameLocation": "50171:2:50",
  80446. "nodeType": "VariableDeclaration",
  80447. "scope": 13100,
  80448. "src": "50166:7:50",
  80449. "stateVariable": false,
  80450. "storageLocation": "default",
  80451. "typeDescriptions": {
  80452. "typeIdentifier": "t_bool",
  80453. "typeString": "bool"
  80454. },
  80455. "typeName": {
  80456. "id": 13078,
  80457. "name": "bool",
  80458. "nodeType": "ElementaryTypeName",
  80459. "src": "50166:4:50",
  80460. "typeDescriptions": {
  80461. "typeIdentifier": "t_bool",
  80462. "typeString": "bool"
  80463. }
  80464. },
  80465. "visibility": "internal"
  80466. },
  80467. {
  80468. "constant": false,
  80469. "id": 13081,
  80470. "mutability": "mutable",
  80471. "name": "p1",
  80472. "nameLocation": "50189:2:50",
  80473. "nodeType": "VariableDeclaration",
  80474. "scope": 13100,
  80475. "src": "50175:16:50",
  80476. "stateVariable": false,
  80477. "storageLocation": "memory",
  80478. "typeDescriptions": {
  80479. "typeIdentifier": "t_string_memory_ptr",
  80480. "typeString": "string"
  80481. },
  80482. "typeName": {
  80483. "id": 13080,
  80484. "name": "string",
  80485. "nodeType": "ElementaryTypeName",
  80486. "src": "50175:6:50",
  80487. "typeDescriptions": {
  80488. "typeIdentifier": "t_string_storage_ptr",
  80489. "typeString": "string"
  80490. }
  80491. },
  80492. "visibility": "internal"
  80493. },
  80494. {
  80495. "constant": false,
  80496. "id": 13083,
  80497. "mutability": "mutable",
  80498. "name": "p2",
  80499. "nameLocation": "50201:2:50",
  80500. "nodeType": "VariableDeclaration",
  80501. "scope": 13100,
  80502. "src": "50193:10:50",
  80503. "stateVariable": false,
  80504. "storageLocation": "default",
  80505. "typeDescriptions": {
  80506. "typeIdentifier": "t_address",
  80507. "typeString": "address"
  80508. },
  80509. "typeName": {
  80510. "id": 13082,
  80511. "name": "address",
  80512. "nodeType": "ElementaryTypeName",
  80513. "src": "50193:7:50",
  80514. "stateMutability": "nonpayable",
  80515. "typeDescriptions": {
  80516. "typeIdentifier": "t_address",
  80517. "typeString": "address"
  80518. }
  80519. },
  80520. "visibility": "internal"
  80521. },
  80522. {
  80523. "constant": false,
  80524. "id": 13085,
  80525. "mutability": "mutable",
  80526. "name": "p3",
  80527. "nameLocation": "50219:2:50",
  80528. "nodeType": "VariableDeclaration",
  80529. "scope": 13100,
  80530. "src": "50205:16:50",
  80531. "stateVariable": false,
  80532. "storageLocation": "memory",
  80533. "typeDescriptions": {
  80534. "typeIdentifier": "t_string_memory_ptr",
  80535. "typeString": "string"
  80536. },
  80537. "typeName": {
  80538. "id": 13084,
  80539. "name": "string",
  80540. "nodeType": "ElementaryTypeName",
  80541. "src": "50205:6:50",
  80542. "typeDescriptions": {
  80543. "typeIdentifier": "t_string_storage_ptr",
  80544. "typeString": "string"
  80545. }
  80546. },
  80547. "visibility": "internal"
  80548. }
  80549. ],
  80550. "src": "50165:57:50"
  80551. },
  80552. "returnParameters": {
  80553. "id": 13087,
  80554. "nodeType": "ParameterList",
  80555. "parameters": [],
  80556. "src": "50237:0:50"
  80557. },
  80558. "scope": 15355,
  80559. "stateMutability": "pure",
  80560. "virtual": false,
  80561. "visibility": "internal"
  80562. },
  80563. {
  80564. "id": 13123,
  80565. "nodeType": "FunctionDefinition",
  80566. "src": "50351:181:50",
  80567. "nodes": [],
  80568. "body": {
  80569. "id": 13122,
  80570. "nodeType": "Block",
  80571. "src": "50426:106:50",
  80572. "nodes": [],
  80573. "statements": [
  80574. {
  80575. "expression": {
  80576. "arguments": [
  80577. {
  80578. "arguments": [
  80579. {
  80580. "hexValue": "6c6f6728626f6f6c2c737472696e672c616464726573732c626f6f6c29",
  80581. "id": 13114,
  80582. "isConstant": false,
  80583. "isLValue": false,
  80584. "isPure": true,
  80585. "kind": "string",
  80586. "lValueRequested": false,
  80587. "nodeType": "Literal",
  80588. "src": "50476:31:50",
  80589. "typeDescriptions": {
  80590. "typeIdentifier": "t_stringliteral_6dd434ca1fa26d491bcd72b7fe69eb72d41cae8eadbda5a7f985734e1b80c67d",
  80591. "typeString": "literal_string \"log(bool,string,address,bool)\""
  80592. },
  80593. "value": "log(bool,string,address,bool)"
  80594. },
  80595. {
  80596. "id": 13115,
  80597. "name": "p0",
  80598. "nodeType": "Identifier",
  80599. "overloadedDeclarations": [],
  80600. "referencedDeclaration": 13102,
  80601. "src": "50509:2:50",
  80602. "typeDescriptions": {
  80603. "typeIdentifier": "t_bool",
  80604. "typeString": "bool"
  80605. }
  80606. },
  80607. {
  80608. "id": 13116,
  80609. "name": "p1",
  80610. "nodeType": "Identifier",
  80611. "overloadedDeclarations": [],
  80612. "referencedDeclaration": 13104,
  80613. "src": "50513:2:50",
  80614. "typeDescriptions": {
  80615. "typeIdentifier": "t_string_memory_ptr",
  80616. "typeString": "string memory"
  80617. }
  80618. },
  80619. {
  80620. "id": 13117,
  80621. "name": "p2",
  80622. "nodeType": "Identifier",
  80623. "overloadedDeclarations": [],
  80624. "referencedDeclaration": 13106,
  80625. "src": "50517:2:50",
  80626. "typeDescriptions": {
  80627. "typeIdentifier": "t_address",
  80628. "typeString": "address"
  80629. }
  80630. },
  80631. {
  80632. "id": 13118,
  80633. "name": "p3",
  80634. "nodeType": "Identifier",
  80635. "overloadedDeclarations": [],
  80636. "referencedDeclaration": 13108,
  80637. "src": "50521:2:50",
  80638. "typeDescriptions": {
  80639. "typeIdentifier": "t_bool",
  80640. "typeString": "bool"
  80641. }
  80642. }
  80643. ],
  80644. "expression": {
  80645. "argumentTypes": [
  80646. {
  80647. "typeIdentifier": "t_stringliteral_6dd434ca1fa26d491bcd72b7fe69eb72d41cae8eadbda5a7f985734e1b80c67d",
  80648. "typeString": "literal_string \"log(bool,string,address,bool)\""
  80649. },
  80650. {
  80651. "typeIdentifier": "t_bool",
  80652. "typeString": "bool"
  80653. },
  80654. {
  80655. "typeIdentifier": "t_string_memory_ptr",
  80656. "typeString": "string memory"
  80657. },
  80658. {
  80659. "typeIdentifier": "t_address",
  80660. "typeString": "address"
  80661. },
  80662. {
  80663. "typeIdentifier": "t_bool",
  80664. "typeString": "bool"
  80665. }
  80666. ],
  80667. "expression": {
  80668. "id": 13112,
  80669. "name": "abi",
  80670. "nodeType": "Identifier",
  80671. "overloadedDeclarations": [],
  80672. "referencedDeclaration": -1,
  80673. "src": "50452:3:50",
  80674. "typeDescriptions": {
  80675. "typeIdentifier": "t_magic_abi",
  80676. "typeString": "abi"
  80677. }
  80678. },
  80679. "id": 13113,
  80680. "isConstant": false,
  80681. "isLValue": false,
  80682. "isPure": true,
  80683. "lValueRequested": false,
  80684. "memberLocation": "50456:19:50",
  80685. "memberName": "encodeWithSignature",
  80686. "nodeType": "MemberAccess",
  80687. "src": "50452:23:50",
  80688. "typeDescriptions": {
  80689. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  80690. "typeString": "function (string memory) pure returns (bytes memory)"
  80691. }
  80692. },
  80693. "id": 13119,
  80694. "isConstant": false,
  80695. "isLValue": false,
  80696. "isPure": false,
  80697. "kind": "functionCall",
  80698. "lValueRequested": false,
  80699. "nameLocations": [],
  80700. "names": [],
  80701. "nodeType": "FunctionCall",
  80702. "src": "50452:72:50",
  80703. "tryCall": false,
  80704. "typeDescriptions": {
  80705. "typeIdentifier": "t_bytes_memory_ptr",
  80706. "typeString": "bytes memory"
  80707. }
  80708. }
  80709. ],
  80710. "expression": {
  80711. "argumentTypes": [
  80712. {
  80713. "typeIdentifier": "t_bytes_memory_ptr",
  80714. "typeString": "bytes memory"
  80715. }
  80716. ],
  80717. "id": 13111,
  80718. "name": "_sendLogPayload",
  80719. "nodeType": "Identifier",
  80720. "overloadedDeclarations": [],
  80721. "referencedDeclaration": 7315,
  80722. "src": "50436:15:50",
  80723. "typeDescriptions": {
  80724. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  80725. "typeString": "function (bytes memory) pure"
  80726. }
  80727. },
  80728. "id": 13120,
  80729. "isConstant": false,
  80730. "isLValue": false,
  80731. "isPure": false,
  80732. "kind": "functionCall",
  80733. "lValueRequested": false,
  80734. "nameLocations": [],
  80735. "names": [],
  80736. "nodeType": "FunctionCall",
  80737. "src": "50436:89:50",
  80738. "tryCall": false,
  80739. "typeDescriptions": {
  80740. "typeIdentifier": "t_tuple$__$",
  80741. "typeString": "tuple()"
  80742. }
  80743. },
  80744. "id": 13121,
  80745. "nodeType": "ExpressionStatement",
  80746. "src": "50436:89:50"
  80747. }
  80748. ]
  80749. },
  80750. "implemented": true,
  80751. "kind": "function",
  80752. "modifiers": [],
  80753. "name": "log",
  80754. "nameLocation": "50360:3:50",
  80755. "parameters": {
  80756. "id": 13109,
  80757. "nodeType": "ParameterList",
  80758. "parameters": [
  80759. {
  80760. "constant": false,
  80761. "id": 13102,
  80762. "mutability": "mutable",
  80763. "name": "p0",
  80764. "nameLocation": "50369:2:50",
  80765. "nodeType": "VariableDeclaration",
  80766. "scope": 13123,
  80767. "src": "50364:7:50",
  80768. "stateVariable": false,
  80769. "storageLocation": "default",
  80770. "typeDescriptions": {
  80771. "typeIdentifier": "t_bool",
  80772. "typeString": "bool"
  80773. },
  80774. "typeName": {
  80775. "id": 13101,
  80776. "name": "bool",
  80777. "nodeType": "ElementaryTypeName",
  80778. "src": "50364:4:50",
  80779. "typeDescriptions": {
  80780. "typeIdentifier": "t_bool",
  80781. "typeString": "bool"
  80782. }
  80783. },
  80784. "visibility": "internal"
  80785. },
  80786. {
  80787. "constant": false,
  80788. "id": 13104,
  80789. "mutability": "mutable",
  80790. "name": "p1",
  80791. "nameLocation": "50387:2:50",
  80792. "nodeType": "VariableDeclaration",
  80793. "scope": 13123,
  80794. "src": "50373:16:50",
  80795. "stateVariable": false,
  80796. "storageLocation": "memory",
  80797. "typeDescriptions": {
  80798. "typeIdentifier": "t_string_memory_ptr",
  80799. "typeString": "string"
  80800. },
  80801. "typeName": {
  80802. "id": 13103,
  80803. "name": "string",
  80804. "nodeType": "ElementaryTypeName",
  80805. "src": "50373:6:50",
  80806. "typeDescriptions": {
  80807. "typeIdentifier": "t_string_storage_ptr",
  80808. "typeString": "string"
  80809. }
  80810. },
  80811. "visibility": "internal"
  80812. },
  80813. {
  80814. "constant": false,
  80815. "id": 13106,
  80816. "mutability": "mutable",
  80817. "name": "p2",
  80818. "nameLocation": "50399:2:50",
  80819. "nodeType": "VariableDeclaration",
  80820. "scope": 13123,
  80821. "src": "50391:10:50",
  80822. "stateVariable": false,
  80823. "storageLocation": "default",
  80824. "typeDescriptions": {
  80825. "typeIdentifier": "t_address",
  80826. "typeString": "address"
  80827. },
  80828. "typeName": {
  80829. "id": 13105,
  80830. "name": "address",
  80831. "nodeType": "ElementaryTypeName",
  80832. "src": "50391:7:50",
  80833. "stateMutability": "nonpayable",
  80834. "typeDescriptions": {
  80835. "typeIdentifier": "t_address",
  80836. "typeString": "address"
  80837. }
  80838. },
  80839. "visibility": "internal"
  80840. },
  80841. {
  80842. "constant": false,
  80843. "id": 13108,
  80844. "mutability": "mutable",
  80845. "name": "p3",
  80846. "nameLocation": "50408:2:50",
  80847. "nodeType": "VariableDeclaration",
  80848. "scope": 13123,
  80849. "src": "50403:7:50",
  80850. "stateVariable": false,
  80851. "storageLocation": "default",
  80852. "typeDescriptions": {
  80853. "typeIdentifier": "t_bool",
  80854. "typeString": "bool"
  80855. },
  80856. "typeName": {
  80857. "id": 13107,
  80858. "name": "bool",
  80859. "nodeType": "ElementaryTypeName",
  80860. "src": "50403:4:50",
  80861. "typeDescriptions": {
  80862. "typeIdentifier": "t_bool",
  80863. "typeString": "bool"
  80864. }
  80865. },
  80866. "visibility": "internal"
  80867. }
  80868. ],
  80869. "src": "50363:48:50"
  80870. },
  80871. "returnParameters": {
  80872. "id": 13110,
  80873. "nodeType": "ParameterList",
  80874. "parameters": [],
  80875. "src": "50426:0:50"
  80876. },
  80877. "scope": 15355,
  80878. "stateMutability": "pure",
  80879. "virtual": false,
  80880. "visibility": "internal"
  80881. },
  80882. {
  80883. "id": 13146,
  80884. "nodeType": "FunctionDefinition",
  80885. "src": "50538:187:50",
  80886. "nodes": [],
  80887. "body": {
  80888. "id": 13145,
  80889. "nodeType": "Block",
  80890. "src": "50616:109:50",
  80891. "nodes": [],
  80892. "statements": [
  80893. {
  80894. "expression": {
  80895. "arguments": [
  80896. {
  80897. "arguments": [
  80898. {
  80899. "hexValue": "6c6f6728626f6f6c2c737472696e672c616464726573732c6164647265737329",
  80900. "id": 13137,
  80901. "isConstant": false,
  80902. "isLValue": false,
  80903. "isPure": true,
  80904. "kind": "string",
  80905. "lValueRequested": false,
  80906. "nodeType": "Literal",
  80907. "src": "50666:34:50",
  80908. "typeDescriptions": {
  80909. "typeIdentifier": "t_stringliteral_2b2b18dc50ecc75180f201de41eca533fbda0c7bf525c06b5b8e87bc1d010822",
  80910. "typeString": "literal_string \"log(bool,string,address,address)\""
  80911. },
  80912. "value": "log(bool,string,address,address)"
  80913. },
  80914. {
  80915. "id": 13138,
  80916. "name": "p0",
  80917. "nodeType": "Identifier",
  80918. "overloadedDeclarations": [],
  80919. "referencedDeclaration": 13125,
  80920. "src": "50702:2:50",
  80921. "typeDescriptions": {
  80922. "typeIdentifier": "t_bool",
  80923. "typeString": "bool"
  80924. }
  80925. },
  80926. {
  80927. "id": 13139,
  80928. "name": "p1",
  80929. "nodeType": "Identifier",
  80930. "overloadedDeclarations": [],
  80931. "referencedDeclaration": 13127,
  80932. "src": "50706:2:50",
  80933. "typeDescriptions": {
  80934. "typeIdentifier": "t_string_memory_ptr",
  80935. "typeString": "string memory"
  80936. }
  80937. },
  80938. {
  80939. "id": 13140,
  80940. "name": "p2",
  80941. "nodeType": "Identifier",
  80942. "overloadedDeclarations": [],
  80943. "referencedDeclaration": 13129,
  80944. "src": "50710:2:50",
  80945. "typeDescriptions": {
  80946. "typeIdentifier": "t_address",
  80947. "typeString": "address"
  80948. }
  80949. },
  80950. {
  80951. "id": 13141,
  80952. "name": "p3",
  80953. "nodeType": "Identifier",
  80954. "overloadedDeclarations": [],
  80955. "referencedDeclaration": 13131,
  80956. "src": "50714:2:50",
  80957. "typeDescriptions": {
  80958. "typeIdentifier": "t_address",
  80959. "typeString": "address"
  80960. }
  80961. }
  80962. ],
  80963. "expression": {
  80964. "argumentTypes": [
  80965. {
  80966. "typeIdentifier": "t_stringliteral_2b2b18dc50ecc75180f201de41eca533fbda0c7bf525c06b5b8e87bc1d010822",
  80967. "typeString": "literal_string \"log(bool,string,address,address)\""
  80968. },
  80969. {
  80970. "typeIdentifier": "t_bool",
  80971. "typeString": "bool"
  80972. },
  80973. {
  80974. "typeIdentifier": "t_string_memory_ptr",
  80975. "typeString": "string memory"
  80976. },
  80977. {
  80978. "typeIdentifier": "t_address",
  80979. "typeString": "address"
  80980. },
  80981. {
  80982. "typeIdentifier": "t_address",
  80983. "typeString": "address"
  80984. }
  80985. ],
  80986. "expression": {
  80987. "id": 13135,
  80988. "name": "abi",
  80989. "nodeType": "Identifier",
  80990. "overloadedDeclarations": [],
  80991. "referencedDeclaration": -1,
  80992. "src": "50642:3:50",
  80993. "typeDescriptions": {
  80994. "typeIdentifier": "t_magic_abi",
  80995. "typeString": "abi"
  80996. }
  80997. },
  80998. "id": 13136,
  80999. "isConstant": false,
  81000. "isLValue": false,
  81001. "isPure": true,
  81002. "lValueRequested": false,
  81003. "memberLocation": "50646:19:50",
  81004. "memberName": "encodeWithSignature",
  81005. "nodeType": "MemberAccess",
  81006. "src": "50642:23:50",
  81007. "typeDescriptions": {
  81008. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  81009. "typeString": "function (string memory) pure returns (bytes memory)"
  81010. }
  81011. },
  81012. "id": 13142,
  81013. "isConstant": false,
  81014. "isLValue": false,
  81015. "isPure": false,
  81016. "kind": "functionCall",
  81017. "lValueRequested": false,
  81018. "nameLocations": [],
  81019. "names": [],
  81020. "nodeType": "FunctionCall",
  81021. "src": "50642:75:50",
  81022. "tryCall": false,
  81023. "typeDescriptions": {
  81024. "typeIdentifier": "t_bytes_memory_ptr",
  81025. "typeString": "bytes memory"
  81026. }
  81027. }
  81028. ],
  81029. "expression": {
  81030. "argumentTypes": [
  81031. {
  81032. "typeIdentifier": "t_bytes_memory_ptr",
  81033. "typeString": "bytes memory"
  81034. }
  81035. ],
  81036. "id": 13134,
  81037. "name": "_sendLogPayload",
  81038. "nodeType": "Identifier",
  81039. "overloadedDeclarations": [],
  81040. "referencedDeclaration": 7315,
  81041. "src": "50626:15:50",
  81042. "typeDescriptions": {
  81043. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  81044. "typeString": "function (bytes memory) pure"
  81045. }
  81046. },
  81047. "id": 13143,
  81048. "isConstant": false,
  81049. "isLValue": false,
  81050. "isPure": false,
  81051. "kind": "functionCall",
  81052. "lValueRequested": false,
  81053. "nameLocations": [],
  81054. "names": [],
  81055. "nodeType": "FunctionCall",
  81056. "src": "50626:92:50",
  81057. "tryCall": false,
  81058. "typeDescriptions": {
  81059. "typeIdentifier": "t_tuple$__$",
  81060. "typeString": "tuple()"
  81061. }
  81062. },
  81063. "id": 13144,
  81064. "nodeType": "ExpressionStatement",
  81065. "src": "50626:92:50"
  81066. }
  81067. ]
  81068. },
  81069. "implemented": true,
  81070. "kind": "function",
  81071. "modifiers": [],
  81072. "name": "log",
  81073. "nameLocation": "50547:3:50",
  81074. "parameters": {
  81075. "id": 13132,
  81076. "nodeType": "ParameterList",
  81077. "parameters": [
  81078. {
  81079. "constant": false,
  81080. "id": 13125,
  81081. "mutability": "mutable",
  81082. "name": "p0",
  81083. "nameLocation": "50556:2:50",
  81084. "nodeType": "VariableDeclaration",
  81085. "scope": 13146,
  81086. "src": "50551:7:50",
  81087. "stateVariable": false,
  81088. "storageLocation": "default",
  81089. "typeDescriptions": {
  81090. "typeIdentifier": "t_bool",
  81091. "typeString": "bool"
  81092. },
  81093. "typeName": {
  81094. "id": 13124,
  81095. "name": "bool",
  81096. "nodeType": "ElementaryTypeName",
  81097. "src": "50551:4:50",
  81098. "typeDescriptions": {
  81099. "typeIdentifier": "t_bool",
  81100. "typeString": "bool"
  81101. }
  81102. },
  81103. "visibility": "internal"
  81104. },
  81105. {
  81106. "constant": false,
  81107. "id": 13127,
  81108. "mutability": "mutable",
  81109. "name": "p1",
  81110. "nameLocation": "50574:2:50",
  81111. "nodeType": "VariableDeclaration",
  81112. "scope": 13146,
  81113. "src": "50560:16:50",
  81114. "stateVariable": false,
  81115. "storageLocation": "memory",
  81116. "typeDescriptions": {
  81117. "typeIdentifier": "t_string_memory_ptr",
  81118. "typeString": "string"
  81119. },
  81120. "typeName": {
  81121. "id": 13126,
  81122. "name": "string",
  81123. "nodeType": "ElementaryTypeName",
  81124. "src": "50560:6:50",
  81125. "typeDescriptions": {
  81126. "typeIdentifier": "t_string_storage_ptr",
  81127. "typeString": "string"
  81128. }
  81129. },
  81130. "visibility": "internal"
  81131. },
  81132. {
  81133. "constant": false,
  81134. "id": 13129,
  81135. "mutability": "mutable",
  81136. "name": "p2",
  81137. "nameLocation": "50586:2:50",
  81138. "nodeType": "VariableDeclaration",
  81139. "scope": 13146,
  81140. "src": "50578:10:50",
  81141. "stateVariable": false,
  81142. "storageLocation": "default",
  81143. "typeDescriptions": {
  81144. "typeIdentifier": "t_address",
  81145. "typeString": "address"
  81146. },
  81147. "typeName": {
  81148. "id": 13128,
  81149. "name": "address",
  81150. "nodeType": "ElementaryTypeName",
  81151. "src": "50578:7:50",
  81152. "stateMutability": "nonpayable",
  81153. "typeDescriptions": {
  81154. "typeIdentifier": "t_address",
  81155. "typeString": "address"
  81156. }
  81157. },
  81158. "visibility": "internal"
  81159. },
  81160. {
  81161. "constant": false,
  81162. "id": 13131,
  81163. "mutability": "mutable",
  81164. "name": "p3",
  81165. "nameLocation": "50598:2:50",
  81166. "nodeType": "VariableDeclaration",
  81167. "scope": 13146,
  81168. "src": "50590:10:50",
  81169. "stateVariable": false,
  81170. "storageLocation": "default",
  81171. "typeDescriptions": {
  81172. "typeIdentifier": "t_address",
  81173. "typeString": "address"
  81174. },
  81175. "typeName": {
  81176. "id": 13130,
  81177. "name": "address",
  81178. "nodeType": "ElementaryTypeName",
  81179. "src": "50590:7:50",
  81180. "stateMutability": "nonpayable",
  81181. "typeDescriptions": {
  81182. "typeIdentifier": "t_address",
  81183. "typeString": "address"
  81184. }
  81185. },
  81186. "visibility": "internal"
  81187. }
  81188. ],
  81189. "src": "50550:51:50"
  81190. },
  81191. "returnParameters": {
  81192. "id": 13133,
  81193. "nodeType": "ParameterList",
  81194. "parameters": [],
  81195. "src": "50616:0:50"
  81196. },
  81197. "scope": 15355,
  81198. "stateMutability": "pure",
  81199. "virtual": false,
  81200. "visibility": "internal"
  81201. },
  81202. {
  81203. "id": 13169,
  81204. "nodeType": "FunctionDefinition",
  81205. "src": "50731:176:50",
  81206. "nodes": [],
  81207. "body": {
  81208. "id": 13168,
  81209. "nodeType": "Block",
  81210. "src": "50800:107:50",
  81211. "nodes": [],
  81212. "statements": [
  81213. {
  81214. "expression": {
  81215. "arguments": [
  81216. {
  81217. "arguments": [
  81218. {
  81219. "hexValue": "6c6f6728626f6f6c2c626f6f6c2c75696e743235362c75696e7432353629",
  81220. "id": 13160,
  81221. "isConstant": false,
  81222. "isLValue": false,
  81223. "isPure": true,
  81224. "kind": "string",
  81225. "lValueRequested": false,
  81226. "nodeType": "Literal",
  81227. "src": "50850:32:50",
  81228. "typeDescriptions": {
  81229. "typeIdentifier": "t_stringliteral_0bb00eab8772a517edb34ef48e9be8dbee2f7b7490bba02909d18953766a9d34",
  81230. "typeString": "literal_string \"log(bool,bool,uint256,uint256)\""
  81231. },
  81232. "value": "log(bool,bool,uint256,uint256)"
  81233. },
  81234. {
  81235. "id": 13161,
  81236. "name": "p0",
  81237. "nodeType": "Identifier",
  81238. "overloadedDeclarations": [],
  81239. "referencedDeclaration": 13148,
  81240. "src": "50884:2:50",
  81241. "typeDescriptions": {
  81242. "typeIdentifier": "t_bool",
  81243. "typeString": "bool"
  81244. }
  81245. },
  81246. {
  81247. "id": 13162,
  81248. "name": "p1",
  81249. "nodeType": "Identifier",
  81250. "overloadedDeclarations": [],
  81251. "referencedDeclaration": 13150,
  81252. "src": "50888:2:50",
  81253. "typeDescriptions": {
  81254. "typeIdentifier": "t_bool",
  81255. "typeString": "bool"
  81256. }
  81257. },
  81258. {
  81259. "id": 13163,
  81260. "name": "p2",
  81261. "nodeType": "Identifier",
  81262. "overloadedDeclarations": [],
  81263. "referencedDeclaration": 13152,
  81264. "src": "50892:2:50",
  81265. "typeDescriptions": {
  81266. "typeIdentifier": "t_uint256",
  81267. "typeString": "uint256"
  81268. }
  81269. },
  81270. {
  81271. "id": 13164,
  81272. "name": "p3",
  81273. "nodeType": "Identifier",
  81274. "overloadedDeclarations": [],
  81275. "referencedDeclaration": 13154,
  81276. "src": "50896:2:50",
  81277. "typeDescriptions": {
  81278. "typeIdentifier": "t_uint256",
  81279. "typeString": "uint256"
  81280. }
  81281. }
  81282. ],
  81283. "expression": {
  81284. "argumentTypes": [
  81285. {
  81286. "typeIdentifier": "t_stringliteral_0bb00eab8772a517edb34ef48e9be8dbee2f7b7490bba02909d18953766a9d34",
  81287. "typeString": "literal_string \"log(bool,bool,uint256,uint256)\""
  81288. },
  81289. {
  81290. "typeIdentifier": "t_bool",
  81291. "typeString": "bool"
  81292. },
  81293. {
  81294. "typeIdentifier": "t_bool",
  81295. "typeString": "bool"
  81296. },
  81297. {
  81298. "typeIdentifier": "t_uint256",
  81299. "typeString": "uint256"
  81300. },
  81301. {
  81302. "typeIdentifier": "t_uint256",
  81303. "typeString": "uint256"
  81304. }
  81305. ],
  81306. "expression": {
  81307. "id": 13158,
  81308. "name": "abi",
  81309. "nodeType": "Identifier",
  81310. "overloadedDeclarations": [],
  81311. "referencedDeclaration": -1,
  81312. "src": "50826:3:50",
  81313. "typeDescriptions": {
  81314. "typeIdentifier": "t_magic_abi",
  81315. "typeString": "abi"
  81316. }
  81317. },
  81318. "id": 13159,
  81319. "isConstant": false,
  81320. "isLValue": false,
  81321. "isPure": true,
  81322. "lValueRequested": false,
  81323. "memberLocation": "50830:19:50",
  81324. "memberName": "encodeWithSignature",
  81325. "nodeType": "MemberAccess",
  81326. "src": "50826:23:50",
  81327. "typeDescriptions": {
  81328. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  81329. "typeString": "function (string memory) pure returns (bytes memory)"
  81330. }
  81331. },
  81332. "id": 13165,
  81333. "isConstant": false,
  81334. "isLValue": false,
  81335. "isPure": false,
  81336. "kind": "functionCall",
  81337. "lValueRequested": false,
  81338. "nameLocations": [],
  81339. "names": [],
  81340. "nodeType": "FunctionCall",
  81341. "src": "50826:73:50",
  81342. "tryCall": false,
  81343. "typeDescriptions": {
  81344. "typeIdentifier": "t_bytes_memory_ptr",
  81345. "typeString": "bytes memory"
  81346. }
  81347. }
  81348. ],
  81349. "expression": {
  81350. "argumentTypes": [
  81351. {
  81352. "typeIdentifier": "t_bytes_memory_ptr",
  81353. "typeString": "bytes memory"
  81354. }
  81355. ],
  81356. "id": 13157,
  81357. "name": "_sendLogPayload",
  81358. "nodeType": "Identifier",
  81359. "overloadedDeclarations": [],
  81360. "referencedDeclaration": 7315,
  81361. "src": "50810:15:50",
  81362. "typeDescriptions": {
  81363. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  81364. "typeString": "function (bytes memory) pure"
  81365. }
  81366. },
  81367. "id": 13166,
  81368. "isConstant": false,
  81369. "isLValue": false,
  81370. "isPure": false,
  81371. "kind": "functionCall",
  81372. "lValueRequested": false,
  81373. "nameLocations": [],
  81374. "names": [],
  81375. "nodeType": "FunctionCall",
  81376. "src": "50810:90:50",
  81377. "tryCall": false,
  81378. "typeDescriptions": {
  81379. "typeIdentifier": "t_tuple$__$",
  81380. "typeString": "tuple()"
  81381. }
  81382. },
  81383. "id": 13167,
  81384. "nodeType": "ExpressionStatement",
  81385. "src": "50810:90:50"
  81386. }
  81387. ]
  81388. },
  81389. "implemented": true,
  81390. "kind": "function",
  81391. "modifiers": [],
  81392. "name": "log",
  81393. "nameLocation": "50740:3:50",
  81394. "parameters": {
  81395. "id": 13155,
  81396. "nodeType": "ParameterList",
  81397. "parameters": [
  81398. {
  81399. "constant": false,
  81400. "id": 13148,
  81401. "mutability": "mutable",
  81402. "name": "p0",
  81403. "nameLocation": "50749:2:50",
  81404. "nodeType": "VariableDeclaration",
  81405. "scope": 13169,
  81406. "src": "50744:7:50",
  81407. "stateVariable": false,
  81408. "storageLocation": "default",
  81409. "typeDescriptions": {
  81410. "typeIdentifier": "t_bool",
  81411. "typeString": "bool"
  81412. },
  81413. "typeName": {
  81414. "id": 13147,
  81415. "name": "bool",
  81416. "nodeType": "ElementaryTypeName",
  81417. "src": "50744:4:50",
  81418. "typeDescriptions": {
  81419. "typeIdentifier": "t_bool",
  81420. "typeString": "bool"
  81421. }
  81422. },
  81423. "visibility": "internal"
  81424. },
  81425. {
  81426. "constant": false,
  81427. "id": 13150,
  81428. "mutability": "mutable",
  81429. "name": "p1",
  81430. "nameLocation": "50758:2:50",
  81431. "nodeType": "VariableDeclaration",
  81432. "scope": 13169,
  81433. "src": "50753:7:50",
  81434. "stateVariable": false,
  81435. "storageLocation": "default",
  81436. "typeDescriptions": {
  81437. "typeIdentifier": "t_bool",
  81438. "typeString": "bool"
  81439. },
  81440. "typeName": {
  81441. "id": 13149,
  81442. "name": "bool",
  81443. "nodeType": "ElementaryTypeName",
  81444. "src": "50753:4:50",
  81445. "typeDescriptions": {
  81446. "typeIdentifier": "t_bool",
  81447. "typeString": "bool"
  81448. }
  81449. },
  81450. "visibility": "internal"
  81451. },
  81452. {
  81453. "constant": false,
  81454. "id": 13152,
  81455. "mutability": "mutable",
  81456. "name": "p2",
  81457. "nameLocation": "50770:2:50",
  81458. "nodeType": "VariableDeclaration",
  81459. "scope": 13169,
  81460. "src": "50762:10:50",
  81461. "stateVariable": false,
  81462. "storageLocation": "default",
  81463. "typeDescriptions": {
  81464. "typeIdentifier": "t_uint256",
  81465. "typeString": "uint256"
  81466. },
  81467. "typeName": {
  81468. "id": 13151,
  81469. "name": "uint256",
  81470. "nodeType": "ElementaryTypeName",
  81471. "src": "50762:7:50",
  81472. "typeDescriptions": {
  81473. "typeIdentifier": "t_uint256",
  81474. "typeString": "uint256"
  81475. }
  81476. },
  81477. "visibility": "internal"
  81478. },
  81479. {
  81480. "constant": false,
  81481. "id": 13154,
  81482. "mutability": "mutable",
  81483. "name": "p3",
  81484. "nameLocation": "50782:2:50",
  81485. "nodeType": "VariableDeclaration",
  81486. "scope": 13169,
  81487. "src": "50774:10:50",
  81488. "stateVariable": false,
  81489. "storageLocation": "default",
  81490. "typeDescriptions": {
  81491. "typeIdentifier": "t_uint256",
  81492. "typeString": "uint256"
  81493. },
  81494. "typeName": {
  81495. "id": 13153,
  81496. "name": "uint256",
  81497. "nodeType": "ElementaryTypeName",
  81498. "src": "50774:7:50",
  81499. "typeDescriptions": {
  81500. "typeIdentifier": "t_uint256",
  81501. "typeString": "uint256"
  81502. }
  81503. },
  81504. "visibility": "internal"
  81505. }
  81506. ],
  81507. "src": "50743:42:50"
  81508. },
  81509. "returnParameters": {
  81510. "id": 13156,
  81511. "nodeType": "ParameterList",
  81512. "parameters": [],
  81513. "src": "50800:0:50"
  81514. },
  81515. "scope": 15355,
  81516. "stateMutability": "pure",
  81517. "virtual": false,
  81518. "visibility": "internal"
  81519. },
  81520. {
  81521. "id": 13192,
  81522. "nodeType": "FunctionDefinition",
  81523. "src": "50913:181:50",
  81524. "nodes": [],
  81525. "body": {
  81526. "id": 13191,
  81527. "nodeType": "Block",
  81528. "src": "50988:106:50",
  81529. "nodes": [],
  81530. "statements": [
  81531. {
  81532. "expression": {
  81533. "arguments": [
  81534. {
  81535. "arguments": [
  81536. {
  81537. "hexValue": "6c6f6728626f6f6c2c626f6f6c2c75696e743235362c737472696e6729",
  81538. "id": 13183,
  81539. "isConstant": false,
  81540. "isLValue": false,
  81541. "isPure": true,
  81542. "kind": "string",
  81543. "lValueRequested": false,
  81544. "nodeType": "Literal",
  81545. "src": "51038:31:50",
  81546. "typeDescriptions": {
  81547. "typeIdentifier": "t_stringliteral_7dd4d0e0c518f4b352fd13daccf87a5d9bed9e01e109d2cd329f8180d1bf37cf",
  81548. "typeString": "literal_string \"log(bool,bool,uint256,string)\""
  81549. },
  81550. "value": "log(bool,bool,uint256,string)"
  81551. },
  81552. {
  81553. "id": 13184,
  81554. "name": "p0",
  81555. "nodeType": "Identifier",
  81556. "overloadedDeclarations": [],
  81557. "referencedDeclaration": 13171,
  81558. "src": "51071:2:50",
  81559. "typeDescriptions": {
  81560. "typeIdentifier": "t_bool",
  81561. "typeString": "bool"
  81562. }
  81563. },
  81564. {
  81565. "id": 13185,
  81566. "name": "p1",
  81567. "nodeType": "Identifier",
  81568. "overloadedDeclarations": [],
  81569. "referencedDeclaration": 13173,
  81570. "src": "51075:2:50",
  81571. "typeDescriptions": {
  81572. "typeIdentifier": "t_bool",
  81573. "typeString": "bool"
  81574. }
  81575. },
  81576. {
  81577. "id": 13186,
  81578. "name": "p2",
  81579. "nodeType": "Identifier",
  81580. "overloadedDeclarations": [],
  81581. "referencedDeclaration": 13175,
  81582. "src": "51079:2:50",
  81583. "typeDescriptions": {
  81584. "typeIdentifier": "t_uint256",
  81585. "typeString": "uint256"
  81586. }
  81587. },
  81588. {
  81589. "id": 13187,
  81590. "name": "p3",
  81591. "nodeType": "Identifier",
  81592. "overloadedDeclarations": [],
  81593. "referencedDeclaration": 13177,
  81594. "src": "51083:2:50",
  81595. "typeDescriptions": {
  81596. "typeIdentifier": "t_string_memory_ptr",
  81597. "typeString": "string memory"
  81598. }
  81599. }
  81600. ],
  81601. "expression": {
  81602. "argumentTypes": [
  81603. {
  81604. "typeIdentifier": "t_stringliteral_7dd4d0e0c518f4b352fd13daccf87a5d9bed9e01e109d2cd329f8180d1bf37cf",
  81605. "typeString": "literal_string \"log(bool,bool,uint256,string)\""
  81606. },
  81607. {
  81608. "typeIdentifier": "t_bool",
  81609. "typeString": "bool"
  81610. },
  81611. {
  81612. "typeIdentifier": "t_bool",
  81613. "typeString": "bool"
  81614. },
  81615. {
  81616. "typeIdentifier": "t_uint256",
  81617. "typeString": "uint256"
  81618. },
  81619. {
  81620. "typeIdentifier": "t_string_memory_ptr",
  81621. "typeString": "string memory"
  81622. }
  81623. ],
  81624. "expression": {
  81625. "id": 13181,
  81626. "name": "abi",
  81627. "nodeType": "Identifier",
  81628. "overloadedDeclarations": [],
  81629. "referencedDeclaration": -1,
  81630. "src": "51014:3:50",
  81631. "typeDescriptions": {
  81632. "typeIdentifier": "t_magic_abi",
  81633. "typeString": "abi"
  81634. }
  81635. },
  81636. "id": 13182,
  81637. "isConstant": false,
  81638. "isLValue": false,
  81639. "isPure": true,
  81640. "lValueRequested": false,
  81641. "memberLocation": "51018:19:50",
  81642. "memberName": "encodeWithSignature",
  81643. "nodeType": "MemberAccess",
  81644. "src": "51014:23:50",
  81645. "typeDescriptions": {
  81646. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  81647. "typeString": "function (string memory) pure returns (bytes memory)"
  81648. }
  81649. },
  81650. "id": 13188,
  81651. "isConstant": false,
  81652. "isLValue": false,
  81653. "isPure": false,
  81654. "kind": "functionCall",
  81655. "lValueRequested": false,
  81656. "nameLocations": [],
  81657. "names": [],
  81658. "nodeType": "FunctionCall",
  81659. "src": "51014:72:50",
  81660. "tryCall": false,
  81661. "typeDescriptions": {
  81662. "typeIdentifier": "t_bytes_memory_ptr",
  81663. "typeString": "bytes memory"
  81664. }
  81665. }
  81666. ],
  81667. "expression": {
  81668. "argumentTypes": [
  81669. {
  81670. "typeIdentifier": "t_bytes_memory_ptr",
  81671. "typeString": "bytes memory"
  81672. }
  81673. ],
  81674. "id": 13180,
  81675. "name": "_sendLogPayload",
  81676. "nodeType": "Identifier",
  81677. "overloadedDeclarations": [],
  81678. "referencedDeclaration": 7315,
  81679. "src": "50998:15:50",
  81680. "typeDescriptions": {
  81681. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  81682. "typeString": "function (bytes memory) pure"
  81683. }
  81684. },
  81685. "id": 13189,
  81686. "isConstant": false,
  81687. "isLValue": false,
  81688. "isPure": false,
  81689. "kind": "functionCall",
  81690. "lValueRequested": false,
  81691. "nameLocations": [],
  81692. "names": [],
  81693. "nodeType": "FunctionCall",
  81694. "src": "50998:89:50",
  81695. "tryCall": false,
  81696. "typeDescriptions": {
  81697. "typeIdentifier": "t_tuple$__$",
  81698. "typeString": "tuple()"
  81699. }
  81700. },
  81701. "id": 13190,
  81702. "nodeType": "ExpressionStatement",
  81703. "src": "50998:89:50"
  81704. }
  81705. ]
  81706. },
  81707. "implemented": true,
  81708. "kind": "function",
  81709. "modifiers": [],
  81710. "name": "log",
  81711. "nameLocation": "50922:3:50",
  81712. "parameters": {
  81713. "id": 13178,
  81714. "nodeType": "ParameterList",
  81715. "parameters": [
  81716. {
  81717. "constant": false,
  81718. "id": 13171,
  81719. "mutability": "mutable",
  81720. "name": "p0",
  81721. "nameLocation": "50931:2:50",
  81722. "nodeType": "VariableDeclaration",
  81723. "scope": 13192,
  81724. "src": "50926:7:50",
  81725. "stateVariable": false,
  81726. "storageLocation": "default",
  81727. "typeDescriptions": {
  81728. "typeIdentifier": "t_bool",
  81729. "typeString": "bool"
  81730. },
  81731. "typeName": {
  81732. "id": 13170,
  81733. "name": "bool",
  81734. "nodeType": "ElementaryTypeName",
  81735. "src": "50926:4:50",
  81736. "typeDescriptions": {
  81737. "typeIdentifier": "t_bool",
  81738. "typeString": "bool"
  81739. }
  81740. },
  81741. "visibility": "internal"
  81742. },
  81743. {
  81744. "constant": false,
  81745. "id": 13173,
  81746. "mutability": "mutable",
  81747. "name": "p1",
  81748. "nameLocation": "50940:2:50",
  81749. "nodeType": "VariableDeclaration",
  81750. "scope": 13192,
  81751. "src": "50935:7:50",
  81752. "stateVariable": false,
  81753. "storageLocation": "default",
  81754. "typeDescriptions": {
  81755. "typeIdentifier": "t_bool",
  81756. "typeString": "bool"
  81757. },
  81758. "typeName": {
  81759. "id": 13172,
  81760. "name": "bool",
  81761. "nodeType": "ElementaryTypeName",
  81762. "src": "50935:4:50",
  81763. "typeDescriptions": {
  81764. "typeIdentifier": "t_bool",
  81765. "typeString": "bool"
  81766. }
  81767. },
  81768. "visibility": "internal"
  81769. },
  81770. {
  81771. "constant": false,
  81772. "id": 13175,
  81773. "mutability": "mutable",
  81774. "name": "p2",
  81775. "nameLocation": "50952:2:50",
  81776. "nodeType": "VariableDeclaration",
  81777. "scope": 13192,
  81778. "src": "50944:10:50",
  81779. "stateVariable": false,
  81780. "storageLocation": "default",
  81781. "typeDescriptions": {
  81782. "typeIdentifier": "t_uint256",
  81783. "typeString": "uint256"
  81784. },
  81785. "typeName": {
  81786. "id": 13174,
  81787. "name": "uint256",
  81788. "nodeType": "ElementaryTypeName",
  81789. "src": "50944:7:50",
  81790. "typeDescriptions": {
  81791. "typeIdentifier": "t_uint256",
  81792. "typeString": "uint256"
  81793. }
  81794. },
  81795. "visibility": "internal"
  81796. },
  81797. {
  81798. "constant": false,
  81799. "id": 13177,
  81800. "mutability": "mutable",
  81801. "name": "p3",
  81802. "nameLocation": "50970:2:50",
  81803. "nodeType": "VariableDeclaration",
  81804. "scope": 13192,
  81805. "src": "50956:16:50",
  81806. "stateVariable": false,
  81807. "storageLocation": "memory",
  81808. "typeDescriptions": {
  81809. "typeIdentifier": "t_string_memory_ptr",
  81810. "typeString": "string"
  81811. },
  81812. "typeName": {
  81813. "id": 13176,
  81814. "name": "string",
  81815. "nodeType": "ElementaryTypeName",
  81816. "src": "50956:6:50",
  81817. "typeDescriptions": {
  81818. "typeIdentifier": "t_string_storage_ptr",
  81819. "typeString": "string"
  81820. }
  81821. },
  81822. "visibility": "internal"
  81823. }
  81824. ],
  81825. "src": "50925:48:50"
  81826. },
  81827. "returnParameters": {
  81828. "id": 13179,
  81829. "nodeType": "ParameterList",
  81830. "parameters": [],
  81831. "src": "50988:0:50"
  81832. },
  81833. "scope": 15355,
  81834. "stateMutability": "pure",
  81835. "virtual": false,
  81836. "visibility": "internal"
  81837. },
  81838. {
  81839. "id": 13215,
  81840. "nodeType": "FunctionDefinition",
  81841. "src": "51100:170:50",
  81842. "nodes": [],
  81843. "body": {
  81844. "id": 13214,
  81845. "nodeType": "Block",
  81846. "src": "51166:104:50",
  81847. "nodes": [],
  81848. "statements": [
  81849. {
  81850. "expression": {
  81851. "arguments": [
  81852. {
  81853. "arguments": [
  81854. {
  81855. "hexValue": "6c6f6728626f6f6c2c626f6f6c2c75696e743235362c626f6f6c29",
  81856. "id": 13206,
  81857. "isConstant": false,
  81858. "isLValue": false,
  81859. "isPure": true,
  81860. "kind": "string",
  81861. "lValueRequested": false,
  81862. "nodeType": "Literal",
  81863. "src": "51216:29:50",
  81864. "typeDescriptions": {
  81865. "typeIdentifier": "t_stringliteral_619e4d0eef4ca09035d413eaba6f544cfd6dc9e01c2aeecde070c53237f5a842",
  81866. "typeString": "literal_string \"log(bool,bool,uint256,bool)\""
  81867. },
  81868. "value": "log(bool,bool,uint256,bool)"
  81869. },
  81870. {
  81871. "id": 13207,
  81872. "name": "p0",
  81873. "nodeType": "Identifier",
  81874. "overloadedDeclarations": [],
  81875. "referencedDeclaration": 13194,
  81876. "src": "51247:2:50",
  81877. "typeDescriptions": {
  81878. "typeIdentifier": "t_bool",
  81879. "typeString": "bool"
  81880. }
  81881. },
  81882. {
  81883. "id": 13208,
  81884. "name": "p1",
  81885. "nodeType": "Identifier",
  81886. "overloadedDeclarations": [],
  81887. "referencedDeclaration": 13196,
  81888. "src": "51251:2:50",
  81889. "typeDescriptions": {
  81890. "typeIdentifier": "t_bool",
  81891. "typeString": "bool"
  81892. }
  81893. },
  81894. {
  81895. "id": 13209,
  81896. "name": "p2",
  81897. "nodeType": "Identifier",
  81898. "overloadedDeclarations": [],
  81899. "referencedDeclaration": 13198,
  81900. "src": "51255:2:50",
  81901. "typeDescriptions": {
  81902. "typeIdentifier": "t_uint256",
  81903. "typeString": "uint256"
  81904. }
  81905. },
  81906. {
  81907. "id": 13210,
  81908. "name": "p3",
  81909. "nodeType": "Identifier",
  81910. "overloadedDeclarations": [],
  81911. "referencedDeclaration": 13200,
  81912. "src": "51259:2:50",
  81913. "typeDescriptions": {
  81914. "typeIdentifier": "t_bool",
  81915. "typeString": "bool"
  81916. }
  81917. }
  81918. ],
  81919. "expression": {
  81920. "argumentTypes": [
  81921. {
  81922. "typeIdentifier": "t_stringliteral_619e4d0eef4ca09035d413eaba6f544cfd6dc9e01c2aeecde070c53237f5a842",
  81923. "typeString": "literal_string \"log(bool,bool,uint256,bool)\""
  81924. },
  81925. {
  81926. "typeIdentifier": "t_bool",
  81927. "typeString": "bool"
  81928. },
  81929. {
  81930. "typeIdentifier": "t_bool",
  81931. "typeString": "bool"
  81932. },
  81933. {
  81934. "typeIdentifier": "t_uint256",
  81935. "typeString": "uint256"
  81936. },
  81937. {
  81938. "typeIdentifier": "t_bool",
  81939. "typeString": "bool"
  81940. }
  81941. ],
  81942. "expression": {
  81943. "id": 13204,
  81944. "name": "abi",
  81945. "nodeType": "Identifier",
  81946. "overloadedDeclarations": [],
  81947. "referencedDeclaration": -1,
  81948. "src": "51192:3:50",
  81949. "typeDescriptions": {
  81950. "typeIdentifier": "t_magic_abi",
  81951. "typeString": "abi"
  81952. }
  81953. },
  81954. "id": 13205,
  81955. "isConstant": false,
  81956. "isLValue": false,
  81957. "isPure": true,
  81958. "lValueRequested": false,
  81959. "memberLocation": "51196:19:50",
  81960. "memberName": "encodeWithSignature",
  81961. "nodeType": "MemberAccess",
  81962. "src": "51192:23:50",
  81963. "typeDescriptions": {
  81964. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  81965. "typeString": "function (string memory) pure returns (bytes memory)"
  81966. }
  81967. },
  81968. "id": 13211,
  81969. "isConstant": false,
  81970. "isLValue": false,
  81971. "isPure": false,
  81972. "kind": "functionCall",
  81973. "lValueRequested": false,
  81974. "nameLocations": [],
  81975. "names": [],
  81976. "nodeType": "FunctionCall",
  81977. "src": "51192:70:50",
  81978. "tryCall": false,
  81979. "typeDescriptions": {
  81980. "typeIdentifier": "t_bytes_memory_ptr",
  81981. "typeString": "bytes memory"
  81982. }
  81983. }
  81984. ],
  81985. "expression": {
  81986. "argumentTypes": [
  81987. {
  81988. "typeIdentifier": "t_bytes_memory_ptr",
  81989. "typeString": "bytes memory"
  81990. }
  81991. ],
  81992. "id": 13203,
  81993. "name": "_sendLogPayload",
  81994. "nodeType": "Identifier",
  81995. "overloadedDeclarations": [],
  81996. "referencedDeclaration": 7315,
  81997. "src": "51176:15:50",
  81998. "typeDescriptions": {
  81999. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  82000. "typeString": "function (bytes memory) pure"
  82001. }
  82002. },
  82003. "id": 13212,
  82004. "isConstant": false,
  82005. "isLValue": false,
  82006. "isPure": false,
  82007. "kind": "functionCall",
  82008. "lValueRequested": false,
  82009. "nameLocations": [],
  82010. "names": [],
  82011. "nodeType": "FunctionCall",
  82012. "src": "51176:87:50",
  82013. "tryCall": false,
  82014. "typeDescriptions": {
  82015. "typeIdentifier": "t_tuple$__$",
  82016. "typeString": "tuple()"
  82017. }
  82018. },
  82019. "id": 13213,
  82020. "nodeType": "ExpressionStatement",
  82021. "src": "51176:87:50"
  82022. }
  82023. ]
  82024. },
  82025. "implemented": true,
  82026. "kind": "function",
  82027. "modifiers": [],
  82028. "name": "log",
  82029. "nameLocation": "51109:3:50",
  82030. "parameters": {
  82031. "id": 13201,
  82032. "nodeType": "ParameterList",
  82033. "parameters": [
  82034. {
  82035. "constant": false,
  82036. "id": 13194,
  82037. "mutability": "mutable",
  82038. "name": "p0",
  82039. "nameLocation": "51118:2:50",
  82040. "nodeType": "VariableDeclaration",
  82041. "scope": 13215,
  82042. "src": "51113:7:50",
  82043. "stateVariable": false,
  82044. "storageLocation": "default",
  82045. "typeDescriptions": {
  82046. "typeIdentifier": "t_bool",
  82047. "typeString": "bool"
  82048. },
  82049. "typeName": {
  82050. "id": 13193,
  82051. "name": "bool",
  82052. "nodeType": "ElementaryTypeName",
  82053. "src": "51113:4:50",
  82054. "typeDescriptions": {
  82055. "typeIdentifier": "t_bool",
  82056. "typeString": "bool"
  82057. }
  82058. },
  82059. "visibility": "internal"
  82060. },
  82061. {
  82062. "constant": false,
  82063. "id": 13196,
  82064. "mutability": "mutable",
  82065. "name": "p1",
  82066. "nameLocation": "51127:2:50",
  82067. "nodeType": "VariableDeclaration",
  82068. "scope": 13215,
  82069. "src": "51122:7:50",
  82070. "stateVariable": false,
  82071. "storageLocation": "default",
  82072. "typeDescriptions": {
  82073. "typeIdentifier": "t_bool",
  82074. "typeString": "bool"
  82075. },
  82076. "typeName": {
  82077. "id": 13195,
  82078. "name": "bool",
  82079. "nodeType": "ElementaryTypeName",
  82080. "src": "51122:4:50",
  82081. "typeDescriptions": {
  82082. "typeIdentifier": "t_bool",
  82083. "typeString": "bool"
  82084. }
  82085. },
  82086. "visibility": "internal"
  82087. },
  82088. {
  82089. "constant": false,
  82090. "id": 13198,
  82091. "mutability": "mutable",
  82092. "name": "p2",
  82093. "nameLocation": "51139:2:50",
  82094. "nodeType": "VariableDeclaration",
  82095. "scope": 13215,
  82096. "src": "51131:10:50",
  82097. "stateVariable": false,
  82098. "storageLocation": "default",
  82099. "typeDescriptions": {
  82100. "typeIdentifier": "t_uint256",
  82101. "typeString": "uint256"
  82102. },
  82103. "typeName": {
  82104. "id": 13197,
  82105. "name": "uint256",
  82106. "nodeType": "ElementaryTypeName",
  82107. "src": "51131:7:50",
  82108. "typeDescriptions": {
  82109. "typeIdentifier": "t_uint256",
  82110. "typeString": "uint256"
  82111. }
  82112. },
  82113. "visibility": "internal"
  82114. },
  82115. {
  82116. "constant": false,
  82117. "id": 13200,
  82118. "mutability": "mutable",
  82119. "name": "p3",
  82120. "nameLocation": "51148:2:50",
  82121. "nodeType": "VariableDeclaration",
  82122. "scope": 13215,
  82123. "src": "51143:7:50",
  82124. "stateVariable": false,
  82125. "storageLocation": "default",
  82126. "typeDescriptions": {
  82127. "typeIdentifier": "t_bool",
  82128. "typeString": "bool"
  82129. },
  82130. "typeName": {
  82131. "id": 13199,
  82132. "name": "bool",
  82133. "nodeType": "ElementaryTypeName",
  82134. "src": "51143:4:50",
  82135. "typeDescriptions": {
  82136. "typeIdentifier": "t_bool",
  82137. "typeString": "bool"
  82138. }
  82139. },
  82140. "visibility": "internal"
  82141. }
  82142. ],
  82143. "src": "51112:39:50"
  82144. },
  82145. "returnParameters": {
  82146. "id": 13202,
  82147. "nodeType": "ParameterList",
  82148. "parameters": [],
  82149. "src": "51166:0:50"
  82150. },
  82151. "scope": 15355,
  82152. "stateMutability": "pure",
  82153. "virtual": false,
  82154. "visibility": "internal"
  82155. },
  82156. {
  82157. "id": 13238,
  82158. "nodeType": "FunctionDefinition",
  82159. "src": "51276:176:50",
  82160. "nodes": [],
  82161. "body": {
  82162. "id": 13237,
  82163. "nodeType": "Block",
  82164. "src": "51345:107:50",
  82165. "nodes": [],
  82166. "statements": [
  82167. {
  82168. "expression": {
  82169. "arguments": [
  82170. {
  82171. "arguments": [
  82172. {
  82173. "hexValue": "6c6f6728626f6f6c2c626f6f6c2c75696e743235362c6164647265737329",
  82174. "id": 13229,
  82175. "isConstant": false,
  82176. "isLValue": false,
  82177. "isPure": true,
  82178. "kind": "string",
  82179. "lValueRequested": false,
  82180. "nodeType": "Literal",
  82181. "src": "51395:32:50",
  82182. "typeDescriptions": {
  82183. "typeIdentifier": "t_stringliteral_54a7a9a08e00a28d36d734cc45e318f9adc9ffbfd731cd45d0dc5a2abe2b9ac9",
  82184. "typeString": "literal_string \"log(bool,bool,uint256,address)\""
  82185. },
  82186. "value": "log(bool,bool,uint256,address)"
  82187. },
  82188. {
  82189. "id": 13230,
  82190. "name": "p0",
  82191. "nodeType": "Identifier",
  82192. "overloadedDeclarations": [],
  82193. "referencedDeclaration": 13217,
  82194. "src": "51429:2:50",
  82195. "typeDescriptions": {
  82196. "typeIdentifier": "t_bool",
  82197. "typeString": "bool"
  82198. }
  82199. },
  82200. {
  82201. "id": 13231,
  82202. "name": "p1",
  82203. "nodeType": "Identifier",
  82204. "overloadedDeclarations": [],
  82205. "referencedDeclaration": 13219,
  82206. "src": "51433:2:50",
  82207. "typeDescriptions": {
  82208. "typeIdentifier": "t_bool",
  82209. "typeString": "bool"
  82210. }
  82211. },
  82212. {
  82213. "id": 13232,
  82214. "name": "p2",
  82215. "nodeType": "Identifier",
  82216. "overloadedDeclarations": [],
  82217. "referencedDeclaration": 13221,
  82218. "src": "51437:2:50",
  82219. "typeDescriptions": {
  82220. "typeIdentifier": "t_uint256",
  82221. "typeString": "uint256"
  82222. }
  82223. },
  82224. {
  82225. "id": 13233,
  82226. "name": "p3",
  82227. "nodeType": "Identifier",
  82228. "overloadedDeclarations": [],
  82229. "referencedDeclaration": 13223,
  82230. "src": "51441:2:50",
  82231. "typeDescriptions": {
  82232. "typeIdentifier": "t_address",
  82233. "typeString": "address"
  82234. }
  82235. }
  82236. ],
  82237. "expression": {
  82238. "argumentTypes": [
  82239. {
  82240. "typeIdentifier": "t_stringliteral_54a7a9a08e00a28d36d734cc45e318f9adc9ffbfd731cd45d0dc5a2abe2b9ac9",
  82241. "typeString": "literal_string \"log(bool,bool,uint256,address)\""
  82242. },
  82243. {
  82244. "typeIdentifier": "t_bool",
  82245. "typeString": "bool"
  82246. },
  82247. {
  82248. "typeIdentifier": "t_bool",
  82249. "typeString": "bool"
  82250. },
  82251. {
  82252. "typeIdentifier": "t_uint256",
  82253. "typeString": "uint256"
  82254. },
  82255. {
  82256. "typeIdentifier": "t_address",
  82257. "typeString": "address"
  82258. }
  82259. ],
  82260. "expression": {
  82261. "id": 13227,
  82262. "name": "abi",
  82263. "nodeType": "Identifier",
  82264. "overloadedDeclarations": [],
  82265. "referencedDeclaration": -1,
  82266. "src": "51371:3:50",
  82267. "typeDescriptions": {
  82268. "typeIdentifier": "t_magic_abi",
  82269. "typeString": "abi"
  82270. }
  82271. },
  82272. "id": 13228,
  82273. "isConstant": false,
  82274. "isLValue": false,
  82275. "isPure": true,
  82276. "lValueRequested": false,
  82277. "memberLocation": "51375:19:50",
  82278. "memberName": "encodeWithSignature",
  82279. "nodeType": "MemberAccess",
  82280. "src": "51371:23:50",
  82281. "typeDescriptions": {
  82282. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  82283. "typeString": "function (string memory) pure returns (bytes memory)"
  82284. }
  82285. },
  82286. "id": 13234,
  82287. "isConstant": false,
  82288. "isLValue": false,
  82289. "isPure": false,
  82290. "kind": "functionCall",
  82291. "lValueRequested": false,
  82292. "nameLocations": [],
  82293. "names": [],
  82294. "nodeType": "FunctionCall",
  82295. "src": "51371:73:50",
  82296. "tryCall": false,
  82297. "typeDescriptions": {
  82298. "typeIdentifier": "t_bytes_memory_ptr",
  82299. "typeString": "bytes memory"
  82300. }
  82301. }
  82302. ],
  82303. "expression": {
  82304. "argumentTypes": [
  82305. {
  82306. "typeIdentifier": "t_bytes_memory_ptr",
  82307. "typeString": "bytes memory"
  82308. }
  82309. ],
  82310. "id": 13226,
  82311. "name": "_sendLogPayload",
  82312. "nodeType": "Identifier",
  82313. "overloadedDeclarations": [],
  82314. "referencedDeclaration": 7315,
  82315. "src": "51355:15:50",
  82316. "typeDescriptions": {
  82317. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  82318. "typeString": "function (bytes memory) pure"
  82319. }
  82320. },
  82321. "id": 13235,
  82322. "isConstant": false,
  82323. "isLValue": false,
  82324. "isPure": false,
  82325. "kind": "functionCall",
  82326. "lValueRequested": false,
  82327. "nameLocations": [],
  82328. "names": [],
  82329. "nodeType": "FunctionCall",
  82330. "src": "51355:90:50",
  82331. "tryCall": false,
  82332. "typeDescriptions": {
  82333. "typeIdentifier": "t_tuple$__$",
  82334. "typeString": "tuple()"
  82335. }
  82336. },
  82337. "id": 13236,
  82338. "nodeType": "ExpressionStatement",
  82339. "src": "51355:90:50"
  82340. }
  82341. ]
  82342. },
  82343. "implemented": true,
  82344. "kind": "function",
  82345. "modifiers": [],
  82346. "name": "log",
  82347. "nameLocation": "51285:3:50",
  82348. "parameters": {
  82349. "id": 13224,
  82350. "nodeType": "ParameterList",
  82351. "parameters": [
  82352. {
  82353. "constant": false,
  82354. "id": 13217,
  82355. "mutability": "mutable",
  82356. "name": "p0",
  82357. "nameLocation": "51294:2:50",
  82358. "nodeType": "VariableDeclaration",
  82359. "scope": 13238,
  82360. "src": "51289:7:50",
  82361. "stateVariable": false,
  82362. "storageLocation": "default",
  82363. "typeDescriptions": {
  82364. "typeIdentifier": "t_bool",
  82365. "typeString": "bool"
  82366. },
  82367. "typeName": {
  82368. "id": 13216,
  82369. "name": "bool",
  82370. "nodeType": "ElementaryTypeName",
  82371. "src": "51289:4:50",
  82372. "typeDescriptions": {
  82373. "typeIdentifier": "t_bool",
  82374. "typeString": "bool"
  82375. }
  82376. },
  82377. "visibility": "internal"
  82378. },
  82379. {
  82380. "constant": false,
  82381. "id": 13219,
  82382. "mutability": "mutable",
  82383. "name": "p1",
  82384. "nameLocation": "51303:2:50",
  82385. "nodeType": "VariableDeclaration",
  82386. "scope": 13238,
  82387. "src": "51298:7:50",
  82388. "stateVariable": false,
  82389. "storageLocation": "default",
  82390. "typeDescriptions": {
  82391. "typeIdentifier": "t_bool",
  82392. "typeString": "bool"
  82393. },
  82394. "typeName": {
  82395. "id": 13218,
  82396. "name": "bool",
  82397. "nodeType": "ElementaryTypeName",
  82398. "src": "51298:4:50",
  82399. "typeDescriptions": {
  82400. "typeIdentifier": "t_bool",
  82401. "typeString": "bool"
  82402. }
  82403. },
  82404. "visibility": "internal"
  82405. },
  82406. {
  82407. "constant": false,
  82408. "id": 13221,
  82409. "mutability": "mutable",
  82410. "name": "p2",
  82411. "nameLocation": "51315:2:50",
  82412. "nodeType": "VariableDeclaration",
  82413. "scope": 13238,
  82414. "src": "51307:10:50",
  82415. "stateVariable": false,
  82416. "storageLocation": "default",
  82417. "typeDescriptions": {
  82418. "typeIdentifier": "t_uint256",
  82419. "typeString": "uint256"
  82420. },
  82421. "typeName": {
  82422. "id": 13220,
  82423. "name": "uint256",
  82424. "nodeType": "ElementaryTypeName",
  82425. "src": "51307:7:50",
  82426. "typeDescriptions": {
  82427. "typeIdentifier": "t_uint256",
  82428. "typeString": "uint256"
  82429. }
  82430. },
  82431. "visibility": "internal"
  82432. },
  82433. {
  82434. "constant": false,
  82435. "id": 13223,
  82436. "mutability": "mutable",
  82437. "name": "p3",
  82438. "nameLocation": "51327:2:50",
  82439. "nodeType": "VariableDeclaration",
  82440. "scope": 13238,
  82441. "src": "51319:10:50",
  82442. "stateVariable": false,
  82443. "storageLocation": "default",
  82444. "typeDescriptions": {
  82445. "typeIdentifier": "t_address",
  82446. "typeString": "address"
  82447. },
  82448. "typeName": {
  82449. "id": 13222,
  82450. "name": "address",
  82451. "nodeType": "ElementaryTypeName",
  82452. "src": "51319:7:50",
  82453. "stateMutability": "nonpayable",
  82454. "typeDescriptions": {
  82455. "typeIdentifier": "t_address",
  82456. "typeString": "address"
  82457. }
  82458. },
  82459. "visibility": "internal"
  82460. }
  82461. ],
  82462. "src": "51288:42:50"
  82463. },
  82464. "returnParameters": {
  82465. "id": 13225,
  82466. "nodeType": "ParameterList",
  82467. "parameters": [],
  82468. "src": "51345:0:50"
  82469. },
  82470. "scope": 15355,
  82471. "stateMutability": "pure",
  82472. "virtual": false,
  82473. "visibility": "internal"
  82474. },
  82475. {
  82476. "id": 13261,
  82477. "nodeType": "FunctionDefinition",
  82478. "src": "51458:181:50",
  82479. "nodes": [],
  82480. "body": {
  82481. "id": 13260,
  82482. "nodeType": "Block",
  82483. "src": "51533:106:50",
  82484. "nodes": [],
  82485. "statements": [
  82486. {
  82487. "expression": {
  82488. "arguments": [
  82489. {
  82490. "arguments": [
  82491. {
  82492. "hexValue": "6c6f6728626f6f6c2c626f6f6c2c737472696e672c75696e7432353629",
  82493. "id": 13252,
  82494. "isConstant": false,
  82495. "isLValue": false,
  82496. "isPure": true,
  82497. "kind": "string",
  82498. "lValueRequested": false,
  82499. "nodeType": "Literal",
  82500. "src": "51583:31:50",
  82501. "typeDescriptions": {
  82502. "typeIdentifier": "t_stringliteral_e3a9ca2f5717705d404f75ae4eff025addb4f91e02ce7d2b9a424fc7423a8246",
  82503. "typeString": "literal_string \"log(bool,bool,string,uint256)\""
  82504. },
  82505. "value": "log(bool,bool,string,uint256)"
  82506. },
  82507. {
  82508. "id": 13253,
  82509. "name": "p0",
  82510. "nodeType": "Identifier",
  82511. "overloadedDeclarations": [],
  82512. "referencedDeclaration": 13240,
  82513. "src": "51616:2:50",
  82514. "typeDescriptions": {
  82515. "typeIdentifier": "t_bool",
  82516. "typeString": "bool"
  82517. }
  82518. },
  82519. {
  82520. "id": 13254,
  82521. "name": "p1",
  82522. "nodeType": "Identifier",
  82523. "overloadedDeclarations": [],
  82524. "referencedDeclaration": 13242,
  82525. "src": "51620:2:50",
  82526. "typeDescriptions": {
  82527. "typeIdentifier": "t_bool",
  82528. "typeString": "bool"
  82529. }
  82530. },
  82531. {
  82532. "id": 13255,
  82533. "name": "p2",
  82534. "nodeType": "Identifier",
  82535. "overloadedDeclarations": [],
  82536. "referencedDeclaration": 13244,
  82537. "src": "51624:2:50",
  82538. "typeDescriptions": {
  82539. "typeIdentifier": "t_string_memory_ptr",
  82540. "typeString": "string memory"
  82541. }
  82542. },
  82543. {
  82544. "id": 13256,
  82545. "name": "p3",
  82546. "nodeType": "Identifier",
  82547. "overloadedDeclarations": [],
  82548. "referencedDeclaration": 13246,
  82549. "src": "51628:2:50",
  82550. "typeDescriptions": {
  82551. "typeIdentifier": "t_uint256",
  82552. "typeString": "uint256"
  82553. }
  82554. }
  82555. ],
  82556. "expression": {
  82557. "argumentTypes": [
  82558. {
  82559. "typeIdentifier": "t_stringliteral_e3a9ca2f5717705d404f75ae4eff025addb4f91e02ce7d2b9a424fc7423a8246",
  82560. "typeString": "literal_string \"log(bool,bool,string,uint256)\""
  82561. },
  82562. {
  82563. "typeIdentifier": "t_bool",
  82564. "typeString": "bool"
  82565. },
  82566. {
  82567. "typeIdentifier": "t_bool",
  82568. "typeString": "bool"
  82569. },
  82570. {
  82571. "typeIdentifier": "t_string_memory_ptr",
  82572. "typeString": "string memory"
  82573. },
  82574. {
  82575. "typeIdentifier": "t_uint256",
  82576. "typeString": "uint256"
  82577. }
  82578. ],
  82579. "expression": {
  82580. "id": 13250,
  82581. "name": "abi",
  82582. "nodeType": "Identifier",
  82583. "overloadedDeclarations": [],
  82584. "referencedDeclaration": -1,
  82585. "src": "51559:3:50",
  82586. "typeDescriptions": {
  82587. "typeIdentifier": "t_magic_abi",
  82588. "typeString": "abi"
  82589. }
  82590. },
  82591. "id": 13251,
  82592. "isConstant": false,
  82593. "isLValue": false,
  82594. "isPure": true,
  82595. "lValueRequested": false,
  82596. "memberLocation": "51563:19:50",
  82597. "memberName": "encodeWithSignature",
  82598. "nodeType": "MemberAccess",
  82599. "src": "51559:23:50",
  82600. "typeDescriptions": {
  82601. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  82602. "typeString": "function (string memory) pure returns (bytes memory)"
  82603. }
  82604. },
  82605. "id": 13257,
  82606. "isConstant": false,
  82607. "isLValue": false,
  82608. "isPure": false,
  82609. "kind": "functionCall",
  82610. "lValueRequested": false,
  82611. "nameLocations": [],
  82612. "names": [],
  82613. "nodeType": "FunctionCall",
  82614. "src": "51559:72:50",
  82615. "tryCall": false,
  82616. "typeDescriptions": {
  82617. "typeIdentifier": "t_bytes_memory_ptr",
  82618. "typeString": "bytes memory"
  82619. }
  82620. }
  82621. ],
  82622. "expression": {
  82623. "argumentTypes": [
  82624. {
  82625. "typeIdentifier": "t_bytes_memory_ptr",
  82626. "typeString": "bytes memory"
  82627. }
  82628. ],
  82629. "id": 13249,
  82630. "name": "_sendLogPayload",
  82631. "nodeType": "Identifier",
  82632. "overloadedDeclarations": [],
  82633. "referencedDeclaration": 7315,
  82634. "src": "51543:15:50",
  82635. "typeDescriptions": {
  82636. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  82637. "typeString": "function (bytes memory) pure"
  82638. }
  82639. },
  82640. "id": 13258,
  82641. "isConstant": false,
  82642. "isLValue": false,
  82643. "isPure": false,
  82644. "kind": "functionCall",
  82645. "lValueRequested": false,
  82646. "nameLocations": [],
  82647. "names": [],
  82648. "nodeType": "FunctionCall",
  82649. "src": "51543:89:50",
  82650. "tryCall": false,
  82651. "typeDescriptions": {
  82652. "typeIdentifier": "t_tuple$__$",
  82653. "typeString": "tuple()"
  82654. }
  82655. },
  82656. "id": 13259,
  82657. "nodeType": "ExpressionStatement",
  82658. "src": "51543:89:50"
  82659. }
  82660. ]
  82661. },
  82662. "implemented": true,
  82663. "kind": "function",
  82664. "modifiers": [],
  82665. "name": "log",
  82666. "nameLocation": "51467:3:50",
  82667. "parameters": {
  82668. "id": 13247,
  82669. "nodeType": "ParameterList",
  82670. "parameters": [
  82671. {
  82672. "constant": false,
  82673. "id": 13240,
  82674. "mutability": "mutable",
  82675. "name": "p0",
  82676. "nameLocation": "51476:2:50",
  82677. "nodeType": "VariableDeclaration",
  82678. "scope": 13261,
  82679. "src": "51471:7:50",
  82680. "stateVariable": false,
  82681. "storageLocation": "default",
  82682. "typeDescriptions": {
  82683. "typeIdentifier": "t_bool",
  82684. "typeString": "bool"
  82685. },
  82686. "typeName": {
  82687. "id": 13239,
  82688. "name": "bool",
  82689. "nodeType": "ElementaryTypeName",
  82690. "src": "51471:4:50",
  82691. "typeDescriptions": {
  82692. "typeIdentifier": "t_bool",
  82693. "typeString": "bool"
  82694. }
  82695. },
  82696. "visibility": "internal"
  82697. },
  82698. {
  82699. "constant": false,
  82700. "id": 13242,
  82701. "mutability": "mutable",
  82702. "name": "p1",
  82703. "nameLocation": "51485:2:50",
  82704. "nodeType": "VariableDeclaration",
  82705. "scope": 13261,
  82706. "src": "51480:7:50",
  82707. "stateVariable": false,
  82708. "storageLocation": "default",
  82709. "typeDescriptions": {
  82710. "typeIdentifier": "t_bool",
  82711. "typeString": "bool"
  82712. },
  82713. "typeName": {
  82714. "id": 13241,
  82715. "name": "bool",
  82716. "nodeType": "ElementaryTypeName",
  82717. "src": "51480:4:50",
  82718. "typeDescriptions": {
  82719. "typeIdentifier": "t_bool",
  82720. "typeString": "bool"
  82721. }
  82722. },
  82723. "visibility": "internal"
  82724. },
  82725. {
  82726. "constant": false,
  82727. "id": 13244,
  82728. "mutability": "mutable",
  82729. "name": "p2",
  82730. "nameLocation": "51503:2:50",
  82731. "nodeType": "VariableDeclaration",
  82732. "scope": 13261,
  82733. "src": "51489:16:50",
  82734. "stateVariable": false,
  82735. "storageLocation": "memory",
  82736. "typeDescriptions": {
  82737. "typeIdentifier": "t_string_memory_ptr",
  82738. "typeString": "string"
  82739. },
  82740. "typeName": {
  82741. "id": 13243,
  82742. "name": "string",
  82743. "nodeType": "ElementaryTypeName",
  82744. "src": "51489:6:50",
  82745. "typeDescriptions": {
  82746. "typeIdentifier": "t_string_storage_ptr",
  82747. "typeString": "string"
  82748. }
  82749. },
  82750. "visibility": "internal"
  82751. },
  82752. {
  82753. "constant": false,
  82754. "id": 13246,
  82755. "mutability": "mutable",
  82756. "name": "p3",
  82757. "nameLocation": "51515:2:50",
  82758. "nodeType": "VariableDeclaration",
  82759. "scope": 13261,
  82760. "src": "51507:10:50",
  82761. "stateVariable": false,
  82762. "storageLocation": "default",
  82763. "typeDescriptions": {
  82764. "typeIdentifier": "t_uint256",
  82765. "typeString": "uint256"
  82766. },
  82767. "typeName": {
  82768. "id": 13245,
  82769. "name": "uint256",
  82770. "nodeType": "ElementaryTypeName",
  82771. "src": "51507:7:50",
  82772. "typeDescriptions": {
  82773. "typeIdentifier": "t_uint256",
  82774. "typeString": "uint256"
  82775. }
  82776. },
  82777. "visibility": "internal"
  82778. }
  82779. ],
  82780. "src": "51470:48:50"
  82781. },
  82782. "returnParameters": {
  82783. "id": 13248,
  82784. "nodeType": "ParameterList",
  82785. "parameters": [],
  82786. "src": "51533:0:50"
  82787. },
  82788. "scope": 15355,
  82789. "stateMutability": "pure",
  82790. "virtual": false,
  82791. "visibility": "internal"
  82792. },
  82793. {
  82794. "id": 13284,
  82795. "nodeType": "FunctionDefinition",
  82796. "src": "51645:186:50",
  82797. "nodes": [],
  82798. "body": {
  82799. "id": 13283,
  82800. "nodeType": "Block",
  82801. "src": "51726:105:50",
  82802. "nodes": [],
  82803. "statements": [
  82804. {
  82805. "expression": {
  82806. "arguments": [
  82807. {
  82808. "arguments": [
  82809. {
  82810. "hexValue": "6c6f6728626f6f6c2c626f6f6c2c737472696e672c737472696e6729",
  82811. "id": 13275,
  82812. "isConstant": false,
  82813. "isLValue": false,
  82814. "isPure": true,
  82815. "kind": "string",
  82816. "lValueRequested": false,
  82817. "nodeType": "Literal",
  82818. "src": "51776:30:50",
  82819. "typeDescriptions": {
  82820. "typeIdentifier": "t_stringliteral_6d1e87518c98344bc3efd52648f61de340bda51607aec409d641f3467caafaaf",
  82821. "typeString": "literal_string \"log(bool,bool,string,string)\""
  82822. },
  82823. "value": "log(bool,bool,string,string)"
  82824. },
  82825. {
  82826. "id": 13276,
  82827. "name": "p0",
  82828. "nodeType": "Identifier",
  82829. "overloadedDeclarations": [],
  82830. "referencedDeclaration": 13263,
  82831. "src": "51808:2:50",
  82832. "typeDescriptions": {
  82833. "typeIdentifier": "t_bool",
  82834. "typeString": "bool"
  82835. }
  82836. },
  82837. {
  82838. "id": 13277,
  82839. "name": "p1",
  82840. "nodeType": "Identifier",
  82841. "overloadedDeclarations": [],
  82842. "referencedDeclaration": 13265,
  82843. "src": "51812:2:50",
  82844. "typeDescriptions": {
  82845. "typeIdentifier": "t_bool",
  82846. "typeString": "bool"
  82847. }
  82848. },
  82849. {
  82850. "id": 13278,
  82851. "name": "p2",
  82852. "nodeType": "Identifier",
  82853. "overloadedDeclarations": [],
  82854. "referencedDeclaration": 13267,
  82855. "src": "51816:2:50",
  82856. "typeDescriptions": {
  82857. "typeIdentifier": "t_string_memory_ptr",
  82858. "typeString": "string memory"
  82859. }
  82860. },
  82861. {
  82862. "id": 13279,
  82863. "name": "p3",
  82864. "nodeType": "Identifier",
  82865. "overloadedDeclarations": [],
  82866. "referencedDeclaration": 13269,
  82867. "src": "51820:2:50",
  82868. "typeDescriptions": {
  82869. "typeIdentifier": "t_string_memory_ptr",
  82870. "typeString": "string memory"
  82871. }
  82872. }
  82873. ],
  82874. "expression": {
  82875. "argumentTypes": [
  82876. {
  82877. "typeIdentifier": "t_stringliteral_6d1e87518c98344bc3efd52648f61de340bda51607aec409d641f3467caafaaf",
  82878. "typeString": "literal_string \"log(bool,bool,string,string)\""
  82879. },
  82880. {
  82881. "typeIdentifier": "t_bool",
  82882. "typeString": "bool"
  82883. },
  82884. {
  82885. "typeIdentifier": "t_bool",
  82886. "typeString": "bool"
  82887. },
  82888. {
  82889. "typeIdentifier": "t_string_memory_ptr",
  82890. "typeString": "string memory"
  82891. },
  82892. {
  82893. "typeIdentifier": "t_string_memory_ptr",
  82894. "typeString": "string memory"
  82895. }
  82896. ],
  82897. "expression": {
  82898. "id": 13273,
  82899. "name": "abi",
  82900. "nodeType": "Identifier",
  82901. "overloadedDeclarations": [],
  82902. "referencedDeclaration": -1,
  82903. "src": "51752:3:50",
  82904. "typeDescriptions": {
  82905. "typeIdentifier": "t_magic_abi",
  82906. "typeString": "abi"
  82907. }
  82908. },
  82909. "id": 13274,
  82910. "isConstant": false,
  82911. "isLValue": false,
  82912. "isPure": true,
  82913. "lValueRequested": false,
  82914. "memberLocation": "51756:19:50",
  82915. "memberName": "encodeWithSignature",
  82916. "nodeType": "MemberAccess",
  82917. "src": "51752:23:50",
  82918. "typeDescriptions": {
  82919. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  82920. "typeString": "function (string memory) pure returns (bytes memory)"
  82921. }
  82922. },
  82923. "id": 13280,
  82924. "isConstant": false,
  82925. "isLValue": false,
  82926. "isPure": false,
  82927. "kind": "functionCall",
  82928. "lValueRequested": false,
  82929. "nameLocations": [],
  82930. "names": [],
  82931. "nodeType": "FunctionCall",
  82932. "src": "51752:71:50",
  82933. "tryCall": false,
  82934. "typeDescriptions": {
  82935. "typeIdentifier": "t_bytes_memory_ptr",
  82936. "typeString": "bytes memory"
  82937. }
  82938. }
  82939. ],
  82940. "expression": {
  82941. "argumentTypes": [
  82942. {
  82943. "typeIdentifier": "t_bytes_memory_ptr",
  82944. "typeString": "bytes memory"
  82945. }
  82946. ],
  82947. "id": 13272,
  82948. "name": "_sendLogPayload",
  82949. "nodeType": "Identifier",
  82950. "overloadedDeclarations": [],
  82951. "referencedDeclaration": 7315,
  82952. "src": "51736:15:50",
  82953. "typeDescriptions": {
  82954. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  82955. "typeString": "function (bytes memory) pure"
  82956. }
  82957. },
  82958. "id": 13281,
  82959. "isConstant": false,
  82960. "isLValue": false,
  82961. "isPure": false,
  82962. "kind": "functionCall",
  82963. "lValueRequested": false,
  82964. "nameLocations": [],
  82965. "names": [],
  82966. "nodeType": "FunctionCall",
  82967. "src": "51736:88:50",
  82968. "tryCall": false,
  82969. "typeDescriptions": {
  82970. "typeIdentifier": "t_tuple$__$",
  82971. "typeString": "tuple()"
  82972. }
  82973. },
  82974. "id": 13282,
  82975. "nodeType": "ExpressionStatement",
  82976. "src": "51736:88:50"
  82977. }
  82978. ]
  82979. },
  82980. "implemented": true,
  82981. "kind": "function",
  82982. "modifiers": [],
  82983. "name": "log",
  82984. "nameLocation": "51654:3:50",
  82985. "parameters": {
  82986. "id": 13270,
  82987. "nodeType": "ParameterList",
  82988. "parameters": [
  82989. {
  82990. "constant": false,
  82991. "id": 13263,
  82992. "mutability": "mutable",
  82993. "name": "p0",
  82994. "nameLocation": "51663:2:50",
  82995. "nodeType": "VariableDeclaration",
  82996. "scope": 13284,
  82997. "src": "51658:7:50",
  82998. "stateVariable": false,
  82999. "storageLocation": "default",
  83000. "typeDescriptions": {
  83001. "typeIdentifier": "t_bool",
  83002. "typeString": "bool"
  83003. },
  83004. "typeName": {
  83005. "id": 13262,
  83006. "name": "bool",
  83007. "nodeType": "ElementaryTypeName",
  83008. "src": "51658:4:50",
  83009. "typeDescriptions": {
  83010. "typeIdentifier": "t_bool",
  83011. "typeString": "bool"
  83012. }
  83013. },
  83014. "visibility": "internal"
  83015. },
  83016. {
  83017. "constant": false,
  83018. "id": 13265,
  83019. "mutability": "mutable",
  83020. "name": "p1",
  83021. "nameLocation": "51672:2:50",
  83022. "nodeType": "VariableDeclaration",
  83023. "scope": 13284,
  83024. "src": "51667:7:50",
  83025. "stateVariable": false,
  83026. "storageLocation": "default",
  83027. "typeDescriptions": {
  83028. "typeIdentifier": "t_bool",
  83029. "typeString": "bool"
  83030. },
  83031. "typeName": {
  83032. "id": 13264,
  83033. "name": "bool",
  83034. "nodeType": "ElementaryTypeName",
  83035. "src": "51667:4:50",
  83036. "typeDescriptions": {
  83037. "typeIdentifier": "t_bool",
  83038. "typeString": "bool"
  83039. }
  83040. },
  83041. "visibility": "internal"
  83042. },
  83043. {
  83044. "constant": false,
  83045. "id": 13267,
  83046. "mutability": "mutable",
  83047. "name": "p2",
  83048. "nameLocation": "51690:2:50",
  83049. "nodeType": "VariableDeclaration",
  83050. "scope": 13284,
  83051. "src": "51676:16:50",
  83052. "stateVariable": false,
  83053. "storageLocation": "memory",
  83054. "typeDescriptions": {
  83055. "typeIdentifier": "t_string_memory_ptr",
  83056. "typeString": "string"
  83057. },
  83058. "typeName": {
  83059. "id": 13266,
  83060. "name": "string",
  83061. "nodeType": "ElementaryTypeName",
  83062. "src": "51676:6:50",
  83063. "typeDescriptions": {
  83064. "typeIdentifier": "t_string_storage_ptr",
  83065. "typeString": "string"
  83066. }
  83067. },
  83068. "visibility": "internal"
  83069. },
  83070. {
  83071. "constant": false,
  83072. "id": 13269,
  83073. "mutability": "mutable",
  83074. "name": "p3",
  83075. "nameLocation": "51708:2:50",
  83076. "nodeType": "VariableDeclaration",
  83077. "scope": 13284,
  83078. "src": "51694:16:50",
  83079. "stateVariable": false,
  83080. "storageLocation": "memory",
  83081. "typeDescriptions": {
  83082. "typeIdentifier": "t_string_memory_ptr",
  83083. "typeString": "string"
  83084. },
  83085. "typeName": {
  83086. "id": 13268,
  83087. "name": "string",
  83088. "nodeType": "ElementaryTypeName",
  83089. "src": "51694:6:50",
  83090. "typeDescriptions": {
  83091. "typeIdentifier": "t_string_storage_ptr",
  83092. "typeString": "string"
  83093. }
  83094. },
  83095. "visibility": "internal"
  83096. }
  83097. ],
  83098. "src": "51657:54:50"
  83099. },
  83100. "returnParameters": {
  83101. "id": 13271,
  83102. "nodeType": "ParameterList",
  83103. "parameters": [],
  83104. "src": "51726:0:50"
  83105. },
  83106. "scope": 15355,
  83107. "stateMutability": "pure",
  83108. "virtual": false,
  83109. "visibility": "internal"
  83110. },
  83111. {
  83112. "id": 13307,
  83113. "nodeType": "FunctionDefinition",
  83114. "src": "51837:175:50",
  83115. "nodes": [],
  83116. "body": {
  83117. "id": 13306,
  83118. "nodeType": "Block",
  83119. "src": "51909:103:50",
  83120. "nodes": [],
  83121. "statements": [
  83122. {
  83123. "expression": {
  83124. "arguments": [
  83125. {
  83126. "arguments": [
  83127. {
  83128. "hexValue": "6c6f6728626f6f6c2c626f6f6c2c737472696e672c626f6f6c29",
  83129. "id": 13298,
  83130. "isConstant": false,
  83131. "isLValue": false,
  83132. "isPure": true,
  83133. "kind": "string",
  83134. "lValueRequested": false,
  83135. "nodeType": "Literal",
  83136. "src": "51959:28:50",
  83137. "typeDescriptions": {
  83138. "typeIdentifier": "t_stringliteral_b857163a2b7b8273ed53cefa410aa148f1833bdfc22da11e1e2fb89c6e625d02",
  83139. "typeString": "literal_string \"log(bool,bool,string,bool)\""
  83140. },
  83141. "value": "log(bool,bool,string,bool)"
  83142. },
  83143. {
  83144. "id": 13299,
  83145. "name": "p0",
  83146. "nodeType": "Identifier",
  83147. "overloadedDeclarations": [],
  83148. "referencedDeclaration": 13286,
  83149. "src": "51989:2:50",
  83150. "typeDescriptions": {
  83151. "typeIdentifier": "t_bool",
  83152. "typeString": "bool"
  83153. }
  83154. },
  83155. {
  83156. "id": 13300,
  83157. "name": "p1",
  83158. "nodeType": "Identifier",
  83159. "overloadedDeclarations": [],
  83160. "referencedDeclaration": 13288,
  83161. "src": "51993:2:50",
  83162. "typeDescriptions": {
  83163. "typeIdentifier": "t_bool",
  83164. "typeString": "bool"
  83165. }
  83166. },
  83167. {
  83168. "id": 13301,
  83169. "name": "p2",
  83170. "nodeType": "Identifier",
  83171. "overloadedDeclarations": [],
  83172. "referencedDeclaration": 13290,
  83173. "src": "51997:2:50",
  83174. "typeDescriptions": {
  83175. "typeIdentifier": "t_string_memory_ptr",
  83176. "typeString": "string memory"
  83177. }
  83178. },
  83179. {
  83180. "id": 13302,
  83181. "name": "p3",
  83182. "nodeType": "Identifier",
  83183. "overloadedDeclarations": [],
  83184. "referencedDeclaration": 13292,
  83185. "src": "52001:2:50",
  83186. "typeDescriptions": {
  83187. "typeIdentifier": "t_bool",
  83188. "typeString": "bool"
  83189. }
  83190. }
  83191. ],
  83192. "expression": {
  83193. "argumentTypes": [
  83194. {
  83195. "typeIdentifier": "t_stringliteral_b857163a2b7b8273ed53cefa410aa148f1833bdfc22da11e1e2fb89c6e625d02",
  83196. "typeString": "literal_string \"log(bool,bool,string,bool)\""
  83197. },
  83198. {
  83199. "typeIdentifier": "t_bool",
  83200. "typeString": "bool"
  83201. },
  83202. {
  83203. "typeIdentifier": "t_bool",
  83204. "typeString": "bool"
  83205. },
  83206. {
  83207. "typeIdentifier": "t_string_memory_ptr",
  83208. "typeString": "string memory"
  83209. },
  83210. {
  83211. "typeIdentifier": "t_bool",
  83212. "typeString": "bool"
  83213. }
  83214. ],
  83215. "expression": {
  83216. "id": 13296,
  83217. "name": "abi",
  83218. "nodeType": "Identifier",
  83219. "overloadedDeclarations": [],
  83220. "referencedDeclaration": -1,
  83221. "src": "51935:3:50",
  83222. "typeDescriptions": {
  83223. "typeIdentifier": "t_magic_abi",
  83224. "typeString": "abi"
  83225. }
  83226. },
  83227. "id": 13297,
  83228. "isConstant": false,
  83229. "isLValue": false,
  83230. "isPure": true,
  83231. "lValueRequested": false,
  83232. "memberLocation": "51939:19:50",
  83233. "memberName": "encodeWithSignature",
  83234. "nodeType": "MemberAccess",
  83235. "src": "51935:23:50",
  83236. "typeDescriptions": {
  83237. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  83238. "typeString": "function (string memory) pure returns (bytes memory)"
  83239. }
  83240. },
  83241. "id": 13303,
  83242. "isConstant": false,
  83243. "isLValue": false,
  83244. "isPure": false,
  83245. "kind": "functionCall",
  83246. "lValueRequested": false,
  83247. "nameLocations": [],
  83248. "names": [],
  83249. "nodeType": "FunctionCall",
  83250. "src": "51935:69:50",
  83251. "tryCall": false,
  83252. "typeDescriptions": {
  83253. "typeIdentifier": "t_bytes_memory_ptr",
  83254. "typeString": "bytes memory"
  83255. }
  83256. }
  83257. ],
  83258. "expression": {
  83259. "argumentTypes": [
  83260. {
  83261. "typeIdentifier": "t_bytes_memory_ptr",
  83262. "typeString": "bytes memory"
  83263. }
  83264. ],
  83265. "id": 13295,
  83266. "name": "_sendLogPayload",
  83267. "nodeType": "Identifier",
  83268. "overloadedDeclarations": [],
  83269. "referencedDeclaration": 7315,
  83270. "src": "51919:15:50",
  83271. "typeDescriptions": {
  83272. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  83273. "typeString": "function (bytes memory) pure"
  83274. }
  83275. },
  83276. "id": 13304,
  83277. "isConstant": false,
  83278. "isLValue": false,
  83279. "isPure": false,
  83280. "kind": "functionCall",
  83281. "lValueRequested": false,
  83282. "nameLocations": [],
  83283. "names": [],
  83284. "nodeType": "FunctionCall",
  83285. "src": "51919:86:50",
  83286. "tryCall": false,
  83287. "typeDescriptions": {
  83288. "typeIdentifier": "t_tuple$__$",
  83289. "typeString": "tuple()"
  83290. }
  83291. },
  83292. "id": 13305,
  83293. "nodeType": "ExpressionStatement",
  83294. "src": "51919:86:50"
  83295. }
  83296. ]
  83297. },
  83298. "implemented": true,
  83299. "kind": "function",
  83300. "modifiers": [],
  83301. "name": "log",
  83302. "nameLocation": "51846:3:50",
  83303. "parameters": {
  83304. "id": 13293,
  83305. "nodeType": "ParameterList",
  83306. "parameters": [
  83307. {
  83308. "constant": false,
  83309. "id": 13286,
  83310. "mutability": "mutable",
  83311. "name": "p0",
  83312. "nameLocation": "51855:2:50",
  83313. "nodeType": "VariableDeclaration",
  83314. "scope": 13307,
  83315. "src": "51850:7:50",
  83316. "stateVariable": false,
  83317. "storageLocation": "default",
  83318. "typeDescriptions": {
  83319. "typeIdentifier": "t_bool",
  83320. "typeString": "bool"
  83321. },
  83322. "typeName": {
  83323. "id": 13285,
  83324. "name": "bool",
  83325. "nodeType": "ElementaryTypeName",
  83326. "src": "51850:4:50",
  83327. "typeDescriptions": {
  83328. "typeIdentifier": "t_bool",
  83329. "typeString": "bool"
  83330. }
  83331. },
  83332. "visibility": "internal"
  83333. },
  83334. {
  83335. "constant": false,
  83336. "id": 13288,
  83337. "mutability": "mutable",
  83338. "name": "p1",
  83339. "nameLocation": "51864:2:50",
  83340. "nodeType": "VariableDeclaration",
  83341. "scope": 13307,
  83342. "src": "51859:7:50",
  83343. "stateVariable": false,
  83344. "storageLocation": "default",
  83345. "typeDescriptions": {
  83346. "typeIdentifier": "t_bool",
  83347. "typeString": "bool"
  83348. },
  83349. "typeName": {
  83350. "id": 13287,
  83351. "name": "bool",
  83352. "nodeType": "ElementaryTypeName",
  83353. "src": "51859:4:50",
  83354. "typeDescriptions": {
  83355. "typeIdentifier": "t_bool",
  83356. "typeString": "bool"
  83357. }
  83358. },
  83359. "visibility": "internal"
  83360. },
  83361. {
  83362. "constant": false,
  83363. "id": 13290,
  83364. "mutability": "mutable",
  83365. "name": "p2",
  83366. "nameLocation": "51882:2:50",
  83367. "nodeType": "VariableDeclaration",
  83368. "scope": 13307,
  83369. "src": "51868:16:50",
  83370. "stateVariable": false,
  83371. "storageLocation": "memory",
  83372. "typeDescriptions": {
  83373. "typeIdentifier": "t_string_memory_ptr",
  83374. "typeString": "string"
  83375. },
  83376. "typeName": {
  83377. "id": 13289,
  83378. "name": "string",
  83379. "nodeType": "ElementaryTypeName",
  83380. "src": "51868:6:50",
  83381. "typeDescriptions": {
  83382. "typeIdentifier": "t_string_storage_ptr",
  83383. "typeString": "string"
  83384. }
  83385. },
  83386. "visibility": "internal"
  83387. },
  83388. {
  83389. "constant": false,
  83390. "id": 13292,
  83391. "mutability": "mutable",
  83392. "name": "p3",
  83393. "nameLocation": "51891:2:50",
  83394. "nodeType": "VariableDeclaration",
  83395. "scope": 13307,
  83396. "src": "51886:7:50",
  83397. "stateVariable": false,
  83398. "storageLocation": "default",
  83399. "typeDescriptions": {
  83400. "typeIdentifier": "t_bool",
  83401. "typeString": "bool"
  83402. },
  83403. "typeName": {
  83404. "id": 13291,
  83405. "name": "bool",
  83406. "nodeType": "ElementaryTypeName",
  83407. "src": "51886:4:50",
  83408. "typeDescriptions": {
  83409. "typeIdentifier": "t_bool",
  83410. "typeString": "bool"
  83411. }
  83412. },
  83413. "visibility": "internal"
  83414. }
  83415. ],
  83416. "src": "51849:45:50"
  83417. },
  83418. "returnParameters": {
  83419. "id": 13294,
  83420. "nodeType": "ParameterList",
  83421. "parameters": [],
  83422. "src": "51909:0:50"
  83423. },
  83424. "scope": 15355,
  83425. "stateMutability": "pure",
  83426. "virtual": false,
  83427. "visibility": "internal"
  83428. },
  83429. {
  83430. "id": 13330,
  83431. "nodeType": "FunctionDefinition",
  83432. "src": "52018:181:50",
  83433. "nodes": [],
  83434. "body": {
  83435. "id": 13329,
  83436. "nodeType": "Block",
  83437. "src": "52093:106:50",
  83438. "nodes": [],
  83439. "statements": [
  83440. {
  83441. "expression": {
  83442. "arguments": [
  83443. {
  83444. "arguments": [
  83445. {
  83446. "hexValue": "6c6f6728626f6f6c2c626f6f6c2c737472696e672c6164647265737329",
  83447. "id": 13321,
  83448. "isConstant": false,
  83449. "isLValue": false,
  83450. "isPure": true,
  83451. "kind": "string",
  83452. "lValueRequested": false,
  83453. "nodeType": "Literal",
  83454. "src": "52143:31:50",
  83455. "typeDescriptions": {
  83456. "typeIdentifier": "t_stringliteral_f9ad2b893873fa31c02b102aa30743b2e44c102daa588ea9d1eb1f2baf23d202",
  83457. "typeString": "literal_string \"log(bool,bool,string,address)\""
  83458. },
  83459. "value": "log(bool,bool,string,address)"
  83460. },
  83461. {
  83462. "id": 13322,
  83463. "name": "p0",
  83464. "nodeType": "Identifier",
  83465. "overloadedDeclarations": [],
  83466. "referencedDeclaration": 13309,
  83467. "src": "52176:2:50",
  83468. "typeDescriptions": {
  83469. "typeIdentifier": "t_bool",
  83470. "typeString": "bool"
  83471. }
  83472. },
  83473. {
  83474. "id": 13323,
  83475. "name": "p1",
  83476. "nodeType": "Identifier",
  83477. "overloadedDeclarations": [],
  83478. "referencedDeclaration": 13311,
  83479. "src": "52180:2:50",
  83480. "typeDescriptions": {
  83481. "typeIdentifier": "t_bool",
  83482. "typeString": "bool"
  83483. }
  83484. },
  83485. {
  83486. "id": 13324,
  83487. "name": "p2",
  83488. "nodeType": "Identifier",
  83489. "overloadedDeclarations": [],
  83490. "referencedDeclaration": 13313,
  83491. "src": "52184:2:50",
  83492. "typeDescriptions": {
  83493. "typeIdentifier": "t_string_memory_ptr",
  83494. "typeString": "string memory"
  83495. }
  83496. },
  83497. {
  83498. "id": 13325,
  83499. "name": "p3",
  83500. "nodeType": "Identifier",
  83501. "overloadedDeclarations": [],
  83502. "referencedDeclaration": 13315,
  83503. "src": "52188:2:50",
  83504. "typeDescriptions": {
  83505. "typeIdentifier": "t_address",
  83506. "typeString": "address"
  83507. }
  83508. }
  83509. ],
  83510. "expression": {
  83511. "argumentTypes": [
  83512. {
  83513. "typeIdentifier": "t_stringliteral_f9ad2b893873fa31c02b102aa30743b2e44c102daa588ea9d1eb1f2baf23d202",
  83514. "typeString": "literal_string \"log(bool,bool,string,address)\""
  83515. },
  83516. {
  83517. "typeIdentifier": "t_bool",
  83518. "typeString": "bool"
  83519. },
  83520. {
  83521. "typeIdentifier": "t_bool",
  83522. "typeString": "bool"
  83523. },
  83524. {
  83525. "typeIdentifier": "t_string_memory_ptr",
  83526. "typeString": "string memory"
  83527. },
  83528. {
  83529. "typeIdentifier": "t_address",
  83530. "typeString": "address"
  83531. }
  83532. ],
  83533. "expression": {
  83534. "id": 13319,
  83535. "name": "abi",
  83536. "nodeType": "Identifier",
  83537. "overloadedDeclarations": [],
  83538. "referencedDeclaration": -1,
  83539. "src": "52119:3:50",
  83540. "typeDescriptions": {
  83541. "typeIdentifier": "t_magic_abi",
  83542. "typeString": "abi"
  83543. }
  83544. },
  83545. "id": 13320,
  83546. "isConstant": false,
  83547. "isLValue": false,
  83548. "isPure": true,
  83549. "lValueRequested": false,
  83550. "memberLocation": "52123:19:50",
  83551. "memberName": "encodeWithSignature",
  83552. "nodeType": "MemberAccess",
  83553. "src": "52119:23:50",
  83554. "typeDescriptions": {
  83555. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  83556. "typeString": "function (string memory) pure returns (bytes memory)"
  83557. }
  83558. },
  83559. "id": 13326,
  83560. "isConstant": false,
  83561. "isLValue": false,
  83562. "isPure": false,
  83563. "kind": "functionCall",
  83564. "lValueRequested": false,
  83565. "nameLocations": [],
  83566. "names": [],
  83567. "nodeType": "FunctionCall",
  83568. "src": "52119:72:50",
  83569. "tryCall": false,
  83570. "typeDescriptions": {
  83571. "typeIdentifier": "t_bytes_memory_ptr",
  83572. "typeString": "bytes memory"
  83573. }
  83574. }
  83575. ],
  83576. "expression": {
  83577. "argumentTypes": [
  83578. {
  83579. "typeIdentifier": "t_bytes_memory_ptr",
  83580. "typeString": "bytes memory"
  83581. }
  83582. ],
  83583. "id": 13318,
  83584. "name": "_sendLogPayload",
  83585. "nodeType": "Identifier",
  83586. "overloadedDeclarations": [],
  83587. "referencedDeclaration": 7315,
  83588. "src": "52103:15:50",
  83589. "typeDescriptions": {
  83590. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  83591. "typeString": "function (bytes memory) pure"
  83592. }
  83593. },
  83594. "id": 13327,
  83595. "isConstant": false,
  83596. "isLValue": false,
  83597. "isPure": false,
  83598. "kind": "functionCall",
  83599. "lValueRequested": false,
  83600. "nameLocations": [],
  83601. "names": [],
  83602. "nodeType": "FunctionCall",
  83603. "src": "52103:89:50",
  83604. "tryCall": false,
  83605. "typeDescriptions": {
  83606. "typeIdentifier": "t_tuple$__$",
  83607. "typeString": "tuple()"
  83608. }
  83609. },
  83610. "id": 13328,
  83611. "nodeType": "ExpressionStatement",
  83612. "src": "52103:89:50"
  83613. }
  83614. ]
  83615. },
  83616. "implemented": true,
  83617. "kind": "function",
  83618. "modifiers": [],
  83619. "name": "log",
  83620. "nameLocation": "52027:3:50",
  83621. "parameters": {
  83622. "id": 13316,
  83623. "nodeType": "ParameterList",
  83624. "parameters": [
  83625. {
  83626. "constant": false,
  83627. "id": 13309,
  83628. "mutability": "mutable",
  83629. "name": "p0",
  83630. "nameLocation": "52036:2:50",
  83631. "nodeType": "VariableDeclaration",
  83632. "scope": 13330,
  83633. "src": "52031:7:50",
  83634. "stateVariable": false,
  83635. "storageLocation": "default",
  83636. "typeDescriptions": {
  83637. "typeIdentifier": "t_bool",
  83638. "typeString": "bool"
  83639. },
  83640. "typeName": {
  83641. "id": 13308,
  83642. "name": "bool",
  83643. "nodeType": "ElementaryTypeName",
  83644. "src": "52031:4:50",
  83645. "typeDescriptions": {
  83646. "typeIdentifier": "t_bool",
  83647. "typeString": "bool"
  83648. }
  83649. },
  83650. "visibility": "internal"
  83651. },
  83652. {
  83653. "constant": false,
  83654. "id": 13311,
  83655. "mutability": "mutable",
  83656. "name": "p1",
  83657. "nameLocation": "52045:2:50",
  83658. "nodeType": "VariableDeclaration",
  83659. "scope": 13330,
  83660. "src": "52040:7:50",
  83661. "stateVariable": false,
  83662. "storageLocation": "default",
  83663. "typeDescriptions": {
  83664. "typeIdentifier": "t_bool",
  83665. "typeString": "bool"
  83666. },
  83667. "typeName": {
  83668. "id": 13310,
  83669. "name": "bool",
  83670. "nodeType": "ElementaryTypeName",
  83671. "src": "52040:4:50",
  83672. "typeDescriptions": {
  83673. "typeIdentifier": "t_bool",
  83674. "typeString": "bool"
  83675. }
  83676. },
  83677. "visibility": "internal"
  83678. },
  83679. {
  83680. "constant": false,
  83681. "id": 13313,
  83682. "mutability": "mutable",
  83683. "name": "p2",
  83684. "nameLocation": "52063:2:50",
  83685. "nodeType": "VariableDeclaration",
  83686. "scope": 13330,
  83687. "src": "52049:16:50",
  83688. "stateVariable": false,
  83689. "storageLocation": "memory",
  83690. "typeDescriptions": {
  83691. "typeIdentifier": "t_string_memory_ptr",
  83692. "typeString": "string"
  83693. },
  83694. "typeName": {
  83695. "id": 13312,
  83696. "name": "string",
  83697. "nodeType": "ElementaryTypeName",
  83698. "src": "52049:6:50",
  83699. "typeDescriptions": {
  83700. "typeIdentifier": "t_string_storage_ptr",
  83701. "typeString": "string"
  83702. }
  83703. },
  83704. "visibility": "internal"
  83705. },
  83706. {
  83707. "constant": false,
  83708. "id": 13315,
  83709. "mutability": "mutable",
  83710. "name": "p3",
  83711. "nameLocation": "52075:2:50",
  83712. "nodeType": "VariableDeclaration",
  83713. "scope": 13330,
  83714. "src": "52067:10:50",
  83715. "stateVariable": false,
  83716. "storageLocation": "default",
  83717. "typeDescriptions": {
  83718. "typeIdentifier": "t_address",
  83719. "typeString": "address"
  83720. },
  83721. "typeName": {
  83722. "id": 13314,
  83723. "name": "address",
  83724. "nodeType": "ElementaryTypeName",
  83725. "src": "52067:7:50",
  83726. "stateMutability": "nonpayable",
  83727. "typeDescriptions": {
  83728. "typeIdentifier": "t_address",
  83729. "typeString": "address"
  83730. }
  83731. },
  83732. "visibility": "internal"
  83733. }
  83734. ],
  83735. "src": "52030:48:50"
  83736. },
  83737. "returnParameters": {
  83738. "id": 13317,
  83739. "nodeType": "ParameterList",
  83740. "parameters": [],
  83741. "src": "52093:0:50"
  83742. },
  83743. "scope": 15355,
  83744. "stateMutability": "pure",
  83745. "virtual": false,
  83746. "visibility": "internal"
  83747. },
  83748. {
  83749. "id": 13353,
  83750. "nodeType": "FunctionDefinition",
  83751. "src": "52205:170:50",
  83752. "nodes": [],
  83753. "body": {
  83754. "id": 13352,
  83755. "nodeType": "Block",
  83756. "src": "52271:104:50",
  83757. "nodes": [],
  83758. "statements": [
  83759. {
  83760. "expression": {
  83761. "arguments": [
  83762. {
  83763. "arguments": [
  83764. {
  83765. "hexValue": "6c6f6728626f6f6c2c626f6f6c2c626f6f6c2c75696e7432353629",
  83766. "id": 13344,
  83767. "isConstant": false,
  83768. "isLValue": false,
  83769. "isPure": true,
  83770. "kind": "string",
  83771. "lValueRequested": false,
  83772. "nodeType": "Literal",
  83773. "src": "52321:29:50",
  83774. "typeDescriptions": {
  83775. "typeIdentifier": "t_stringliteral_6d7045c1b7eb7ef78b5ae54b2426a16952d89f674f6d689a4e37aa73bc076a7c",
  83776. "typeString": "literal_string \"log(bool,bool,bool,uint256)\""
  83777. },
  83778. "value": "log(bool,bool,bool,uint256)"
  83779. },
  83780. {
  83781. "id": 13345,
  83782. "name": "p0",
  83783. "nodeType": "Identifier",
  83784. "overloadedDeclarations": [],
  83785. "referencedDeclaration": 13332,
  83786. "src": "52352:2:50",
  83787. "typeDescriptions": {
  83788. "typeIdentifier": "t_bool",
  83789. "typeString": "bool"
  83790. }
  83791. },
  83792. {
  83793. "id": 13346,
  83794. "name": "p1",
  83795. "nodeType": "Identifier",
  83796. "overloadedDeclarations": [],
  83797. "referencedDeclaration": 13334,
  83798. "src": "52356:2:50",
  83799. "typeDescriptions": {
  83800. "typeIdentifier": "t_bool",
  83801. "typeString": "bool"
  83802. }
  83803. },
  83804. {
  83805. "id": 13347,
  83806. "name": "p2",
  83807. "nodeType": "Identifier",
  83808. "overloadedDeclarations": [],
  83809. "referencedDeclaration": 13336,
  83810. "src": "52360:2:50",
  83811. "typeDescriptions": {
  83812. "typeIdentifier": "t_bool",
  83813. "typeString": "bool"
  83814. }
  83815. },
  83816. {
  83817. "id": 13348,
  83818. "name": "p3",
  83819. "nodeType": "Identifier",
  83820. "overloadedDeclarations": [],
  83821. "referencedDeclaration": 13338,
  83822. "src": "52364:2:50",
  83823. "typeDescriptions": {
  83824. "typeIdentifier": "t_uint256",
  83825. "typeString": "uint256"
  83826. }
  83827. }
  83828. ],
  83829. "expression": {
  83830. "argumentTypes": [
  83831. {
  83832. "typeIdentifier": "t_stringliteral_6d7045c1b7eb7ef78b5ae54b2426a16952d89f674f6d689a4e37aa73bc076a7c",
  83833. "typeString": "literal_string \"log(bool,bool,bool,uint256)\""
  83834. },
  83835. {
  83836. "typeIdentifier": "t_bool",
  83837. "typeString": "bool"
  83838. },
  83839. {
  83840. "typeIdentifier": "t_bool",
  83841. "typeString": "bool"
  83842. },
  83843. {
  83844. "typeIdentifier": "t_bool",
  83845. "typeString": "bool"
  83846. },
  83847. {
  83848. "typeIdentifier": "t_uint256",
  83849. "typeString": "uint256"
  83850. }
  83851. ],
  83852. "expression": {
  83853. "id": 13342,
  83854. "name": "abi",
  83855. "nodeType": "Identifier",
  83856. "overloadedDeclarations": [],
  83857. "referencedDeclaration": -1,
  83858. "src": "52297:3:50",
  83859. "typeDescriptions": {
  83860. "typeIdentifier": "t_magic_abi",
  83861. "typeString": "abi"
  83862. }
  83863. },
  83864. "id": 13343,
  83865. "isConstant": false,
  83866. "isLValue": false,
  83867. "isPure": true,
  83868. "lValueRequested": false,
  83869. "memberLocation": "52301:19:50",
  83870. "memberName": "encodeWithSignature",
  83871. "nodeType": "MemberAccess",
  83872. "src": "52297:23:50",
  83873. "typeDescriptions": {
  83874. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  83875. "typeString": "function (string memory) pure returns (bytes memory)"
  83876. }
  83877. },
  83878. "id": 13349,
  83879. "isConstant": false,
  83880. "isLValue": false,
  83881. "isPure": false,
  83882. "kind": "functionCall",
  83883. "lValueRequested": false,
  83884. "nameLocations": [],
  83885. "names": [],
  83886. "nodeType": "FunctionCall",
  83887. "src": "52297:70:50",
  83888. "tryCall": false,
  83889. "typeDescriptions": {
  83890. "typeIdentifier": "t_bytes_memory_ptr",
  83891. "typeString": "bytes memory"
  83892. }
  83893. }
  83894. ],
  83895. "expression": {
  83896. "argumentTypes": [
  83897. {
  83898. "typeIdentifier": "t_bytes_memory_ptr",
  83899. "typeString": "bytes memory"
  83900. }
  83901. ],
  83902. "id": 13341,
  83903. "name": "_sendLogPayload",
  83904. "nodeType": "Identifier",
  83905. "overloadedDeclarations": [],
  83906. "referencedDeclaration": 7315,
  83907. "src": "52281:15:50",
  83908. "typeDescriptions": {
  83909. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  83910. "typeString": "function (bytes memory) pure"
  83911. }
  83912. },
  83913. "id": 13350,
  83914. "isConstant": false,
  83915. "isLValue": false,
  83916. "isPure": false,
  83917. "kind": "functionCall",
  83918. "lValueRequested": false,
  83919. "nameLocations": [],
  83920. "names": [],
  83921. "nodeType": "FunctionCall",
  83922. "src": "52281:87:50",
  83923. "tryCall": false,
  83924. "typeDescriptions": {
  83925. "typeIdentifier": "t_tuple$__$",
  83926. "typeString": "tuple()"
  83927. }
  83928. },
  83929. "id": 13351,
  83930. "nodeType": "ExpressionStatement",
  83931. "src": "52281:87:50"
  83932. }
  83933. ]
  83934. },
  83935. "implemented": true,
  83936. "kind": "function",
  83937. "modifiers": [],
  83938. "name": "log",
  83939. "nameLocation": "52214:3:50",
  83940. "parameters": {
  83941. "id": 13339,
  83942. "nodeType": "ParameterList",
  83943. "parameters": [
  83944. {
  83945. "constant": false,
  83946. "id": 13332,
  83947. "mutability": "mutable",
  83948. "name": "p0",
  83949. "nameLocation": "52223:2:50",
  83950. "nodeType": "VariableDeclaration",
  83951. "scope": 13353,
  83952. "src": "52218:7:50",
  83953. "stateVariable": false,
  83954. "storageLocation": "default",
  83955. "typeDescriptions": {
  83956. "typeIdentifier": "t_bool",
  83957. "typeString": "bool"
  83958. },
  83959. "typeName": {
  83960. "id": 13331,
  83961. "name": "bool",
  83962. "nodeType": "ElementaryTypeName",
  83963. "src": "52218:4:50",
  83964. "typeDescriptions": {
  83965. "typeIdentifier": "t_bool",
  83966. "typeString": "bool"
  83967. }
  83968. },
  83969. "visibility": "internal"
  83970. },
  83971. {
  83972. "constant": false,
  83973. "id": 13334,
  83974. "mutability": "mutable",
  83975. "name": "p1",
  83976. "nameLocation": "52232:2:50",
  83977. "nodeType": "VariableDeclaration",
  83978. "scope": 13353,
  83979. "src": "52227:7:50",
  83980. "stateVariable": false,
  83981. "storageLocation": "default",
  83982. "typeDescriptions": {
  83983. "typeIdentifier": "t_bool",
  83984. "typeString": "bool"
  83985. },
  83986. "typeName": {
  83987. "id": 13333,
  83988. "name": "bool",
  83989. "nodeType": "ElementaryTypeName",
  83990. "src": "52227:4:50",
  83991. "typeDescriptions": {
  83992. "typeIdentifier": "t_bool",
  83993. "typeString": "bool"
  83994. }
  83995. },
  83996. "visibility": "internal"
  83997. },
  83998. {
  83999. "constant": false,
  84000. "id": 13336,
  84001. "mutability": "mutable",
  84002. "name": "p2",
  84003. "nameLocation": "52241:2:50",
  84004. "nodeType": "VariableDeclaration",
  84005. "scope": 13353,
  84006. "src": "52236:7:50",
  84007. "stateVariable": false,
  84008. "storageLocation": "default",
  84009. "typeDescriptions": {
  84010. "typeIdentifier": "t_bool",
  84011. "typeString": "bool"
  84012. },
  84013. "typeName": {
  84014. "id": 13335,
  84015. "name": "bool",
  84016. "nodeType": "ElementaryTypeName",
  84017. "src": "52236:4:50",
  84018. "typeDescriptions": {
  84019. "typeIdentifier": "t_bool",
  84020. "typeString": "bool"
  84021. }
  84022. },
  84023. "visibility": "internal"
  84024. },
  84025. {
  84026. "constant": false,
  84027. "id": 13338,
  84028. "mutability": "mutable",
  84029. "name": "p3",
  84030. "nameLocation": "52253:2:50",
  84031. "nodeType": "VariableDeclaration",
  84032. "scope": 13353,
  84033. "src": "52245:10:50",
  84034. "stateVariable": false,
  84035. "storageLocation": "default",
  84036. "typeDescriptions": {
  84037. "typeIdentifier": "t_uint256",
  84038. "typeString": "uint256"
  84039. },
  84040. "typeName": {
  84041. "id": 13337,
  84042. "name": "uint256",
  84043. "nodeType": "ElementaryTypeName",
  84044. "src": "52245:7:50",
  84045. "typeDescriptions": {
  84046. "typeIdentifier": "t_uint256",
  84047. "typeString": "uint256"
  84048. }
  84049. },
  84050. "visibility": "internal"
  84051. }
  84052. ],
  84053. "src": "52217:39:50"
  84054. },
  84055. "returnParameters": {
  84056. "id": 13340,
  84057. "nodeType": "ParameterList",
  84058. "parameters": [],
  84059. "src": "52271:0:50"
  84060. },
  84061. "scope": 15355,
  84062. "stateMutability": "pure",
  84063. "virtual": false,
  84064. "visibility": "internal"
  84065. },
  84066. {
  84067. "id": 13376,
  84068. "nodeType": "FunctionDefinition",
  84069. "src": "52381:175:50",
  84070. "nodes": [],
  84071. "body": {
  84072. "id": 13375,
  84073. "nodeType": "Block",
  84074. "src": "52453:103:50",
  84075. "nodes": [],
  84076. "statements": [
  84077. {
  84078. "expression": {
  84079. "arguments": [
  84080. {
  84081. "arguments": [
  84082. {
  84083. "hexValue": "6c6f6728626f6f6c2c626f6f6c2c626f6f6c2c737472696e6729",
  84084. "id": 13367,
  84085. "isConstant": false,
  84086. "isLValue": false,
  84087. "isPure": true,
  84088. "kind": "string",
  84089. "lValueRequested": false,
  84090. "nodeType": "Literal",
  84091. "src": "52503:28:50",
  84092. "typeDescriptions": {
  84093. "typeIdentifier": "t_stringliteral_2ae408d4d030305a0361ad07c397f2b9653613b220d82459c7aeb9a6bab96c15",
  84094. "typeString": "literal_string \"log(bool,bool,bool,string)\""
  84095. },
  84096. "value": "log(bool,bool,bool,string)"
  84097. },
  84098. {
  84099. "id": 13368,
  84100. "name": "p0",
  84101. "nodeType": "Identifier",
  84102. "overloadedDeclarations": [],
  84103. "referencedDeclaration": 13355,
  84104. "src": "52533:2:50",
  84105. "typeDescriptions": {
  84106. "typeIdentifier": "t_bool",
  84107. "typeString": "bool"
  84108. }
  84109. },
  84110. {
  84111. "id": 13369,
  84112. "name": "p1",
  84113. "nodeType": "Identifier",
  84114. "overloadedDeclarations": [],
  84115. "referencedDeclaration": 13357,
  84116. "src": "52537:2:50",
  84117. "typeDescriptions": {
  84118. "typeIdentifier": "t_bool",
  84119. "typeString": "bool"
  84120. }
  84121. },
  84122. {
  84123. "id": 13370,
  84124. "name": "p2",
  84125. "nodeType": "Identifier",
  84126. "overloadedDeclarations": [],
  84127. "referencedDeclaration": 13359,
  84128. "src": "52541:2:50",
  84129. "typeDescriptions": {
  84130. "typeIdentifier": "t_bool",
  84131. "typeString": "bool"
  84132. }
  84133. },
  84134. {
  84135. "id": 13371,
  84136. "name": "p3",
  84137. "nodeType": "Identifier",
  84138. "overloadedDeclarations": [],
  84139. "referencedDeclaration": 13361,
  84140. "src": "52545:2:50",
  84141. "typeDescriptions": {
  84142. "typeIdentifier": "t_string_memory_ptr",
  84143. "typeString": "string memory"
  84144. }
  84145. }
  84146. ],
  84147. "expression": {
  84148. "argumentTypes": [
  84149. {
  84150. "typeIdentifier": "t_stringliteral_2ae408d4d030305a0361ad07c397f2b9653613b220d82459c7aeb9a6bab96c15",
  84151. "typeString": "literal_string \"log(bool,bool,bool,string)\""
  84152. },
  84153. {
  84154. "typeIdentifier": "t_bool",
  84155. "typeString": "bool"
  84156. },
  84157. {
  84158. "typeIdentifier": "t_bool",
  84159. "typeString": "bool"
  84160. },
  84161. {
  84162. "typeIdentifier": "t_bool",
  84163. "typeString": "bool"
  84164. },
  84165. {
  84166. "typeIdentifier": "t_string_memory_ptr",
  84167. "typeString": "string memory"
  84168. }
  84169. ],
  84170. "expression": {
  84171. "id": 13365,
  84172. "name": "abi",
  84173. "nodeType": "Identifier",
  84174. "overloadedDeclarations": [],
  84175. "referencedDeclaration": -1,
  84176. "src": "52479:3:50",
  84177. "typeDescriptions": {
  84178. "typeIdentifier": "t_magic_abi",
  84179. "typeString": "abi"
  84180. }
  84181. },
  84182. "id": 13366,
  84183. "isConstant": false,
  84184. "isLValue": false,
  84185. "isPure": true,
  84186. "lValueRequested": false,
  84187. "memberLocation": "52483:19:50",
  84188. "memberName": "encodeWithSignature",
  84189. "nodeType": "MemberAccess",
  84190. "src": "52479:23:50",
  84191. "typeDescriptions": {
  84192. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  84193. "typeString": "function (string memory) pure returns (bytes memory)"
  84194. }
  84195. },
  84196. "id": 13372,
  84197. "isConstant": false,
  84198. "isLValue": false,
  84199. "isPure": false,
  84200. "kind": "functionCall",
  84201. "lValueRequested": false,
  84202. "nameLocations": [],
  84203. "names": [],
  84204. "nodeType": "FunctionCall",
  84205. "src": "52479:69:50",
  84206. "tryCall": false,
  84207. "typeDescriptions": {
  84208. "typeIdentifier": "t_bytes_memory_ptr",
  84209. "typeString": "bytes memory"
  84210. }
  84211. }
  84212. ],
  84213. "expression": {
  84214. "argumentTypes": [
  84215. {
  84216. "typeIdentifier": "t_bytes_memory_ptr",
  84217. "typeString": "bytes memory"
  84218. }
  84219. ],
  84220. "id": 13364,
  84221. "name": "_sendLogPayload",
  84222. "nodeType": "Identifier",
  84223. "overloadedDeclarations": [],
  84224. "referencedDeclaration": 7315,
  84225. "src": "52463:15:50",
  84226. "typeDescriptions": {
  84227. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  84228. "typeString": "function (bytes memory) pure"
  84229. }
  84230. },
  84231. "id": 13373,
  84232. "isConstant": false,
  84233. "isLValue": false,
  84234. "isPure": false,
  84235. "kind": "functionCall",
  84236. "lValueRequested": false,
  84237. "nameLocations": [],
  84238. "names": [],
  84239. "nodeType": "FunctionCall",
  84240. "src": "52463:86:50",
  84241. "tryCall": false,
  84242. "typeDescriptions": {
  84243. "typeIdentifier": "t_tuple$__$",
  84244. "typeString": "tuple()"
  84245. }
  84246. },
  84247. "id": 13374,
  84248. "nodeType": "ExpressionStatement",
  84249. "src": "52463:86:50"
  84250. }
  84251. ]
  84252. },
  84253. "implemented": true,
  84254. "kind": "function",
  84255. "modifiers": [],
  84256. "name": "log",
  84257. "nameLocation": "52390:3:50",
  84258. "parameters": {
  84259. "id": 13362,
  84260. "nodeType": "ParameterList",
  84261. "parameters": [
  84262. {
  84263. "constant": false,
  84264. "id": 13355,
  84265. "mutability": "mutable",
  84266. "name": "p0",
  84267. "nameLocation": "52399:2:50",
  84268. "nodeType": "VariableDeclaration",
  84269. "scope": 13376,
  84270. "src": "52394:7:50",
  84271. "stateVariable": false,
  84272. "storageLocation": "default",
  84273. "typeDescriptions": {
  84274. "typeIdentifier": "t_bool",
  84275. "typeString": "bool"
  84276. },
  84277. "typeName": {
  84278. "id": 13354,
  84279. "name": "bool",
  84280. "nodeType": "ElementaryTypeName",
  84281. "src": "52394:4:50",
  84282. "typeDescriptions": {
  84283. "typeIdentifier": "t_bool",
  84284. "typeString": "bool"
  84285. }
  84286. },
  84287. "visibility": "internal"
  84288. },
  84289. {
  84290. "constant": false,
  84291. "id": 13357,
  84292. "mutability": "mutable",
  84293. "name": "p1",
  84294. "nameLocation": "52408:2:50",
  84295. "nodeType": "VariableDeclaration",
  84296. "scope": 13376,
  84297. "src": "52403:7:50",
  84298. "stateVariable": false,
  84299. "storageLocation": "default",
  84300. "typeDescriptions": {
  84301. "typeIdentifier": "t_bool",
  84302. "typeString": "bool"
  84303. },
  84304. "typeName": {
  84305. "id": 13356,
  84306. "name": "bool",
  84307. "nodeType": "ElementaryTypeName",
  84308. "src": "52403:4:50",
  84309. "typeDescriptions": {
  84310. "typeIdentifier": "t_bool",
  84311. "typeString": "bool"
  84312. }
  84313. },
  84314. "visibility": "internal"
  84315. },
  84316. {
  84317. "constant": false,
  84318. "id": 13359,
  84319. "mutability": "mutable",
  84320. "name": "p2",
  84321. "nameLocation": "52417:2:50",
  84322. "nodeType": "VariableDeclaration",
  84323. "scope": 13376,
  84324. "src": "52412:7:50",
  84325. "stateVariable": false,
  84326. "storageLocation": "default",
  84327. "typeDescriptions": {
  84328. "typeIdentifier": "t_bool",
  84329. "typeString": "bool"
  84330. },
  84331. "typeName": {
  84332. "id": 13358,
  84333. "name": "bool",
  84334. "nodeType": "ElementaryTypeName",
  84335. "src": "52412:4:50",
  84336. "typeDescriptions": {
  84337. "typeIdentifier": "t_bool",
  84338. "typeString": "bool"
  84339. }
  84340. },
  84341. "visibility": "internal"
  84342. },
  84343. {
  84344. "constant": false,
  84345. "id": 13361,
  84346. "mutability": "mutable",
  84347. "name": "p3",
  84348. "nameLocation": "52435:2:50",
  84349. "nodeType": "VariableDeclaration",
  84350. "scope": 13376,
  84351. "src": "52421:16:50",
  84352. "stateVariable": false,
  84353. "storageLocation": "memory",
  84354. "typeDescriptions": {
  84355. "typeIdentifier": "t_string_memory_ptr",
  84356. "typeString": "string"
  84357. },
  84358. "typeName": {
  84359. "id": 13360,
  84360. "name": "string",
  84361. "nodeType": "ElementaryTypeName",
  84362. "src": "52421:6:50",
  84363. "typeDescriptions": {
  84364. "typeIdentifier": "t_string_storage_ptr",
  84365. "typeString": "string"
  84366. }
  84367. },
  84368. "visibility": "internal"
  84369. }
  84370. ],
  84371. "src": "52393:45:50"
  84372. },
  84373. "returnParameters": {
  84374. "id": 13363,
  84375. "nodeType": "ParameterList",
  84376. "parameters": [],
  84377. "src": "52453:0:50"
  84378. },
  84379. "scope": 15355,
  84380. "stateMutability": "pure",
  84381. "virtual": false,
  84382. "visibility": "internal"
  84383. },
  84384. {
  84385. "id": 13399,
  84386. "nodeType": "FunctionDefinition",
  84387. "src": "52562:164:50",
  84388. "nodes": [],
  84389. "body": {
  84390. "id": 13398,
  84391. "nodeType": "Block",
  84392. "src": "52625:101:50",
  84393. "nodes": [],
  84394. "statements": [
  84395. {
  84396. "expression": {
  84397. "arguments": [
  84398. {
  84399. "arguments": [
  84400. {
  84401. "hexValue": "6c6f6728626f6f6c2c626f6f6c2c626f6f6c2c626f6f6c29",
  84402. "id": 13390,
  84403. "isConstant": false,
  84404. "isLValue": false,
  84405. "isPure": true,
  84406. "kind": "string",
  84407. "lValueRequested": false,
  84408. "nodeType": "Literal",
  84409. "src": "52675:26:50",
  84410. "typeDescriptions": {
  84411. "typeIdentifier": "t_stringliteral_3b2a5ce0ddf7b166153a4354c81efba12a817983a38c6bc3b58fd91ce816d99f",
  84412. "typeString": "literal_string \"log(bool,bool,bool,bool)\""
  84413. },
  84414. "value": "log(bool,bool,bool,bool)"
  84415. },
  84416. {
  84417. "id": 13391,
  84418. "name": "p0",
  84419. "nodeType": "Identifier",
  84420. "overloadedDeclarations": [],
  84421. "referencedDeclaration": 13378,
  84422. "src": "52703:2:50",
  84423. "typeDescriptions": {
  84424. "typeIdentifier": "t_bool",
  84425. "typeString": "bool"
  84426. }
  84427. },
  84428. {
  84429. "id": 13392,
  84430. "name": "p1",
  84431. "nodeType": "Identifier",
  84432. "overloadedDeclarations": [],
  84433. "referencedDeclaration": 13380,
  84434. "src": "52707:2:50",
  84435. "typeDescriptions": {
  84436. "typeIdentifier": "t_bool",
  84437. "typeString": "bool"
  84438. }
  84439. },
  84440. {
  84441. "id": 13393,
  84442. "name": "p2",
  84443. "nodeType": "Identifier",
  84444. "overloadedDeclarations": [],
  84445. "referencedDeclaration": 13382,
  84446. "src": "52711:2:50",
  84447. "typeDescriptions": {
  84448. "typeIdentifier": "t_bool",
  84449. "typeString": "bool"
  84450. }
  84451. },
  84452. {
  84453. "id": 13394,
  84454. "name": "p3",
  84455. "nodeType": "Identifier",
  84456. "overloadedDeclarations": [],
  84457. "referencedDeclaration": 13384,
  84458. "src": "52715:2:50",
  84459. "typeDescriptions": {
  84460. "typeIdentifier": "t_bool",
  84461. "typeString": "bool"
  84462. }
  84463. }
  84464. ],
  84465. "expression": {
  84466. "argumentTypes": [
  84467. {
  84468. "typeIdentifier": "t_stringliteral_3b2a5ce0ddf7b166153a4354c81efba12a817983a38c6bc3b58fd91ce816d99f",
  84469. "typeString": "literal_string \"log(bool,bool,bool,bool)\""
  84470. },
  84471. {
  84472. "typeIdentifier": "t_bool",
  84473. "typeString": "bool"
  84474. },
  84475. {
  84476. "typeIdentifier": "t_bool",
  84477. "typeString": "bool"
  84478. },
  84479. {
  84480. "typeIdentifier": "t_bool",
  84481. "typeString": "bool"
  84482. },
  84483. {
  84484. "typeIdentifier": "t_bool",
  84485. "typeString": "bool"
  84486. }
  84487. ],
  84488. "expression": {
  84489. "id": 13388,
  84490. "name": "abi",
  84491. "nodeType": "Identifier",
  84492. "overloadedDeclarations": [],
  84493. "referencedDeclaration": -1,
  84494. "src": "52651:3:50",
  84495. "typeDescriptions": {
  84496. "typeIdentifier": "t_magic_abi",
  84497. "typeString": "abi"
  84498. }
  84499. },
  84500. "id": 13389,
  84501. "isConstant": false,
  84502. "isLValue": false,
  84503. "isPure": true,
  84504. "lValueRequested": false,
  84505. "memberLocation": "52655:19:50",
  84506. "memberName": "encodeWithSignature",
  84507. "nodeType": "MemberAccess",
  84508. "src": "52651:23:50",
  84509. "typeDescriptions": {
  84510. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  84511. "typeString": "function (string memory) pure returns (bytes memory)"
  84512. }
  84513. },
  84514. "id": 13395,
  84515. "isConstant": false,
  84516. "isLValue": false,
  84517. "isPure": false,
  84518. "kind": "functionCall",
  84519. "lValueRequested": false,
  84520. "nameLocations": [],
  84521. "names": [],
  84522. "nodeType": "FunctionCall",
  84523. "src": "52651:67:50",
  84524. "tryCall": false,
  84525. "typeDescriptions": {
  84526. "typeIdentifier": "t_bytes_memory_ptr",
  84527. "typeString": "bytes memory"
  84528. }
  84529. }
  84530. ],
  84531. "expression": {
  84532. "argumentTypes": [
  84533. {
  84534. "typeIdentifier": "t_bytes_memory_ptr",
  84535. "typeString": "bytes memory"
  84536. }
  84537. ],
  84538. "id": 13387,
  84539. "name": "_sendLogPayload",
  84540. "nodeType": "Identifier",
  84541. "overloadedDeclarations": [],
  84542. "referencedDeclaration": 7315,
  84543. "src": "52635:15:50",
  84544. "typeDescriptions": {
  84545. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  84546. "typeString": "function (bytes memory) pure"
  84547. }
  84548. },
  84549. "id": 13396,
  84550. "isConstant": false,
  84551. "isLValue": false,
  84552. "isPure": false,
  84553. "kind": "functionCall",
  84554. "lValueRequested": false,
  84555. "nameLocations": [],
  84556. "names": [],
  84557. "nodeType": "FunctionCall",
  84558. "src": "52635:84:50",
  84559. "tryCall": false,
  84560. "typeDescriptions": {
  84561. "typeIdentifier": "t_tuple$__$",
  84562. "typeString": "tuple()"
  84563. }
  84564. },
  84565. "id": 13397,
  84566. "nodeType": "ExpressionStatement",
  84567. "src": "52635:84:50"
  84568. }
  84569. ]
  84570. },
  84571. "implemented": true,
  84572. "kind": "function",
  84573. "modifiers": [],
  84574. "name": "log",
  84575. "nameLocation": "52571:3:50",
  84576. "parameters": {
  84577. "id": 13385,
  84578. "nodeType": "ParameterList",
  84579. "parameters": [
  84580. {
  84581. "constant": false,
  84582. "id": 13378,
  84583. "mutability": "mutable",
  84584. "name": "p0",
  84585. "nameLocation": "52580:2:50",
  84586. "nodeType": "VariableDeclaration",
  84587. "scope": 13399,
  84588. "src": "52575:7:50",
  84589. "stateVariable": false,
  84590. "storageLocation": "default",
  84591. "typeDescriptions": {
  84592. "typeIdentifier": "t_bool",
  84593. "typeString": "bool"
  84594. },
  84595. "typeName": {
  84596. "id": 13377,
  84597. "name": "bool",
  84598. "nodeType": "ElementaryTypeName",
  84599. "src": "52575:4:50",
  84600. "typeDescriptions": {
  84601. "typeIdentifier": "t_bool",
  84602. "typeString": "bool"
  84603. }
  84604. },
  84605. "visibility": "internal"
  84606. },
  84607. {
  84608. "constant": false,
  84609. "id": 13380,
  84610. "mutability": "mutable",
  84611. "name": "p1",
  84612. "nameLocation": "52589:2:50",
  84613. "nodeType": "VariableDeclaration",
  84614. "scope": 13399,
  84615. "src": "52584:7:50",
  84616. "stateVariable": false,
  84617. "storageLocation": "default",
  84618. "typeDescriptions": {
  84619. "typeIdentifier": "t_bool",
  84620. "typeString": "bool"
  84621. },
  84622. "typeName": {
  84623. "id": 13379,
  84624. "name": "bool",
  84625. "nodeType": "ElementaryTypeName",
  84626. "src": "52584:4:50",
  84627. "typeDescriptions": {
  84628. "typeIdentifier": "t_bool",
  84629. "typeString": "bool"
  84630. }
  84631. },
  84632. "visibility": "internal"
  84633. },
  84634. {
  84635. "constant": false,
  84636. "id": 13382,
  84637. "mutability": "mutable",
  84638. "name": "p2",
  84639. "nameLocation": "52598:2:50",
  84640. "nodeType": "VariableDeclaration",
  84641. "scope": 13399,
  84642. "src": "52593:7:50",
  84643. "stateVariable": false,
  84644. "storageLocation": "default",
  84645. "typeDescriptions": {
  84646. "typeIdentifier": "t_bool",
  84647. "typeString": "bool"
  84648. },
  84649. "typeName": {
  84650. "id": 13381,
  84651. "name": "bool",
  84652. "nodeType": "ElementaryTypeName",
  84653. "src": "52593:4:50",
  84654. "typeDescriptions": {
  84655. "typeIdentifier": "t_bool",
  84656. "typeString": "bool"
  84657. }
  84658. },
  84659. "visibility": "internal"
  84660. },
  84661. {
  84662. "constant": false,
  84663. "id": 13384,
  84664. "mutability": "mutable",
  84665. "name": "p3",
  84666. "nameLocation": "52607:2:50",
  84667. "nodeType": "VariableDeclaration",
  84668. "scope": 13399,
  84669. "src": "52602:7:50",
  84670. "stateVariable": false,
  84671. "storageLocation": "default",
  84672. "typeDescriptions": {
  84673. "typeIdentifier": "t_bool",
  84674. "typeString": "bool"
  84675. },
  84676. "typeName": {
  84677. "id": 13383,
  84678. "name": "bool",
  84679. "nodeType": "ElementaryTypeName",
  84680. "src": "52602:4:50",
  84681. "typeDescriptions": {
  84682. "typeIdentifier": "t_bool",
  84683. "typeString": "bool"
  84684. }
  84685. },
  84686. "visibility": "internal"
  84687. }
  84688. ],
  84689. "src": "52574:36:50"
  84690. },
  84691. "returnParameters": {
  84692. "id": 13386,
  84693. "nodeType": "ParameterList",
  84694. "parameters": [],
  84695. "src": "52625:0:50"
  84696. },
  84697. "scope": 15355,
  84698. "stateMutability": "pure",
  84699. "virtual": false,
  84700. "visibility": "internal"
  84701. },
  84702. {
  84703. "id": 13422,
  84704. "nodeType": "FunctionDefinition",
  84705. "src": "52732:170:50",
  84706. "nodes": [],
  84707. "body": {
  84708. "id": 13421,
  84709. "nodeType": "Block",
  84710. "src": "52798:104:50",
  84711. "nodes": [],
  84712. "statements": [
  84713. {
  84714. "expression": {
  84715. "arguments": [
  84716. {
  84717. "arguments": [
  84718. {
  84719. "hexValue": "6c6f6728626f6f6c2c626f6f6c2c626f6f6c2c6164647265737329",
  84720. "id": 13413,
  84721. "isConstant": false,
  84722. "isLValue": false,
  84723. "isPure": true,
  84724. "kind": "string",
  84725. "lValueRequested": false,
  84726. "nodeType": "Literal",
  84727. "src": "52848:29:50",
  84728. "typeDescriptions": {
  84729. "typeIdentifier": "t_stringliteral_8c329b1a1752dedfc6b781d23096b49b7f905d62405e6e3f0ab0344786ff69f4",
  84730. "typeString": "literal_string \"log(bool,bool,bool,address)\""
  84731. },
  84732. "value": "log(bool,bool,bool,address)"
  84733. },
  84734. {
  84735. "id": 13414,
  84736. "name": "p0",
  84737. "nodeType": "Identifier",
  84738. "overloadedDeclarations": [],
  84739. "referencedDeclaration": 13401,
  84740. "src": "52879:2:50",
  84741. "typeDescriptions": {
  84742. "typeIdentifier": "t_bool",
  84743. "typeString": "bool"
  84744. }
  84745. },
  84746. {
  84747. "id": 13415,
  84748. "name": "p1",
  84749. "nodeType": "Identifier",
  84750. "overloadedDeclarations": [],
  84751. "referencedDeclaration": 13403,
  84752. "src": "52883:2:50",
  84753. "typeDescriptions": {
  84754. "typeIdentifier": "t_bool",
  84755. "typeString": "bool"
  84756. }
  84757. },
  84758. {
  84759. "id": 13416,
  84760. "name": "p2",
  84761. "nodeType": "Identifier",
  84762. "overloadedDeclarations": [],
  84763. "referencedDeclaration": 13405,
  84764. "src": "52887:2:50",
  84765. "typeDescriptions": {
  84766. "typeIdentifier": "t_bool",
  84767. "typeString": "bool"
  84768. }
  84769. },
  84770. {
  84771. "id": 13417,
  84772. "name": "p3",
  84773. "nodeType": "Identifier",
  84774. "overloadedDeclarations": [],
  84775. "referencedDeclaration": 13407,
  84776. "src": "52891:2:50",
  84777. "typeDescriptions": {
  84778. "typeIdentifier": "t_address",
  84779. "typeString": "address"
  84780. }
  84781. }
  84782. ],
  84783. "expression": {
  84784. "argumentTypes": [
  84785. {
  84786. "typeIdentifier": "t_stringliteral_8c329b1a1752dedfc6b781d23096b49b7f905d62405e6e3f0ab0344786ff69f4",
  84787. "typeString": "literal_string \"log(bool,bool,bool,address)\""
  84788. },
  84789. {
  84790. "typeIdentifier": "t_bool",
  84791. "typeString": "bool"
  84792. },
  84793. {
  84794. "typeIdentifier": "t_bool",
  84795. "typeString": "bool"
  84796. },
  84797. {
  84798. "typeIdentifier": "t_bool",
  84799. "typeString": "bool"
  84800. },
  84801. {
  84802. "typeIdentifier": "t_address",
  84803. "typeString": "address"
  84804. }
  84805. ],
  84806. "expression": {
  84807. "id": 13411,
  84808. "name": "abi",
  84809. "nodeType": "Identifier",
  84810. "overloadedDeclarations": [],
  84811. "referencedDeclaration": -1,
  84812. "src": "52824:3:50",
  84813. "typeDescriptions": {
  84814. "typeIdentifier": "t_magic_abi",
  84815. "typeString": "abi"
  84816. }
  84817. },
  84818. "id": 13412,
  84819. "isConstant": false,
  84820. "isLValue": false,
  84821. "isPure": true,
  84822. "lValueRequested": false,
  84823. "memberLocation": "52828:19:50",
  84824. "memberName": "encodeWithSignature",
  84825. "nodeType": "MemberAccess",
  84826. "src": "52824:23:50",
  84827. "typeDescriptions": {
  84828. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  84829. "typeString": "function (string memory) pure returns (bytes memory)"
  84830. }
  84831. },
  84832. "id": 13418,
  84833. "isConstant": false,
  84834. "isLValue": false,
  84835. "isPure": false,
  84836. "kind": "functionCall",
  84837. "lValueRequested": false,
  84838. "nameLocations": [],
  84839. "names": [],
  84840. "nodeType": "FunctionCall",
  84841. "src": "52824:70:50",
  84842. "tryCall": false,
  84843. "typeDescriptions": {
  84844. "typeIdentifier": "t_bytes_memory_ptr",
  84845. "typeString": "bytes memory"
  84846. }
  84847. }
  84848. ],
  84849. "expression": {
  84850. "argumentTypes": [
  84851. {
  84852. "typeIdentifier": "t_bytes_memory_ptr",
  84853. "typeString": "bytes memory"
  84854. }
  84855. ],
  84856. "id": 13410,
  84857. "name": "_sendLogPayload",
  84858. "nodeType": "Identifier",
  84859. "overloadedDeclarations": [],
  84860. "referencedDeclaration": 7315,
  84861. "src": "52808:15:50",
  84862. "typeDescriptions": {
  84863. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  84864. "typeString": "function (bytes memory) pure"
  84865. }
  84866. },
  84867. "id": 13419,
  84868. "isConstant": false,
  84869. "isLValue": false,
  84870. "isPure": false,
  84871. "kind": "functionCall",
  84872. "lValueRequested": false,
  84873. "nameLocations": [],
  84874. "names": [],
  84875. "nodeType": "FunctionCall",
  84876. "src": "52808:87:50",
  84877. "tryCall": false,
  84878. "typeDescriptions": {
  84879. "typeIdentifier": "t_tuple$__$",
  84880. "typeString": "tuple()"
  84881. }
  84882. },
  84883. "id": 13420,
  84884. "nodeType": "ExpressionStatement",
  84885. "src": "52808:87:50"
  84886. }
  84887. ]
  84888. },
  84889. "implemented": true,
  84890. "kind": "function",
  84891. "modifiers": [],
  84892. "name": "log",
  84893. "nameLocation": "52741:3:50",
  84894. "parameters": {
  84895. "id": 13408,
  84896. "nodeType": "ParameterList",
  84897. "parameters": [
  84898. {
  84899. "constant": false,
  84900. "id": 13401,
  84901. "mutability": "mutable",
  84902. "name": "p0",
  84903. "nameLocation": "52750:2:50",
  84904. "nodeType": "VariableDeclaration",
  84905. "scope": 13422,
  84906. "src": "52745:7:50",
  84907. "stateVariable": false,
  84908. "storageLocation": "default",
  84909. "typeDescriptions": {
  84910. "typeIdentifier": "t_bool",
  84911. "typeString": "bool"
  84912. },
  84913. "typeName": {
  84914. "id": 13400,
  84915. "name": "bool",
  84916. "nodeType": "ElementaryTypeName",
  84917. "src": "52745:4:50",
  84918. "typeDescriptions": {
  84919. "typeIdentifier": "t_bool",
  84920. "typeString": "bool"
  84921. }
  84922. },
  84923. "visibility": "internal"
  84924. },
  84925. {
  84926. "constant": false,
  84927. "id": 13403,
  84928. "mutability": "mutable",
  84929. "name": "p1",
  84930. "nameLocation": "52759:2:50",
  84931. "nodeType": "VariableDeclaration",
  84932. "scope": 13422,
  84933. "src": "52754:7:50",
  84934. "stateVariable": false,
  84935. "storageLocation": "default",
  84936. "typeDescriptions": {
  84937. "typeIdentifier": "t_bool",
  84938. "typeString": "bool"
  84939. },
  84940. "typeName": {
  84941. "id": 13402,
  84942. "name": "bool",
  84943. "nodeType": "ElementaryTypeName",
  84944. "src": "52754:4:50",
  84945. "typeDescriptions": {
  84946. "typeIdentifier": "t_bool",
  84947. "typeString": "bool"
  84948. }
  84949. },
  84950. "visibility": "internal"
  84951. },
  84952. {
  84953. "constant": false,
  84954. "id": 13405,
  84955. "mutability": "mutable",
  84956. "name": "p2",
  84957. "nameLocation": "52768:2:50",
  84958. "nodeType": "VariableDeclaration",
  84959. "scope": 13422,
  84960. "src": "52763:7:50",
  84961. "stateVariable": false,
  84962. "storageLocation": "default",
  84963. "typeDescriptions": {
  84964. "typeIdentifier": "t_bool",
  84965. "typeString": "bool"
  84966. },
  84967. "typeName": {
  84968. "id": 13404,
  84969. "name": "bool",
  84970. "nodeType": "ElementaryTypeName",
  84971. "src": "52763:4:50",
  84972. "typeDescriptions": {
  84973. "typeIdentifier": "t_bool",
  84974. "typeString": "bool"
  84975. }
  84976. },
  84977. "visibility": "internal"
  84978. },
  84979. {
  84980. "constant": false,
  84981. "id": 13407,
  84982. "mutability": "mutable",
  84983. "name": "p3",
  84984. "nameLocation": "52780:2:50",
  84985. "nodeType": "VariableDeclaration",
  84986. "scope": 13422,
  84987. "src": "52772:10:50",
  84988. "stateVariable": false,
  84989. "storageLocation": "default",
  84990. "typeDescriptions": {
  84991. "typeIdentifier": "t_address",
  84992. "typeString": "address"
  84993. },
  84994. "typeName": {
  84995. "id": 13406,
  84996. "name": "address",
  84997. "nodeType": "ElementaryTypeName",
  84998. "src": "52772:7:50",
  84999. "stateMutability": "nonpayable",
  85000. "typeDescriptions": {
  85001. "typeIdentifier": "t_address",
  85002. "typeString": "address"
  85003. }
  85004. },
  85005. "visibility": "internal"
  85006. }
  85007. ],
  85008. "src": "52744:39:50"
  85009. },
  85010. "returnParameters": {
  85011. "id": 13409,
  85012. "nodeType": "ParameterList",
  85013. "parameters": [],
  85014. "src": "52798:0:50"
  85015. },
  85016. "scope": 15355,
  85017. "stateMutability": "pure",
  85018. "virtual": false,
  85019. "visibility": "internal"
  85020. },
  85021. {
  85022. "id": 13445,
  85023. "nodeType": "FunctionDefinition",
  85024. "src": "52908:176:50",
  85025. "nodes": [],
  85026. "body": {
  85027. "id": 13444,
  85028. "nodeType": "Block",
  85029. "src": "52977:107:50",
  85030. "nodes": [],
  85031. "statements": [
  85032. {
  85033. "expression": {
  85034. "arguments": [
  85035. {
  85036. "arguments": [
  85037. {
  85038. "hexValue": "6c6f6728626f6f6c2c626f6f6c2c616464726573732c75696e7432353629",
  85039. "id": 13436,
  85040. "isConstant": false,
  85041. "isLValue": false,
  85042. "isPure": true,
  85043. "kind": "string",
  85044. "lValueRequested": false,
  85045. "nodeType": "Literal",
  85046. "src": "53027:32:50",
  85047. "typeDescriptions": {
  85048. "typeIdentifier": "t_stringliteral_4c123d5798ed03bd59911522da9ad7b1fc4e62f5a5de1c95ef20dc3897657cf1",
  85049. "typeString": "literal_string \"log(bool,bool,address,uint256)\""
  85050. },
  85051. "value": "log(bool,bool,address,uint256)"
  85052. },
  85053. {
  85054. "id": 13437,
  85055. "name": "p0",
  85056. "nodeType": "Identifier",
  85057. "overloadedDeclarations": [],
  85058. "referencedDeclaration": 13424,
  85059. "src": "53061:2:50",
  85060. "typeDescriptions": {
  85061. "typeIdentifier": "t_bool",
  85062. "typeString": "bool"
  85063. }
  85064. },
  85065. {
  85066. "id": 13438,
  85067. "name": "p1",
  85068. "nodeType": "Identifier",
  85069. "overloadedDeclarations": [],
  85070. "referencedDeclaration": 13426,
  85071. "src": "53065:2:50",
  85072. "typeDescriptions": {
  85073. "typeIdentifier": "t_bool",
  85074. "typeString": "bool"
  85075. }
  85076. },
  85077. {
  85078. "id": 13439,
  85079. "name": "p2",
  85080. "nodeType": "Identifier",
  85081. "overloadedDeclarations": [],
  85082. "referencedDeclaration": 13428,
  85083. "src": "53069:2:50",
  85084. "typeDescriptions": {
  85085. "typeIdentifier": "t_address",
  85086. "typeString": "address"
  85087. }
  85088. },
  85089. {
  85090. "id": 13440,
  85091. "name": "p3",
  85092. "nodeType": "Identifier",
  85093. "overloadedDeclarations": [],
  85094. "referencedDeclaration": 13430,
  85095. "src": "53073:2:50",
  85096. "typeDescriptions": {
  85097. "typeIdentifier": "t_uint256",
  85098. "typeString": "uint256"
  85099. }
  85100. }
  85101. ],
  85102. "expression": {
  85103. "argumentTypes": [
  85104. {
  85105. "typeIdentifier": "t_stringliteral_4c123d5798ed03bd59911522da9ad7b1fc4e62f5a5de1c95ef20dc3897657cf1",
  85106. "typeString": "literal_string \"log(bool,bool,address,uint256)\""
  85107. },
  85108. {
  85109. "typeIdentifier": "t_bool",
  85110. "typeString": "bool"
  85111. },
  85112. {
  85113. "typeIdentifier": "t_bool",
  85114. "typeString": "bool"
  85115. },
  85116. {
  85117. "typeIdentifier": "t_address",
  85118. "typeString": "address"
  85119. },
  85120. {
  85121. "typeIdentifier": "t_uint256",
  85122. "typeString": "uint256"
  85123. }
  85124. ],
  85125. "expression": {
  85126. "id": 13434,
  85127. "name": "abi",
  85128. "nodeType": "Identifier",
  85129. "overloadedDeclarations": [],
  85130. "referencedDeclaration": -1,
  85131. "src": "53003:3:50",
  85132. "typeDescriptions": {
  85133. "typeIdentifier": "t_magic_abi",
  85134. "typeString": "abi"
  85135. }
  85136. },
  85137. "id": 13435,
  85138. "isConstant": false,
  85139. "isLValue": false,
  85140. "isPure": true,
  85141. "lValueRequested": false,
  85142. "memberLocation": "53007:19:50",
  85143. "memberName": "encodeWithSignature",
  85144. "nodeType": "MemberAccess",
  85145. "src": "53003:23:50",
  85146. "typeDescriptions": {
  85147. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  85148. "typeString": "function (string memory) pure returns (bytes memory)"
  85149. }
  85150. },
  85151. "id": 13441,
  85152. "isConstant": false,
  85153. "isLValue": false,
  85154. "isPure": false,
  85155. "kind": "functionCall",
  85156. "lValueRequested": false,
  85157. "nameLocations": [],
  85158. "names": [],
  85159. "nodeType": "FunctionCall",
  85160. "src": "53003:73:50",
  85161. "tryCall": false,
  85162. "typeDescriptions": {
  85163. "typeIdentifier": "t_bytes_memory_ptr",
  85164. "typeString": "bytes memory"
  85165. }
  85166. }
  85167. ],
  85168. "expression": {
  85169. "argumentTypes": [
  85170. {
  85171. "typeIdentifier": "t_bytes_memory_ptr",
  85172. "typeString": "bytes memory"
  85173. }
  85174. ],
  85175. "id": 13433,
  85176. "name": "_sendLogPayload",
  85177. "nodeType": "Identifier",
  85178. "overloadedDeclarations": [],
  85179. "referencedDeclaration": 7315,
  85180. "src": "52987:15:50",
  85181. "typeDescriptions": {
  85182. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  85183. "typeString": "function (bytes memory) pure"
  85184. }
  85185. },
  85186. "id": 13442,
  85187. "isConstant": false,
  85188. "isLValue": false,
  85189. "isPure": false,
  85190. "kind": "functionCall",
  85191. "lValueRequested": false,
  85192. "nameLocations": [],
  85193. "names": [],
  85194. "nodeType": "FunctionCall",
  85195. "src": "52987:90:50",
  85196. "tryCall": false,
  85197. "typeDescriptions": {
  85198. "typeIdentifier": "t_tuple$__$",
  85199. "typeString": "tuple()"
  85200. }
  85201. },
  85202. "id": 13443,
  85203. "nodeType": "ExpressionStatement",
  85204. "src": "52987:90:50"
  85205. }
  85206. ]
  85207. },
  85208. "implemented": true,
  85209. "kind": "function",
  85210. "modifiers": [],
  85211. "name": "log",
  85212. "nameLocation": "52917:3:50",
  85213. "parameters": {
  85214. "id": 13431,
  85215. "nodeType": "ParameterList",
  85216. "parameters": [
  85217. {
  85218. "constant": false,
  85219. "id": 13424,
  85220. "mutability": "mutable",
  85221. "name": "p0",
  85222. "nameLocation": "52926:2:50",
  85223. "nodeType": "VariableDeclaration",
  85224. "scope": 13445,
  85225. "src": "52921:7:50",
  85226. "stateVariable": false,
  85227. "storageLocation": "default",
  85228. "typeDescriptions": {
  85229. "typeIdentifier": "t_bool",
  85230. "typeString": "bool"
  85231. },
  85232. "typeName": {
  85233. "id": 13423,
  85234. "name": "bool",
  85235. "nodeType": "ElementaryTypeName",
  85236. "src": "52921:4:50",
  85237. "typeDescriptions": {
  85238. "typeIdentifier": "t_bool",
  85239. "typeString": "bool"
  85240. }
  85241. },
  85242. "visibility": "internal"
  85243. },
  85244. {
  85245. "constant": false,
  85246. "id": 13426,
  85247. "mutability": "mutable",
  85248. "name": "p1",
  85249. "nameLocation": "52935:2:50",
  85250. "nodeType": "VariableDeclaration",
  85251. "scope": 13445,
  85252. "src": "52930:7:50",
  85253. "stateVariable": false,
  85254. "storageLocation": "default",
  85255. "typeDescriptions": {
  85256. "typeIdentifier": "t_bool",
  85257. "typeString": "bool"
  85258. },
  85259. "typeName": {
  85260. "id": 13425,
  85261. "name": "bool",
  85262. "nodeType": "ElementaryTypeName",
  85263. "src": "52930:4:50",
  85264. "typeDescriptions": {
  85265. "typeIdentifier": "t_bool",
  85266. "typeString": "bool"
  85267. }
  85268. },
  85269. "visibility": "internal"
  85270. },
  85271. {
  85272. "constant": false,
  85273. "id": 13428,
  85274. "mutability": "mutable",
  85275. "name": "p2",
  85276. "nameLocation": "52947:2:50",
  85277. "nodeType": "VariableDeclaration",
  85278. "scope": 13445,
  85279. "src": "52939:10:50",
  85280. "stateVariable": false,
  85281. "storageLocation": "default",
  85282. "typeDescriptions": {
  85283. "typeIdentifier": "t_address",
  85284. "typeString": "address"
  85285. },
  85286. "typeName": {
  85287. "id": 13427,
  85288. "name": "address",
  85289. "nodeType": "ElementaryTypeName",
  85290. "src": "52939:7:50",
  85291. "stateMutability": "nonpayable",
  85292. "typeDescriptions": {
  85293. "typeIdentifier": "t_address",
  85294. "typeString": "address"
  85295. }
  85296. },
  85297. "visibility": "internal"
  85298. },
  85299. {
  85300. "constant": false,
  85301. "id": 13430,
  85302. "mutability": "mutable",
  85303. "name": "p3",
  85304. "nameLocation": "52959:2:50",
  85305. "nodeType": "VariableDeclaration",
  85306. "scope": 13445,
  85307. "src": "52951:10:50",
  85308. "stateVariable": false,
  85309. "storageLocation": "default",
  85310. "typeDescriptions": {
  85311. "typeIdentifier": "t_uint256",
  85312. "typeString": "uint256"
  85313. },
  85314. "typeName": {
  85315. "id": 13429,
  85316. "name": "uint256",
  85317. "nodeType": "ElementaryTypeName",
  85318. "src": "52951:7:50",
  85319. "typeDescriptions": {
  85320. "typeIdentifier": "t_uint256",
  85321. "typeString": "uint256"
  85322. }
  85323. },
  85324. "visibility": "internal"
  85325. }
  85326. ],
  85327. "src": "52920:42:50"
  85328. },
  85329. "returnParameters": {
  85330. "id": 13432,
  85331. "nodeType": "ParameterList",
  85332. "parameters": [],
  85333. "src": "52977:0:50"
  85334. },
  85335. "scope": 15355,
  85336. "stateMutability": "pure",
  85337. "virtual": false,
  85338. "visibility": "internal"
  85339. },
  85340. {
  85341. "id": 13468,
  85342. "nodeType": "FunctionDefinition",
  85343. "src": "53090:181:50",
  85344. "nodes": [],
  85345. "body": {
  85346. "id": 13467,
  85347. "nodeType": "Block",
  85348. "src": "53165:106:50",
  85349. "nodes": [],
  85350. "statements": [
  85351. {
  85352. "expression": {
  85353. "arguments": [
  85354. {
  85355. "arguments": [
  85356. {
  85357. "hexValue": "6c6f6728626f6f6c2c626f6f6c2c616464726573732c737472696e6729",
  85358. "id": 13459,
  85359. "isConstant": false,
  85360. "isLValue": false,
  85361. "isPure": true,
  85362. "kind": "string",
  85363. "lValueRequested": false,
  85364. "nodeType": "Literal",
  85365. "src": "53215:31:50",
  85366. "typeDescriptions": {
  85367. "typeIdentifier": "t_stringliteral_a0a479635c05dee438b610769de0f667f2e93ee267e4cd4badf3dd44eb6271d2",
  85368. "typeString": "literal_string \"log(bool,bool,address,string)\""
  85369. },
  85370. "value": "log(bool,bool,address,string)"
  85371. },
  85372. {
  85373. "id": 13460,
  85374. "name": "p0",
  85375. "nodeType": "Identifier",
  85376. "overloadedDeclarations": [],
  85377. "referencedDeclaration": 13447,
  85378. "src": "53248:2:50",
  85379. "typeDescriptions": {
  85380. "typeIdentifier": "t_bool",
  85381. "typeString": "bool"
  85382. }
  85383. },
  85384. {
  85385. "id": 13461,
  85386. "name": "p1",
  85387. "nodeType": "Identifier",
  85388. "overloadedDeclarations": [],
  85389. "referencedDeclaration": 13449,
  85390. "src": "53252:2:50",
  85391. "typeDescriptions": {
  85392. "typeIdentifier": "t_bool",
  85393. "typeString": "bool"
  85394. }
  85395. },
  85396. {
  85397. "id": 13462,
  85398. "name": "p2",
  85399. "nodeType": "Identifier",
  85400. "overloadedDeclarations": [],
  85401. "referencedDeclaration": 13451,
  85402. "src": "53256:2:50",
  85403. "typeDescriptions": {
  85404. "typeIdentifier": "t_address",
  85405. "typeString": "address"
  85406. }
  85407. },
  85408. {
  85409. "id": 13463,
  85410. "name": "p3",
  85411. "nodeType": "Identifier",
  85412. "overloadedDeclarations": [],
  85413. "referencedDeclaration": 13453,
  85414. "src": "53260:2:50",
  85415. "typeDescriptions": {
  85416. "typeIdentifier": "t_string_memory_ptr",
  85417. "typeString": "string memory"
  85418. }
  85419. }
  85420. ],
  85421. "expression": {
  85422. "argumentTypes": [
  85423. {
  85424. "typeIdentifier": "t_stringliteral_a0a479635c05dee438b610769de0f667f2e93ee267e4cd4badf3dd44eb6271d2",
  85425. "typeString": "literal_string \"log(bool,bool,address,string)\""
  85426. },
  85427. {
  85428. "typeIdentifier": "t_bool",
  85429. "typeString": "bool"
  85430. },
  85431. {
  85432. "typeIdentifier": "t_bool",
  85433. "typeString": "bool"
  85434. },
  85435. {
  85436. "typeIdentifier": "t_address",
  85437. "typeString": "address"
  85438. },
  85439. {
  85440. "typeIdentifier": "t_string_memory_ptr",
  85441. "typeString": "string memory"
  85442. }
  85443. ],
  85444. "expression": {
  85445. "id": 13457,
  85446. "name": "abi",
  85447. "nodeType": "Identifier",
  85448. "overloadedDeclarations": [],
  85449. "referencedDeclaration": -1,
  85450. "src": "53191:3:50",
  85451. "typeDescriptions": {
  85452. "typeIdentifier": "t_magic_abi",
  85453. "typeString": "abi"
  85454. }
  85455. },
  85456. "id": 13458,
  85457. "isConstant": false,
  85458. "isLValue": false,
  85459. "isPure": true,
  85460. "lValueRequested": false,
  85461. "memberLocation": "53195:19:50",
  85462. "memberName": "encodeWithSignature",
  85463. "nodeType": "MemberAccess",
  85464. "src": "53191:23:50",
  85465. "typeDescriptions": {
  85466. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  85467. "typeString": "function (string memory) pure returns (bytes memory)"
  85468. }
  85469. },
  85470. "id": 13464,
  85471. "isConstant": false,
  85472. "isLValue": false,
  85473. "isPure": false,
  85474. "kind": "functionCall",
  85475. "lValueRequested": false,
  85476. "nameLocations": [],
  85477. "names": [],
  85478. "nodeType": "FunctionCall",
  85479. "src": "53191:72:50",
  85480. "tryCall": false,
  85481. "typeDescriptions": {
  85482. "typeIdentifier": "t_bytes_memory_ptr",
  85483. "typeString": "bytes memory"
  85484. }
  85485. }
  85486. ],
  85487. "expression": {
  85488. "argumentTypes": [
  85489. {
  85490. "typeIdentifier": "t_bytes_memory_ptr",
  85491. "typeString": "bytes memory"
  85492. }
  85493. ],
  85494. "id": 13456,
  85495. "name": "_sendLogPayload",
  85496. "nodeType": "Identifier",
  85497. "overloadedDeclarations": [],
  85498. "referencedDeclaration": 7315,
  85499. "src": "53175:15:50",
  85500. "typeDescriptions": {
  85501. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  85502. "typeString": "function (bytes memory) pure"
  85503. }
  85504. },
  85505. "id": 13465,
  85506. "isConstant": false,
  85507. "isLValue": false,
  85508. "isPure": false,
  85509. "kind": "functionCall",
  85510. "lValueRequested": false,
  85511. "nameLocations": [],
  85512. "names": [],
  85513. "nodeType": "FunctionCall",
  85514. "src": "53175:89:50",
  85515. "tryCall": false,
  85516. "typeDescriptions": {
  85517. "typeIdentifier": "t_tuple$__$",
  85518. "typeString": "tuple()"
  85519. }
  85520. },
  85521. "id": 13466,
  85522. "nodeType": "ExpressionStatement",
  85523. "src": "53175:89:50"
  85524. }
  85525. ]
  85526. },
  85527. "implemented": true,
  85528. "kind": "function",
  85529. "modifiers": [],
  85530. "name": "log",
  85531. "nameLocation": "53099:3:50",
  85532. "parameters": {
  85533. "id": 13454,
  85534. "nodeType": "ParameterList",
  85535. "parameters": [
  85536. {
  85537. "constant": false,
  85538. "id": 13447,
  85539. "mutability": "mutable",
  85540. "name": "p0",
  85541. "nameLocation": "53108:2:50",
  85542. "nodeType": "VariableDeclaration",
  85543. "scope": 13468,
  85544. "src": "53103:7:50",
  85545. "stateVariable": false,
  85546. "storageLocation": "default",
  85547. "typeDescriptions": {
  85548. "typeIdentifier": "t_bool",
  85549. "typeString": "bool"
  85550. },
  85551. "typeName": {
  85552. "id": 13446,
  85553. "name": "bool",
  85554. "nodeType": "ElementaryTypeName",
  85555. "src": "53103:4:50",
  85556. "typeDescriptions": {
  85557. "typeIdentifier": "t_bool",
  85558. "typeString": "bool"
  85559. }
  85560. },
  85561. "visibility": "internal"
  85562. },
  85563. {
  85564. "constant": false,
  85565. "id": 13449,
  85566. "mutability": "mutable",
  85567. "name": "p1",
  85568. "nameLocation": "53117:2:50",
  85569. "nodeType": "VariableDeclaration",
  85570. "scope": 13468,
  85571. "src": "53112:7:50",
  85572. "stateVariable": false,
  85573. "storageLocation": "default",
  85574. "typeDescriptions": {
  85575. "typeIdentifier": "t_bool",
  85576. "typeString": "bool"
  85577. },
  85578. "typeName": {
  85579. "id": 13448,
  85580. "name": "bool",
  85581. "nodeType": "ElementaryTypeName",
  85582. "src": "53112:4:50",
  85583. "typeDescriptions": {
  85584. "typeIdentifier": "t_bool",
  85585. "typeString": "bool"
  85586. }
  85587. },
  85588. "visibility": "internal"
  85589. },
  85590. {
  85591. "constant": false,
  85592. "id": 13451,
  85593. "mutability": "mutable",
  85594. "name": "p2",
  85595. "nameLocation": "53129:2:50",
  85596. "nodeType": "VariableDeclaration",
  85597. "scope": 13468,
  85598. "src": "53121:10:50",
  85599. "stateVariable": false,
  85600. "storageLocation": "default",
  85601. "typeDescriptions": {
  85602. "typeIdentifier": "t_address",
  85603. "typeString": "address"
  85604. },
  85605. "typeName": {
  85606. "id": 13450,
  85607. "name": "address",
  85608. "nodeType": "ElementaryTypeName",
  85609. "src": "53121:7:50",
  85610. "stateMutability": "nonpayable",
  85611. "typeDescriptions": {
  85612. "typeIdentifier": "t_address",
  85613. "typeString": "address"
  85614. }
  85615. },
  85616. "visibility": "internal"
  85617. },
  85618. {
  85619. "constant": false,
  85620. "id": 13453,
  85621. "mutability": "mutable",
  85622. "name": "p3",
  85623. "nameLocation": "53147:2:50",
  85624. "nodeType": "VariableDeclaration",
  85625. "scope": 13468,
  85626. "src": "53133:16:50",
  85627. "stateVariable": false,
  85628. "storageLocation": "memory",
  85629. "typeDescriptions": {
  85630. "typeIdentifier": "t_string_memory_ptr",
  85631. "typeString": "string"
  85632. },
  85633. "typeName": {
  85634. "id": 13452,
  85635. "name": "string",
  85636. "nodeType": "ElementaryTypeName",
  85637. "src": "53133:6:50",
  85638. "typeDescriptions": {
  85639. "typeIdentifier": "t_string_storage_ptr",
  85640. "typeString": "string"
  85641. }
  85642. },
  85643. "visibility": "internal"
  85644. }
  85645. ],
  85646. "src": "53102:48:50"
  85647. },
  85648. "returnParameters": {
  85649. "id": 13455,
  85650. "nodeType": "ParameterList",
  85651. "parameters": [],
  85652. "src": "53165:0:50"
  85653. },
  85654. "scope": 15355,
  85655. "stateMutability": "pure",
  85656. "virtual": false,
  85657. "visibility": "internal"
  85658. },
  85659. {
  85660. "id": 13491,
  85661. "nodeType": "FunctionDefinition",
  85662. "src": "53277:170:50",
  85663. "nodes": [],
  85664. "body": {
  85665. "id": 13490,
  85666. "nodeType": "Block",
  85667. "src": "53343:104:50",
  85668. "nodes": [],
  85669. "statements": [
  85670. {
  85671. "expression": {
  85672. "arguments": [
  85673. {
  85674. "arguments": [
  85675. {
  85676. "hexValue": "6c6f6728626f6f6c2c626f6f6c2c616464726573732c626f6f6c29",
  85677. "id": 13482,
  85678. "isConstant": false,
  85679. "isLValue": false,
  85680. "isPure": true,
  85681. "kind": "string",
  85682. "lValueRequested": false,
  85683. "nodeType": "Literal",
  85684. "src": "53393:29:50",
  85685. "typeDescriptions": {
  85686. "typeIdentifier": "t_stringliteral_c0a302d8f11e8919127c20f396068f7014b94967efb042778db9b27b68ee1eaf",
  85687. "typeString": "literal_string \"log(bool,bool,address,bool)\""
  85688. },
  85689. "value": "log(bool,bool,address,bool)"
  85690. },
  85691. {
  85692. "id": 13483,
  85693. "name": "p0",
  85694. "nodeType": "Identifier",
  85695. "overloadedDeclarations": [],
  85696. "referencedDeclaration": 13470,
  85697. "src": "53424:2:50",
  85698. "typeDescriptions": {
  85699. "typeIdentifier": "t_bool",
  85700. "typeString": "bool"
  85701. }
  85702. },
  85703. {
  85704. "id": 13484,
  85705. "name": "p1",
  85706. "nodeType": "Identifier",
  85707. "overloadedDeclarations": [],
  85708. "referencedDeclaration": 13472,
  85709. "src": "53428:2:50",
  85710. "typeDescriptions": {
  85711. "typeIdentifier": "t_bool",
  85712. "typeString": "bool"
  85713. }
  85714. },
  85715. {
  85716. "id": 13485,
  85717. "name": "p2",
  85718. "nodeType": "Identifier",
  85719. "overloadedDeclarations": [],
  85720. "referencedDeclaration": 13474,
  85721. "src": "53432:2:50",
  85722. "typeDescriptions": {
  85723. "typeIdentifier": "t_address",
  85724. "typeString": "address"
  85725. }
  85726. },
  85727. {
  85728. "id": 13486,
  85729. "name": "p3",
  85730. "nodeType": "Identifier",
  85731. "overloadedDeclarations": [],
  85732. "referencedDeclaration": 13476,
  85733. "src": "53436:2:50",
  85734. "typeDescriptions": {
  85735. "typeIdentifier": "t_bool",
  85736. "typeString": "bool"
  85737. }
  85738. }
  85739. ],
  85740. "expression": {
  85741. "argumentTypes": [
  85742. {
  85743. "typeIdentifier": "t_stringliteral_c0a302d8f11e8919127c20f396068f7014b94967efb042778db9b27b68ee1eaf",
  85744. "typeString": "literal_string \"log(bool,bool,address,bool)\""
  85745. },
  85746. {
  85747. "typeIdentifier": "t_bool",
  85748. "typeString": "bool"
  85749. },
  85750. {
  85751. "typeIdentifier": "t_bool",
  85752. "typeString": "bool"
  85753. },
  85754. {
  85755. "typeIdentifier": "t_address",
  85756. "typeString": "address"
  85757. },
  85758. {
  85759. "typeIdentifier": "t_bool",
  85760. "typeString": "bool"
  85761. }
  85762. ],
  85763. "expression": {
  85764. "id": 13480,
  85765. "name": "abi",
  85766. "nodeType": "Identifier",
  85767. "overloadedDeclarations": [],
  85768. "referencedDeclaration": -1,
  85769. "src": "53369:3:50",
  85770. "typeDescriptions": {
  85771. "typeIdentifier": "t_magic_abi",
  85772. "typeString": "abi"
  85773. }
  85774. },
  85775. "id": 13481,
  85776. "isConstant": false,
  85777. "isLValue": false,
  85778. "isPure": true,
  85779. "lValueRequested": false,
  85780. "memberLocation": "53373:19:50",
  85781. "memberName": "encodeWithSignature",
  85782. "nodeType": "MemberAccess",
  85783. "src": "53369:23:50",
  85784. "typeDescriptions": {
  85785. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  85786. "typeString": "function (string memory) pure returns (bytes memory)"
  85787. }
  85788. },
  85789. "id": 13487,
  85790. "isConstant": false,
  85791. "isLValue": false,
  85792. "isPure": false,
  85793. "kind": "functionCall",
  85794. "lValueRequested": false,
  85795. "nameLocations": [],
  85796. "names": [],
  85797. "nodeType": "FunctionCall",
  85798. "src": "53369:70:50",
  85799. "tryCall": false,
  85800. "typeDescriptions": {
  85801. "typeIdentifier": "t_bytes_memory_ptr",
  85802. "typeString": "bytes memory"
  85803. }
  85804. }
  85805. ],
  85806. "expression": {
  85807. "argumentTypes": [
  85808. {
  85809. "typeIdentifier": "t_bytes_memory_ptr",
  85810. "typeString": "bytes memory"
  85811. }
  85812. ],
  85813. "id": 13479,
  85814. "name": "_sendLogPayload",
  85815. "nodeType": "Identifier",
  85816. "overloadedDeclarations": [],
  85817. "referencedDeclaration": 7315,
  85818. "src": "53353:15:50",
  85819. "typeDescriptions": {
  85820. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  85821. "typeString": "function (bytes memory) pure"
  85822. }
  85823. },
  85824. "id": 13488,
  85825. "isConstant": false,
  85826. "isLValue": false,
  85827. "isPure": false,
  85828. "kind": "functionCall",
  85829. "lValueRequested": false,
  85830. "nameLocations": [],
  85831. "names": [],
  85832. "nodeType": "FunctionCall",
  85833. "src": "53353:87:50",
  85834. "tryCall": false,
  85835. "typeDescriptions": {
  85836. "typeIdentifier": "t_tuple$__$",
  85837. "typeString": "tuple()"
  85838. }
  85839. },
  85840. "id": 13489,
  85841. "nodeType": "ExpressionStatement",
  85842. "src": "53353:87:50"
  85843. }
  85844. ]
  85845. },
  85846. "implemented": true,
  85847. "kind": "function",
  85848. "modifiers": [],
  85849. "name": "log",
  85850. "nameLocation": "53286:3:50",
  85851. "parameters": {
  85852. "id": 13477,
  85853. "nodeType": "ParameterList",
  85854. "parameters": [
  85855. {
  85856. "constant": false,
  85857. "id": 13470,
  85858. "mutability": "mutable",
  85859. "name": "p0",
  85860. "nameLocation": "53295:2:50",
  85861. "nodeType": "VariableDeclaration",
  85862. "scope": 13491,
  85863. "src": "53290:7:50",
  85864. "stateVariable": false,
  85865. "storageLocation": "default",
  85866. "typeDescriptions": {
  85867. "typeIdentifier": "t_bool",
  85868. "typeString": "bool"
  85869. },
  85870. "typeName": {
  85871. "id": 13469,
  85872. "name": "bool",
  85873. "nodeType": "ElementaryTypeName",
  85874. "src": "53290:4:50",
  85875. "typeDescriptions": {
  85876. "typeIdentifier": "t_bool",
  85877. "typeString": "bool"
  85878. }
  85879. },
  85880. "visibility": "internal"
  85881. },
  85882. {
  85883. "constant": false,
  85884. "id": 13472,
  85885. "mutability": "mutable",
  85886. "name": "p1",
  85887. "nameLocation": "53304:2:50",
  85888. "nodeType": "VariableDeclaration",
  85889. "scope": 13491,
  85890. "src": "53299:7:50",
  85891. "stateVariable": false,
  85892. "storageLocation": "default",
  85893. "typeDescriptions": {
  85894. "typeIdentifier": "t_bool",
  85895. "typeString": "bool"
  85896. },
  85897. "typeName": {
  85898. "id": 13471,
  85899. "name": "bool",
  85900. "nodeType": "ElementaryTypeName",
  85901. "src": "53299:4:50",
  85902. "typeDescriptions": {
  85903. "typeIdentifier": "t_bool",
  85904. "typeString": "bool"
  85905. }
  85906. },
  85907. "visibility": "internal"
  85908. },
  85909. {
  85910. "constant": false,
  85911. "id": 13474,
  85912. "mutability": "mutable",
  85913. "name": "p2",
  85914. "nameLocation": "53316:2:50",
  85915. "nodeType": "VariableDeclaration",
  85916. "scope": 13491,
  85917. "src": "53308:10:50",
  85918. "stateVariable": false,
  85919. "storageLocation": "default",
  85920. "typeDescriptions": {
  85921. "typeIdentifier": "t_address",
  85922. "typeString": "address"
  85923. },
  85924. "typeName": {
  85925. "id": 13473,
  85926. "name": "address",
  85927. "nodeType": "ElementaryTypeName",
  85928. "src": "53308:7:50",
  85929. "stateMutability": "nonpayable",
  85930. "typeDescriptions": {
  85931. "typeIdentifier": "t_address",
  85932. "typeString": "address"
  85933. }
  85934. },
  85935. "visibility": "internal"
  85936. },
  85937. {
  85938. "constant": false,
  85939. "id": 13476,
  85940. "mutability": "mutable",
  85941. "name": "p3",
  85942. "nameLocation": "53325:2:50",
  85943. "nodeType": "VariableDeclaration",
  85944. "scope": 13491,
  85945. "src": "53320:7:50",
  85946. "stateVariable": false,
  85947. "storageLocation": "default",
  85948. "typeDescriptions": {
  85949. "typeIdentifier": "t_bool",
  85950. "typeString": "bool"
  85951. },
  85952. "typeName": {
  85953. "id": 13475,
  85954. "name": "bool",
  85955. "nodeType": "ElementaryTypeName",
  85956. "src": "53320:4:50",
  85957. "typeDescriptions": {
  85958. "typeIdentifier": "t_bool",
  85959. "typeString": "bool"
  85960. }
  85961. },
  85962. "visibility": "internal"
  85963. }
  85964. ],
  85965. "src": "53289:39:50"
  85966. },
  85967. "returnParameters": {
  85968. "id": 13478,
  85969. "nodeType": "ParameterList",
  85970. "parameters": [],
  85971. "src": "53343:0:50"
  85972. },
  85973. "scope": 15355,
  85974. "stateMutability": "pure",
  85975. "virtual": false,
  85976. "visibility": "internal"
  85977. },
  85978. {
  85979. "id": 13514,
  85980. "nodeType": "FunctionDefinition",
  85981. "src": "53453:176:50",
  85982. "nodes": [],
  85983. "body": {
  85984. "id": 13513,
  85985. "nodeType": "Block",
  85986. "src": "53522:107:50",
  85987. "nodes": [],
  85988. "statements": [
  85989. {
  85990. "expression": {
  85991. "arguments": [
  85992. {
  85993. "arguments": [
  85994. {
  85995. "hexValue": "6c6f6728626f6f6c2c626f6f6c2c616464726573732c6164647265737329",
  85996. "id": 13505,
  85997. "isConstant": false,
  85998. "isLValue": false,
  85999. "isPure": true,
  86000. "kind": "string",
  86001. "lValueRequested": false,
  86002. "nodeType": "Literal",
  86003. "src": "53572:32:50",
  86004. "typeDescriptions": {
  86005. "typeIdentifier": "t_stringliteral_f4880ea4063b4f7e3c68468bb4a7a3f1502aa7497bce4fb0ba02ec0450f047f4",
  86006. "typeString": "literal_string \"log(bool,bool,address,address)\""
  86007. },
  86008. "value": "log(bool,bool,address,address)"
  86009. },
  86010. {
  86011. "id": 13506,
  86012. "name": "p0",
  86013. "nodeType": "Identifier",
  86014. "overloadedDeclarations": [],
  86015. "referencedDeclaration": 13493,
  86016. "src": "53606:2:50",
  86017. "typeDescriptions": {
  86018. "typeIdentifier": "t_bool",
  86019. "typeString": "bool"
  86020. }
  86021. },
  86022. {
  86023. "id": 13507,
  86024. "name": "p1",
  86025. "nodeType": "Identifier",
  86026. "overloadedDeclarations": [],
  86027. "referencedDeclaration": 13495,
  86028. "src": "53610:2:50",
  86029. "typeDescriptions": {
  86030. "typeIdentifier": "t_bool",
  86031. "typeString": "bool"
  86032. }
  86033. },
  86034. {
  86035. "id": 13508,
  86036. "name": "p2",
  86037. "nodeType": "Identifier",
  86038. "overloadedDeclarations": [],
  86039. "referencedDeclaration": 13497,
  86040. "src": "53614:2:50",
  86041. "typeDescriptions": {
  86042. "typeIdentifier": "t_address",
  86043. "typeString": "address"
  86044. }
  86045. },
  86046. {
  86047. "id": 13509,
  86048. "name": "p3",
  86049. "nodeType": "Identifier",
  86050. "overloadedDeclarations": [],
  86051. "referencedDeclaration": 13499,
  86052. "src": "53618:2:50",
  86053. "typeDescriptions": {
  86054. "typeIdentifier": "t_address",
  86055. "typeString": "address"
  86056. }
  86057. }
  86058. ],
  86059. "expression": {
  86060. "argumentTypes": [
  86061. {
  86062. "typeIdentifier": "t_stringliteral_f4880ea4063b4f7e3c68468bb4a7a3f1502aa7497bce4fb0ba02ec0450f047f4",
  86063. "typeString": "literal_string \"log(bool,bool,address,address)\""
  86064. },
  86065. {
  86066. "typeIdentifier": "t_bool",
  86067. "typeString": "bool"
  86068. },
  86069. {
  86070. "typeIdentifier": "t_bool",
  86071. "typeString": "bool"
  86072. },
  86073. {
  86074. "typeIdentifier": "t_address",
  86075. "typeString": "address"
  86076. },
  86077. {
  86078. "typeIdentifier": "t_address",
  86079. "typeString": "address"
  86080. }
  86081. ],
  86082. "expression": {
  86083. "id": 13503,
  86084. "name": "abi",
  86085. "nodeType": "Identifier",
  86086. "overloadedDeclarations": [],
  86087. "referencedDeclaration": -1,
  86088. "src": "53548:3:50",
  86089. "typeDescriptions": {
  86090. "typeIdentifier": "t_magic_abi",
  86091. "typeString": "abi"
  86092. }
  86093. },
  86094. "id": 13504,
  86095. "isConstant": false,
  86096. "isLValue": false,
  86097. "isPure": true,
  86098. "lValueRequested": false,
  86099. "memberLocation": "53552:19:50",
  86100. "memberName": "encodeWithSignature",
  86101. "nodeType": "MemberAccess",
  86102. "src": "53548:23:50",
  86103. "typeDescriptions": {
  86104. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  86105. "typeString": "function (string memory) pure returns (bytes memory)"
  86106. }
  86107. },
  86108. "id": 13510,
  86109. "isConstant": false,
  86110. "isLValue": false,
  86111. "isPure": false,
  86112. "kind": "functionCall",
  86113. "lValueRequested": false,
  86114. "nameLocations": [],
  86115. "names": [],
  86116. "nodeType": "FunctionCall",
  86117. "src": "53548:73:50",
  86118. "tryCall": false,
  86119. "typeDescriptions": {
  86120. "typeIdentifier": "t_bytes_memory_ptr",
  86121. "typeString": "bytes memory"
  86122. }
  86123. }
  86124. ],
  86125. "expression": {
  86126. "argumentTypes": [
  86127. {
  86128. "typeIdentifier": "t_bytes_memory_ptr",
  86129. "typeString": "bytes memory"
  86130. }
  86131. ],
  86132. "id": 13502,
  86133. "name": "_sendLogPayload",
  86134. "nodeType": "Identifier",
  86135. "overloadedDeclarations": [],
  86136. "referencedDeclaration": 7315,
  86137. "src": "53532:15:50",
  86138. "typeDescriptions": {
  86139. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  86140. "typeString": "function (bytes memory) pure"
  86141. }
  86142. },
  86143. "id": 13511,
  86144. "isConstant": false,
  86145. "isLValue": false,
  86146. "isPure": false,
  86147. "kind": "functionCall",
  86148. "lValueRequested": false,
  86149. "nameLocations": [],
  86150. "names": [],
  86151. "nodeType": "FunctionCall",
  86152. "src": "53532:90:50",
  86153. "tryCall": false,
  86154. "typeDescriptions": {
  86155. "typeIdentifier": "t_tuple$__$",
  86156. "typeString": "tuple()"
  86157. }
  86158. },
  86159. "id": 13512,
  86160. "nodeType": "ExpressionStatement",
  86161. "src": "53532:90:50"
  86162. }
  86163. ]
  86164. },
  86165. "implemented": true,
  86166. "kind": "function",
  86167. "modifiers": [],
  86168. "name": "log",
  86169. "nameLocation": "53462:3:50",
  86170. "parameters": {
  86171. "id": 13500,
  86172. "nodeType": "ParameterList",
  86173. "parameters": [
  86174. {
  86175. "constant": false,
  86176. "id": 13493,
  86177. "mutability": "mutable",
  86178. "name": "p0",
  86179. "nameLocation": "53471:2:50",
  86180. "nodeType": "VariableDeclaration",
  86181. "scope": 13514,
  86182. "src": "53466:7:50",
  86183. "stateVariable": false,
  86184. "storageLocation": "default",
  86185. "typeDescriptions": {
  86186. "typeIdentifier": "t_bool",
  86187. "typeString": "bool"
  86188. },
  86189. "typeName": {
  86190. "id": 13492,
  86191. "name": "bool",
  86192. "nodeType": "ElementaryTypeName",
  86193. "src": "53466:4:50",
  86194. "typeDescriptions": {
  86195. "typeIdentifier": "t_bool",
  86196. "typeString": "bool"
  86197. }
  86198. },
  86199. "visibility": "internal"
  86200. },
  86201. {
  86202. "constant": false,
  86203. "id": 13495,
  86204. "mutability": "mutable",
  86205. "name": "p1",
  86206. "nameLocation": "53480:2:50",
  86207. "nodeType": "VariableDeclaration",
  86208. "scope": 13514,
  86209. "src": "53475:7:50",
  86210. "stateVariable": false,
  86211. "storageLocation": "default",
  86212. "typeDescriptions": {
  86213. "typeIdentifier": "t_bool",
  86214. "typeString": "bool"
  86215. },
  86216. "typeName": {
  86217. "id": 13494,
  86218. "name": "bool",
  86219. "nodeType": "ElementaryTypeName",
  86220. "src": "53475:4:50",
  86221. "typeDescriptions": {
  86222. "typeIdentifier": "t_bool",
  86223. "typeString": "bool"
  86224. }
  86225. },
  86226. "visibility": "internal"
  86227. },
  86228. {
  86229. "constant": false,
  86230. "id": 13497,
  86231. "mutability": "mutable",
  86232. "name": "p2",
  86233. "nameLocation": "53492:2:50",
  86234. "nodeType": "VariableDeclaration",
  86235. "scope": 13514,
  86236. "src": "53484:10:50",
  86237. "stateVariable": false,
  86238. "storageLocation": "default",
  86239. "typeDescriptions": {
  86240. "typeIdentifier": "t_address",
  86241. "typeString": "address"
  86242. },
  86243. "typeName": {
  86244. "id": 13496,
  86245. "name": "address",
  86246. "nodeType": "ElementaryTypeName",
  86247. "src": "53484:7:50",
  86248. "stateMutability": "nonpayable",
  86249. "typeDescriptions": {
  86250. "typeIdentifier": "t_address",
  86251. "typeString": "address"
  86252. }
  86253. },
  86254. "visibility": "internal"
  86255. },
  86256. {
  86257. "constant": false,
  86258. "id": 13499,
  86259. "mutability": "mutable",
  86260. "name": "p3",
  86261. "nameLocation": "53504:2:50",
  86262. "nodeType": "VariableDeclaration",
  86263. "scope": 13514,
  86264. "src": "53496:10:50",
  86265. "stateVariable": false,
  86266. "storageLocation": "default",
  86267. "typeDescriptions": {
  86268. "typeIdentifier": "t_address",
  86269. "typeString": "address"
  86270. },
  86271. "typeName": {
  86272. "id": 13498,
  86273. "name": "address",
  86274. "nodeType": "ElementaryTypeName",
  86275. "src": "53496:7:50",
  86276. "stateMutability": "nonpayable",
  86277. "typeDescriptions": {
  86278. "typeIdentifier": "t_address",
  86279. "typeString": "address"
  86280. }
  86281. },
  86282. "visibility": "internal"
  86283. }
  86284. ],
  86285. "src": "53465:42:50"
  86286. },
  86287. "returnParameters": {
  86288. "id": 13501,
  86289. "nodeType": "ParameterList",
  86290. "parameters": [],
  86291. "src": "53522:0:50"
  86292. },
  86293. "scope": 15355,
  86294. "stateMutability": "pure",
  86295. "virtual": false,
  86296. "visibility": "internal"
  86297. },
  86298. {
  86299. "id": 13537,
  86300. "nodeType": "FunctionDefinition",
  86301. "src": "53635:182:50",
  86302. "nodes": [],
  86303. "body": {
  86304. "id": 13536,
  86305. "nodeType": "Block",
  86306. "src": "53707:110:50",
  86307. "nodes": [],
  86308. "statements": [
  86309. {
  86310. "expression": {
  86311. "arguments": [
  86312. {
  86313. "arguments": [
  86314. {
  86315. "hexValue": "6c6f6728626f6f6c2c616464726573732c75696e743235362c75696e7432353629",
  86316. "id": 13528,
  86317. "isConstant": false,
  86318. "isLValue": false,
  86319. "isPure": true,
  86320. "kind": "string",
  86321. "lValueRequested": false,
  86322. "nodeType": "Literal",
  86323. "src": "53757:35:50",
  86324. "typeDescriptions": {
  86325. "typeIdentifier": "t_stringliteral_7bf181a13b51d775e7d4339fb4fee9749d9226fa1720a2ae5e3183ab5674d16e",
  86326. "typeString": "literal_string \"log(bool,address,uint256,uint256)\""
  86327. },
  86328. "value": "log(bool,address,uint256,uint256)"
  86329. },
  86330. {
  86331. "id": 13529,
  86332. "name": "p0",
  86333. "nodeType": "Identifier",
  86334. "overloadedDeclarations": [],
  86335. "referencedDeclaration": 13516,
  86336. "src": "53794:2:50",
  86337. "typeDescriptions": {
  86338. "typeIdentifier": "t_bool",
  86339. "typeString": "bool"
  86340. }
  86341. },
  86342. {
  86343. "id": 13530,
  86344. "name": "p1",
  86345. "nodeType": "Identifier",
  86346. "overloadedDeclarations": [],
  86347. "referencedDeclaration": 13518,
  86348. "src": "53798:2:50",
  86349. "typeDescriptions": {
  86350. "typeIdentifier": "t_address",
  86351. "typeString": "address"
  86352. }
  86353. },
  86354. {
  86355. "id": 13531,
  86356. "name": "p2",
  86357. "nodeType": "Identifier",
  86358. "overloadedDeclarations": [],
  86359. "referencedDeclaration": 13520,
  86360. "src": "53802:2:50",
  86361. "typeDescriptions": {
  86362. "typeIdentifier": "t_uint256",
  86363. "typeString": "uint256"
  86364. }
  86365. },
  86366. {
  86367. "id": 13532,
  86368. "name": "p3",
  86369. "nodeType": "Identifier",
  86370. "overloadedDeclarations": [],
  86371. "referencedDeclaration": 13522,
  86372. "src": "53806:2:50",
  86373. "typeDescriptions": {
  86374. "typeIdentifier": "t_uint256",
  86375. "typeString": "uint256"
  86376. }
  86377. }
  86378. ],
  86379. "expression": {
  86380. "argumentTypes": [
  86381. {
  86382. "typeIdentifier": "t_stringliteral_7bf181a13b51d775e7d4339fb4fee9749d9226fa1720a2ae5e3183ab5674d16e",
  86383. "typeString": "literal_string \"log(bool,address,uint256,uint256)\""
  86384. },
  86385. {
  86386. "typeIdentifier": "t_bool",
  86387. "typeString": "bool"
  86388. },
  86389. {
  86390. "typeIdentifier": "t_address",
  86391. "typeString": "address"
  86392. },
  86393. {
  86394. "typeIdentifier": "t_uint256",
  86395. "typeString": "uint256"
  86396. },
  86397. {
  86398. "typeIdentifier": "t_uint256",
  86399. "typeString": "uint256"
  86400. }
  86401. ],
  86402. "expression": {
  86403. "id": 13526,
  86404. "name": "abi",
  86405. "nodeType": "Identifier",
  86406. "overloadedDeclarations": [],
  86407. "referencedDeclaration": -1,
  86408. "src": "53733:3:50",
  86409. "typeDescriptions": {
  86410. "typeIdentifier": "t_magic_abi",
  86411. "typeString": "abi"
  86412. }
  86413. },
  86414. "id": 13527,
  86415. "isConstant": false,
  86416. "isLValue": false,
  86417. "isPure": true,
  86418. "lValueRequested": false,
  86419. "memberLocation": "53737:19:50",
  86420. "memberName": "encodeWithSignature",
  86421. "nodeType": "MemberAccess",
  86422. "src": "53733:23:50",
  86423. "typeDescriptions": {
  86424. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  86425. "typeString": "function (string memory) pure returns (bytes memory)"
  86426. }
  86427. },
  86428. "id": 13533,
  86429. "isConstant": false,
  86430. "isLValue": false,
  86431. "isPure": false,
  86432. "kind": "functionCall",
  86433. "lValueRequested": false,
  86434. "nameLocations": [],
  86435. "names": [],
  86436. "nodeType": "FunctionCall",
  86437. "src": "53733:76:50",
  86438. "tryCall": false,
  86439. "typeDescriptions": {
  86440. "typeIdentifier": "t_bytes_memory_ptr",
  86441. "typeString": "bytes memory"
  86442. }
  86443. }
  86444. ],
  86445. "expression": {
  86446. "argumentTypes": [
  86447. {
  86448. "typeIdentifier": "t_bytes_memory_ptr",
  86449. "typeString": "bytes memory"
  86450. }
  86451. ],
  86452. "id": 13525,
  86453. "name": "_sendLogPayload",
  86454. "nodeType": "Identifier",
  86455. "overloadedDeclarations": [],
  86456. "referencedDeclaration": 7315,
  86457. "src": "53717:15:50",
  86458. "typeDescriptions": {
  86459. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  86460. "typeString": "function (bytes memory) pure"
  86461. }
  86462. },
  86463. "id": 13534,
  86464. "isConstant": false,
  86465. "isLValue": false,
  86466. "isPure": false,
  86467. "kind": "functionCall",
  86468. "lValueRequested": false,
  86469. "nameLocations": [],
  86470. "names": [],
  86471. "nodeType": "FunctionCall",
  86472. "src": "53717:93:50",
  86473. "tryCall": false,
  86474. "typeDescriptions": {
  86475. "typeIdentifier": "t_tuple$__$",
  86476. "typeString": "tuple()"
  86477. }
  86478. },
  86479. "id": 13535,
  86480. "nodeType": "ExpressionStatement",
  86481. "src": "53717:93:50"
  86482. }
  86483. ]
  86484. },
  86485. "implemented": true,
  86486. "kind": "function",
  86487. "modifiers": [],
  86488. "name": "log",
  86489. "nameLocation": "53644:3:50",
  86490. "parameters": {
  86491. "id": 13523,
  86492. "nodeType": "ParameterList",
  86493. "parameters": [
  86494. {
  86495. "constant": false,
  86496. "id": 13516,
  86497. "mutability": "mutable",
  86498. "name": "p0",
  86499. "nameLocation": "53653:2:50",
  86500. "nodeType": "VariableDeclaration",
  86501. "scope": 13537,
  86502. "src": "53648:7:50",
  86503. "stateVariable": false,
  86504. "storageLocation": "default",
  86505. "typeDescriptions": {
  86506. "typeIdentifier": "t_bool",
  86507. "typeString": "bool"
  86508. },
  86509. "typeName": {
  86510. "id": 13515,
  86511. "name": "bool",
  86512. "nodeType": "ElementaryTypeName",
  86513. "src": "53648:4:50",
  86514. "typeDescriptions": {
  86515. "typeIdentifier": "t_bool",
  86516. "typeString": "bool"
  86517. }
  86518. },
  86519. "visibility": "internal"
  86520. },
  86521. {
  86522. "constant": false,
  86523. "id": 13518,
  86524. "mutability": "mutable",
  86525. "name": "p1",
  86526. "nameLocation": "53665:2:50",
  86527. "nodeType": "VariableDeclaration",
  86528. "scope": 13537,
  86529. "src": "53657:10:50",
  86530. "stateVariable": false,
  86531. "storageLocation": "default",
  86532. "typeDescriptions": {
  86533. "typeIdentifier": "t_address",
  86534. "typeString": "address"
  86535. },
  86536. "typeName": {
  86537. "id": 13517,
  86538. "name": "address",
  86539. "nodeType": "ElementaryTypeName",
  86540. "src": "53657:7:50",
  86541. "stateMutability": "nonpayable",
  86542. "typeDescriptions": {
  86543. "typeIdentifier": "t_address",
  86544. "typeString": "address"
  86545. }
  86546. },
  86547. "visibility": "internal"
  86548. },
  86549. {
  86550. "constant": false,
  86551. "id": 13520,
  86552. "mutability": "mutable",
  86553. "name": "p2",
  86554. "nameLocation": "53677:2:50",
  86555. "nodeType": "VariableDeclaration",
  86556. "scope": 13537,
  86557. "src": "53669:10:50",
  86558. "stateVariable": false,
  86559. "storageLocation": "default",
  86560. "typeDescriptions": {
  86561. "typeIdentifier": "t_uint256",
  86562. "typeString": "uint256"
  86563. },
  86564. "typeName": {
  86565. "id": 13519,
  86566. "name": "uint256",
  86567. "nodeType": "ElementaryTypeName",
  86568. "src": "53669:7:50",
  86569. "typeDescriptions": {
  86570. "typeIdentifier": "t_uint256",
  86571. "typeString": "uint256"
  86572. }
  86573. },
  86574. "visibility": "internal"
  86575. },
  86576. {
  86577. "constant": false,
  86578. "id": 13522,
  86579. "mutability": "mutable",
  86580. "name": "p3",
  86581. "nameLocation": "53689:2:50",
  86582. "nodeType": "VariableDeclaration",
  86583. "scope": 13537,
  86584. "src": "53681:10:50",
  86585. "stateVariable": false,
  86586. "storageLocation": "default",
  86587. "typeDescriptions": {
  86588. "typeIdentifier": "t_uint256",
  86589. "typeString": "uint256"
  86590. },
  86591. "typeName": {
  86592. "id": 13521,
  86593. "name": "uint256",
  86594. "nodeType": "ElementaryTypeName",
  86595. "src": "53681:7:50",
  86596. "typeDescriptions": {
  86597. "typeIdentifier": "t_uint256",
  86598. "typeString": "uint256"
  86599. }
  86600. },
  86601. "visibility": "internal"
  86602. }
  86603. ],
  86604. "src": "53647:45:50"
  86605. },
  86606. "returnParameters": {
  86607. "id": 13524,
  86608. "nodeType": "ParameterList",
  86609. "parameters": [],
  86610. "src": "53707:0:50"
  86611. },
  86612. "scope": 15355,
  86613. "stateMutability": "pure",
  86614. "virtual": false,
  86615. "visibility": "internal"
  86616. },
  86617. {
  86618. "id": 13560,
  86619. "nodeType": "FunctionDefinition",
  86620. "src": "53823:187:50",
  86621. "nodes": [],
  86622. "body": {
  86623. "id": 13559,
  86624. "nodeType": "Block",
  86625. "src": "53901:109:50",
  86626. "nodes": [],
  86627. "statements": [
  86628. {
  86629. "expression": {
  86630. "arguments": [
  86631. {
  86632. "arguments": [
  86633. {
  86634. "hexValue": "6c6f6728626f6f6c2c616464726573732c75696e743235362c737472696e6729",
  86635. "id": 13551,
  86636. "isConstant": false,
  86637. "isLValue": false,
  86638. "isPure": true,
  86639. "kind": "string",
  86640. "lValueRequested": false,
  86641. "nodeType": "Literal",
  86642. "src": "53951:34:50",
  86643. "typeDescriptions": {
  86644. "typeIdentifier": "t_stringliteral_51f09ff8d49d8535177ce9f46f86e22d6e0ebf6aab24e3ad1fe351dec9cb8af7",
  86645. "typeString": "literal_string \"log(bool,address,uint256,string)\""
  86646. },
  86647. "value": "log(bool,address,uint256,string)"
  86648. },
  86649. {
  86650. "id": 13552,
  86651. "name": "p0",
  86652. "nodeType": "Identifier",
  86653. "overloadedDeclarations": [],
  86654. "referencedDeclaration": 13539,
  86655. "src": "53987:2:50",
  86656. "typeDescriptions": {
  86657. "typeIdentifier": "t_bool",
  86658. "typeString": "bool"
  86659. }
  86660. },
  86661. {
  86662. "id": 13553,
  86663. "name": "p1",
  86664. "nodeType": "Identifier",
  86665. "overloadedDeclarations": [],
  86666. "referencedDeclaration": 13541,
  86667. "src": "53991:2:50",
  86668. "typeDescriptions": {
  86669. "typeIdentifier": "t_address",
  86670. "typeString": "address"
  86671. }
  86672. },
  86673. {
  86674. "id": 13554,
  86675. "name": "p2",
  86676. "nodeType": "Identifier",
  86677. "overloadedDeclarations": [],
  86678. "referencedDeclaration": 13543,
  86679. "src": "53995:2:50",
  86680. "typeDescriptions": {
  86681. "typeIdentifier": "t_uint256",
  86682. "typeString": "uint256"
  86683. }
  86684. },
  86685. {
  86686. "id": 13555,
  86687. "name": "p3",
  86688. "nodeType": "Identifier",
  86689. "overloadedDeclarations": [],
  86690. "referencedDeclaration": 13545,
  86691. "src": "53999:2:50",
  86692. "typeDescriptions": {
  86693. "typeIdentifier": "t_string_memory_ptr",
  86694. "typeString": "string memory"
  86695. }
  86696. }
  86697. ],
  86698. "expression": {
  86699. "argumentTypes": [
  86700. {
  86701. "typeIdentifier": "t_stringliteral_51f09ff8d49d8535177ce9f46f86e22d6e0ebf6aab24e3ad1fe351dec9cb8af7",
  86702. "typeString": "literal_string \"log(bool,address,uint256,string)\""
  86703. },
  86704. {
  86705. "typeIdentifier": "t_bool",
  86706. "typeString": "bool"
  86707. },
  86708. {
  86709. "typeIdentifier": "t_address",
  86710. "typeString": "address"
  86711. },
  86712. {
  86713. "typeIdentifier": "t_uint256",
  86714. "typeString": "uint256"
  86715. },
  86716. {
  86717. "typeIdentifier": "t_string_memory_ptr",
  86718. "typeString": "string memory"
  86719. }
  86720. ],
  86721. "expression": {
  86722. "id": 13549,
  86723. "name": "abi",
  86724. "nodeType": "Identifier",
  86725. "overloadedDeclarations": [],
  86726. "referencedDeclaration": -1,
  86727. "src": "53927:3:50",
  86728. "typeDescriptions": {
  86729. "typeIdentifier": "t_magic_abi",
  86730. "typeString": "abi"
  86731. }
  86732. },
  86733. "id": 13550,
  86734. "isConstant": false,
  86735. "isLValue": false,
  86736. "isPure": true,
  86737. "lValueRequested": false,
  86738. "memberLocation": "53931:19:50",
  86739. "memberName": "encodeWithSignature",
  86740. "nodeType": "MemberAccess",
  86741. "src": "53927:23:50",
  86742. "typeDescriptions": {
  86743. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  86744. "typeString": "function (string memory) pure returns (bytes memory)"
  86745. }
  86746. },
  86747. "id": 13556,
  86748. "isConstant": false,
  86749. "isLValue": false,
  86750. "isPure": false,
  86751. "kind": "functionCall",
  86752. "lValueRequested": false,
  86753. "nameLocations": [],
  86754. "names": [],
  86755. "nodeType": "FunctionCall",
  86756. "src": "53927:75:50",
  86757. "tryCall": false,
  86758. "typeDescriptions": {
  86759. "typeIdentifier": "t_bytes_memory_ptr",
  86760. "typeString": "bytes memory"
  86761. }
  86762. }
  86763. ],
  86764. "expression": {
  86765. "argumentTypes": [
  86766. {
  86767. "typeIdentifier": "t_bytes_memory_ptr",
  86768. "typeString": "bytes memory"
  86769. }
  86770. ],
  86771. "id": 13548,
  86772. "name": "_sendLogPayload",
  86773. "nodeType": "Identifier",
  86774. "overloadedDeclarations": [],
  86775. "referencedDeclaration": 7315,
  86776. "src": "53911:15:50",
  86777. "typeDescriptions": {
  86778. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  86779. "typeString": "function (bytes memory) pure"
  86780. }
  86781. },
  86782. "id": 13557,
  86783. "isConstant": false,
  86784. "isLValue": false,
  86785. "isPure": false,
  86786. "kind": "functionCall",
  86787. "lValueRequested": false,
  86788. "nameLocations": [],
  86789. "names": [],
  86790. "nodeType": "FunctionCall",
  86791. "src": "53911:92:50",
  86792. "tryCall": false,
  86793. "typeDescriptions": {
  86794. "typeIdentifier": "t_tuple$__$",
  86795. "typeString": "tuple()"
  86796. }
  86797. },
  86798. "id": 13558,
  86799. "nodeType": "ExpressionStatement",
  86800. "src": "53911:92:50"
  86801. }
  86802. ]
  86803. },
  86804. "implemented": true,
  86805. "kind": "function",
  86806. "modifiers": [],
  86807. "name": "log",
  86808. "nameLocation": "53832:3:50",
  86809. "parameters": {
  86810. "id": 13546,
  86811. "nodeType": "ParameterList",
  86812. "parameters": [
  86813. {
  86814. "constant": false,
  86815. "id": 13539,
  86816. "mutability": "mutable",
  86817. "name": "p0",
  86818. "nameLocation": "53841:2:50",
  86819. "nodeType": "VariableDeclaration",
  86820. "scope": 13560,
  86821. "src": "53836:7:50",
  86822. "stateVariable": false,
  86823. "storageLocation": "default",
  86824. "typeDescriptions": {
  86825. "typeIdentifier": "t_bool",
  86826. "typeString": "bool"
  86827. },
  86828. "typeName": {
  86829. "id": 13538,
  86830. "name": "bool",
  86831. "nodeType": "ElementaryTypeName",
  86832. "src": "53836:4:50",
  86833. "typeDescriptions": {
  86834. "typeIdentifier": "t_bool",
  86835. "typeString": "bool"
  86836. }
  86837. },
  86838. "visibility": "internal"
  86839. },
  86840. {
  86841. "constant": false,
  86842. "id": 13541,
  86843. "mutability": "mutable",
  86844. "name": "p1",
  86845. "nameLocation": "53853:2:50",
  86846. "nodeType": "VariableDeclaration",
  86847. "scope": 13560,
  86848. "src": "53845:10:50",
  86849. "stateVariable": false,
  86850. "storageLocation": "default",
  86851. "typeDescriptions": {
  86852. "typeIdentifier": "t_address",
  86853. "typeString": "address"
  86854. },
  86855. "typeName": {
  86856. "id": 13540,
  86857. "name": "address",
  86858. "nodeType": "ElementaryTypeName",
  86859. "src": "53845:7:50",
  86860. "stateMutability": "nonpayable",
  86861. "typeDescriptions": {
  86862. "typeIdentifier": "t_address",
  86863. "typeString": "address"
  86864. }
  86865. },
  86866. "visibility": "internal"
  86867. },
  86868. {
  86869. "constant": false,
  86870. "id": 13543,
  86871. "mutability": "mutable",
  86872. "name": "p2",
  86873. "nameLocation": "53865:2:50",
  86874. "nodeType": "VariableDeclaration",
  86875. "scope": 13560,
  86876. "src": "53857:10:50",
  86877. "stateVariable": false,
  86878. "storageLocation": "default",
  86879. "typeDescriptions": {
  86880. "typeIdentifier": "t_uint256",
  86881. "typeString": "uint256"
  86882. },
  86883. "typeName": {
  86884. "id": 13542,
  86885. "name": "uint256",
  86886. "nodeType": "ElementaryTypeName",
  86887. "src": "53857:7:50",
  86888. "typeDescriptions": {
  86889. "typeIdentifier": "t_uint256",
  86890. "typeString": "uint256"
  86891. }
  86892. },
  86893. "visibility": "internal"
  86894. },
  86895. {
  86896. "constant": false,
  86897. "id": 13545,
  86898. "mutability": "mutable",
  86899. "name": "p3",
  86900. "nameLocation": "53883:2:50",
  86901. "nodeType": "VariableDeclaration",
  86902. "scope": 13560,
  86903. "src": "53869:16:50",
  86904. "stateVariable": false,
  86905. "storageLocation": "memory",
  86906. "typeDescriptions": {
  86907. "typeIdentifier": "t_string_memory_ptr",
  86908. "typeString": "string"
  86909. },
  86910. "typeName": {
  86911. "id": 13544,
  86912. "name": "string",
  86913. "nodeType": "ElementaryTypeName",
  86914. "src": "53869:6:50",
  86915. "typeDescriptions": {
  86916. "typeIdentifier": "t_string_storage_ptr",
  86917. "typeString": "string"
  86918. }
  86919. },
  86920. "visibility": "internal"
  86921. }
  86922. ],
  86923. "src": "53835:51:50"
  86924. },
  86925. "returnParameters": {
  86926. "id": 13547,
  86927. "nodeType": "ParameterList",
  86928. "parameters": [],
  86929. "src": "53901:0:50"
  86930. },
  86931. "scope": 15355,
  86932. "stateMutability": "pure",
  86933. "virtual": false,
  86934. "visibility": "internal"
  86935. },
  86936. {
  86937. "id": 13583,
  86938. "nodeType": "FunctionDefinition",
  86939. "src": "54016:176:50",
  86940. "nodes": [],
  86941. "body": {
  86942. "id": 13582,
  86943. "nodeType": "Block",
  86944. "src": "54085:107:50",
  86945. "nodes": [],
  86946. "statements": [
  86947. {
  86948. "expression": {
  86949. "arguments": [
  86950. {
  86951. "arguments": [
  86952. {
  86953. "hexValue": "6c6f6728626f6f6c2c616464726573732c75696e743235362c626f6f6c29",
  86954. "id": 13574,
  86955. "isConstant": false,
  86956. "isLValue": false,
  86957. "isPure": true,
  86958. "kind": "string",
  86959. "lValueRequested": false,
  86960. "nodeType": "Literal",
  86961. "src": "54135:32:50",
  86962. "typeDescriptions": {
  86963. "typeIdentifier": "t_stringliteral_d6019f1c844577cb799272d8b580ae7d31e1d26be8513d99f3a91ca8ea67c958",
  86964. "typeString": "literal_string \"log(bool,address,uint256,bool)\""
  86965. },
  86966. "value": "log(bool,address,uint256,bool)"
  86967. },
  86968. {
  86969. "id": 13575,
  86970. "name": "p0",
  86971. "nodeType": "Identifier",
  86972. "overloadedDeclarations": [],
  86973. "referencedDeclaration": 13562,
  86974. "src": "54169:2:50",
  86975. "typeDescriptions": {
  86976. "typeIdentifier": "t_bool",
  86977. "typeString": "bool"
  86978. }
  86979. },
  86980. {
  86981. "id": 13576,
  86982. "name": "p1",
  86983. "nodeType": "Identifier",
  86984. "overloadedDeclarations": [],
  86985. "referencedDeclaration": 13564,
  86986. "src": "54173:2:50",
  86987. "typeDescriptions": {
  86988. "typeIdentifier": "t_address",
  86989. "typeString": "address"
  86990. }
  86991. },
  86992. {
  86993. "id": 13577,
  86994. "name": "p2",
  86995. "nodeType": "Identifier",
  86996. "overloadedDeclarations": [],
  86997. "referencedDeclaration": 13566,
  86998. "src": "54177:2:50",
  86999. "typeDescriptions": {
  87000. "typeIdentifier": "t_uint256",
  87001. "typeString": "uint256"
  87002. }
  87003. },
  87004. {
  87005. "id": 13578,
  87006. "name": "p3",
  87007. "nodeType": "Identifier",
  87008. "overloadedDeclarations": [],
  87009. "referencedDeclaration": 13568,
  87010. "src": "54181:2:50",
  87011. "typeDescriptions": {
  87012. "typeIdentifier": "t_bool",
  87013. "typeString": "bool"
  87014. }
  87015. }
  87016. ],
  87017. "expression": {
  87018. "argumentTypes": [
  87019. {
  87020. "typeIdentifier": "t_stringliteral_d6019f1c844577cb799272d8b580ae7d31e1d26be8513d99f3a91ca8ea67c958",
  87021. "typeString": "literal_string \"log(bool,address,uint256,bool)\""
  87022. },
  87023. {
  87024. "typeIdentifier": "t_bool",
  87025. "typeString": "bool"
  87026. },
  87027. {
  87028. "typeIdentifier": "t_address",
  87029. "typeString": "address"
  87030. },
  87031. {
  87032. "typeIdentifier": "t_uint256",
  87033. "typeString": "uint256"
  87034. },
  87035. {
  87036. "typeIdentifier": "t_bool",
  87037. "typeString": "bool"
  87038. }
  87039. ],
  87040. "expression": {
  87041. "id": 13572,
  87042. "name": "abi",
  87043. "nodeType": "Identifier",
  87044. "overloadedDeclarations": [],
  87045. "referencedDeclaration": -1,
  87046. "src": "54111:3:50",
  87047. "typeDescriptions": {
  87048. "typeIdentifier": "t_magic_abi",
  87049. "typeString": "abi"
  87050. }
  87051. },
  87052. "id": 13573,
  87053. "isConstant": false,
  87054. "isLValue": false,
  87055. "isPure": true,
  87056. "lValueRequested": false,
  87057. "memberLocation": "54115:19:50",
  87058. "memberName": "encodeWithSignature",
  87059. "nodeType": "MemberAccess",
  87060. "src": "54111:23:50",
  87061. "typeDescriptions": {
  87062. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  87063. "typeString": "function (string memory) pure returns (bytes memory)"
  87064. }
  87065. },
  87066. "id": 13579,
  87067. "isConstant": false,
  87068. "isLValue": false,
  87069. "isPure": false,
  87070. "kind": "functionCall",
  87071. "lValueRequested": false,
  87072. "nameLocations": [],
  87073. "names": [],
  87074. "nodeType": "FunctionCall",
  87075. "src": "54111:73:50",
  87076. "tryCall": false,
  87077. "typeDescriptions": {
  87078. "typeIdentifier": "t_bytes_memory_ptr",
  87079. "typeString": "bytes memory"
  87080. }
  87081. }
  87082. ],
  87083. "expression": {
  87084. "argumentTypes": [
  87085. {
  87086. "typeIdentifier": "t_bytes_memory_ptr",
  87087. "typeString": "bytes memory"
  87088. }
  87089. ],
  87090. "id": 13571,
  87091. "name": "_sendLogPayload",
  87092. "nodeType": "Identifier",
  87093. "overloadedDeclarations": [],
  87094. "referencedDeclaration": 7315,
  87095. "src": "54095:15:50",
  87096. "typeDescriptions": {
  87097. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  87098. "typeString": "function (bytes memory) pure"
  87099. }
  87100. },
  87101. "id": 13580,
  87102. "isConstant": false,
  87103. "isLValue": false,
  87104. "isPure": false,
  87105. "kind": "functionCall",
  87106. "lValueRequested": false,
  87107. "nameLocations": [],
  87108. "names": [],
  87109. "nodeType": "FunctionCall",
  87110. "src": "54095:90:50",
  87111. "tryCall": false,
  87112. "typeDescriptions": {
  87113. "typeIdentifier": "t_tuple$__$",
  87114. "typeString": "tuple()"
  87115. }
  87116. },
  87117. "id": 13581,
  87118. "nodeType": "ExpressionStatement",
  87119. "src": "54095:90:50"
  87120. }
  87121. ]
  87122. },
  87123. "implemented": true,
  87124. "kind": "function",
  87125. "modifiers": [],
  87126. "name": "log",
  87127. "nameLocation": "54025:3:50",
  87128. "parameters": {
  87129. "id": 13569,
  87130. "nodeType": "ParameterList",
  87131. "parameters": [
  87132. {
  87133. "constant": false,
  87134. "id": 13562,
  87135. "mutability": "mutable",
  87136. "name": "p0",
  87137. "nameLocation": "54034:2:50",
  87138. "nodeType": "VariableDeclaration",
  87139. "scope": 13583,
  87140. "src": "54029:7:50",
  87141. "stateVariable": false,
  87142. "storageLocation": "default",
  87143. "typeDescriptions": {
  87144. "typeIdentifier": "t_bool",
  87145. "typeString": "bool"
  87146. },
  87147. "typeName": {
  87148. "id": 13561,
  87149. "name": "bool",
  87150. "nodeType": "ElementaryTypeName",
  87151. "src": "54029:4:50",
  87152. "typeDescriptions": {
  87153. "typeIdentifier": "t_bool",
  87154. "typeString": "bool"
  87155. }
  87156. },
  87157. "visibility": "internal"
  87158. },
  87159. {
  87160. "constant": false,
  87161. "id": 13564,
  87162. "mutability": "mutable",
  87163. "name": "p1",
  87164. "nameLocation": "54046:2:50",
  87165. "nodeType": "VariableDeclaration",
  87166. "scope": 13583,
  87167. "src": "54038:10:50",
  87168. "stateVariable": false,
  87169. "storageLocation": "default",
  87170. "typeDescriptions": {
  87171. "typeIdentifier": "t_address",
  87172. "typeString": "address"
  87173. },
  87174. "typeName": {
  87175. "id": 13563,
  87176. "name": "address",
  87177. "nodeType": "ElementaryTypeName",
  87178. "src": "54038:7:50",
  87179. "stateMutability": "nonpayable",
  87180. "typeDescriptions": {
  87181. "typeIdentifier": "t_address",
  87182. "typeString": "address"
  87183. }
  87184. },
  87185. "visibility": "internal"
  87186. },
  87187. {
  87188. "constant": false,
  87189. "id": 13566,
  87190. "mutability": "mutable",
  87191. "name": "p2",
  87192. "nameLocation": "54058:2:50",
  87193. "nodeType": "VariableDeclaration",
  87194. "scope": 13583,
  87195. "src": "54050:10:50",
  87196. "stateVariable": false,
  87197. "storageLocation": "default",
  87198. "typeDescriptions": {
  87199. "typeIdentifier": "t_uint256",
  87200. "typeString": "uint256"
  87201. },
  87202. "typeName": {
  87203. "id": 13565,
  87204. "name": "uint256",
  87205. "nodeType": "ElementaryTypeName",
  87206. "src": "54050:7:50",
  87207. "typeDescriptions": {
  87208. "typeIdentifier": "t_uint256",
  87209. "typeString": "uint256"
  87210. }
  87211. },
  87212. "visibility": "internal"
  87213. },
  87214. {
  87215. "constant": false,
  87216. "id": 13568,
  87217. "mutability": "mutable",
  87218. "name": "p3",
  87219. "nameLocation": "54067:2:50",
  87220. "nodeType": "VariableDeclaration",
  87221. "scope": 13583,
  87222. "src": "54062:7:50",
  87223. "stateVariable": false,
  87224. "storageLocation": "default",
  87225. "typeDescriptions": {
  87226. "typeIdentifier": "t_bool",
  87227. "typeString": "bool"
  87228. },
  87229. "typeName": {
  87230. "id": 13567,
  87231. "name": "bool",
  87232. "nodeType": "ElementaryTypeName",
  87233. "src": "54062:4:50",
  87234. "typeDescriptions": {
  87235. "typeIdentifier": "t_bool",
  87236. "typeString": "bool"
  87237. }
  87238. },
  87239. "visibility": "internal"
  87240. }
  87241. ],
  87242. "src": "54028:42:50"
  87243. },
  87244. "returnParameters": {
  87245. "id": 13570,
  87246. "nodeType": "ParameterList",
  87247. "parameters": [],
  87248. "src": "54085:0:50"
  87249. },
  87250. "scope": 15355,
  87251. "stateMutability": "pure",
  87252. "virtual": false,
  87253. "visibility": "internal"
  87254. },
  87255. {
  87256. "id": 13606,
  87257. "nodeType": "FunctionDefinition",
  87258. "src": "54198:182:50",
  87259. "nodes": [],
  87260. "body": {
  87261. "id": 13605,
  87262. "nodeType": "Block",
  87263. "src": "54270:110:50",
  87264. "nodes": [],
  87265. "statements": [
  87266. {
  87267. "expression": {
  87268. "arguments": [
  87269. {
  87270. "arguments": [
  87271. {
  87272. "hexValue": "6c6f6728626f6f6c2c616464726573732c75696e743235362c6164647265737329",
  87273. "id": 13597,
  87274. "isConstant": false,
  87275. "isLValue": false,
  87276. "isPure": true,
  87277. "kind": "string",
  87278. "lValueRequested": false,
  87279. "nodeType": "Literal",
  87280. "src": "54320:35:50",
  87281. "typeDescriptions": {
  87282. "typeIdentifier": "t_stringliteral_136b05dd56dbfa6e97805ce657954968bb4ea366eef252c9fa3aec31b1aa7ebd",
  87283. "typeString": "literal_string \"log(bool,address,uint256,address)\""
  87284. },
  87285. "value": "log(bool,address,uint256,address)"
  87286. },
  87287. {
  87288. "id": 13598,
  87289. "name": "p0",
  87290. "nodeType": "Identifier",
  87291. "overloadedDeclarations": [],
  87292. "referencedDeclaration": 13585,
  87293. "src": "54357:2:50",
  87294. "typeDescriptions": {
  87295. "typeIdentifier": "t_bool",
  87296. "typeString": "bool"
  87297. }
  87298. },
  87299. {
  87300. "id": 13599,
  87301. "name": "p1",
  87302. "nodeType": "Identifier",
  87303. "overloadedDeclarations": [],
  87304. "referencedDeclaration": 13587,
  87305. "src": "54361:2:50",
  87306. "typeDescriptions": {
  87307. "typeIdentifier": "t_address",
  87308. "typeString": "address"
  87309. }
  87310. },
  87311. {
  87312. "id": 13600,
  87313. "name": "p2",
  87314. "nodeType": "Identifier",
  87315. "overloadedDeclarations": [],
  87316. "referencedDeclaration": 13589,
  87317. "src": "54365:2:50",
  87318. "typeDescriptions": {
  87319. "typeIdentifier": "t_uint256",
  87320. "typeString": "uint256"
  87321. }
  87322. },
  87323. {
  87324. "id": 13601,
  87325. "name": "p3",
  87326. "nodeType": "Identifier",
  87327. "overloadedDeclarations": [],
  87328. "referencedDeclaration": 13591,
  87329. "src": "54369:2:50",
  87330. "typeDescriptions": {
  87331. "typeIdentifier": "t_address",
  87332. "typeString": "address"
  87333. }
  87334. }
  87335. ],
  87336. "expression": {
  87337. "argumentTypes": [
  87338. {
  87339. "typeIdentifier": "t_stringliteral_136b05dd56dbfa6e97805ce657954968bb4ea366eef252c9fa3aec31b1aa7ebd",
  87340. "typeString": "literal_string \"log(bool,address,uint256,address)\""
  87341. },
  87342. {
  87343. "typeIdentifier": "t_bool",
  87344. "typeString": "bool"
  87345. },
  87346. {
  87347. "typeIdentifier": "t_address",
  87348. "typeString": "address"
  87349. },
  87350. {
  87351. "typeIdentifier": "t_uint256",
  87352. "typeString": "uint256"
  87353. },
  87354. {
  87355. "typeIdentifier": "t_address",
  87356. "typeString": "address"
  87357. }
  87358. ],
  87359. "expression": {
  87360. "id": 13595,
  87361. "name": "abi",
  87362. "nodeType": "Identifier",
  87363. "overloadedDeclarations": [],
  87364. "referencedDeclaration": -1,
  87365. "src": "54296:3:50",
  87366. "typeDescriptions": {
  87367. "typeIdentifier": "t_magic_abi",
  87368. "typeString": "abi"
  87369. }
  87370. },
  87371. "id": 13596,
  87372. "isConstant": false,
  87373. "isLValue": false,
  87374. "isPure": true,
  87375. "lValueRequested": false,
  87376. "memberLocation": "54300:19:50",
  87377. "memberName": "encodeWithSignature",
  87378. "nodeType": "MemberAccess",
  87379. "src": "54296:23:50",
  87380. "typeDescriptions": {
  87381. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  87382. "typeString": "function (string memory) pure returns (bytes memory)"
  87383. }
  87384. },
  87385. "id": 13602,
  87386. "isConstant": false,
  87387. "isLValue": false,
  87388. "isPure": false,
  87389. "kind": "functionCall",
  87390. "lValueRequested": false,
  87391. "nameLocations": [],
  87392. "names": [],
  87393. "nodeType": "FunctionCall",
  87394. "src": "54296:76:50",
  87395. "tryCall": false,
  87396. "typeDescriptions": {
  87397. "typeIdentifier": "t_bytes_memory_ptr",
  87398. "typeString": "bytes memory"
  87399. }
  87400. }
  87401. ],
  87402. "expression": {
  87403. "argumentTypes": [
  87404. {
  87405. "typeIdentifier": "t_bytes_memory_ptr",
  87406. "typeString": "bytes memory"
  87407. }
  87408. ],
  87409. "id": 13594,
  87410. "name": "_sendLogPayload",
  87411. "nodeType": "Identifier",
  87412. "overloadedDeclarations": [],
  87413. "referencedDeclaration": 7315,
  87414. "src": "54280:15:50",
  87415. "typeDescriptions": {
  87416. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  87417. "typeString": "function (bytes memory) pure"
  87418. }
  87419. },
  87420. "id": 13603,
  87421. "isConstant": false,
  87422. "isLValue": false,
  87423. "isPure": false,
  87424. "kind": "functionCall",
  87425. "lValueRequested": false,
  87426. "nameLocations": [],
  87427. "names": [],
  87428. "nodeType": "FunctionCall",
  87429. "src": "54280:93:50",
  87430. "tryCall": false,
  87431. "typeDescriptions": {
  87432. "typeIdentifier": "t_tuple$__$",
  87433. "typeString": "tuple()"
  87434. }
  87435. },
  87436. "id": 13604,
  87437. "nodeType": "ExpressionStatement",
  87438. "src": "54280:93:50"
  87439. }
  87440. ]
  87441. },
  87442. "implemented": true,
  87443. "kind": "function",
  87444. "modifiers": [],
  87445. "name": "log",
  87446. "nameLocation": "54207:3:50",
  87447. "parameters": {
  87448. "id": 13592,
  87449. "nodeType": "ParameterList",
  87450. "parameters": [
  87451. {
  87452. "constant": false,
  87453. "id": 13585,
  87454. "mutability": "mutable",
  87455. "name": "p0",
  87456. "nameLocation": "54216:2:50",
  87457. "nodeType": "VariableDeclaration",
  87458. "scope": 13606,
  87459. "src": "54211:7:50",
  87460. "stateVariable": false,
  87461. "storageLocation": "default",
  87462. "typeDescriptions": {
  87463. "typeIdentifier": "t_bool",
  87464. "typeString": "bool"
  87465. },
  87466. "typeName": {
  87467. "id": 13584,
  87468. "name": "bool",
  87469. "nodeType": "ElementaryTypeName",
  87470. "src": "54211:4:50",
  87471. "typeDescriptions": {
  87472. "typeIdentifier": "t_bool",
  87473. "typeString": "bool"
  87474. }
  87475. },
  87476. "visibility": "internal"
  87477. },
  87478. {
  87479. "constant": false,
  87480. "id": 13587,
  87481. "mutability": "mutable",
  87482. "name": "p1",
  87483. "nameLocation": "54228:2:50",
  87484. "nodeType": "VariableDeclaration",
  87485. "scope": 13606,
  87486. "src": "54220:10:50",
  87487. "stateVariable": false,
  87488. "storageLocation": "default",
  87489. "typeDescriptions": {
  87490. "typeIdentifier": "t_address",
  87491. "typeString": "address"
  87492. },
  87493. "typeName": {
  87494. "id": 13586,
  87495. "name": "address",
  87496. "nodeType": "ElementaryTypeName",
  87497. "src": "54220:7:50",
  87498. "stateMutability": "nonpayable",
  87499. "typeDescriptions": {
  87500. "typeIdentifier": "t_address",
  87501. "typeString": "address"
  87502. }
  87503. },
  87504. "visibility": "internal"
  87505. },
  87506. {
  87507. "constant": false,
  87508. "id": 13589,
  87509. "mutability": "mutable",
  87510. "name": "p2",
  87511. "nameLocation": "54240:2:50",
  87512. "nodeType": "VariableDeclaration",
  87513. "scope": 13606,
  87514. "src": "54232:10:50",
  87515. "stateVariable": false,
  87516. "storageLocation": "default",
  87517. "typeDescriptions": {
  87518. "typeIdentifier": "t_uint256",
  87519. "typeString": "uint256"
  87520. },
  87521. "typeName": {
  87522. "id": 13588,
  87523. "name": "uint256",
  87524. "nodeType": "ElementaryTypeName",
  87525. "src": "54232:7:50",
  87526. "typeDescriptions": {
  87527. "typeIdentifier": "t_uint256",
  87528. "typeString": "uint256"
  87529. }
  87530. },
  87531. "visibility": "internal"
  87532. },
  87533. {
  87534. "constant": false,
  87535. "id": 13591,
  87536. "mutability": "mutable",
  87537. "name": "p3",
  87538. "nameLocation": "54252:2:50",
  87539. "nodeType": "VariableDeclaration",
  87540. "scope": 13606,
  87541. "src": "54244:10:50",
  87542. "stateVariable": false,
  87543. "storageLocation": "default",
  87544. "typeDescriptions": {
  87545. "typeIdentifier": "t_address",
  87546. "typeString": "address"
  87547. },
  87548. "typeName": {
  87549. "id": 13590,
  87550. "name": "address",
  87551. "nodeType": "ElementaryTypeName",
  87552. "src": "54244:7:50",
  87553. "stateMutability": "nonpayable",
  87554. "typeDescriptions": {
  87555. "typeIdentifier": "t_address",
  87556. "typeString": "address"
  87557. }
  87558. },
  87559. "visibility": "internal"
  87560. }
  87561. ],
  87562. "src": "54210:45:50"
  87563. },
  87564. "returnParameters": {
  87565. "id": 13593,
  87566. "nodeType": "ParameterList",
  87567. "parameters": [],
  87568. "src": "54270:0:50"
  87569. },
  87570. "scope": 15355,
  87571. "stateMutability": "pure",
  87572. "virtual": false,
  87573. "visibility": "internal"
  87574. },
  87575. {
  87576. "id": 13629,
  87577. "nodeType": "FunctionDefinition",
  87578. "src": "54386:187:50",
  87579. "nodes": [],
  87580. "body": {
  87581. "id": 13628,
  87582. "nodeType": "Block",
  87583. "src": "54464:109:50",
  87584. "nodes": [],
  87585. "statements": [
  87586. {
  87587. "expression": {
  87588. "arguments": [
  87589. {
  87590. "arguments": [
  87591. {
  87592. "hexValue": "6c6f6728626f6f6c2c616464726573732c737472696e672c75696e7432353629",
  87593. "id": 13620,
  87594. "isConstant": false,
  87595. "isLValue": false,
  87596. "isPure": true,
  87597. "kind": "string",
  87598. "lValueRequested": false,
  87599. "nodeType": "Literal",
  87600. "src": "54514:34:50",
  87601. "typeDescriptions": {
  87602. "typeIdentifier": "t_stringliteral_c21f64c781c24c69fbdf6daf185e821c3143831e9c7b3ede1933a6cffd68030d",
  87603. "typeString": "literal_string \"log(bool,address,string,uint256)\""
  87604. },
  87605. "value": "log(bool,address,string,uint256)"
  87606. },
  87607. {
  87608. "id": 13621,
  87609. "name": "p0",
  87610. "nodeType": "Identifier",
  87611. "overloadedDeclarations": [],
  87612. "referencedDeclaration": 13608,
  87613. "src": "54550:2:50",
  87614. "typeDescriptions": {
  87615. "typeIdentifier": "t_bool",
  87616. "typeString": "bool"
  87617. }
  87618. },
  87619. {
  87620. "id": 13622,
  87621. "name": "p1",
  87622. "nodeType": "Identifier",
  87623. "overloadedDeclarations": [],
  87624. "referencedDeclaration": 13610,
  87625. "src": "54554:2:50",
  87626. "typeDescriptions": {
  87627. "typeIdentifier": "t_address",
  87628. "typeString": "address"
  87629. }
  87630. },
  87631. {
  87632. "id": 13623,
  87633. "name": "p2",
  87634. "nodeType": "Identifier",
  87635. "overloadedDeclarations": [],
  87636. "referencedDeclaration": 13612,
  87637. "src": "54558:2:50",
  87638. "typeDescriptions": {
  87639. "typeIdentifier": "t_string_memory_ptr",
  87640. "typeString": "string memory"
  87641. }
  87642. },
  87643. {
  87644. "id": 13624,
  87645. "name": "p3",
  87646. "nodeType": "Identifier",
  87647. "overloadedDeclarations": [],
  87648. "referencedDeclaration": 13614,
  87649. "src": "54562:2:50",
  87650. "typeDescriptions": {
  87651. "typeIdentifier": "t_uint256",
  87652. "typeString": "uint256"
  87653. }
  87654. }
  87655. ],
  87656. "expression": {
  87657. "argumentTypes": [
  87658. {
  87659. "typeIdentifier": "t_stringliteral_c21f64c781c24c69fbdf6daf185e821c3143831e9c7b3ede1933a6cffd68030d",
  87660. "typeString": "literal_string \"log(bool,address,string,uint256)\""
  87661. },
  87662. {
  87663. "typeIdentifier": "t_bool",
  87664. "typeString": "bool"
  87665. },
  87666. {
  87667. "typeIdentifier": "t_address",
  87668. "typeString": "address"
  87669. },
  87670. {
  87671. "typeIdentifier": "t_string_memory_ptr",
  87672. "typeString": "string memory"
  87673. },
  87674. {
  87675. "typeIdentifier": "t_uint256",
  87676. "typeString": "uint256"
  87677. }
  87678. ],
  87679. "expression": {
  87680. "id": 13618,
  87681. "name": "abi",
  87682. "nodeType": "Identifier",
  87683. "overloadedDeclarations": [],
  87684. "referencedDeclaration": -1,
  87685. "src": "54490:3:50",
  87686. "typeDescriptions": {
  87687. "typeIdentifier": "t_magic_abi",
  87688. "typeString": "abi"
  87689. }
  87690. },
  87691. "id": 13619,
  87692. "isConstant": false,
  87693. "isLValue": false,
  87694. "isPure": true,
  87695. "lValueRequested": false,
  87696. "memberLocation": "54494:19:50",
  87697. "memberName": "encodeWithSignature",
  87698. "nodeType": "MemberAccess",
  87699. "src": "54490:23:50",
  87700. "typeDescriptions": {
  87701. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  87702. "typeString": "function (string memory) pure returns (bytes memory)"
  87703. }
  87704. },
  87705. "id": 13625,
  87706. "isConstant": false,
  87707. "isLValue": false,
  87708. "isPure": false,
  87709. "kind": "functionCall",
  87710. "lValueRequested": false,
  87711. "nameLocations": [],
  87712. "names": [],
  87713. "nodeType": "FunctionCall",
  87714. "src": "54490:75:50",
  87715. "tryCall": false,
  87716. "typeDescriptions": {
  87717. "typeIdentifier": "t_bytes_memory_ptr",
  87718. "typeString": "bytes memory"
  87719. }
  87720. }
  87721. ],
  87722. "expression": {
  87723. "argumentTypes": [
  87724. {
  87725. "typeIdentifier": "t_bytes_memory_ptr",
  87726. "typeString": "bytes memory"
  87727. }
  87728. ],
  87729. "id": 13617,
  87730. "name": "_sendLogPayload",
  87731. "nodeType": "Identifier",
  87732. "overloadedDeclarations": [],
  87733. "referencedDeclaration": 7315,
  87734. "src": "54474:15:50",
  87735. "typeDescriptions": {
  87736. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  87737. "typeString": "function (bytes memory) pure"
  87738. }
  87739. },
  87740. "id": 13626,
  87741. "isConstant": false,
  87742. "isLValue": false,
  87743. "isPure": false,
  87744. "kind": "functionCall",
  87745. "lValueRequested": false,
  87746. "nameLocations": [],
  87747. "names": [],
  87748. "nodeType": "FunctionCall",
  87749. "src": "54474:92:50",
  87750. "tryCall": false,
  87751. "typeDescriptions": {
  87752. "typeIdentifier": "t_tuple$__$",
  87753. "typeString": "tuple()"
  87754. }
  87755. },
  87756. "id": 13627,
  87757. "nodeType": "ExpressionStatement",
  87758. "src": "54474:92:50"
  87759. }
  87760. ]
  87761. },
  87762. "implemented": true,
  87763. "kind": "function",
  87764. "modifiers": [],
  87765. "name": "log",
  87766. "nameLocation": "54395:3:50",
  87767. "parameters": {
  87768. "id": 13615,
  87769. "nodeType": "ParameterList",
  87770. "parameters": [
  87771. {
  87772. "constant": false,
  87773. "id": 13608,
  87774. "mutability": "mutable",
  87775. "name": "p0",
  87776. "nameLocation": "54404:2:50",
  87777. "nodeType": "VariableDeclaration",
  87778. "scope": 13629,
  87779. "src": "54399:7:50",
  87780. "stateVariable": false,
  87781. "storageLocation": "default",
  87782. "typeDescriptions": {
  87783. "typeIdentifier": "t_bool",
  87784. "typeString": "bool"
  87785. },
  87786. "typeName": {
  87787. "id": 13607,
  87788. "name": "bool",
  87789. "nodeType": "ElementaryTypeName",
  87790. "src": "54399:4:50",
  87791. "typeDescriptions": {
  87792. "typeIdentifier": "t_bool",
  87793. "typeString": "bool"
  87794. }
  87795. },
  87796. "visibility": "internal"
  87797. },
  87798. {
  87799. "constant": false,
  87800. "id": 13610,
  87801. "mutability": "mutable",
  87802. "name": "p1",
  87803. "nameLocation": "54416:2:50",
  87804. "nodeType": "VariableDeclaration",
  87805. "scope": 13629,
  87806. "src": "54408:10:50",
  87807. "stateVariable": false,
  87808. "storageLocation": "default",
  87809. "typeDescriptions": {
  87810. "typeIdentifier": "t_address",
  87811. "typeString": "address"
  87812. },
  87813. "typeName": {
  87814. "id": 13609,
  87815. "name": "address",
  87816. "nodeType": "ElementaryTypeName",
  87817. "src": "54408:7:50",
  87818. "stateMutability": "nonpayable",
  87819. "typeDescriptions": {
  87820. "typeIdentifier": "t_address",
  87821. "typeString": "address"
  87822. }
  87823. },
  87824. "visibility": "internal"
  87825. },
  87826. {
  87827. "constant": false,
  87828. "id": 13612,
  87829. "mutability": "mutable",
  87830. "name": "p2",
  87831. "nameLocation": "54434:2:50",
  87832. "nodeType": "VariableDeclaration",
  87833. "scope": 13629,
  87834. "src": "54420:16:50",
  87835. "stateVariable": false,
  87836. "storageLocation": "memory",
  87837. "typeDescriptions": {
  87838. "typeIdentifier": "t_string_memory_ptr",
  87839. "typeString": "string"
  87840. },
  87841. "typeName": {
  87842. "id": 13611,
  87843. "name": "string",
  87844. "nodeType": "ElementaryTypeName",
  87845. "src": "54420:6:50",
  87846. "typeDescriptions": {
  87847. "typeIdentifier": "t_string_storage_ptr",
  87848. "typeString": "string"
  87849. }
  87850. },
  87851. "visibility": "internal"
  87852. },
  87853. {
  87854. "constant": false,
  87855. "id": 13614,
  87856. "mutability": "mutable",
  87857. "name": "p3",
  87858. "nameLocation": "54446:2:50",
  87859. "nodeType": "VariableDeclaration",
  87860. "scope": 13629,
  87861. "src": "54438:10:50",
  87862. "stateVariable": false,
  87863. "storageLocation": "default",
  87864. "typeDescriptions": {
  87865. "typeIdentifier": "t_uint256",
  87866. "typeString": "uint256"
  87867. },
  87868. "typeName": {
  87869. "id": 13613,
  87870. "name": "uint256",
  87871. "nodeType": "ElementaryTypeName",
  87872. "src": "54438:7:50",
  87873. "typeDescriptions": {
  87874. "typeIdentifier": "t_uint256",
  87875. "typeString": "uint256"
  87876. }
  87877. },
  87878. "visibility": "internal"
  87879. }
  87880. ],
  87881. "src": "54398:51:50"
  87882. },
  87883. "returnParameters": {
  87884. "id": 13616,
  87885. "nodeType": "ParameterList",
  87886. "parameters": [],
  87887. "src": "54464:0:50"
  87888. },
  87889. "scope": 15355,
  87890. "stateMutability": "pure",
  87891. "virtual": false,
  87892. "visibility": "internal"
  87893. },
  87894. {
  87895. "id": 13652,
  87896. "nodeType": "FunctionDefinition",
  87897. "src": "54579:192:50",
  87898. "nodes": [],
  87899. "body": {
  87900. "id": 13651,
  87901. "nodeType": "Block",
  87902. "src": "54663:108:50",
  87903. "nodes": [],
  87904. "statements": [
  87905. {
  87906. "expression": {
  87907. "arguments": [
  87908. {
  87909. "arguments": [
  87910. {
  87911. "hexValue": "6c6f6728626f6f6c2c616464726573732c737472696e672c737472696e6729",
  87912. "id": 13643,
  87913. "isConstant": false,
  87914. "isLValue": false,
  87915. "isPure": true,
  87916. "kind": "string",
  87917. "lValueRequested": false,
  87918. "nodeType": "Literal",
  87919. "src": "54713:33:50",
  87920. "typeDescriptions": {
  87921. "typeIdentifier": "t_stringliteral_a73c1db639dbf1382c9113eacdf5b14a7ccd81fc001ac60393623936011bf49d",
  87922. "typeString": "literal_string \"log(bool,address,string,string)\""
  87923. },
  87924. "value": "log(bool,address,string,string)"
  87925. },
  87926. {
  87927. "id": 13644,
  87928. "name": "p0",
  87929. "nodeType": "Identifier",
  87930. "overloadedDeclarations": [],
  87931. "referencedDeclaration": 13631,
  87932. "src": "54748:2:50",
  87933. "typeDescriptions": {
  87934. "typeIdentifier": "t_bool",
  87935. "typeString": "bool"
  87936. }
  87937. },
  87938. {
  87939. "id": 13645,
  87940. "name": "p1",
  87941. "nodeType": "Identifier",
  87942. "overloadedDeclarations": [],
  87943. "referencedDeclaration": 13633,
  87944. "src": "54752:2:50",
  87945. "typeDescriptions": {
  87946. "typeIdentifier": "t_address",
  87947. "typeString": "address"
  87948. }
  87949. },
  87950. {
  87951. "id": 13646,
  87952. "name": "p2",
  87953. "nodeType": "Identifier",
  87954. "overloadedDeclarations": [],
  87955. "referencedDeclaration": 13635,
  87956. "src": "54756:2:50",
  87957. "typeDescriptions": {
  87958. "typeIdentifier": "t_string_memory_ptr",
  87959. "typeString": "string memory"
  87960. }
  87961. },
  87962. {
  87963. "id": 13647,
  87964. "name": "p3",
  87965. "nodeType": "Identifier",
  87966. "overloadedDeclarations": [],
  87967. "referencedDeclaration": 13637,
  87968. "src": "54760:2:50",
  87969. "typeDescriptions": {
  87970. "typeIdentifier": "t_string_memory_ptr",
  87971. "typeString": "string memory"
  87972. }
  87973. }
  87974. ],
  87975. "expression": {
  87976. "argumentTypes": [
  87977. {
  87978. "typeIdentifier": "t_stringliteral_a73c1db639dbf1382c9113eacdf5b14a7ccd81fc001ac60393623936011bf49d",
  87979. "typeString": "literal_string \"log(bool,address,string,string)\""
  87980. },
  87981. {
  87982. "typeIdentifier": "t_bool",
  87983. "typeString": "bool"
  87984. },
  87985. {
  87986. "typeIdentifier": "t_address",
  87987. "typeString": "address"
  87988. },
  87989. {
  87990. "typeIdentifier": "t_string_memory_ptr",
  87991. "typeString": "string memory"
  87992. },
  87993. {
  87994. "typeIdentifier": "t_string_memory_ptr",
  87995. "typeString": "string memory"
  87996. }
  87997. ],
  87998. "expression": {
  87999. "id": 13641,
  88000. "name": "abi",
  88001. "nodeType": "Identifier",
  88002. "overloadedDeclarations": [],
  88003. "referencedDeclaration": -1,
  88004. "src": "54689:3:50",
  88005. "typeDescriptions": {
  88006. "typeIdentifier": "t_magic_abi",
  88007. "typeString": "abi"
  88008. }
  88009. },
  88010. "id": 13642,
  88011. "isConstant": false,
  88012. "isLValue": false,
  88013. "isPure": true,
  88014. "lValueRequested": false,
  88015. "memberLocation": "54693:19:50",
  88016. "memberName": "encodeWithSignature",
  88017. "nodeType": "MemberAccess",
  88018. "src": "54689:23:50",
  88019. "typeDescriptions": {
  88020. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  88021. "typeString": "function (string memory) pure returns (bytes memory)"
  88022. }
  88023. },
  88024. "id": 13648,
  88025. "isConstant": false,
  88026. "isLValue": false,
  88027. "isPure": false,
  88028. "kind": "functionCall",
  88029. "lValueRequested": false,
  88030. "nameLocations": [],
  88031. "names": [],
  88032. "nodeType": "FunctionCall",
  88033. "src": "54689:74:50",
  88034. "tryCall": false,
  88035. "typeDescriptions": {
  88036. "typeIdentifier": "t_bytes_memory_ptr",
  88037. "typeString": "bytes memory"
  88038. }
  88039. }
  88040. ],
  88041. "expression": {
  88042. "argumentTypes": [
  88043. {
  88044. "typeIdentifier": "t_bytes_memory_ptr",
  88045. "typeString": "bytes memory"
  88046. }
  88047. ],
  88048. "id": 13640,
  88049. "name": "_sendLogPayload",
  88050. "nodeType": "Identifier",
  88051. "overloadedDeclarations": [],
  88052. "referencedDeclaration": 7315,
  88053. "src": "54673:15:50",
  88054. "typeDescriptions": {
  88055. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  88056. "typeString": "function (bytes memory) pure"
  88057. }
  88058. },
  88059. "id": 13649,
  88060. "isConstant": false,
  88061. "isLValue": false,
  88062. "isPure": false,
  88063. "kind": "functionCall",
  88064. "lValueRequested": false,
  88065. "nameLocations": [],
  88066. "names": [],
  88067. "nodeType": "FunctionCall",
  88068. "src": "54673:91:50",
  88069. "tryCall": false,
  88070. "typeDescriptions": {
  88071. "typeIdentifier": "t_tuple$__$",
  88072. "typeString": "tuple()"
  88073. }
  88074. },
  88075. "id": 13650,
  88076. "nodeType": "ExpressionStatement",
  88077. "src": "54673:91:50"
  88078. }
  88079. ]
  88080. },
  88081. "implemented": true,
  88082. "kind": "function",
  88083. "modifiers": [],
  88084. "name": "log",
  88085. "nameLocation": "54588:3:50",
  88086. "parameters": {
  88087. "id": 13638,
  88088. "nodeType": "ParameterList",
  88089. "parameters": [
  88090. {
  88091. "constant": false,
  88092. "id": 13631,
  88093. "mutability": "mutable",
  88094. "name": "p0",
  88095. "nameLocation": "54597:2:50",
  88096. "nodeType": "VariableDeclaration",
  88097. "scope": 13652,
  88098. "src": "54592:7:50",
  88099. "stateVariable": false,
  88100. "storageLocation": "default",
  88101. "typeDescriptions": {
  88102. "typeIdentifier": "t_bool",
  88103. "typeString": "bool"
  88104. },
  88105. "typeName": {
  88106. "id": 13630,
  88107. "name": "bool",
  88108. "nodeType": "ElementaryTypeName",
  88109. "src": "54592:4:50",
  88110. "typeDescriptions": {
  88111. "typeIdentifier": "t_bool",
  88112. "typeString": "bool"
  88113. }
  88114. },
  88115. "visibility": "internal"
  88116. },
  88117. {
  88118. "constant": false,
  88119. "id": 13633,
  88120. "mutability": "mutable",
  88121. "name": "p1",
  88122. "nameLocation": "54609:2:50",
  88123. "nodeType": "VariableDeclaration",
  88124. "scope": 13652,
  88125. "src": "54601:10:50",
  88126. "stateVariable": false,
  88127. "storageLocation": "default",
  88128. "typeDescriptions": {
  88129. "typeIdentifier": "t_address",
  88130. "typeString": "address"
  88131. },
  88132. "typeName": {
  88133. "id": 13632,
  88134. "name": "address",
  88135. "nodeType": "ElementaryTypeName",
  88136. "src": "54601:7:50",
  88137. "stateMutability": "nonpayable",
  88138. "typeDescriptions": {
  88139. "typeIdentifier": "t_address",
  88140. "typeString": "address"
  88141. }
  88142. },
  88143. "visibility": "internal"
  88144. },
  88145. {
  88146. "constant": false,
  88147. "id": 13635,
  88148. "mutability": "mutable",
  88149. "name": "p2",
  88150. "nameLocation": "54627:2:50",
  88151. "nodeType": "VariableDeclaration",
  88152. "scope": 13652,
  88153. "src": "54613:16:50",
  88154. "stateVariable": false,
  88155. "storageLocation": "memory",
  88156. "typeDescriptions": {
  88157. "typeIdentifier": "t_string_memory_ptr",
  88158. "typeString": "string"
  88159. },
  88160. "typeName": {
  88161. "id": 13634,
  88162. "name": "string",
  88163. "nodeType": "ElementaryTypeName",
  88164. "src": "54613:6:50",
  88165. "typeDescriptions": {
  88166. "typeIdentifier": "t_string_storage_ptr",
  88167. "typeString": "string"
  88168. }
  88169. },
  88170. "visibility": "internal"
  88171. },
  88172. {
  88173. "constant": false,
  88174. "id": 13637,
  88175. "mutability": "mutable",
  88176. "name": "p3",
  88177. "nameLocation": "54645:2:50",
  88178. "nodeType": "VariableDeclaration",
  88179. "scope": 13652,
  88180. "src": "54631:16:50",
  88181. "stateVariable": false,
  88182. "storageLocation": "memory",
  88183. "typeDescriptions": {
  88184. "typeIdentifier": "t_string_memory_ptr",
  88185. "typeString": "string"
  88186. },
  88187. "typeName": {
  88188. "id": 13636,
  88189. "name": "string",
  88190. "nodeType": "ElementaryTypeName",
  88191. "src": "54631:6:50",
  88192. "typeDescriptions": {
  88193. "typeIdentifier": "t_string_storage_ptr",
  88194. "typeString": "string"
  88195. }
  88196. },
  88197. "visibility": "internal"
  88198. }
  88199. ],
  88200. "src": "54591:57:50"
  88201. },
  88202. "returnParameters": {
  88203. "id": 13639,
  88204. "nodeType": "ParameterList",
  88205. "parameters": [],
  88206. "src": "54663:0:50"
  88207. },
  88208. "scope": 15355,
  88209. "stateMutability": "pure",
  88210. "virtual": false,
  88211. "visibility": "internal"
  88212. },
  88213. {
  88214. "id": 13675,
  88215. "nodeType": "FunctionDefinition",
  88216. "src": "54777:181:50",
  88217. "nodes": [],
  88218. "body": {
  88219. "id": 13674,
  88220. "nodeType": "Block",
  88221. "src": "54852:106:50",
  88222. "nodes": [],
  88223. "statements": [
  88224. {
  88225. "expression": {
  88226. "arguments": [
  88227. {
  88228. "arguments": [
  88229. {
  88230. "hexValue": "6c6f6728626f6f6c2c616464726573732c737472696e672c626f6f6c29",
  88231. "id": 13666,
  88232. "isConstant": false,
  88233. "isLValue": false,
  88234. "isPure": true,
  88235. "kind": "string",
  88236. "lValueRequested": false,
  88237. "nodeType": "Literal",
  88238. "src": "54902:31:50",
  88239. "typeDescriptions": {
  88240. "typeIdentifier": "t_stringliteral_e2bfd60b4f6acdab0603dda631b69bf37ab7cbf71bc5953f9ed72c1f2a76f7dc",
  88241. "typeString": "literal_string \"log(bool,address,string,bool)\""
  88242. },
  88243. "value": "log(bool,address,string,bool)"
  88244. },
  88245. {
  88246. "id": 13667,
  88247. "name": "p0",
  88248. "nodeType": "Identifier",
  88249. "overloadedDeclarations": [],
  88250. "referencedDeclaration": 13654,
  88251. "src": "54935:2:50",
  88252. "typeDescriptions": {
  88253. "typeIdentifier": "t_bool",
  88254. "typeString": "bool"
  88255. }
  88256. },
  88257. {
  88258. "id": 13668,
  88259. "name": "p1",
  88260. "nodeType": "Identifier",
  88261. "overloadedDeclarations": [],
  88262. "referencedDeclaration": 13656,
  88263. "src": "54939:2:50",
  88264. "typeDescriptions": {
  88265. "typeIdentifier": "t_address",
  88266. "typeString": "address"
  88267. }
  88268. },
  88269. {
  88270. "id": 13669,
  88271. "name": "p2",
  88272. "nodeType": "Identifier",
  88273. "overloadedDeclarations": [],
  88274. "referencedDeclaration": 13658,
  88275. "src": "54943:2:50",
  88276. "typeDescriptions": {
  88277. "typeIdentifier": "t_string_memory_ptr",
  88278. "typeString": "string memory"
  88279. }
  88280. },
  88281. {
  88282. "id": 13670,
  88283. "name": "p3",
  88284. "nodeType": "Identifier",
  88285. "overloadedDeclarations": [],
  88286. "referencedDeclaration": 13660,
  88287. "src": "54947:2:50",
  88288. "typeDescriptions": {
  88289. "typeIdentifier": "t_bool",
  88290. "typeString": "bool"
  88291. }
  88292. }
  88293. ],
  88294. "expression": {
  88295. "argumentTypes": [
  88296. {
  88297. "typeIdentifier": "t_stringliteral_e2bfd60b4f6acdab0603dda631b69bf37ab7cbf71bc5953f9ed72c1f2a76f7dc",
  88298. "typeString": "literal_string \"log(bool,address,string,bool)\""
  88299. },
  88300. {
  88301. "typeIdentifier": "t_bool",
  88302. "typeString": "bool"
  88303. },
  88304. {
  88305. "typeIdentifier": "t_address",
  88306. "typeString": "address"
  88307. },
  88308. {
  88309. "typeIdentifier": "t_string_memory_ptr",
  88310. "typeString": "string memory"
  88311. },
  88312. {
  88313. "typeIdentifier": "t_bool",
  88314. "typeString": "bool"
  88315. }
  88316. ],
  88317. "expression": {
  88318. "id": 13664,
  88319. "name": "abi",
  88320. "nodeType": "Identifier",
  88321. "overloadedDeclarations": [],
  88322. "referencedDeclaration": -1,
  88323. "src": "54878:3:50",
  88324. "typeDescriptions": {
  88325. "typeIdentifier": "t_magic_abi",
  88326. "typeString": "abi"
  88327. }
  88328. },
  88329. "id": 13665,
  88330. "isConstant": false,
  88331. "isLValue": false,
  88332. "isPure": true,
  88333. "lValueRequested": false,
  88334. "memberLocation": "54882:19:50",
  88335. "memberName": "encodeWithSignature",
  88336. "nodeType": "MemberAccess",
  88337. "src": "54878:23:50",
  88338. "typeDescriptions": {
  88339. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  88340. "typeString": "function (string memory) pure returns (bytes memory)"
  88341. }
  88342. },
  88343. "id": 13671,
  88344. "isConstant": false,
  88345. "isLValue": false,
  88346. "isPure": false,
  88347. "kind": "functionCall",
  88348. "lValueRequested": false,
  88349. "nameLocations": [],
  88350. "names": [],
  88351. "nodeType": "FunctionCall",
  88352. "src": "54878:72:50",
  88353. "tryCall": false,
  88354. "typeDescriptions": {
  88355. "typeIdentifier": "t_bytes_memory_ptr",
  88356. "typeString": "bytes memory"
  88357. }
  88358. }
  88359. ],
  88360. "expression": {
  88361. "argumentTypes": [
  88362. {
  88363. "typeIdentifier": "t_bytes_memory_ptr",
  88364. "typeString": "bytes memory"
  88365. }
  88366. ],
  88367. "id": 13663,
  88368. "name": "_sendLogPayload",
  88369. "nodeType": "Identifier",
  88370. "overloadedDeclarations": [],
  88371. "referencedDeclaration": 7315,
  88372. "src": "54862:15:50",
  88373. "typeDescriptions": {
  88374. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  88375. "typeString": "function (bytes memory) pure"
  88376. }
  88377. },
  88378. "id": 13672,
  88379. "isConstant": false,
  88380. "isLValue": false,
  88381. "isPure": false,
  88382. "kind": "functionCall",
  88383. "lValueRequested": false,
  88384. "nameLocations": [],
  88385. "names": [],
  88386. "nodeType": "FunctionCall",
  88387. "src": "54862:89:50",
  88388. "tryCall": false,
  88389. "typeDescriptions": {
  88390. "typeIdentifier": "t_tuple$__$",
  88391. "typeString": "tuple()"
  88392. }
  88393. },
  88394. "id": 13673,
  88395. "nodeType": "ExpressionStatement",
  88396. "src": "54862:89:50"
  88397. }
  88398. ]
  88399. },
  88400. "implemented": true,
  88401. "kind": "function",
  88402. "modifiers": [],
  88403. "name": "log",
  88404. "nameLocation": "54786:3:50",
  88405. "parameters": {
  88406. "id": 13661,
  88407. "nodeType": "ParameterList",
  88408. "parameters": [
  88409. {
  88410. "constant": false,
  88411. "id": 13654,
  88412. "mutability": "mutable",
  88413. "name": "p0",
  88414. "nameLocation": "54795:2:50",
  88415. "nodeType": "VariableDeclaration",
  88416. "scope": 13675,
  88417. "src": "54790:7:50",
  88418. "stateVariable": false,
  88419. "storageLocation": "default",
  88420. "typeDescriptions": {
  88421. "typeIdentifier": "t_bool",
  88422. "typeString": "bool"
  88423. },
  88424. "typeName": {
  88425. "id": 13653,
  88426. "name": "bool",
  88427. "nodeType": "ElementaryTypeName",
  88428. "src": "54790:4:50",
  88429. "typeDescriptions": {
  88430. "typeIdentifier": "t_bool",
  88431. "typeString": "bool"
  88432. }
  88433. },
  88434. "visibility": "internal"
  88435. },
  88436. {
  88437. "constant": false,
  88438. "id": 13656,
  88439. "mutability": "mutable",
  88440. "name": "p1",
  88441. "nameLocation": "54807:2:50",
  88442. "nodeType": "VariableDeclaration",
  88443. "scope": 13675,
  88444. "src": "54799:10:50",
  88445. "stateVariable": false,
  88446. "storageLocation": "default",
  88447. "typeDescriptions": {
  88448. "typeIdentifier": "t_address",
  88449. "typeString": "address"
  88450. },
  88451. "typeName": {
  88452. "id": 13655,
  88453. "name": "address",
  88454. "nodeType": "ElementaryTypeName",
  88455. "src": "54799:7:50",
  88456. "stateMutability": "nonpayable",
  88457. "typeDescriptions": {
  88458. "typeIdentifier": "t_address",
  88459. "typeString": "address"
  88460. }
  88461. },
  88462. "visibility": "internal"
  88463. },
  88464. {
  88465. "constant": false,
  88466. "id": 13658,
  88467. "mutability": "mutable",
  88468. "name": "p2",
  88469. "nameLocation": "54825:2:50",
  88470. "nodeType": "VariableDeclaration",
  88471. "scope": 13675,
  88472. "src": "54811:16:50",
  88473. "stateVariable": false,
  88474. "storageLocation": "memory",
  88475. "typeDescriptions": {
  88476. "typeIdentifier": "t_string_memory_ptr",
  88477. "typeString": "string"
  88478. },
  88479. "typeName": {
  88480. "id": 13657,
  88481. "name": "string",
  88482. "nodeType": "ElementaryTypeName",
  88483. "src": "54811:6:50",
  88484. "typeDescriptions": {
  88485. "typeIdentifier": "t_string_storage_ptr",
  88486. "typeString": "string"
  88487. }
  88488. },
  88489. "visibility": "internal"
  88490. },
  88491. {
  88492. "constant": false,
  88493. "id": 13660,
  88494. "mutability": "mutable",
  88495. "name": "p3",
  88496. "nameLocation": "54834:2:50",
  88497. "nodeType": "VariableDeclaration",
  88498. "scope": 13675,
  88499. "src": "54829:7:50",
  88500. "stateVariable": false,
  88501. "storageLocation": "default",
  88502. "typeDescriptions": {
  88503. "typeIdentifier": "t_bool",
  88504. "typeString": "bool"
  88505. },
  88506. "typeName": {
  88507. "id": 13659,
  88508. "name": "bool",
  88509. "nodeType": "ElementaryTypeName",
  88510. "src": "54829:4:50",
  88511. "typeDescriptions": {
  88512. "typeIdentifier": "t_bool",
  88513. "typeString": "bool"
  88514. }
  88515. },
  88516. "visibility": "internal"
  88517. }
  88518. ],
  88519. "src": "54789:48:50"
  88520. },
  88521. "returnParameters": {
  88522. "id": 13662,
  88523. "nodeType": "ParameterList",
  88524. "parameters": [],
  88525. "src": "54852:0:50"
  88526. },
  88527. "scope": 15355,
  88528. "stateMutability": "pure",
  88529. "virtual": false,
  88530. "visibility": "internal"
  88531. },
  88532. {
  88533. "id": 13698,
  88534. "nodeType": "FunctionDefinition",
  88535. "src": "54964:187:50",
  88536. "nodes": [],
  88537. "body": {
  88538. "id": 13697,
  88539. "nodeType": "Block",
  88540. "src": "55042:109:50",
  88541. "nodes": [],
  88542. "statements": [
  88543. {
  88544. "expression": {
  88545. "arguments": [
  88546. {
  88547. "arguments": [
  88548. {
  88549. "hexValue": "6c6f6728626f6f6c2c616464726573732c737472696e672c6164647265737329",
  88550. "id": 13689,
  88551. "isConstant": false,
  88552. "isLValue": false,
  88553. "isPure": true,
  88554. "kind": "string",
  88555. "lValueRequested": false,
  88556. "nodeType": "Literal",
  88557. "src": "55092:34:50",
  88558. "typeDescriptions": {
  88559. "typeIdentifier": "t_stringliteral_6f7c603e9035cbc7959bb3d44ec862ddc6711eecebd67d54ceb0010f42f85654",
  88560. "typeString": "literal_string \"log(bool,address,string,address)\""
  88561. },
  88562. "value": "log(bool,address,string,address)"
  88563. },
  88564. {
  88565. "id": 13690,
  88566. "name": "p0",
  88567. "nodeType": "Identifier",
  88568. "overloadedDeclarations": [],
  88569. "referencedDeclaration": 13677,
  88570. "src": "55128:2:50",
  88571. "typeDescriptions": {
  88572. "typeIdentifier": "t_bool",
  88573. "typeString": "bool"
  88574. }
  88575. },
  88576. {
  88577. "id": 13691,
  88578. "name": "p1",
  88579. "nodeType": "Identifier",
  88580. "overloadedDeclarations": [],
  88581. "referencedDeclaration": 13679,
  88582. "src": "55132:2:50",
  88583. "typeDescriptions": {
  88584. "typeIdentifier": "t_address",
  88585. "typeString": "address"
  88586. }
  88587. },
  88588. {
  88589. "id": 13692,
  88590. "name": "p2",
  88591. "nodeType": "Identifier",
  88592. "overloadedDeclarations": [],
  88593. "referencedDeclaration": 13681,
  88594. "src": "55136:2:50",
  88595. "typeDescriptions": {
  88596. "typeIdentifier": "t_string_memory_ptr",
  88597. "typeString": "string memory"
  88598. }
  88599. },
  88600. {
  88601. "id": 13693,
  88602. "name": "p3",
  88603. "nodeType": "Identifier",
  88604. "overloadedDeclarations": [],
  88605. "referencedDeclaration": 13683,
  88606. "src": "55140:2:50",
  88607. "typeDescriptions": {
  88608. "typeIdentifier": "t_address",
  88609. "typeString": "address"
  88610. }
  88611. }
  88612. ],
  88613. "expression": {
  88614. "argumentTypes": [
  88615. {
  88616. "typeIdentifier": "t_stringliteral_6f7c603e9035cbc7959bb3d44ec862ddc6711eecebd67d54ceb0010f42f85654",
  88617. "typeString": "literal_string \"log(bool,address,string,address)\""
  88618. },
  88619. {
  88620. "typeIdentifier": "t_bool",
  88621. "typeString": "bool"
  88622. },
  88623. {
  88624. "typeIdentifier": "t_address",
  88625. "typeString": "address"
  88626. },
  88627. {
  88628. "typeIdentifier": "t_string_memory_ptr",
  88629. "typeString": "string memory"
  88630. },
  88631. {
  88632. "typeIdentifier": "t_address",
  88633. "typeString": "address"
  88634. }
  88635. ],
  88636. "expression": {
  88637. "id": 13687,
  88638. "name": "abi",
  88639. "nodeType": "Identifier",
  88640. "overloadedDeclarations": [],
  88641. "referencedDeclaration": -1,
  88642. "src": "55068:3:50",
  88643. "typeDescriptions": {
  88644. "typeIdentifier": "t_magic_abi",
  88645. "typeString": "abi"
  88646. }
  88647. },
  88648. "id": 13688,
  88649. "isConstant": false,
  88650. "isLValue": false,
  88651. "isPure": true,
  88652. "lValueRequested": false,
  88653. "memberLocation": "55072:19:50",
  88654. "memberName": "encodeWithSignature",
  88655. "nodeType": "MemberAccess",
  88656. "src": "55068:23:50",
  88657. "typeDescriptions": {
  88658. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  88659. "typeString": "function (string memory) pure returns (bytes memory)"
  88660. }
  88661. },
  88662. "id": 13694,
  88663. "isConstant": false,
  88664. "isLValue": false,
  88665. "isPure": false,
  88666. "kind": "functionCall",
  88667. "lValueRequested": false,
  88668. "nameLocations": [],
  88669. "names": [],
  88670. "nodeType": "FunctionCall",
  88671. "src": "55068:75:50",
  88672. "tryCall": false,
  88673. "typeDescriptions": {
  88674. "typeIdentifier": "t_bytes_memory_ptr",
  88675. "typeString": "bytes memory"
  88676. }
  88677. }
  88678. ],
  88679. "expression": {
  88680. "argumentTypes": [
  88681. {
  88682. "typeIdentifier": "t_bytes_memory_ptr",
  88683. "typeString": "bytes memory"
  88684. }
  88685. ],
  88686. "id": 13686,
  88687. "name": "_sendLogPayload",
  88688. "nodeType": "Identifier",
  88689. "overloadedDeclarations": [],
  88690. "referencedDeclaration": 7315,
  88691. "src": "55052:15:50",
  88692. "typeDescriptions": {
  88693. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  88694. "typeString": "function (bytes memory) pure"
  88695. }
  88696. },
  88697. "id": 13695,
  88698. "isConstant": false,
  88699. "isLValue": false,
  88700. "isPure": false,
  88701. "kind": "functionCall",
  88702. "lValueRequested": false,
  88703. "nameLocations": [],
  88704. "names": [],
  88705. "nodeType": "FunctionCall",
  88706. "src": "55052:92:50",
  88707. "tryCall": false,
  88708. "typeDescriptions": {
  88709. "typeIdentifier": "t_tuple$__$",
  88710. "typeString": "tuple()"
  88711. }
  88712. },
  88713. "id": 13696,
  88714. "nodeType": "ExpressionStatement",
  88715. "src": "55052:92:50"
  88716. }
  88717. ]
  88718. },
  88719. "implemented": true,
  88720. "kind": "function",
  88721. "modifiers": [],
  88722. "name": "log",
  88723. "nameLocation": "54973:3:50",
  88724. "parameters": {
  88725. "id": 13684,
  88726. "nodeType": "ParameterList",
  88727. "parameters": [
  88728. {
  88729. "constant": false,
  88730. "id": 13677,
  88731. "mutability": "mutable",
  88732. "name": "p0",
  88733. "nameLocation": "54982:2:50",
  88734. "nodeType": "VariableDeclaration",
  88735. "scope": 13698,
  88736. "src": "54977:7:50",
  88737. "stateVariable": false,
  88738. "storageLocation": "default",
  88739. "typeDescriptions": {
  88740. "typeIdentifier": "t_bool",
  88741. "typeString": "bool"
  88742. },
  88743. "typeName": {
  88744. "id": 13676,
  88745. "name": "bool",
  88746. "nodeType": "ElementaryTypeName",
  88747. "src": "54977:4:50",
  88748. "typeDescriptions": {
  88749. "typeIdentifier": "t_bool",
  88750. "typeString": "bool"
  88751. }
  88752. },
  88753. "visibility": "internal"
  88754. },
  88755. {
  88756. "constant": false,
  88757. "id": 13679,
  88758. "mutability": "mutable",
  88759. "name": "p1",
  88760. "nameLocation": "54994:2:50",
  88761. "nodeType": "VariableDeclaration",
  88762. "scope": 13698,
  88763. "src": "54986:10:50",
  88764. "stateVariable": false,
  88765. "storageLocation": "default",
  88766. "typeDescriptions": {
  88767. "typeIdentifier": "t_address",
  88768. "typeString": "address"
  88769. },
  88770. "typeName": {
  88771. "id": 13678,
  88772. "name": "address",
  88773. "nodeType": "ElementaryTypeName",
  88774. "src": "54986:7:50",
  88775. "stateMutability": "nonpayable",
  88776. "typeDescriptions": {
  88777. "typeIdentifier": "t_address",
  88778. "typeString": "address"
  88779. }
  88780. },
  88781. "visibility": "internal"
  88782. },
  88783. {
  88784. "constant": false,
  88785. "id": 13681,
  88786. "mutability": "mutable",
  88787. "name": "p2",
  88788. "nameLocation": "55012:2:50",
  88789. "nodeType": "VariableDeclaration",
  88790. "scope": 13698,
  88791. "src": "54998:16:50",
  88792. "stateVariable": false,
  88793. "storageLocation": "memory",
  88794. "typeDescriptions": {
  88795. "typeIdentifier": "t_string_memory_ptr",
  88796. "typeString": "string"
  88797. },
  88798. "typeName": {
  88799. "id": 13680,
  88800. "name": "string",
  88801. "nodeType": "ElementaryTypeName",
  88802. "src": "54998:6:50",
  88803. "typeDescriptions": {
  88804. "typeIdentifier": "t_string_storage_ptr",
  88805. "typeString": "string"
  88806. }
  88807. },
  88808. "visibility": "internal"
  88809. },
  88810. {
  88811. "constant": false,
  88812. "id": 13683,
  88813. "mutability": "mutable",
  88814. "name": "p3",
  88815. "nameLocation": "55024:2:50",
  88816. "nodeType": "VariableDeclaration",
  88817. "scope": 13698,
  88818. "src": "55016:10:50",
  88819. "stateVariable": false,
  88820. "storageLocation": "default",
  88821. "typeDescriptions": {
  88822. "typeIdentifier": "t_address",
  88823. "typeString": "address"
  88824. },
  88825. "typeName": {
  88826. "id": 13682,
  88827. "name": "address",
  88828. "nodeType": "ElementaryTypeName",
  88829. "src": "55016:7:50",
  88830. "stateMutability": "nonpayable",
  88831. "typeDescriptions": {
  88832. "typeIdentifier": "t_address",
  88833. "typeString": "address"
  88834. }
  88835. },
  88836. "visibility": "internal"
  88837. }
  88838. ],
  88839. "src": "54976:51:50"
  88840. },
  88841. "returnParameters": {
  88842. "id": 13685,
  88843. "nodeType": "ParameterList",
  88844. "parameters": [],
  88845. "src": "55042:0:50"
  88846. },
  88847. "scope": 15355,
  88848. "stateMutability": "pure",
  88849. "virtual": false,
  88850. "visibility": "internal"
  88851. },
  88852. {
  88853. "id": 13721,
  88854. "nodeType": "FunctionDefinition",
  88855. "src": "55157:176:50",
  88856. "nodes": [],
  88857. "body": {
  88858. "id": 13720,
  88859. "nodeType": "Block",
  88860. "src": "55226:107:50",
  88861. "nodes": [],
  88862. "statements": [
  88863. {
  88864. "expression": {
  88865. "arguments": [
  88866. {
  88867. "arguments": [
  88868. {
  88869. "hexValue": "6c6f6728626f6f6c2c616464726573732c626f6f6c2c75696e7432353629",
  88870. "id": 13712,
  88871. "isConstant": false,
  88872. "isLValue": false,
  88873. "isPure": true,
  88874. "kind": "string",
  88875. "lValueRequested": false,
  88876. "nodeType": "Literal",
  88877. "src": "55276:32:50",
  88878. "typeDescriptions": {
  88879. "typeIdentifier": "t_stringliteral_07831502b96d5b050adbd4ca2f9d4cd011dd7a8d3e1266dadb6c832ee8e56059",
  88880. "typeString": "literal_string \"log(bool,address,bool,uint256)\""
  88881. },
  88882. "value": "log(bool,address,bool,uint256)"
  88883. },
  88884. {
  88885. "id": 13713,
  88886. "name": "p0",
  88887. "nodeType": "Identifier",
  88888. "overloadedDeclarations": [],
  88889. "referencedDeclaration": 13700,
  88890. "src": "55310:2:50",
  88891. "typeDescriptions": {
  88892. "typeIdentifier": "t_bool",
  88893. "typeString": "bool"
  88894. }
  88895. },
  88896. {
  88897. "id": 13714,
  88898. "name": "p1",
  88899. "nodeType": "Identifier",
  88900. "overloadedDeclarations": [],
  88901. "referencedDeclaration": 13702,
  88902. "src": "55314:2:50",
  88903. "typeDescriptions": {
  88904. "typeIdentifier": "t_address",
  88905. "typeString": "address"
  88906. }
  88907. },
  88908. {
  88909. "id": 13715,
  88910. "name": "p2",
  88911. "nodeType": "Identifier",
  88912. "overloadedDeclarations": [],
  88913. "referencedDeclaration": 13704,
  88914. "src": "55318:2:50",
  88915. "typeDescriptions": {
  88916. "typeIdentifier": "t_bool",
  88917. "typeString": "bool"
  88918. }
  88919. },
  88920. {
  88921. "id": 13716,
  88922. "name": "p3",
  88923. "nodeType": "Identifier",
  88924. "overloadedDeclarations": [],
  88925. "referencedDeclaration": 13706,
  88926. "src": "55322:2:50",
  88927. "typeDescriptions": {
  88928. "typeIdentifier": "t_uint256",
  88929. "typeString": "uint256"
  88930. }
  88931. }
  88932. ],
  88933. "expression": {
  88934. "argumentTypes": [
  88935. {
  88936. "typeIdentifier": "t_stringliteral_07831502b96d5b050adbd4ca2f9d4cd011dd7a8d3e1266dadb6c832ee8e56059",
  88937. "typeString": "literal_string \"log(bool,address,bool,uint256)\""
  88938. },
  88939. {
  88940. "typeIdentifier": "t_bool",
  88941. "typeString": "bool"
  88942. },
  88943. {
  88944. "typeIdentifier": "t_address",
  88945. "typeString": "address"
  88946. },
  88947. {
  88948. "typeIdentifier": "t_bool",
  88949. "typeString": "bool"
  88950. },
  88951. {
  88952. "typeIdentifier": "t_uint256",
  88953. "typeString": "uint256"
  88954. }
  88955. ],
  88956. "expression": {
  88957. "id": 13710,
  88958. "name": "abi",
  88959. "nodeType": "Identifier",
  88960. "overloadedDeclarations": [],
  88961. "referencedDeclaration": -1,
  88962. "src": "55252:3:50",
  88963. "typeDescriptions": {
  88964. "typeIdentifier": "t_magic_abi",
  88965. "typeString": "abi"
  88966. }
  88967. },
  88968. "id": 13711,
  88969. "isConstant": false,
  88970. "isLValue": false,
  88971. "isPure": true,
  88972. "lValueRequested": false,
  88973. "memberLocation": "55256:19:50",
  88974. "memberName": "encodeWithSignature",
  88975. "nodeType": "MemberAccess",
  88976. "src": "55252:23:50",
  88977. "typeDescriptions": {
  88978. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  88979. "typeString": "function (string memory) pure returns (bytes memory)"
  88980. }
  88981. },
  88982. "id": 13717,
  88983. "isConstant": false,
  88984. "isLValue": false,
  88985. "isPure": false,
  88986. "kind": "functionCall",
  88987. "lValueRequested": false,
  88988. "nameLocations": [],
  88989. "names": [],
  88990. "nodeType": "FunctionCall",
  88991. "src": "55252:73:50",
  88992. "tryCall": false,
  88993. "typeDescriptions": {
  88994. "typeIdentifier": "t_bytes_memory_ptr",
  88995. "typeString": "bytes memory"
  88996. }
  88997. }
  88998. ],
  88999. "expression": {
  89000. "argumentTypes": [
  89001. {
  89002. "typeIdentifier": "t_bytes_memory_ptr",
  89003. "typeString": "bytes memory"
  89004. }
  89005. ],
  89006. "id": 13709,
  89007. "name": "_sendLogPayload",
  89008. "nodeType": "Identifier",
  89009. "overloadedDeclarations": [],
  89010. "referencedDeclaration": 7315,
  89011. "src": "55236:15:50",
  89012. "typeDescriptions": {
  89013. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  89014. "typeString": "function (bytes memory) pure"
  89015. }
  89016. },
  89017. "id": 13718,
  89018. "isConstant": false,
  89019. "isLValue": false,
  89020. "isPure": false,
  89021. "kind": "functionCall",
  89022. "lValueRequested": false,
  89023. "nameLocations": [],
  89024. "names": [],
  89025. "nodeType": "FunctionCall",
  89026. "src": "55236:90:50",
  89027. "tryCall": false,
  89028. "typeDescriptions": {
  89029. "typeIdentifier": "t_tuple$__$",
  89030. "typeString": "tuple()"
  89031. }
  89032. },
  89033. "id": 13719,
  89034. "nodeType": "ExpressionStatement",
  89035. "src": "55236:90:50"
  89036. }
  89037. ]
  89038. },
  89039. "implemented": true,
  89040. "kind": "function",
  89041. "modifiers": [],
  89042. "name": "log",
  89043. "nameLocation": "55166:3:50",
  89044. "parameters": {
  89045. "id": 13707,
  89046. "nodeType": "ParameterList",
  89047. "parameters": [
  89048. {
  89049. "constant": false,
  89050. "id": 13700,
  89051. "mutability": "mutable",
  89052. "name": "p0",
  89053. "nameLocation": "55175:2:50",
  89054. "nodeType": "VariableDeclaration",
  89055. "scope": 13721,
  89056. "src": "55170:7:50",
  89057. "stateVariable": false,
  89058. "storageLocation": "default",
  89059. "typeDescriptions": {
  89060. "typeIdentifier": "t_bool",
  89061. "typeString": "bool"
  89062. },
  89063. "typeName": {
  89064. "id": 13699,
  89065. "name": "bool",
  89066. "nodeType": "ElementaryTypeName",
  89067. "src": "55170:4:50",
  89068. "typeDescriptions": {
  89069. "typeIdentifier": "t_bool",
  89070. "typeString": "bool"
  89071. }
  89072. },
  89073. "visibility": "internal"
  89074. },
  89075. {
  89076. "constant": false,
  89077. "id": 13702,
  89078. "mutability": "mutable",
  89079. "name": "p1",
  89080. "nameLocation": "55187:2:50",
  89081. "nodeType": "VariableDeclaration",
  89082. "scope": 13721,
  89083. "src": "55179:10:50",
  89084. "stateVariable": false,
  89085. "storageLocation": "default",
  89086. "typeDescriptions": {
  89087. "typeIdentifier": "t_address",
  89088. "typeString": "address"
  89089. },
  89090. "typeName": {
  89091. "id": 13701,
  89092. "name": "address",
  89093. "nodeType": "ElementaryTypeName",
  89094. "src": "55179:7:50",
  89095. "stateMutability": "nonpayable",
  89096. "typeDescriptions": {
  89097. "typeIdentifier": "t_address",
  89098. "typeString": "address"
  89099. }
  89100. },
  89101. "visibility": "internal"
  89102. },
  89103. {
  89104. "constant": false,
  89105. "id": 13704,
  89106. "mutability": "mutable",
  89107. "name": "p2",
  89108. "nameLocation": "55196:2:50",
  89109. "nodeType": "VariableDeclaration",
  89110. "scope": 13721,
  89111. "src": "55191:7:50",
  89112. "stateVariable": false,
  89113. "storageLocation": "default",
  89114. "typeDescriptions": {
  89115. "typeIdentifier": "t_bool",
  89116. "typeString": "bool"
  89117. },
  89118. "typeName": {
  89119. "id": 13703,
  89120. "name": "bool",
  89121. "nodeType": "ElementaryTypeName",
  89122. "src": "55191:4:50",
  89123. "typeDescriptions": {
  89124. "typeIdentifier": "t_bool",
  89125. "typeString": "bool"
  89126. }
  89127. },
  89128. "visibility": "internal"
  89129. },
  89130. {
  89131. "constant": false,
  89132. "id": 13706,
  89133. "mutability": "mutable",
  89134. "name": "p3",
  89135. "nameLocation": "55208:2:50",
  89136. "nodeType": "VariableDeclaration",
  89137. "scope": 13721,
  89138. "src": "55200:10:50",
  89139. "stateVariable": false,
  89140. "storageLocation": "default",
  89141. "typeDescriptions": {
  89142. "typeIdentifier": "t_uint256",
  89143. "typeString": "uint256"
  89144. },
  89145. "typeName": {
  89146. "id": 13705,
  89147. "name": "uint256",
  89148. "nodeType": "ElementaryTypeName",
  89149. "src": "55200:7:50",
  89150. "typeDescriptions": {
  89151. "typeIdentifier": "t_uint256",
  89152. "typeString": "uint256"
  89153. }
  89154. },
  89155. "visibility": "internal"
  89156. }
  89157. ],
  89158. "src": "55169:42:50"
  89159. },
  89160. "returnParameters": {
  89161. "id": 13708,
  89162. "nodeType": "ParameterList",
  89163. "parameters": [],
  89164. "src": "55226:0:50"
  89165. },
  89166. "scope": 15355,
  89167. "stateMutability": "pure",
  89168. "virtual": false,
  89169. "visibility": "internal"
  89170. },
  89171. {
  89172. "id": 13744,
  89173. "nodeType": "FunctionDefinition",
  89174. "src": "55339:181:50",
  89175. "nodes": [],
  89176. "body": {
  89177. "id": 13743,
  89178. "nodeType": "Block",
  89179. "src": "55414:106:50",
  89180. "nodes": [],
  89181. "statements": [
  89182. {
  89183. "expression": {
  89184. "arguments": [
  89185. {
  89186. "arguments": [
  89187. {
  89188. "hexValue": "6c6f6728626f6f6c2c616464726573732c626f6f6c2c737472696e6729",
  89189. "id": 13735,
  89190. "isConstant": false,
  89191. "isLValue": false,
  89192. "isPure": true,
  89193. "kind": "string",
  89194. "lValueRequested": false,
  89195. "nodeType": "Literal",
  89196. "src": "55464:31:50",
  89197. "typeDescriptions": {
  89198. "typeIdentifier": "t_stringliteral_4a66cb34796065525d301a5b87b440b55f1936e34dd66e2f2039307bc4e3ea59",
  89199. "typeString": "literal_string \"log(bool,address,bool,string)\""
  89200. },
  89201. "value": "log(bool,address,bool,string)"
  89202. },
  89203. {
  89204. "id": 13736,
  89205. "name": "p0",
  89206. "nodeType": "Identifier",
  89207. "overloadedDeclarations": [],
  89208. "referencedDeclaration": 13723,
  89209. "src": "55497:2:50",
  89210. "typeDescriptions": {
  89211. "typeIdentifier": "t_bool",
  89212. "typeString": "bool"
  89213. }
  89214. },
  89215. {
  89216. "id": 13737,
  89217. "name": "p1",
  89218. "nodeType": "Identifier",
  89219. "overloadedDeclarations": [],
  89220. "referencedDeclaration": 13725,
  89221. "src": "55501:2:50",
  89222. "typeDescriptions": {
  89223. "typeIdentifier": "t_address",
  89224. "typeString": "address"
  89225. }
  89226. },
  89227. {
  89228. "id": 13738,
  89229. "name": "p2",
  89230. "nodeType": "Identifier",
  89231. "overloadedDeclarations": [],
  89232. "referencedDeclaration": 13727,
  89233. "src": "55505:2:50",
  89234. "typeDescriptions": {
  89235. "typeIdentifier": "t_bool",
  89236. "typeString": "bool"
  89237. }
  89238. },
  89239. {
  89240. "id": 13739,
  89241. "name": "p3",
  89242. "nodeType": "Identifier",
  89243. "overloadedDeclarations": [],
  89244. "referencedDeclaration": 13729,
  89245. "src": "55509:2:50",
  89246. "typeDescriptions": {
  89247. "typeIdentifier": "t_string_memory_ptr",
  89248. "typeString": "string memory"
  89249. }
  89250. }
  89251. ],
  89252. "expression": {
  89253. "argumentTypes": [
  89254. {
  89255. "typeIdentifier": "t_stringliteral_4a66cb34796065525d301a5b87b440b55f1936e34dd66e2f2039307bc4e3ea59",
  89256. "typeString": "literal_string \"log(bool,address,bool,string)\""
  89257. },
  89258. {
  89259. "typeIdentifier": "t_bool",
  89260. "typeString": "bool"
  89261. },
  89262. {
  89263. "typeIdentifier": "t_address",
  89264. "typeString": "address"
  89265. },
  89266. {
  89267. "typeIdentifier": "t_bool",
  89268. "typeString": "bool"
  89269. },
  89270. {
  89271. "typeIdentifier": "t_string_memory_ptr",
  89272. "typeString": "string memory"
  89273. }
  89274. ],
  89275. "expression": {
  89276. "id": 13733,
  89277. "name": "abi",
  89278. "nodeType": "Identifier",
  89279. "overloadedDeclarations": [],
  89280. "referencedDeclaration": -1,
  89281. "src": "55440:3:50",
  89282. "typeDescriptions": {
  89283. "typeIdentifier": "t_magic_abi",
  89284. "typeString": "abi"
  89285. }
  89286. },
  89287. "id": 13734,
  89288. "isConstant": false,
  89289. "isLValue": false,
  89290. "isPure": true,
  89291. "lValueRequested": false,
  89292. "memberLocation": "55444:19:50",
  89293. "memberName": "encodeWithSignature",
  89294. "nodeType": "MemberAccess",
  89295. "src": "55440:23:50",
  89296. "typeDescriptions": {
  89297. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  89298. "typeString": "function (string memory) pure returns (bytes memory)"
  89299. }
  89300. },
  89301. "id": 13740,
  89302. "isConstant": false,
  89303. "isLValue": false,
  89304. "isPure": false,
  89305. "kind": "functionCall",
  89306. "lValueRequested": false,
  89307. "nameLocations": [],
  89308. "names": [],
  89309. "nodeType": "FunctionCall",
  89310. "src": "55440:72:50",
  89311. "tryCall": false,
  89312. "typeDescriptions": {
  89313. "typeIdentifier": "t_bytes_memory_ptr",
  89314. "typeString": "bytes memory"
  89315. }
  89316. }
  89317. ],
  89318. "expression": {
  89319. "argumentTypes": [
  89320. {
  89321. "typeIdentifier": "t_bytes_memory_ptr",
  89322. "typeString": "bytes memory"
  89323. }
  89324. ],
  89325. "id": 13732,
  89326. "name": "_sendLogPayload",
  89327. "nodeType": "Identifier",
  89328. "overloadedDeclarations": [],
  89329. "referencedDeclaration": 7315,
  89330. "src": "55424:15:50",
  89331. "typeDescriptions": {
  89332. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  89333. "typeString": "function (bytes memory) pure"
  89334. }
  89335. },
  89336. "id": 13741,
  89337. "isConstant": false,
  89338. "isLValue": false,
  89339. "isPure": false,
  89340. "kind": "functionCall",
  89341. "lValueRequested": false,
  89342. "nameLocations": [],
  89343. "names": [],
  89344. "nodeType": "FunctionCall",
  89345. "src": "55424:89:50",
  89346. "tryCall": false,
  89347. "typeDescriptions": {
  89348. "typeIdentifier": "t_tuple$__$",
  89349. "typeString": "tuple()"
  89350. }
  89351. },
  89352. "id": 13742,
  89353. "nodeType": "ExpressionStatement",
  89354. "src": "55424:89:50"
  89355. }
  89356. ]
  89357. },
  89358. "implemented": true,
  89359. "kind": "function",
  89360. "modifiers": [],
  89361. "name": "log",
  89362. "nameLocation": "55348:3:50",
  89363. "parameters": {
  89364. "id": 13730,
  89365. "nodeType": "ParameterList",
  89366. "parameters": [
  89367. {
  89368. "constant": false,
  89369. "id": 13723,
  89370. "mutability": "mutable",
  89371. "name": "p0",
  89372. "nameLocation": "55357:2:50",
  89373. "nodeType": "VariableDeclaration",
  89374. "scope": 13744,
  89375. "src": "55352:7:50",
  89376. "stateVariable": false,
  89377. "storageLocation": "default",
  89378. "typeDescriptions": {
  89379. "typeIdentifier": "t_bool",
  89380. "typeString": "bool"
  89381. },
  89382. "typeName": {
  89383. "id": 13722,
  89384. "name": "bool",
  89385. "nodeType": "ElementaryTypeName",
  89386. "src": "55352:4:50",
  89387. "typeDescriptions": {
  89388. "typeIdentifier": "t_bool",
  89389. "typeString": "bool"
  89390. }
  89391. },
  89392. "visibility": "internal"
  89393. },
  89394. {
  89395. "constant": false,
  89396. "id": 13725,
  89397. "mutability": "mutable",
  89398. "name": "p1",
  89399. "nameLocation": "55369:2:50",
  89400. "nodeType": "VariableDeclaration",
  89401. "scope": 13744,
  89402. "src": "55361:10:50",
  89403. "stateVariable": false,
  89404. "storageLocation": "default",
  89405. "typeDescriptions": {
  89406. "typeIdentifier": "t_address",
  89407. "typeString": "address"
  89408. },
  89409. "typeName": {
  89410. "id": 13724,
  89411. "name": "address",
  89412. "nodeType": "ElementaryTypeName",
  89413. "src": "55361:7:50",
  89414. "stateMutability": "nonpayable",
  89415. "typeDescriptions": {
  89416. "typeIdentifier": "t_address",
  89417. "typeString": "address"
  89418. }
  89419. },
  89420. "visibility": "internal"
  89421. },
  89422. {
  89423. "constant": false,
  89424. "id": 13727,
  89425. "mutability": "mutable",
  89426. "name": "p2",
  89427. "nameLocation": "55378:2:50",
  89428. "nodeType": "VariableDeclaration",
  89429. "scope": 13744,
  89430. "src": "55373:7:50",
  89431. "stateVariable": false,
  89432. "storageLocation": "default",
  89433. "typeDescriptions": {
  89434. "typeIdentifier": "t_bool",
  89435. "typeString": "bool"
  89436. },
  89437. "typeName": {
  89438. "id": 13726,
  89439. "name": "bool",
  89440. "nodeType": "ElementaryTypeName",
  89441. "src": "55373:4:50",
  89442. "typeDescriptions": {
  89443. "typeIdentifier": "t_bool",
  89444. "typeString": "bool"
  89445. }
  89446. },
  89447. "visibility": "internal"
  89448. },
  89449. {
  89450. "constant": false,
  89451. "id": 13729,
  89452. "mutability": "mutable",
  89453. "name": "p3",
  89454. "nameLocation": "55396:2:50",
  89455. "nodeType": "VariableDeclaration",
  89456. "scope": 13744,
  89457. "src": "55382:16:50",
  89458. "stateVariable": false,
  89459. "storageLocation": "memory",
  89460. "typeDescriptions": {
  89461. "typeIdentifier": "t_string_memory_ptr",
  89462. "typeString": "string"
  89463. },
  89464. "typeName": {
  89465. "id": 13728,
  89466. "name": "string",
  89467. "nodeType": "ElementaryTypeName",
  89468. "src": "55382:6:50",
  89469. "typeDescriptions": {
  89470. "typeIdentifier": "t_string_storage_ptr",
  89471. "typeString": "string"
  89472. }
  89473. },
  89474. "visibility": "internal"
  89475. }
  89476. ],
  89477. "src": "55351:48:50"
  89478. },
  89479. "returnParameters": {
  89480. "id": 13731,
  89481. "nodeType": "ParameterList",
  89482. "parameters": [],
  89483. "src": "55414:0:50"
  89484. },
  89485. "scope": 15355,
  89486. "stateMutability": "pure",
  89487. "virtual": false,
  89488. "visibility": "internal"
  89489. },
  89490. {
  89491. "id": 13767,
  89492. "nodeType": "FunctionDefinition",
  89493. "src": "55526:170:50",
  89494. "nodes": [],
  89495. "body": {
  89496. "id": 13766,
  89497. "nodeType": "Block",
  89498. "src": "55592:104:50",
  89499. "nodes": [],
  89500. "statements": [
  89501. {
  89502. "expression": {
  89503. "arguments": [
  89504. {
  89505. "arguments": [
  89506. {
  89507. "hexValue": "6c6f6728626f6f6c2c616464726573732c626f6f6c2c626f6f6c29",
  89508. "id": 13758,
  89509. "isConstant": false,
  89510. "isLValue": false,
  89511. "isPure": true,
  89512. "kind": "string",
  89513. "lValueRequested": false,
  89514. "nodeType": "Literal",
  89515. "src": "55642:29:50",
  89516. "typeDescriptions": {
  89517. "typeIdentifier": "t_stringliteral_6a9c478bc98300d44308882e2e0b5864f2536a2939cb77105f503738b5832577",
  89518. "typeString": "literal_string \"log(bool,address,bool,bool)\""
  89519. },
  89520. "value": "log(bool,address,bool,bool)"
  89521. },
  89522. {
  89523. "id": 13759,
  89524. "name": "p0",
  89525. "nodeType": "Identifier",
  89526. "overloadedDeclarations": [],
  89527. "referencedDeclaration": 13746,
  89528. "src": "55673:2:50",
  89529. "typeDescriptions": {
  89530. "typeIdentifier": "t_bool",
  89531. "typeString": "bool"
  89532. }
  89533. },
  89534. {
  89535. "id": 13760,
  89536. "name": "p1",
  89537. "nodeType": "Identifier",
  89538. "overloadedDeclarations": [],
  89539. "referencedDeclaration": 13748,
  89540. "src": "55677:2:50",
  89541. "typeDescriptions": {
  89542. "typeIdentifier": "t_address",
  89543. "typeString": "address"
  89544. }
  89545. },
  89546. {
  89547. "id": 13761,
  89548. "name": "p2",
  89549. "nodeType": "Identifier",
  89550. "overloadedDeclarations": [],
  89551. "referencedDeclaration": 13750,
  89552. "src": "55681:2:50",
  89553. "typeDescriptions": {
  89554. "typeIdentifier": "t_bool",
  89555. "typeString": "bool"
  89556. }
  89557. },
  89558. {
  89559. "id": 13762,
  89560. "name": "p3",
  89561. "nodeType": "Identifier",
  89562. "overloadedDeclarations": [],
  89563. "referencedDeclaration": 13752,
  89564. "src": "55685:2:50",
  89565. "typeDescriptions": {
  89566. "typeIdentifier": "t_bool",
  89567. "typeString": "bool"
  89568. }
  89569. }
  89570. ],
  89571. "expression": {
  89572. "argumentTypes": [
  89573. {
  89574. "typeIdentifier": "t_stringliteral_6a9c478bc98300d44308882e2e0b5864f2536a2939cb77105f503738b5832577",
  89575. "typeString": "literal_string \"log(bool,address,bool,bool)\""
  89576. },
  89577. {
  89578. "typeIdentifier": "t_bool",
  89579. "typeString": "bool"
  89580. },
  89581. {
  89582. "typeIdentifier": "t_address",
  89583. "typeString": "address"
  89584. },
  89585. {
  89586. "typeIdentifier": "t_bool",
  89587. "typeString": "bool"
  89588. },
  89589. {
  89590. "typeIdentifier": "t_bool",
  89591. "typeString": "bool"
  89592. }
  89593. ],
  89594. "expression": {
  89595. "id": 13756,
  89596. "name": "abi",
  89597. "nodeType": "Identifier",
  89598. "overloadedDeclarations": [],
  89599. "referencedDeclaration": -1,
  89600. "src": "55618:3:50",
  89601. "typeDescriptions": {
  89602. "typeIdentifier": "t_magic_abi",
  89603. "typeString": "abi"
  89604. }
  89605. },
  89606. "id": 13757,
  89607. "isConstant": false,
  89608. "isLValue": false,
  89609. "isPure": true,
  89610. "lValueRequested": false,
  89611. "memberLocation": "55622:19:50",
  89612. "memberName": "encodeWithSignature",
  89613. "nodeType": "MemberAccess",
  89614. "src": "55618:23:50",
  89615. "typeDescriptions": {
  89616. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  89617. "typeString": "function (string memory) pure returns (bytes memory)"
  89618. }
  89619. },
  89620. "id": 13763,
  89621. "isConstant": false,
  89622. "isLValue": false,
  89623. "isPure": false,
  89624. "kind": "functionCall",
  89625. "lValueRequested": false,
  89626. "nameLocations": [],
  89627. "names": [],
  89628. "nodeType": "FunctionCall",
  89629. "src": "55618:70:50",
  89630. "tryCall": false,
  89631. "typeDescriptions": {
  89632. "typeIdentifier": "t_bytes_memory_ptr",
  89633. "typeString": "bytes memory"
  89634. }
  89635. }
  89636. ],
  89637. "expression": {
  89638. "argumentTypes": [
  89639. {
  89640. "typeIdentifier": "t_bytes_memory_ptr",
  89641. "typeString": "bytes memory"
  89642. }
  89643. ],
  89644. "id": 13755,
  89645. "name": "_sendLogPayload",
  89646. "nodeType": "Identifier",
  89647. "overloadedDeclarations": [],
  89648. "referencedDeclaration": 7315,
  89649. "src": "55602:15:50",
  89650. "typeDescriptions": {
  89651. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  89652. "typeString": "function (bytes memory) pure"
  89653. }
  89654. },
  89655. "id": 13764,
  89656. "isConstant": false,
  89657. "isLValue": false,
  89658. "isPure": false,
  89659. "kind": "functionCall",
  89660. "lValueRequested": false,
  89661. "nameLocations": [],
  89662. "names": [],
  89663. "nodeType": "FunctionCall",
  89664. "src": "55602:87:50",
  89665. "tryCall": false,
  89666. "typeDescriptions": {
  89667. "typeIdentifier": "t_tuple$__$",
  89668. "typeString": "tuple()"
  89669. }
  89670. },
  89671. "id": 13765,
  89672. "nodeType": "ExpressionStatement",
  89673. "src": "55602:87:50"
  89674. }
  89675. ]
  89676. },
  89677. "implemented": true,
  89678. "kind": "function",
  89679. "modifiers": [],
  89680. "name": "log",
  89681. "nameLocation": "55535:3:50",
  89682. "parameters": {
  89683. "id": 13753,
  89684. "nodeType": "ParameterList",
  89685. "parameters": [
  89686. {
  89687. "constant": false,
  89688. "id": 13746,
  89689. "mutability": "mutable",
  89690. "name": "p0",
  89691. "nameLocation": "55544:2:50",
  89692. "nodeType": "VariableDeclaration",
  89693. "scope": 13767,
  89694. "src": "55539:7:50",
  89695. "stateVariable": false,
  89696. "storageLocation": "default",
  89697. "typeDescriptions": {
  89698. "typeIdentifier": "t_bool",
  89699. "typeString": "bool"
  89700. },
  89701. "typeName": {
  89702. "id": 13745,
  89703. "name": "bool",
  89704. "nodeType": "ElementaryTypeName",
  89705. "src": "55539:4:50",
  89706. "typeDescriptions": {
  89707. "typeIdentifier": "t_bool",
  89708. "typeString": "bool"
  89709. }
  89710. },
  89711. "visibility": "internal"
  89712. },
  89713. {
  89714. "constant": false,
  89715. "id": 13748,
  89716. "mutability": "mutable",
  89717. "name": "p1",
  89718. "nameLocation": "55556:2:50",
  89719. "nodeType": "VariableDeclaration",
  89720. "scope": 13767,
  89721. "src": "55548:10:50",
  89722. "stateVariable": false,
  89723. "storageLocation": "default",
  89724. "typeDescriptions": {
  89725. "typeIdentifier": "t_address",
  89726. "typeString": "address"
  89727. },
  89728. "typeName": {
  89729. "id": 13747,
  89730. "name": "address",
  89731. "nodeType": "ElementaryTypeName",
  89732. "src": "55548:7:50",
  89733. "stateMutability": "nonpayable",
  89734. "typeDescriptions": {
  89735. "typeIdentifier": "t_address",
  89736. "typeString": "address"
  89737. }
  89738. },
  89739. "visibility": "internal"
  89740. },
  89741. {
  89742. "constant": false,
  89743. "id": 13750,
  89744. "mutability": "mutable",
  89745. "name": "p2",
  89746. "nameLocation": "55565:2:50",
  89747. "nodeType": "VariableDeclaration",
  89748. "scope": 13767,
  89749. "src": "55560:7:50",
  89750. "stateVariable": false,
  89751. "storageLocation": "default",
  89752. "typeDescriptions": {
  89753. "typeIdentifier": "t_bool",
  89754. "typeString": "bool"
  89755. },
  89756. "typeName": {
  89757. "id": 13749,
  89758. "name": "bool",
  89759. "nodeType": "ElementaryTypeName",
  89760. "src": "55560:4:50",
  89761. "typeDescriptions": {
  89762. "typeIdentifier": "t_bool",
  89763. "typeString": "bool"
  89764. }
  89765. },
  89766. "visibility": "internal"
  89767. },
  89768. {
  89769. "constant": false,
  89770. "id": 13752,
  89771. "mutability": "mutable",
  89772. "name": "p3",
  89773. "nameLocation": "55574:2:50",
  89774. "nodeType": "VariableDeclaration",
  89775. "scope": 13767,
  89776. "src": "55569:7:50",
  89777. "stateVariable": false,
  89778. "storageLocation": "default",
  89779. "typeDescriptions": {
  89780. "typeIdentifier": "t_bool",
  89781. "typeString": "bool"
  89782. },
  89783. "typeName": {
  89784. "id": 13751,
  89785. "name": "bool",
  89786. "nodeType": "ElementaryTypeName",
  89787. "src": "55569:4:50",
  89788. "typeDescriptions": {
  89789. "typeIdentifier": "t_bool",
  89790. "typeString": "bool"
  89791. }
  89792. },
  89793. "visibility": "internal"
  89794. }
  89795. ],
  89796. "src": "55538:39:50"
  89797. },
  89798. "returnParameters": {
  89799. "id": 13754,
  89800. "nodeType": "ParameterList",
  89801. "parameters": [],
  89802. "src": "55592:0:50"
  89803. },
  89804. "scope": 15355,
  89805. "stateMutability": "pure",
  89806. "virtual": false,
  89807. "visibility": "internal"
  89808. },
  89809. {
  89810. "id": 13790,
  89811. "nodeType": "FunctionDefinition",
  89812. "src": "55702:176:50",
  89813. "nodes": [],
  89814. "body": {
  89815. "id": 13789,
  89816. "nodeType": "Block",
  89817. "src": "55771:107:50",
  89818. "nodes": [],
  89819. "statements": [
  89820. {
  89821. "expression": {
  89822. "arguments": [
  89823. {
  89824. "arguments": [
  89825. {
  89826. "hexValue": "6c6f6728626f6f6c2c616464726573732c626f6f6c2c6164647265737329",
  89827. "id": 13781,
  89828. "isConstant": false,
  89829. "isLValue": false,
  89830. "isPure": true,
  89831. "kind": "string",
  89832. "lValueRequested": false,
  89833. "nodeType": "Literal",
  89834. "src": "55821:32:50",
  89835. "typeDescriptions": {
  89836. "typeIdentifier": "t_stringliteral_1c41a336759f1c2fe1d8b137296b2dfbdcfe7114fc53f203852c2835c09f8870",
  89837. "typeString": "literal_string \"log(bool,address,bool,address)\""
  89838. },
  89839. "value": "log(bool,address,bool,address)"
  89840. },
  89841. {
  89842. "id": 13782,
  89843. "name": "p0",
  89844. "nodeType": "Identifier",
  89845. "overloadedDeclarations": [],
  89846. "referencedDeclaration": 13769,
  89847. "src": "55855:2:50",
  89848. "typeDescriptions": {
  89849. "typeIdentifier": "t_bool",
  89850. "typeString": "bool"
  89851. }
  89852. },
  89853. {
  89854. "id": 13783,
  89855. "name": "p1",
  89856. "nodeType": "Identifier",
  89857. "overloadedDeclarations": [],
  89858. "referencedDeclaration": 13771,
  89859. "src": "55859:2:50",
  89860. "typeDescriptions": {
  89861. "typeIdentifier": "t_address",
  89862. "typeString": "address"
  89863. }
  89864. },
  89865. {
  89866. "id": 13784,
  89867. "name": "p2",
  89868. "nodeType": "Identifier",
  89869. "overloadedDeclarations": [],
  89870. "referencedDeclaration": 13773,
  89871. "src": "55863:2:50",
  89872. "typeDescriptions": {
  89873. "typeIdentifier": "t_bool",
  89874. "typeString": "bool"
  89875. }
  89876. },
  89877. {
  89878. "id": 13785,
  89879. "name": "p3",
  89880. "nodeType": "Identifier",
  89881. "overloadedDeclarations": [],
  89882. "referencedDeclaration": 13775,
  89883. "src": "55867:2:50",
  89884. "typeDescriptions": {
  89885. "typeIdentifier": "t_address",
  89886. "typeString": "address"
  89887. }
  89888. }
  89889. ],
  89890. "expression": {
  89891. "argumentTypes": [
  89892. {
  89893. "typeIdentifier": "t_stringliteral_1c41a336759f1c2fe1d8b137296b2dfbdcfe7114fc53f203852c2835c09f8870",
  89894. "typeString": "literal_string \"log(bool,address,bool,address)\""
  89895. },
  89896. {
  89897. "typeIdentifier": "t_bool",
  89898. "typeString": "bool"
  89899. },
  89900. {
  89901. "typeIdentifier": "t_address",
  89902. "typeString": "address"
  89903. },
  89904. {
  89905. "typeIdentifier": "t_bool",
  89906. "typeString": "bool"
  89907. },
  89908. {
  89909. "typeIdentifier": "t_address",
  89910. "typeString": "address"
  89911. }
  89912. ],
  89913. "expression": {
  89914. "id": 13779,
  89915. "name": "abi",
  89916. "nodeType": "Identifier",
  89917. "overloadedDeclarations": [],
  89918. "referencedDeclaration": -1,
  89919. "src": "55797:3:50",
  89920. "typeDescriptions": {
  89921. "typeIdentifier": "t_magic_abi",
  89922. "typeString": "abi"
  89923. }
  89924. },
  89925. "id": 13780,
  89926. "isConstant": false,
  89927. "isLValue": false,
  89928. "isPure": true,
  89929. "lValueRequested": false,
  89930. "memberLocation": "55801:19:50",
  89931. "memberName": "encodeWithSignature",
  89932. "nodeType": "MemberAccess",
  89933. "src": "55797:23:50",
  89934. "typeDescriptions": {
  89935. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  89936. "typeString": "function (string memory) pure returns (bytes memory)"
  89937. }
  89938. },
  89939. "id": 13786,
  89940. "isConstant": false,
  89941. "isLValue": false,
  89942. "isPure": false,
  89943. "kind": "functionCall",
  89944. "lValueRequested": false,
  89945. "nameLocations": [],
  89946. "names": [],
  89947. "nodeType": "FunctionCall",
  89948. "src": "55797:73:50",
  89949. "tryCall": false,
  89950. "typeDescriptions": {
  89951. "typeIdentifier": "t_bytes_memory_ptr",
  89952. "typeString": "bytes memory"
  89953. }
  89954. }
  89955. ],
  89956. "expression": {
  89957. "argumentTypes": [
  89958. {
  89959. "typeIdentifier": "t_bytes_memory_ptr",
  89960. "typeString": "bytes memory"
  89961. }
  89962. ],
  89963. "id": 13778,
  89964. "name": "_sendLogPayload",
  89965. "nodeType": "Identifier",
  89966. "overloadedDeclarations": [],
  89967. "referencedDeclaration": 7315,
  89968. "src": "55781:15:50",
  89969. "typeDescriptions": {
  89970. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  89971. "typeString": "function (bytes memory) pure"
  89972. }
  89973. },
  89974. "id": 13787,
  89975. "isConstant": false,
  89976. "isLValue": false,
  89977. "isPure": false,
  89978. "kind": "functionCall",
  89979. "lValueRequested": false,
  89980. "nameLocations": [],
  89981. "names": [],
  89982. "nodeType": "FunctionCall",
  89983. "src": "55781:90:50",
  89984. "tryCall": false,
  89985. "typeDescriptions": {
  89986. "typeIdentifier": "t_tuple$__$",
  89987. "typeString": "tuple()"
  89988. }
  89989. },
  89990. "id": 13788,
  89991. "nodeType": "ExpressionStatement",
  89992. "src": "55781:90:50"
  89993. }
  89994. ]
  89995. },
  89996. "implemented": true,
  89997. "kind": "function",
  89998. "modifiers": [],
  89999. "name": "log",
  90000. "nameLocation": "55711:3:50",
  90001. "parameters": {
  90002. "id": 13776,
  90003. "nodeType": "ParameterList",
  90004. "parameters": [
  90005. {
  90006. "constant": false,
  90007. "id": 13769,
  90008. "mutability": "mutable",
  90009. "name": "p0",
  90010. "nameLocation": "55720:2:50",
  90011. "nodeType": "VariableDeclaration",
  90012. "scope": 13790,
  90013. "src": "55715:7:50",
  90014. "stateVariable": false,
  90015. "storageLocation": "default",
  90016. "typeDescriptions": {
  90017. "typeIdentifier": "t_bool",
  90018. "typeString": "bool"
  90019. },
  90020. "typeName": {
  90021. "id": 13768,
  90022. "name": "bool",
  90023. "nodeType": "ElementaryTypeName",
  90024. "src": "55715:4:50",
  90025. "typeDescriptions": {
  90026. "typeIdentifier": "t_bool",
  90027. "typeString": "bool"
  90028. }
  90029. },
  90030. "visibility": "internal"
  90031. },
  90032. {
  90033. "constant": false,
  90034. "id": 13771,
  90035. "mutability": "mutable",
  90036. "name": "p1",
  90037. "nameLocation": "55732:2:50",
  90038. "nodeType": "VariableDeclaration",
  90039. "scope": 13790,
  90040. "src": "55724:10:50",
  90041. "stateVariable": false,
  90042. "storageLocation": "default",
  90043. "typeDescriptions": {
  90044. "typeIdentifier": "t_address",
  90045. "typeString": "address"
  90046. },
  90047. "typeName": {
  90048. "id": 13770,
  90049. "name": "address",
  90050. "nodeType": "ElementaryTypeName",
  90051. "src": "55724:7:50",
  90052. "stateMutability": "nonpayable",
  90053. "typeDescriptions": {
  90054. "typeIdentifier": "t_address",
  90055. "typeString": "address"
  90056. }
  90057. },
  90058. "visibility": "internal"
  90059. },
  90060. {
  90061. "constant": false,
  90062. "id": 13773,
  90063. "mutability": "mutable",
  90064. "name": "p2",
  90065. "nameLocation": "55741:2:50",
  90066. "nodeType": "VariableDeclaration",
  90067. "scope": 13790,
  90068. "src": "55736:7:50",
  90069. "stateVariable": false,
  90070. "storageLocation": "default",
  90071. "typeDescriptions": {
  90072. "typeIdentifier": "t_bool",
  90073. "typeString": "bool"
  90074. },
  90075. "typeName": {
  90076. "id": 13772,
  90077. "name": "bool",
  90078. "nodeType": "ElementaryTypeName",
  90079. "src": "55736:4:50",
  90080. "typeDescriptions": {
  90081. "typeIdentifier": "t_bool",
  90082. "typeString": "bool"
  90083. }
  90084. },
  90085. "visibility": "internal"
  90086. },
  90087. {
  90088. "constant": false,
  90089. "id": 13775,
  90090. "mutability": "mutable",
  90091. "name": "p3",
  90092. "nameLocation": "55753:2:50",
  90093. "nodeType": "VariableDeclaration",
  90094. "scope": 13790,
  90095. "src": "55745:10:50",
  90096. "stateVariable": false,
  90097. "storageLocation": "default",
  90098. "typeDescriptions": {
  90099. "typeIdentifier": "t_address",
  90100. "typeString": "address"
  90101. },
  90102. "typeName": {
  90103. "id": 13774,
  90104. "name": "address",
  90105. "nodeType": "ElementaryTypeName",
  90106. "src": "55745:7:50",
  90107. "stateMutability": "nonpayable",
  90108. "typeDescriptions": {
  90109. "typeIdentifier": "t_address",
  90110. "typeString": "address"
  90111. }
  90112. },
  90113. "visibility": "internal"
  90114. }
  90115. ],
  90116. "src": "55714:42:50"
  90117. },
  90118. "returnParameters": {
  90119. "id": 13777,
  90120. "nodeType": "ParameterList",
  90121. "parameters": [],
  90122. "src": "55771:0:50"
  90123. },
  90124. "scope": 15355,
  90125. "stateMutability": "pure",
  90126. "virtual": false,
  90127. "visibility": "internal"
  90128. },
  90129. {
  90130. "id": 13813,
  90131. "nodeType": "FunctionDefinition",
  90132. "src": "55884:182:50",
  90133. "nodes": [],
  90134. "body": {
  90135. "id": 13812,
  90136. "nodeType": "Block",
  90137. "src": "55956:110:50",
  90138. "nodes": [],
  90139. "statements": [
  90140. {
  90141. "expression": {
  90142. "arguments": [
  90143. {
  90144. "arguments": [
  90145. {
  90146. "hexValue": "6c6f6728626f6f6c2c616464726573732c616464726573732c75696e7432353629",
  90147. "id": 13804,
  90148. "isConstant": false,
  90149. "isLValue": false,
  90150. "isPure": true,
  90151. "kind": "string",
  90152. "lValueRequested": false,
  90153. "nodeType": "Literal",
  90154. "src": "56006:35:50",
  90155. "typeDescriptions": {
  90156. "typeIdentifier": "t_stringliteral_0c66d1be8b80b8d96088c57d6fc12897f737822d5beb6e751a923520a0a509b8",
  90157. "typeString": "literal_string \"log(bool,address,address,uint256)\""
  90158. },
  90159. "value": "log(bool,address,address,uint256)"
  90160. },
  90161. {
  90162. "id": 13805,
  90163. "name": "p0",
  90164. "nodeType": "Identifier",
  90165. "overloadedDeclarations": [],
  90166. "referencedDeclaration": 13792,
  90167. "src": "56043:2:50",
  90168. "typeDescriptions": {
  90169. "typeIdentifier": "t_bool",
  90170. "typeString": "bool"
  90171. }
  90172. },
  90173. {
  90174. "id": 13806,
  90175. "name": "p1",
  90176. "nodeType": "Identifier",
  90177. "overloadedDeclarations": [],
  90178. "referencedDeclaration": 13794,
  90179. "src": "56047:2:50",
  90180. "typeDescriptions": {
  90181. "typeIdentifier": "t_address",
  90182. "typeString": "address"
  90183. }
  90184. },
  90185. {
  90186. "id": 13807,
  90187. "name": "p2",
  90188. "nodeType": "Identifier",
  90189. "overloadedDeclarations": [],
  90190. "referencedDeclaration": 13796,
  90191. "src": "56051:2:50",
  90192. "typeDescriptions": {
  90193. "typeIdentifier": "t_address",
  90194. "typeString": "address"
  90195. }
  90196. },
  90197. {
  90198. "id": 13808,
  90199. "name": "p3",
  90200. "nodeType": "Identifier",
  90201. "overloadedDeclarations": [],
  90202. "referencedDeclaration": 13798,
  90203. "src": "56055:2:50",
  90204. "typeDescriptions": {
  90205. "typeIdentifier": "t_uint256",
  90206. "typeString": "uint256"
  90207. }
  90208. }
  90209. ],
  90210. "expression": {
  90211. "argumentTypes": [
  90212. {
  90213. "typeIdentifier": "t_stringliteral_0c66d1be8b80b8d96088c57d6fc12897f737822d5beb6e751a923520a0a509b8",
  90214. "typeString": "literal_string \"log(bool,address,address,uint256)\""
  90215. },
  90216. {
  90217. "typeIdentifier": "t_bool",
  90218. "typeString": "bool"
  90219. },
  90220. {
  90221. "typeIdentifier": "t_address",
  90222. "typeString": "address"
  90223. },
  90224. {
  90225. "typeIdentifier": "t_address",
  90226. "typeString": "address"
  90227. },
  90228. {
  90229. "typeIdentifier": "t_uint256",
  90230. "typeString": "uint256"
  90231. }
  90232. ],
  90233. "expression": {
  90234. "id": 13802,
  90235. "name": "abi",
  90236. "nodeType": "Identifier",
  90237. "overloadedDeclarations": [],
  90238. "referencedDeclaration": -1,
  90239. "src": "55982:3:50",
  90240. "typeDescriptions": {
  90241. "typeIdentifier": "t_magic_abi",
  90242. "typeString": "abi"
  90243. }
  90244. },
  90245. "id": 13803,
  90246. "isConstant": false,
  90247. "isLValue": false,
  90248. "isPure": true,
  90249. "lValueRequested": false,
  90250. "memberLocation": "55986:19:50",
  90251. "memberName": "encodeWithSignature",
  90252. "nodeType": "MemberAccess",
  90253. "src": "55982:23:50",
  90254. "typeDescriptions": {
  90255. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  90256. "typeString": "function (string memory) pure returns (bytes memory)"
  90257. }
  90258. },
  90259. "id": 13809,
  90260. "isConstant": false,
  90261. "isLValue": false,
  90262. "isPure": false,
  90263. "kind": "functionCall",
  90264. "lValueRequested": false,
  90265. "nameLocations": [],
  90266. "names": [],
  90267. "nodeType": "FunctionCall",
  90268. "src": "55982:76:50",
  90269. "tryCall": false,
  90270. "typeDescriptions": {
  90271. "typeIdentifier": "t_bytes_memory_ptr",
  90272. "typeString": "bytes memory"
  90273. }
  90274. }
  90275. ],
  90276. "expression": {
  90277. "argumentTypes": [
  90278. {
  90279. "typeIdentifier": "t_bytes_memory_ptr",
  90280. "typeString": "bytes memory"
  90281. }
  90282. ],
  90283. "id": 13801,
  90284. "name": "_sendLogPayload",
  90285. "nodeType": "Identifier",
  90286. "overloadedDeclarations": [],
  90287. "referencedDeclaration": 7315,
  90288. "src": "55966:15:50",
  90289. "typeDescriptions": {
  90290. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  90291. "typeString": "function (bytes memory) pure"
  90292. }
  90293. },
  90294. "id": 13810,
  90295. "isConstant": false,
  90296. "isLValue": false,
  90297. "isPure": false,
  90298. "kind": "functionCall",
  90299. "lValueRequested": false,
  90300. "nameLocations": [],
  90301. "names": [],
  90302. "nodeType": "FunctionCall",
  90303. "src": "55966:93:50",
  90304. "tryCall": false,
  90305. "typeDescriptions": {
  90306. "typeIdentifier": "t_tuple$__$",
  90307. "typeString": "tuple()"
  90308. }
  90309. },
  90310. "id": 13811,
  90311. "nodeType": "ExpressionStatement",
  90312. "src": "55966:93:50"
  90313. }
  90314. ]
  90315. },
  90316. "implemented": true,
  90317. "kind": "function",
  90318. "modifiers": [],
  90319. "name": "log",
  90320. "nameLocation": "55893:3:50",
  90321. "parameters": {
  90322. "id": 13799,
  90323. "nodeType": "ParameterList",
  90324. "parameters": [
  90325. {
  90326. "constant": false,
  90327. "id": 13792,
  90328. "mutability": "mutable",
  90329. "name": "p0",
  90330. "nameLocation": "55902:2:50",
  90331. "nodeType": "VariableDeclaration",
  90332. "scope": 13813,
  90333. "src": "55897:7:50",
  90334. "stateVariable": false,
  90335. "storageLocation": "default",
  90336. "typeDescriptions": {
  90337. "typeIdentifier": "t_bool",
  90338. "typeString": "bool"
  90339. },
  90340. "typeName": {
  90341. "id": 13791,
  90342. "name": "bool",
  90343. "nodeType": "ElementaryTypeName",
  90344. "src": "55897:4:50",
  90345. "typeDescriptions": {
  90346. "typeIdentifier": "t_bool",
  90347. "typeString": "bool"
  90348. }
  90349. },
  90350. "visibility": "internal"
  90351. },
  90352. {
  90353. "constant": false,
  90354. "id": 13794,
  90355. "mutability": "mutable",
  90356. "name": "p1",
  90357. "nameLocation": "55914:2:50",
  90358. "nodeType": "VariableDeclaration",
  90359. "scope": 13813,
  90360. "src": "55906:10:50",
  90361. "stateVariable": false,
  90362. "storageLocation": "default",
  90363. "typeDescriptions": {
  90364. "typeIdentifier": "t_address",
  90365. "typeString": "address"
  90366. },
  90367. "typeName": {
  90368. "id": 13793,
  90369. "name": "address",
  90370. "nodeType": "ElementaryTypeName",
  90371. "src": "55906:7:50",
  90372. "stateMutability": "nonpayable",
  90373. "typeDescriptions": {
  90374. "typeIdentifier": "t_address",
  90375. "typeString": "address"
  90376. }
  90377. },
  90378. "visibility": "internal"
  90379. },
  90380. {
  90381. "constant": false,
  90382. "id": 13796,
  90383. "mutability": "mutable",
  90384. "name": "p2",
  90385. "nameLocation": "55926:2:50",
  90386. "nodeType": "VariableDeclaration",
  90387. "scope": 13813,
  90388. "src": "55918:10:50",
  90389. "stateVariable": false,
  90390. "storageLocation": "default",
  90391. "typeDescriptions": {
  90392. "typeIdentifier": "t_address",
  90393. "typeString": "address"
  90394. },
  90395. "typeName": {
  90396. "id": 13795,
  90397. "name": "address",
  90398. "nodeType": "ElementaryTypeName",
  90399. "src": "55918:7:50",
  90400. "stateMutability": "nonpayable",
  90401. "typeDescriptions": {
  90402. "typeIdentifier": "t_address",
  90403. "typeString": "address"
  90404. }
  90405. },
  90406. "visibility": "internal"
  90407. },
  90408. {
  90409. "constant": false,
  90410. "id": 13798,
  90411. "mutability": "mutable",
  90412. "name": "p3",
  90413. "nameLocation": "55938:2:50",
  90414. "nodeType": "VariableDeclaration",
  90415. "scope": 13813,
  90416. "src": "55930:10:50",
  90417. "stateVariable": false,
  90418. "storageLocation": "default",
  90419. "typeDescriptions": {
  90420. "typeIdentifier": "t_uint256",
  90421. "typeString": "uint256"
  90422. },
  90423. "typeName": {
  90424. "id": 13797,
  90425. "name": "uint256",
  90426. "nodeType": "ElementaryTypeName",
  90427. "src": "55930:7:50",
  90428. "typeDescriptions": {
  90429. "typeIdentifier": "t_uint256",
  90430. "typeString": "uint256"
  90431. }
  90432. },
  90433. "visibility": "internal"
  90434. }
  90435. ],
  90436. "src": "55896:45:50"
  90437. },
  90438. "returnParameters": {
  90439. "id": 13800,
  90440. "nodeType": "ParameterList",
  90441. "parameters": [],
  90442. "src": "55956:0:50"
  90443. },
  90444. "scope": 15355,
  90445. "stateMutability": "pure",
  90446. "virtual": false,
  90447. "visibility": "internal"
  90448. },
  90449. {
  90450. "id": 13836,
  90451. "nodeType": "FunctionDefinition",
  90452. "src": "56072:187:50",
  90453. "nodes": [],
  90454. "body": {
  90455. "id": 13835,
  90456. "nodeType": "Block",
  90457. "src": "56150:109:50",
  90458. "nodes": [],
  90459. "statements": [
  90460. {
  90461. "expression": {
  90462. "arguments": [
  90463. {
  90464. "arguments": [
  90465. {
  90466. "hexValue": "6c6f6728626f6f6c2c616464726573732c616464726573732c737472696e6729",
  90467. "id": 13827,
  90468. "isConstant": false,
  90469. "isLValue": false,
  90470. "isPure": true,
  90471. "kind": "string",
  90472. "lValueRequested": false,
  90473. "nodeType": "Literal",
  90474. "src": "56200:34:50",
  90475. "typeDescriptions": {
  90476. "typeIdentifier": "t_stringliteral_d812a167fb7ec8cf55a11f06ff411238f0a431de331592d8a735c8c8481f7432",
  90477. "typeString": "literal_string \"log(bool,address,address,string)\""
  90478. },
  90479. "value": "log(bool,address,address,string)"
  90480. },
  90481. {
  90482. "id": 13828,
  90483. "name": "p0",
  90484. "nodeType": "Identifier",
  90485. "overloadedDeclarations": [],
  90486. "referencedDeclaration": 13815,
  90487. "src": "56236:2:50",
  90488. "typeDescriptions": {
  90489. "typeIdentifier": "t_bool",
  90490. "typeString": "bool"
  90491. }
  90492. },
  90493. {
  90494. "id": 13829,
  90495. "name": "p1",
  90496. "nodeType": "Identifier",
  90497. "overloadedDeclarations": [],
  90498. "referencedDeclaration": 13817,
  90499. "src": "56240:2:50",
  90500. "typeDescriptions": {
  90501. "typeIdentifier": "t_address",
  90502. "typeString": "address"
  90503. }
  90504. },
  90505. {
  90506. "id": 13830,
  90507. "name": "p2",
  90508. "nodeType": "Identifier",
  90509. "overloadedDeclarations": [],
  90510. "referencedDeclaration": 13819,
  90511. "src": "56244:2:50",
  90512. "typeDescriptions": {
  90513. "typeIdentifier": "t_address",
  90514. "typeString": "address"
  90515. }
  90516. },
  90517. {
  90518. "id": 13831,
  90519. "name": "p3",
  90520. "nodeType": "Identifier",
  90521. "overloadedDeclarations": [],
  90522. "referencedDeclaration": 13821,
  90523. "src": "56248:2:50",
  90524. "typeDescriptions": {
  90525. "typeIdentifier": "t_string_memory_ptr",
  90526. "typeString": "string memory"
  90527. }
  90528. }
  90529. ],
  90530. "expression": {
  90531. "argumentTypes": [
  90532. {
  90533. "typeIdentifier": "t_stringliteral_d812a167fb7ec8cf55a11f06ff411238f0a431de331592d8a735c8c8481f7432",
  90534. "typeString": "literal_string \"log(bool,address,address,string)\""
  90535. },
  90536. {
  90537. "typeIdentifier": "t_bool",
  90538. "typeString": "bool"
  90539. },
  90540. {
  90541. "typeIdentifier": "t_address",
  90542. "typeString": "address"
  90543. },
  90544. {
  90545. "typeIdentifier": "t_address",
  90546. "typeString": "address"
  90547. },
  90548. {
  90549. "typeIdentifier": "t_string_memory_ptr",
  90550. "typeString": "string memory"
  90551. }
  90552. ],
  90553. "expression": {
  90554. "id": 13825,
  90555. "name": "abi",
  90556. "nodeType": "Identifier",
  90557. "overloadedDeclarations": [],
  90558. "referencedDeclaration": -1,
  90559. "src": "56176:3:50",
  90560. "typeDescriptions": {
  90561. "typeIdentifier": "t_magic_abi",
  90562. "typeString": "abi"
  90563. }
  90564. },
  90565. "id": 13826,
  90566. "isConstant": false,
  90567. "isLValue": false,
  90568. "isPure": true,
  90569. "lValueRequested": false,
  90570. "memberLocation": "56180:19:50",
  90571. "memberName": "encodeWithSignature",
  90572. "nodeType": "MemberAccess",
  90573. "src": "56176:23:50",
  90574. "typeDescriptions": {
  90575. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  90576. "typeString": "function (string memory) pure returns (bytes memory)"
  90577. }
  90578. },
  90579. "id": 13832,
  90580. "isConstant": false,
  90581. "isLValue": false,
  90582. "isPure": false,
  90583. "kind": "functionCall",
  90584. "lValueRequested": false,
  90585. "nameLocations": [],
  90586. "names": [],
  90587. "nodeType": "FunctionCall",
  90588. "src": "56176:75:50",
  90589. "tryCall": false,
  90590. "typeDescriptions": {
  90591. "typeIdentifier": "t_bytes_memory_ptr",
  90592. "typeString": "bytes memory"
  90593. }
  90594. }
  90595. ],
  90596. "expression": {
  90597. "argumentTypes": [
  90598. {
  90599. "typeIdentifier": "t_bytes_memory_ptr",
  90600. "typeString": "bytes memory"
  90601. }
  90602. ],
  90603. "id": 13824,
  90604. "name": "_sendLogPayload",
  90605. "nodeType": "Identifier",
  90606. "overloadedDeclarations": [],
  90607. "referencedDeclaration": 7315,
  90608. "src": "56160:15:50",
  90609. "typeDescriptions": {
  90610. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  90611. "typeString": "function (bytes memory) pure"
  90612. }
  90613. },
  90614. "id": 13833,
  90615. "isConstant": false,
  90616. "isLValue": false,
  90617. "isPure": false,
  90618. "kind": "functionCall",
  90619. "lValueRequested": false,
  90620. "nameLocations": [],
  90621. "names": [],
  90622. "nodeType": "FunctionCall",
  90623. "src": "56160:92:50",
  90624. "tryCall": false,
  90625. "typeDescriptions": {
  90626. "typeIdentifier": "t_tuple$__$",
  90627. "typeString": "tuple()"
  90628. }
  90629. },
  90630. "id": 13834,
  90631. "nodeType": "ExpressionStatement",
  90632. "src": "56160:92:50"
  90633. }
  90634. ]
  90635. },
  90636. "implemented": true,
  90637. "kind": "function",
  90638. "modifiers": [],
  90639. "name": "log",
  90640. "nameLocation": "56081:3:50",
  90641. "parameters": {
  90642. "id": 13822,
  90643. "nodeType": "ParameterList",
  90644. "parameters": [
  90645. {
  90646. "constant": false,
  90647. "id": 13815,
  90648. "mutability": "mutable",
  90649. "name": "p0",
  90650. "nameLocation": "56090:2:50",
  90651. "nodeType": "VariableDeclaration",
  90652. "scope": 13836,
  90653. "src": "56085:7:50",
  90654. "stateVariable": false,
  90655. "storageLocation": "default",
  90656. "typeDescriptions": {
  90657. "typeIdentifier": "t_bool",
  90658. "typeString": "bool"
  90659. },
  90660. "typeName": {
  90661. "id": 13814,
  90662. "name": "bool",
  90663. "nodeType": "ElementaryTypeName",
  90664. "src": "56085:4:50",
  90665. "typeDescriptions": {
  90666. "typeIdentifier": "t_bool",
  90667. "typeString": "bool"
  90668. }
  90669. },
  90670. "visibility": "internal"
  90671. },
  90672. {
  90673. "constant": false,
  90674. "id": 13817,
  90675. "mutability": "mutable",
  90676. "name": "p1",
  90677. "nameLocation": "56102:2:50",
  90678. "nodeType": "VariableDeclaration",
  90679. "scope": 13836,
  90680. "src": "56094:10:50",
  90681. "stateVariable": false,
  90682. "storageLocation": "default",
  90683. "typeDescriptions": {
  90684. "typeIdentifier": "t_address",
  90685. "typeString": "address"
  90686. },
  90687. "typeName": {
  90688. "id": 13816,
  90689. "name": "address",
  90690. "nodeType": "ElementaryTypeName",
  90691. "src": "56094:7:50",
  90692. "stateMutability": "nonpayable",
  90693. "typeDescriptions": {
  90694. "typeIdentifier": "t_address",
  90695. "typeString": "address"
  90696. }
  90697. },
  90698. "visibility": "internal"
  90699. },
  90700. {
  90701. "constant": false,
  90702. "id": 13819,
  90703. "mutability": "mutable",
  90704. "name": "p2",
  90705. "nameLocation": "56114:2:50",
  90706. "nodeType": "VariableDeclaration",
  90707. "scope": 13836,
  90708. "src": "56106:10:50",
  90709. "stateVariable": false,
  90710. "storageLocation": "default",
  90711. "typeDescriptions": {
  90712. "typeIdentifier": "t_address",
  90713. "typeString": "address"
  90714. },
  90715. "typeName": {
  90716. "id": 13818,
  90717. "name": "address",
  90718. "nodeType": "ElementaryTypeName",
  90719. "src": "56106:7:50",
  90720. "stateMutability": "nonpayable",
  90721. "typeDescriptions": {
  90722. "typeIdentifier": "t_address",
  90723. "typeString": "address"
  90724. }
  90725. },
  90726. "visibility": "internal"
  90727. },
  90728. {
  90729. "constant": false,
  90730. "id": 13821,
  90731. "mutability": "mutable",
  90732. "name": "p3",
  90733. "nameLocation": "56132:2:50",
  90734. "nodeType": "VariableDeclaration",
  90735. "scope": 13836,
  90736. "src": "56118:16:50",
  90737. "stateVariable": false,
  90738. "storageLocation": "memory",
  90739. "typeDescriptions": {
  90740. "typeIdentifier": "t_string_memory_ptr",
  90741. "typeString": "string"
  90742. },
  90743. "typeName": {
  90744. "id": 13820,
  90745. "name": "string",
  90746. "nodeType": "ElementaryTypeName",
  90747. "src": "56118:6:50",
  90748. "typeDescriptions": {
  90749. "typeIdentifier": "t_string_storage_ptr",
  90750. "typeString": "string"
  90751. }
  90752. },
  90753. "visibility": "internal"
  90754. }
  90755. ],
  90756. "src": "56084:51:50"
  90757. },
  90758. "returnParameters": {
  90759. "id": 13823,
  90760. "nodeType": "ParameterList",
  90761. "parameters": [],
  90762. "src": "56150:0:50"
  90763. },
  90764. "scope": 15355,
  90765. "stateMutability": "pure",
  90766. "virtual": false,
  90767. "visibility": "internal"
  90768. },
  90769. {
  90770. "id": 13859,
  90771. "nodeType": "FunctionDefinition",
  90772. "src": "56265:176:50",
  90773. "nodes": [],
  90774. "body": {
  90775. "id": 13858,
  90776. "nodeType": "Block",
  90777. "src": "56334:107:50",
  90778. "nodes": [],
  90779. "statements": [
  90780. {
  90781. "expression": {
  90782. "arguments": [
  90783. {
  90784. "arguments": [
  90785. {
  90786. "hexValue": "6c6f6728626f6f6c2c616464726573732c616464726573732c626f6f6c29",
  90787. "id": 13850,
  90788. "isConstant": false,
  90789. "isLValue": false,
  90790. "isPure": true,
  90791. "kind": "string",
  90792. "lValueRequested": false,
  90793. "nodeType": "Literal",
  90794. "src": "56384:32:50",
  90795. "typeDescriptions": {
  90796. "typeIdentifier": "t_stringliteral_46600be071bbf2a7e3a3cb4fd0e6efe39e86453e4c4a27c400470867be7afd9e",
  90797. "typeString": "literal_string \"log(bool,address,address,bool)\""
  90798. },
  90799. "value": "log(bool,address,address,bool)"
  90800. },
  90801. {
  90802. "id": 13851,
  90803. "name": "p0",
  90804. "nodeType": "Identifier",
  90805. "overloadedDeclarations": [],
  90806. "referencedDeclaration": 13838,
  90807. "src": "56418:2:50",
  90808. "typeDescriptions": {
  90809. "typeIdentifier": "t_bool",
  90810. "typeString": "bool"
  90811. }
  90812. },
  90813. {
  90814. "id": 13852,
  90815. "name": "p1",
  90816. "nodeType": "Identifier",
  90817. "overloadedDeclarations": [],
  90818. "referencedDeclaration": 13840,
  90819. "src": "56422:2:50",
  90820. "typeDescriptions": {
  90821. "typeIdentifier": "t_address",
  90822. "typeString": "address"
  90823. }
  90824. },
  90825. {
  90826. "id": 13853,
  90827. "name": "p2",
  90828. "nodeType": "Identifier",
  90829. "overloadedDeclarations": [],
  90830. "referencedDeclaration": 13842,
  90831. "src": "56426:2:50",
  90832. "typeDescriptions": {
  90833. "typeIdentifier": "t_address",
  90834. "typeString": "address"
  90835. }
  90836. },
  90837. {
  90838. "id": 13854,
  90839. "name": "p3",
  90840. "nodeType": "Identifier",
  90841. "overloadedDeclarations": [],
  90842. "referencedDeclaration": 13844,
  90843. "src": "56430:2:50",
  90844. "typeDescriptions": {
  90845. "typeIdentifier": "t_bool",
  90846. "typeString": "bool"
  90847. }
  90848. }
  90849. ],
  90850. "expression": {
  90851. "argumentTypes": [
  90852. {
  90853. "typeIdentifier": "t_stringliteral_46600be071bbf2a7e3a3cb4fd0e6efe39e86453e4c4a27c400470867be7afd9e",
  90854. "typeString": "literal_string \"log(bool,address,address,bool)\""
  90855. },
  90856. {
  90857. "typeIdentifier": "t_bool",
  90858. "typeString": "bool"
  90859. },
  90860. {
  90861. "typeIdentifier": "t_address",
  90862. "typeString": "address"
  90863. },
  90864. {
  90865. "typeIdentifier": "t_address",
  90866. "typeString": "address"
  90867. },
  90868. {
  90869. "typeIdentifier": "t_bool",
  90870. "typeString": "bool"
  90871. }
  90872. ],
  90873. "expression": {
  90874. "id": 13848,
  90875. "name": "abi",
  90876. "nodeType": "Identifier",
  90877. "overloadedDeclarations": [],
  90878. "referencedDeclaration": -1,
  90879. "src": "56360:3:50",
  90880. "typeDescriptions": {
  90881. "typeIdentifier": "t_magic_abi",
  90882. "typeString": "abi"
  90883. }
  90884. },
  90885. "id": 13849,
  90886. "isConstant": false,
  90887. "isLValue": false,
  90888. "isPure": true,
  90889. "lValueRequested": false,
  90890. "memberLocation": "56364:19:50",
  90891. "memberName": "encodeWithSignature",
  90892. "nodeType": "MemberAccess",
  90893. "src": "56360:23:50",
  90894. "typeDescriptions": {
  90895. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  90896. "typeString": "function (string memory) pure returns (bytes memory)"
  90897. }
  90898. },
  90899. "id": 13855,
  90900. "isConstant": false,
  90901. "isLValue": false,
  90902. "isPure": false,
  90903. "kind": "functionCall",
  90904. "lValueRequested": false,
  90905. "nameLocations": [],
  90906. "names": [],
  90907. "nodeType": "FunctionCall",
  90908. "src": "56360:73:50",
  90909. "tryCall": false,
  90910. "typeDescriptions": {
  90911. "typeIdentifier": "t_bytes_memory_ptr",
  90912. "typeString": "bytes memory"
  90913. }
  90914. }
  90915. ],
  90916. "expression": {
  90917. "argumentTypes": [
  90918. {
  90919. "typeIdentifier": "t_bytes_memory_ptr",
  90920. "typeString": "bytes memory"
  90921. }
  90922. ],
  90923. "id": 13847,
  90924. "name": "_sendLogPayload",
  90925. "nodeType": "Identifier",
  90926. "overloadedDeclarations": [],
  90927. "referencedDeclaration": 7315,
  90928. "src": "56344:15:50",
  90929. "typeDescriptions": {
  90930. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  90931. "typeString": "function (bytes memory) pure"
  90932. }
  90933. },
  90934. "id": 13856,
  90935. "isConstant": false,
  90936. "isLValue": false,
  90937. "isPure": false,
  90938. "kind": "functionCall",
  90939. "lValueRequested": false,
  90940. "nameLocations": [],
  90941. "names": [],
  90942. "nodeType": "FunctionCall",
  90943. "src": "56344:90:50",
  90944. "tryCall": false,
  90945. "typeDescriptions": {
  90946. "typeIdentifier": "t_tuple$__$",
  90947. "typeString": "tuple()"
  90948. }
  90949. },
  90950. "id": 13857,
  90951. "nodeType": "ExpressionStatement",
  90952. "src": "56344:90:50"
  90953. }
  90954. ]
  90955. },
  90956. "implemented": true,
  90957. "kind": "function",
  90958. "modifiers": [],
  90959. "name": "log",
  90960. "nameLocation": "56274:3:50",
  90961. "parameters": {
  90962. "id": 13845,
  90963. "nodeType": "ParameterList",
  90964. "parameters": [
  90965. {
  90966. "constant": false,
  90967. "id": 13838,
  90968. "mutability": "mutable",
  90969. "name": "p0",
  90970. "nameLocation": "56283:2:50",
  90971. "nodeType": "VariableDeclaration",
  90972. "scope": 13859,
  90973. "src": "56278:7:50",
  90974. "stateVariable": false,
  90975. "storageLocation": "default",
  90976. "typeDescriptions": {
  90977. "typeIdentifier": "t_bool",
  90978. "typeString": "bool"
  90979. },
  90980. "typeName": {
  90981. "id": 13837,
  90982. "name": "bool",
  90983. "nodeType": "ElementaryTypeName",
  90984. "src": "56278:4:50",
  90985. "typeDescriptions": {
  90986. "typeIdentifier": "t_bool",
  90987. "typeString": "bool"
  90988. }
  90989. },
  90990. "visibility": "internal"
  90991. },
  90992. {
  90993. "constant": false,
  90994. "id": 13840,
  90995. "mutability": "mutable",
  90996. "name": "p1",
  90997. "nameLocation": "56295:2:50",
  90998. "nodeType": "VariableDeclaration",
  90999. "scope": 13859,
  91000. "src": "56287:10:50",
  91001. "stateVariable": false,
  91002. "storageLocation": "default",
  91003. "typeDescriptions": {
  91004. "typeIdentifier": "t_address",
  91005. "typeString": "address"
  91006. },
  91007. "typeName": {
  91008. "id": 13839,
  91009. "name": "address",
  91010. "nodeType": "ElementaryTypeName",
  91011. "src": "56287:7:50",
  91012. "stateMutability": "nonpayable",
  91013. "typeDescriptions": {
  91014. "typeIdentifier": "t_address",
  91015. "typeString": "address"
  91016. }
  91017. },
  91018. "visibility": "internal"
  91019. },
  91020. {
  91021. "constant": false,
  91022. "id": 13842,
  91023. "mutability": "mutable",
  91024. "name": "p2",
  91025. "nameLocation": "56307:2:50",
  91026. "nodeType": "VariableDeclaration",
  91027. "scope": 13859,
  91028. "src": "56299:10:50",
  91029. "stateVariable": false,
  91030. "storageLocation": "default",
  91031. "typeDescriptions": {
  91032. "typeIdentifier": "t_address",
  91033. "typeString": "address"
  91034. },
  91035. "typeName": {
  91036. "id": 13841,
  91037. "name": "address",
  91038. "nodeType": "ElementaryTypeName",
  91039. "src": "56299:7:50",
  91040. "stateMutability": "nonpayable",
  91041. "typeDescriptions": {
  91042. "typeIdentifier": "t_address",
  91043. "typeString": "address"
  91044. }
  91045. },
  91046. "visibility": "internal"
  91047. },
  91048. {
  91049. "constant": false,
  91050. "id": 13844,
  91051. "mutability": "mutable",
  91052. "name": "p3",
  91053. "nameLocation": "56316:2:50",
  91054. "nodeType": "VariableDeclaration",
  91055. "scope": 13859,
  91056. "src": "56311:7:50",
  91057. "stateVariable": false,
  91058. "storageLocation": "default",
  91059. "typeDescriptions": {
  91060. "typeIdentifier": "t_bool",
  91061. "typeString": "bool"
  91062. },
  91063. "typeName": {
  91064. "id": 13843,
  91065. "name": "bool",
  91066. "nodeType": "ElementaryTypeName",
  91067. "src": "56311:4:50",
  91068. "typeDescriptions": {
  91069. "typeIdentifier": "t_bool",
  91070. "typeString": "bool"
  91071. }
  91072. },
  91073. "visibility": "internal"
  91074. }
  91075. ],
  91076. "src": "56277:42:50"
  91077. },
  91078. "returnParameters": {
  91079. "id": 13846,
  91080. "nodeType": "ParameterList",
  91081. "parameters": [],
  91082. "src": "56334:0:50"
  91083. },
  91084. "scope": 15355,
  91085. "stateMutability": "pure",
  91086. "virtual": false,
  91087. "visibility": "internal"
  91088. },
  91089. {
  91090. "id": 13882,
  91091. "nodeType": "FunctionDefinition",
  91092. "src": "56447:182:50",
  91093. "nodes": [],
  91094. "body": {
  91095. "id": 13881,
  91096. "nodeType": "Block",
  91097. "src": "56519:110:50",
  91098. "nodes": [],
  91099. "statements": [
  91100. {
  91101. "expression": {
  91102. "arguments": [
  91103. {
  91104. "arguments": [
  91105. {
  91106. "hexValue": "6c6f6728626f6f6c2c616464726573732c616464726573732c6164647265737329",
  91107. "id": 13873,
  91108. "isConstant": false,
  91109. "isLValue": false,
  91110. "isPure": true,
  91111. "kind": "string",
  91112. "lValueRequested": false,
  91113. "nodeType": "Literal",
  91114. "src": "56569:35:50",
  91115. "typeDescriptions": {
  91116. "typeIdentifier": "t_stringliteral_1d14d00189540d88098b9fe614aa8c0efbe231c1a0fee05e7d705c0342377123",
  91117. "typeString": "literal_string \"log(bool,address,address,address)\""
  91118. },
  91119. "value": "log(bool,address,address,address)"
  91120. },
  91121. {
  91122. "id": 13874,
  91123. "name": "p0",
  91124. "nodeType": "Identifier",
  91125. "overloadedDeclarations": [],
  91126. "referencedDeclaration": 13861,
  91127. "src": "56606:2:50",
  91128. "typeDescriptions": {
  91129. "typeIdentifier": "t_bool",
  91130. "typeString": "bool"
  91131. }
  91132. },
  91133. {
  91134. "id": 13875,
  91135. "name": "p1",
  91136. "nodeType": "Identifier",
  91137. "overloadedDeclarations": [],
  91138. "referencedDeclaration": 13863,
  91139. "src": "56610:2:50",
  91140. "typeDescriptions": {
  91141. "typeIdentifier": "t_address",
  91142. "typeString": "address"
  91143. }
  91144. },
  91145. {
  91146. "id": 13876,
  91147. "name": "p2",
  91148. "nodeType": "Identifier",
  91149. "overloadedDeclarations": [],
  91150. "referencedDeclaration": 13865,
  91151. "src": "56614:2:50",
  91152. "typeDescriptions": {
  91153. "typeIdentifier": "t_address",
  91154. "typeString": "address"
  91155. }
  91156. },
  91157. {
  91158. "id": 13877,
  91159. "name": "p3",
  91160. "nodeType": "Identifier",
  91161. "overloadedDeclarations": [],
  91162. "referencedDeclaration": 13867,
  91163. "src": "56618:2:50",
  91164. "typeDescriptions": {
  91165. "typeIdentifier": "t_address",
  91166. "typeString": "address"
  91167. }
  91168. }
  91169. ],
  91170. "expression": {
  91171. "argumentTypes": [
  91172. {
  91173. "typeIdentifier": "t_stringliteral_1d14d00189540d88098b9fe614aa8c0efbe231c1a0fee05e7d705c0342377123",
  91174. "typeString": "literal_string \"log(bool,address,address,address)\""
  91175. },
  91176. {
  91177. "typeIdentifier": "t_bool",
  91178. "typeString": "bool"
  91179. },
  91180. {
  91181. "typeIdentifier": "t_address",
  91182. "typeString": "address"
  91183. },
  91184. {
  91185. "typeIdentifier": "t_address",
  91186. "typeString": "address"
  91187. },
  91188. {
  91189. "typeIdentifier": "t_address",
  91190. "typeString": "address"
  91191. }
  91192. ],
  91193. "expression": {
  91194. "id": 13871,
  91195. "name": "abi",
  91196. "nodeType": "Identifier",
  91197. "overloadedDeclarations": [],
  91198. "referencedDeclaration": -1,
  91199. "src": "56545:3:50",
  91200. "typeDescriptions": {
  91201. "typeIdentifier": "t_magic_abi",
  91202. "typeString": "abi"
  91203. }
  91204. },
  91205. "id": 13872,
  91206. "isConstant": false,
  91207. "isLValue": false,
  91208. "isPure": true,
  91209. "lValueRequested": false,
  91210. "memberLocation": "56549:19:50",
  91211. "memberName": "encodeWithSignature",
  91212. "nodeType": "MemberAccess",
  91213. "src": "56545:23:50",
  91214. "typeDescriptions": {
  91215. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  91216. "typeString": "function (string memory) pure returns (bytes memory)"
  91217. }
  91218. },
  91219. "id": 13878,
  91220. "isConstant": false,
  91221. "isLValue": false,
  91222. "isPure": false,
  91223. "kind": "functionCall",
  91224. "lValueRequested": false,
  91225. "nameLocations": [],
  91226. "names": [],
  91227. "nodeType": "FunctionCall",
  91228. "src": "56545:76:50",
  91229. "tryCall": false,
  91230. "typeDescriptions": {
  91231. "typeIdentifier": "t_bytes_memory_ptr",
  91232. "typeString": "bytes memory"
  91233. }
  91234. }
  91235. ],
  91236. "expression": {
  91237. "argumentTypes": [
  91238. {
  91239. "typeIdentifier": "t_bytes_memory_ptr",
  91240. "typeString": "bytes memory"
  91241. }
  91242. ],
  91243. "id": 13870,
  91244. "name": "_sendLogPayload",
  91245. "nodeType": "Identifier",
  91246. "overloadedDeclarations": [],
  91247. "referencedDeclaration": 7315,
  91248. "src": "56529:15:50",
  91249. "typeDescriptions": {
  91250. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  91251. "typeString": "function (bytes memory) pure"
  91252. }
  91253. },
  91254. "id": 13879,
  91255. "isConstant": false,
  91256. "isLValue": false,
  91257. "isPure": false,
  91258. "kind": "functionCall",
  91259. "lValueRequested": false,
  91260. "nameLocations": [],
  91261. "names": [],
  91262. "nodeType": "FunctionCall",
  91263. "src": "56529:93:50",
  91264. "tryCall": false,
  91265. "typeDescriptions": {
  91266. "typeIdentifier": "t_tuple$__$",
  91267. "typeString": "tuple()"
  91268. }
  91269. },
  91270. "id": 13880,
  91271. "nodeType": "ExpressionStatement",
  91272. "src": "56529:93:50"
  91273. }
  91274. ]
  91275. },
  91276. "implemented": true,
  91277. "kind": "function",
  91278. "modifiers": [],
  91279. "name": "log",
  91280. "nameLocation": "56456:3:50",
  91281. "parameters": {
  91282. "id": 13868,
  91283. "nodeType": "ParameterList",
  91284. "parameters": [
  91285. {
  91286. "constant": false,
  91287. "id": 13861,
  91288. "mutability": "mutable",
  91289. "name": "p0",
  91290. "nameLocation": "56465:2:50",
  91291. "nodeType": "VariableDeclaration",
  91292. "scope": 13882,
  91293. "src": "56460:7:50",
  91294. "stateVariable": false,
  91295. "storageLocation": "default",
  91296. "typeDescriptions": {
  91297. "typeIdentifier": "t_bool",
  91298. "typeString": "bool"
  91299. },
  91300. "typeName": {
  91301. "id": 13860,
  91302. "name": "bool",
  91303. "nodeType": "ElementaryTypeName",
  91304. "src": "56460:4:50",
  91305. "typeDescriptions": {
  91306. "typeIdentifier": "t_bool",
  91307. "typeString": "bool"
  91308. }
  91309. },
  91310. "visibility": "internal"
  91311. },
  91312. {
  91313. "constant": false,
  91314. "id": 13863,
  91315. "mutability": "mutable",
  91316. "name": "p1",
  91317. "nameLocation": "56477:2:50",
  91318. "nodeType": "VariableDeclaration",
  91319. "scope": 13882,
  91320. "src": "56469:10:50",
  91321. "stateVariable": false,
  91322. "storageLocation": "default",
  91323. "typeDescriptions": {
  91324. "typeIdentifier": "t_address",
  91325. "typeString": "address"
  91326. },
  91327. "typeName": {
  91328. "id": 13862,
  91329. "name": "address",
  91330. "nodeType": "ElementaryTypeName",
  91331. "src": "56469:7:50",
  91332. "stateMutability": "nonpayable",
  91333. "typeDescriptions": {
  91334. "typeIdentifier": "t_address",
  91335. "typeString": "address"
  91336. }
  91337. },
  91338. "visibility": "internal"
  91339. },
  91340. {
  91341. "constant": false,
  91342. "id": 13865,
  91343. "mutability": "mutable",
  91344. "name": "p2",
  91345. "nameLocation": "56489:2:50",
  91346. "nodeType": "VariableDeclaration",
  91347. "scope": 13882,
  91348. "src": "56481:10:50",
  91349. "stateVariable": false,
  91350. "storageLocation": "default",
  91351. "typeDescriptions": {
  91352. "typeIdentifier": "t_address",
  91353. "typeString": "address"
  91354. },
  91355. "typeName": {
  91356. "id": 13864,
  91357. "name": "address",
  91358. "nodeType": "ElementaryTypeName",
  91359. "src": "56481:7:50",
  91360. "stateMutability": "nonpayable",
  91361. "typeDescriptions": {
  91362. "typeIdentifier": "t_address",
  91363. "typeString": "address"
  91364. }
  91365. },
  91366. "visibility": "internal"
  91367. },
  91368. {
  91369. "constant": false,
  91370. "id": 13867,
  91371. "mutability": "mutable",
  91372. "name": "p3",
  91373. "nameLocation": "56501:2:50",
  91374. "nodeType": "VariableDeclaration",
  91375. "scope": 13882,
  91376. "src": "56493:10:50",
  91377. "stateVariable": false,
  91378. "storageLocation": "default",
  91379. "typeDescriptions": {
  91380. "typeIdentifier": "t_address",
  91381. "typeString": "address"
  91382. },
  91383. "typeName": {
  91384. "id": 13866,
  91385. "name": "address",
  91386. "nodeType": "ElementaryTypeName",
  91387. "src": "56493:7:50",
  91388. "stateMutability": "nonpayable",
  91389. "typeDescriptions": {
  91390. "typeIdentifier": "t_address",
  91391. "typeString": "address"
  91392. }
  91393. },
  91394. "visibility": "internal"
  91395. }
  91396. ],
  91397. "src": "56459:45:50"
  91398. },
  91399. "returnParameters": {
  91400. "id": 13869,
  91401. "nodeType": "ParameterList",
  91402. "parameters": [],
  91403. "src": "56519:0:50"
  91404. },
  91405. "scope": 15355,
  91406. "stateMutability": "pure",
  91407. "virtual": false,
  91408. "visibility": "internal"
  91409. },
  91410. {
  91411. "id": 13905,
  91412. "nodeType": "FunctionDefinition",
  91413. "src": "56635:188:50",
  91414. "nodes": [],
  91415. "body": {
  91416. "id": 13904,
  91417. "nodeType": "Block",
  91418. "src": "56710:113:50",
  91419. "nodes": [],
  91420. "statements": [
  91421. {
  91422. "expression": {
  91423. "arguments": [
  91424. {
  91425. "arguments": [
  91426. {
  91427. "hexValue": "6c6f6728616464726573732c75696e743235362c75696e743235362c75696e7432353629",
  91428. "id": 13896,
  91429. "isConstant": false,
  91430. "isLValue": false,
  91431. "isPure": true,
  91432. "kind": "string",
  91433. "lValueRequested": false,
  91434. "nodeType": "Literal",
  91435. "src": "56760:38:50",
  91436. "typeDescriptions": {
  91437. "typeIdentifier": "t_stringliteral_34f0e636808ebabd61ce9b247c78c7a38984ab35d5f29c0bd51299288509f6d6",
  91438. "typeString": "literal_string \"log(address,uint256,uint256,uint256)\""
  91439. },
  91440. "value": "log(address,uint256,uint256,uint256)"
  91441. },
  91442. {
  91443. "id": 13897,
  91444. "name": "p0",
  91445. "nodeType": "Identifier",
  91446. "overloadedDeclarations": [],
  91447. "referencedDeclaration": 13884,
  91448. "src": "56800:2:50",
  91449. "typeDescriptions": {
  91450. "typeIdentifier": "t_address",
  91451. "typeString": "address"
  91452. }
  91453. },
  91454. {
  91455. "id": 13898,
  91456. "name": "p1",
  91457. "nodeType": "Identifier",
  91458. "overloadedDeclarations": [],
  91459. "referencedDeclaration": 13886,
  91460. "src": "56804:2:50",
  91461. "typeDescriptions": {
  91462. "typeIdentifier": "t_uint256",
  91463. "typeString": "uint256"
  91464. }
  91465. },
  91466. {
  91467. "id": 13899,
  91468. "name": "p2",
  91469. "nodeType": "Identifier",
  91470. "overloadedDeclarations": [],
  91471. "referencedDeclaration": 13888,
  91472. "src": "56808:2:50",
  91473. "typeDescriptions": {
  91474. "typeIdentifier": "t_uint256",
  91475. "typeString": "uint256"
  91476. }
  91477. },
  91478. {
  91479. "id": 13900,
  91480. "name": "p3",
  91481. "nodeType": "Identifier",
  91482. "overloadedDeclarations": [],
  91483. "referencedDeclaration": 13890,
  91484. "src": "56812:2:50",
  91485. "typeDescriptions": {
  91486. "typeIdentifier": "t_uint256",
  91487. "typeString": "uint256"
  91488. }
  91489. }
  91490. ],
  91491. "expression": {
  91492. "argumentTypes": [
  91493. {
  91494. "typeIdentifier": "t_stringliteral_34f0e636808ebabd61ce9b247c78c7a38984ab35d5f29c0bd51299288509f6d6",
  91495. "typeString": "literal_string \"log(address,uint256,uint256,uint256)\""
  91496. },
  91497. {
  91498. "typeIdentifier": "t_address",
  91499. "typeString": "address"
  91500. },
  91501. {
  91502. "typeIdentifier": "t_uint256",
  91503. "typeString": "uint256"
  91504. },
  91505. {
  91506. "typeIdentifier": "t_uint256",
  91507. "typeString": "uint256"
  91508. },
  91509. {
  91510. "typeIdentifier": "t_uint256",
  91511. "typeString": "uint256"
  91512. }
  91513. ],
  91514. "expression": {
  91515. "id": 13894,
  91516. "name": "abi",
  91517. "nodeType": "Identifier",
  91518. "overloadedDeclarations": [],
  91519. "referencedDeclaration": -1,
  91520. "src": "56736:3:50",
  91521. "typeDescriptions": {
  91522. "typeIdentifier": "t_magic_abi",
  91523. "typeString": "abi"
  91524. }
  91525. },
  91526. "id": 13895,
  91527. "isConstant": false,
  91528. "isLValue": false,
  91529. "isPure": true,
  91530. "lValueRequested": false,
  91531. "memberLocation": "56740:19:50",
  91532. "memberName": "encodeWithSignature",
  91533. "nodeType": "MemberAccess",
  91534. "src": "56736:23:50",
  91535. "typeDescriptions": {
  91536. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  91537. "typeString": "function (string memory) pure returns (bytes memory)"
  91538. }
  91539. },
  91540. "id": 13901,
  91541. "isConstant": false,
  91542. "isLValue": false,
  91543. "isPure": false,
  91544. "kind": "functionCall",
  91545. "lValueRequested": false,
  91546. "nameLocations": [],
  91547. "names": [],
  91548. "nodeType": "FunctionCall",
  91549. "src": "56736:79:50",
  91550. "tryCall": false,
  91551. "typeDescriptions": {
  91552. "typeIdentifier": "t_bytes_memory_ptr",
  91553. "typeString": "bytes memory"
  91554. }
  91555. }
  91556. ],
  91557. "expression": {
  91558. "argumentTypes": [
  91559. {
  91560. "typeIdentifier": "t_bytes_memory_ptr",
  91561. "typeString": "bytes memory"
  91562. }
  91563. ],
  91564. "id": 13893,
  91565. "name": "_sendLogPayload",
  91566. "nodeType": "Identifier",
  91567. "overloadedDeclarations": [],
  91568. "referencedDeclaration": 7315,
  91569. "src": "56720:15:50",
  91570. "typeDescriptions": {
  91571. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  91572. "typeString": "function (bytes memory) pure"
  91573. }
  91574. },
  91575. "id": 13902,
  91576. "isConstant": false,
  91577. "isLValue": false,
  91578. "isPure": false,
  91579. "kind": "functionCall",
  91580. "lValueRequested": false,
  91581. "nameLocations": [],
  91582. "names": [],
  91583. "nodeType": "FunctionCall",
  91584. "src": "56720:96:50",
  91585. "tryCall": false,
  91586. "typeDescriptions": {
  91587. "typeIdentifier": "t_tuple$__$",
  91588. "typeString": "tuple()"
  91589. }
  91590. },
  91591. "id": 13903,
  91592. "nodeType": "ExpressionStatement",
  91593. "src": "56720:96:50"
  91594. }
  91595. ]
  91596. },
  91597. "implemented": true,
  91598. "kind": "function",
  91599. "modifiers": [],
  91600. "name": "log",
  91601. "nameLocation": "56644:3:50",
  91602. "parameters": {
  91603. "id": 13891,
  91604. "nodeType": "ParameterList",
  91605. "parameters": [
  91606. {
  91607. "constant": false,
  91608. "id": 13884,
  91609. "mutability": "mutable",
  91610. "name": "p0",
  91611. "nameLocation": "56656:2:50",
  91612. "nodeType": "VariableDeclaration",
  91613. "scope": 13905,
  91614. "src": "56648:10:50",
  91615. "stateVariable": false,
  91616. "storageLocation": "default",
  91617. "typeDescriptions": {
  91618. "typeIdentifier": "t_address",
  91619. "typeString": "address"
  91620. },
  91621. "typeName": {
  91622. "id": 13883,
  91623. "name": "address",
  91624. "nodeType": "ElementaryTypeName",
  91625. "src": "56648:7:50",
  91626. "stateMutability": "nonpayable",
  91627. "typeDescriptions": {
  91628. "typeIdentifier": "t_address",
  91629. "typeString": "address"
  91630. }
  91631. },
  91632. "visibility": "internal"
  91633. },
  91634. {
  91635. "constant": false,
  91636. "id": 13886,
  91637. "mutability": "mutable",
  91638. "name": "p1",
  91639. "nameLocation": "56668:2:50",
  91640. "nodeType": "VariableDeclaration",
  91641. "scope": 13905,
  91642. "src": "56660:10:50",
  91643. "stateVariable": false,
  91644. "storageLocation": "default",
  91645. "typeDescriptions": {
  91646. "typeIdentifier": "t_uint256",
  91647. "typeString": "uint256"
  91648. },
  91649. "typeName": {
  91650. "id": 13885,
  91651. "name": "uint256",
  91652. "nodeType": "ElementaryTypeName",
  91653. "src": "56660:7:50",
  91654. "typeDescriptions": {
  91655. "typeIdentifier": "t_uint256",
  91656. "typeString": "uint256"
  91657. }
  91658. },
  91659. "visibility": "internal"
  91660. },
  91661. {
  91662. "constant": false,
  91663. "id": 13888,
  91664. "mutability": "mutable",
  91665. "name": "p2",
  91666. "nameLocation": "56680:2:50",
  91667. "nodeType": "VariableDeclaration",
  91668. "scope": 13905,
  91669. "src": "56672:10:50",
  91670. "stateVariable": false,
  91671. "storageLocation": "default",
  91672. "typeDescriptions": {
  91673. "typeIdentifier": "t_uint256",
  91674. "typeString": "uint256"
  91675. },
  91676. "typeName": {
  91677. "id": 13887,
  91678. "name": "uint256",
  91679. "nodeType": "ElementaryTypeName",
  91680. "src": "56672:7:50",
  91681. "typeDescriptions": {
  91682. "typeIdentifier": "t_uint256",
  91683. "typeString": "uint256"
  91684. }
  91685. },
  91686. "visibility": "internal"
  91687. },
  91688. {
  91689. "constant": false,
  91690. "id": 13890,
  91691. "mutability": "mutable",
  91692. "name": "p3",
  91693. "nameLocation": "56692:2:50",
  91694. "nodeType": "VariableDeclaration",
  91695. "scope": 13905,
  91696. "src": "56684:10:50",
  91697. "stateVariable": false,
  91698. "storageLocation": "default",
  91699. "typeDescriptions": {
  91700. "typeIdentifier": "t_uint256",
  91701. "typeString": "uint256"
  91702. },
  91703. "typeName": {
  91704. "id": 13889,
  91705. "name": "uint256",
  91706. "nodeType": "ElementaryTypeName",
  91707. "src": "56684:7:50",
  91708. "typeDescriptions": {
  91709. "typeIdentifier": "t_uint256",
  91710. "typeString": "uint256"
  91711. }
  91712. },
  91713. "visibility": "internal"
  91714. }
  91715. ],
  91716. "src": "56647:48:50"
  91717. },
  91718. "returnParameters": {
  91719. "id": 13892,
  91720. "nodeType": "ParameterList",
  91721. "parameters": [],
  91722. "src": "56710:0:50"
  91723. },
  91724. "scope": 15355,
  91725. "stateMutability": "pure",
  91726. "virtual": false,
  91727. "visibility": "internal"
  91728. },
  91729. {
  91730. "id": 13928,
  91731. "nodeType": "FunctionDefinition",
  91732. "src": "56829:193:50",
  91733. "nodes": [],
  91734. "body": {
  91735. "id": 13927,
  91736. "nodeType": "Block",
  91737. "src": "56910:112:50",
  91738. "nodes": [],
  91739. "statements": [
  91740. {
  91741. "expression": {
  91742. "arguments": [
  91743. {
  91744. "arguments": [
  91745. {
  91746. "hexValue": "6c6f6728616464726573732c75696e743235362c75696e743235362c737472696e6729",
  91747. "id": 13919,
  91748. "isConstant": false,
  91749. "isLValue": false,
  91750. "isPure": true,
  91751. "kind": "string",
  91752. "lValueRequested": false,
  91753. "nodeType": "Literal",
  91754. "src": "56960:37:50",
  91755. "typeDescriptions": {
  91756. "typeIdentifier": "t_stringliteral_4a28c017e545dc04fb82dd1a46d46ba463e69e0aeff774fbced9bedd205b6cf6",
  91757. "typeString": "literal_string \"log(address,uint256,uint256,string)\""
  91758. },
  91759. "value": "log(address,uint256,uint256,string)"
  91760. },
  91761. {
  91762. "id": 13920,
  91763. "name": "p0",
  91764. "nodeType": "Identifier",
  91765. "overloadedDeclarations": [],
  91766. "referencedDeclaration": 13907,
  91767. "src": "56999:2:50",
  91768. "typeDescriptions": {
  91769. "typeIdentifier": "t_address",
  91770. "typeString": "address"
  91771. }
  91772. },
  91773. {
  91774. "id": 13921,
  91775. "name": "p1",
  91776. "nodeType": "Identifier",
  91777. "overloadedDeclarations": [],
  91778. "referencedDeclaration": 13909,
  91779. "src": "57003:2:50",
  91780. "typeDescriptions": {
  91781. "typeIdentifier": "t_uint256",
  91782. "typeString": "uint256"
  91783. }
  91784. },
  91785. {
  91786. "id": 13922,
  91787. "name": "p2",
  91788. "nodeType": "Identifier",
  91789. "overloadedDeclarations": [],
  91790. "referencedDeclaration": 13911,
  91791. "src": "57007:2:50",
  91792. "typeDescriptions": {
  91793. "typeIdentifier": "t_uint256",
  91794. "typeString": "uint256"
  91795. }
  91796. },
  91797. {
  91798. "id": 13923,
  91799. "name": "p3",
  91800. "nodeType": "Identifier",
  91801. "overloadedDeclarations": [],
  91802. "referencedDeclaration": 13913,
  91803. "src": "57011:2:50",
  91804. "typeDescriptions": {
  91805. "typeIdentifier": "t_string_memory_ptr",
  91806. "typeString": "string memory"
  91807. }
  91808. }
  91809. ],
  91810. "expression": {
  91811. "argumentTypes": [
  91812. {
  91813. "typeIdentifier": "t_stringliteral_4a28c017e545dc04fb82dd1a46d46ba463e69e0aeff774fbced9bedd205b6cf6",
  91814. "typeString": "literal_string \"log(address,uint256,uint256,string)\""
  91815. },
  91816. {
  91817. "typeIdentifier": "t_address",
  91818. "typeString": "address"
  91819. },
  91820. {
  91821. "typeIdentifier": "t_uint256",
  91822. "typeString": "uint256"
  91823. },
  91824. {
  91825. "typeIdentifier": "t_uint256",
  91826. "typeString": "uint256"
  91827. },
  91828. {
  91829. "typeIdentifier": "t_string_memory_ptr",
  91830. "typeString": "string memory"
  91831. }
  91832. ],
  91833. "expression": {
  91834. "id": 13917,
  91835. "name": "abi",
  91836. "nodeType": "Identifier",
  91837. "overloadedDeclarations": [],
  91838. "referencedDeclaration": -1,
  91839. "src": "56936:3:50",
  91840. "typeDescriptions": {
  91841. "typeIdentifier": "t_magic_abi",
  91842. "typeString": "abi"
  91843. }
  91844. },
  91845. "id": 13918,
  91846. "isConstant": false,
  91847. "isLValue": false,
  91848. "isPure": true,
  91849. "lValueRequested": false,
  91850. "memberLocation": "56940:19:50",
  91851. "memberName": "encodeWithSignature",
  91852. "nodeType": "MemberAccess",
  91853. "src": "56936:23:50",
  91854. "typeDescriptions": {
  91855. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  91856. "typeString": "function (string memory) pure returns (bytes memory)"
  91857. }
  91858. },
  91859. "id": 13924,
  91860. "isConstant": false,
  91861. "isLValue": false,
  91862. "isPure": false,
  91863. "kind": "functionCall",
  91864. "lValueRequested": false,
  91865. "nameLocations": [],
  91866. "names": [],
  91867. "nodeType": "FunctionCall",
  91868. "src": "56936:78:50",
  91869. "tryCall": false,
  91870. "typeDescriptions": {
  91871. "typeIdentifier": "t_bytes_memory_ptr",
  91872. "typeString": "bytes memory"
  91873. }
  91874. }
  91875. ],
  91876. "expression": {
  91877. "argumentTypes": [
  91878. {
  91879. "typeIdentifier": "t_bytes_memory_ptr",
  91880. "typeString": "bytes memory"
  91881. }
  91882. ],
  91883. "id": 13916,
  91884. "name": "_sendLogPayload",
  91885. "nodeType": "Identifier",
  91886. "overloadedDeclarations": [],
  91887. "referencedDeclaration": 7315,
  91888. "src": "56920:15:50",
  91889. "typeDescriptions": {
  91890. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  91891. "typeString": "function (bytes memory) pure"
  91892. }
  91893. },
  91894. "id": 13925,
  91895. "isConstant": false,
  91896. "isLValue": false,
  91897. "isPure": false,
  91898. "kind": "functionCall",
  91899. "lValueRequested": false,
  91900. "nameLocations": [],
  91901. "names": [],
  91902. "nodeType": "FunctionCall",
  91903. "src": "56920:95:50",
  91904. "tryCall": false,
  91905. "typeDescriptions": {
  91906. "typeIdentifier": "t_tuple$__$",
  91907. "typeString": "tuple()"
  91908. }
  91909. },
  91910. "id": 13926,
  91911. "nodeType": "ExpressionStatement",
  91912. "src": "56920:95:50"
  91913. }
  91914. ]
  91915. },
  91916. "implemented": true,
  91917. "kind": "function",
  91918. "modifiers": [],
  91919. "name": "log",
  91920. "nameLocation": "56838:3:50",
  91921. "parameters": {
  91922. "id": 13914,
  91923. "nodeType": "ParameterList",
  91924. "parameters": [
  91925. {
  91926. "constant": false,
  91927. "id": 13907,
  91928. "mutability": "mutable",
  91929. "name": "p0",
  91930. "nameLocation": "56850:2:50",
  91931. "nodeType": "VariableDeclaration",
  91932. "scope": 13928,
  91933. "src": "56842:10:50",
  91934. "stateVariable": false,
  91935. "storageLocation": "default",
  91936. "typeDescriptions": {
  91937. "typeIdentifier": "t_address",
  91938. "typeString": "address"
  91939. },
  91940. "typeName": {
  91941. "id": 13906,
  91942. "name": "address",
  91943. "nodeType": "ElementaryTypeName",
  91944. "src": "56842:7:50",
  91945. "stateMutability": "nonpayable",
  91946. "typeDescriptions": {
  91947. "typeIdentifier": "t_address",
  91948. "typeString": "address"
  91949. }
  91950. },
  91951. "visibility": "internal"
  91952. },
  91953. {
  91954. "constant": false,
  91955. "id": 13909,
  91956. "mutability": "mutable",
  91957. "name": "p1",
  91958. "nameLocation": "56862:2:50",
  91959. "nodeType": "VariableDeclaration",
  91960. "scope": 13928,
  91961. "src": "56854:10:50",
  91962. "stateVariable": false,
  91963. "storageLocation": "default",
  91964. "typeDescriptions": {
  91965. "typeIdentifier": "t_uint256",
  91966. "typeString": "uint256"
  91967. },
  91968. "typeName": {
  91969. "id": 13908,
  91970. "name": "uint256",
  91971. "nodeType": "ElementaryTypeName",
  91972. "src": "56854:7:50",
  91973. "typeDescriptions": {
  91974. "typeIdentifier": "t_uint256",
  91975. "typeString": "uint256"
  91976. }
  91977. },
  91978. "visibility": "internal"
  91979. },
  91980. {
  91981. "constant": false,
  91982. "id": 13911,
  91983. "mutability": "mutable",
  91984. "name": "p2",
  91985. "nameLocation": "56874:2:50",
  91986. "nodeType": "VariableDeclaration",
  91987. "scope": 13928,
  91988. "src": "56866:10:50",
  91989. "stateVariable": false,
  91990. "storageLocation": "default",
  91991. "typeDescriptions": {
  91992. "typeIdentifier": "t_uint256",
  91993. "typeString": "uint256"
  91994. },
  91995. "typeName": {
  91996. "id": 13910,
  91997. "name": "uint256",
  91998. "nodeType": "ElementaryTypeName",
  91999. "src": "56866:7:50",
  92000. "typeDescriptions": {
  92001. "typeIdentifier": "t_uint256",
  92002. "typeString": "uint256"
  92003. }
  92004. },
  92005. "visibility": "internal"
  92006. },
  92007. {
  92008. "constant": false,
  92009. "id": 13913,
  92010. "mutability": "mutable",
  92011. "name": "p3",
  92012. "nameLocation": "56892:2:50",
  92013. "nodeType": "VariableDeclaration",
  92014. "scope": 13928,
  92015. "src": "56878:16:50",
  92016. "stateVariable": false,
  92017. "storageLocation": "memory",
  92018. "typeDescriptions": {
  92019. "typeIdentifier": "t_string_memory_ptr",
  92020. "typeString": "string"
  92021. },
  92022. "typeName": {
  92023. "id": 13912,
  92024. "name": "string",
  92025. "nodeType": "ElementaryTypeName",
  92026. "src": "56878:6:50",
  92027. "typeDescriptions": {
  92028. "typeIdentifier": "t_string_storage_ptr",
  92029. "typeString": "string"
  92030. }
  92031. },
  92032. "visibility": "internal"
  92033. }
  92034. ],
  92035. "src": "56841:54:50"
  92036. },
  92037. "returnParameters": {
  92038. "id": 13915,
  92039. "nodeType": "ParameterList",
  92040. "parameters": [],
  92041. "src": "56910:0:50"
  92042. },
  92043. "scope": 15355,
  92044. "stateMutability": "pure",
  92045. "virtual": false,
  92046. "visibility": "internal"
  92047. },
  92048. {
  92049. "id": 13951,
  92050. "nodeType": "FunctionDefinition",
  92051. "src": "57028:182:50",
  92052. "nodes": [],
  92053. "body": {
  92054. "id": 13950,
  92055. "nodeType": "Block",
  92056. "src": "57100:110:50",
  92057. "nodes": [],
  92058. "statements": [
  92059. {
  92060. "expression": {
  92061. "arguments": [
  92062. {
  92063. "arguments": [
  92064. {
  92065. "hexValue": "6c6f6728616464726573732c75696e743235362c75696e743235362c626f6f6c29",
  92066. "id": 13942,
  92067. "isConstant": false,
  92068. "isLValue": false,
  92069. "isPure": true,
  92070. "kind": "string",
  92071. "lValueRequested": false,
  92072. "nodeType": "Literal",
  92073. "src": "57150:35:50",
  92074. "typeDescriptions": {
  92075. "typeIdentifier": "t_stringliteral_66f1bc67b5cb59260b3541ed684f0a38ab8f590dfff7947bd562de33eae3c57e",
  92076. "typeString": "literal_string \"log(address,uint256,uint256,bool)\""
  92077. },
  92078. "value": "log(address,uint256,uint256,bool)"
  92079. },
  92080. {
  92081. "id": 13943,
  92082. "name": "p0",
  92083. "nodeType": "Identifier",
  92084. "overloadedDeclarations": [],
  92085. "referencedDeclaration": 13930,
  92086. "src": "57187:2:50",
  92087. "typeDescriptions": {
  92088. "typeIdentifier": "t_address",
  92089. "typeString": "address"
  92090. }
  92091. },
  92092. {
  92093. "id": 13944,
  92094. "name": "p1",
  92095. "nodeType": "Identifier",
  92096. "overloadedDeclarations": [],
  92097. "referencedDeclaration": 13932,
  92098. "src": "57191:2:50",
  92099. "typeDescriptions": {
  92100. "typeIdentifier": "t_uint256",
  92101. "typeString": "uint256"
  92102. }
  92103. },
  92104. {
  92105. "id": 13945,
  92106. "name": "p2",
  92107. "nodeType": "Identifier",
  92108. "overloadedDeclarations": [],
  92109. "referencedDeclaration": 13934,
  92110. "src": "57195:2:50",
  92111. "typeDescriptions": {
  92112. "typeIdentifier": "t_uint256",
  92113. "typeString": "uint256"
  92114. }
  92115. },
  92116. {
  92117. "id": 13946,
  92118. "name": "p3",
  92119. "nodeType": "Identifier",
  92120. "overloadedDeclarations": [],
  92121. "referencedDeclaration": 13936,
  92122. "src": "57199:2:50",
  92123. "typeDescriptions": {
  92124. "typeIdentifier": "t_bool",
  92125. "typeString": "bool"
  92126. }
  92127. }
  92128. ],
  92129. "expression": {
  92130. "argumentTypes": [
  92131. {
  92132. "typeIdentifier": "t_stringliteral_66f1bc67b5cb59260b3541ed684f0a38ab8f590dfff7947bd562de33eae3c57e",
  92133. "typeString": "literal_string \"log(address,uint256,uint256,bool)\""
  92134. },
  92135. {
  92136. "typeIdentifier": "t_address",
  92137. "typeString": "address"
  92138. },
  92139. {
  92140. "typeIdentifier": "t_uint256",
  92141. "typeString": "uint256"
  92142. },
  92143. {
  92144. "typeIdentifier": "t_uint256",
  92145. "typeString": "uint256"
  92146. },
  92147. {
  92148. "typeIdentifier": "t_bool",
  92149. "typeString": "bool"
  92150. }
  92151. ],
  92152. "expression": {
  92153. "id": 13940,
  92154. "name": "abi",
  92155. "nodeType": "Identifier",
  92156. "overloadedDeclarations": [],
  92157. "referencedDeclaration": -1,
  92158. "src": "57126:3:50",
  92159. "typeDescriptions": {
  92160. "typeIdentifier": "t_magic_abi",
  92161. "typeString": "abi"
  92162. }
  92163. },
  92164. "id": 13941,
  92165. "isConstant": false,
  92166. "isLValue": false,
  92167. "isPure": true,
  92168. "lValueRequested": false,
  92169. "memberLocation": "57130:19:50",
  92170. "memberName": "encodeWithSignature",
  92171. "nodeType": "MemberAccess",
  92172. "src": "57126:23:50",
  92173. "typeDescriptions": {
  92174. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  92175. "typeString": "function (string memory) pure returns (bytes memory)"
  92176. }
  92177. },
  92178. "id": 13947,
  92179. "isConstant": false,
  92180. "isLValue": false,
  92181. "isPure": false,
  92182. "kind": "functionCall",
  92183. "lValueRequested": false,
  92184. "nameLocations": [],
  92185. "names": [],
  92186. "nodeType": "FunctionCall",
  92187. "src": "57126:76:50",
  92188. "tryCall": false,
  92189. "typeDescriptions": {
  92190. "typeIdentifier": "t_bytes_memory_ptr",
  92191. "typeString": "bytes memory"
  92192. }
  92193. }
  92194. ],
  92195. "expression": {
  92196. "argumentTypes": [
  92197. {
  92198. "typeIdentifier": "t_bytes_memory_ptr",
  92199. "typeString": "bytes memory"
  92200. }
  92201. ],
  92202. "id": 13939,
  92203. "name": "_sendLogPayload",
  92204. "nodeType": "Identifier",
  92205. "overloadedDeclarations": [],
  92206. "referencedDeclaration": 7315,
  92207. "src": "57110:15:50",
  92208. "typeDescriptions": {
  92209. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  92210. "typeString": "function (bytes memory) pure"
  92211. }
  92212. },
  92213. "id": 13948,
  92214. "isConstant": false,
  92215. "isLValue": false,
  92216. "isPure": false,
  92217. "kind": "functionCall",
  92218. "lValueRequested": false,
  92219. "nameLocations": [],
  92220. "names": [],
  92221. "nodeType": "FunctionCall",
  92222. "src": "57110:93:50",
  92223. "tryCall": false,
  92224. "typeDescriptions": {
  92225. "typeIdentifier": "t_tuple$__$",
  92226. "typeString": "tuple()"
  92227. }
  92228. },
  92229. "id": 13949,
  92230. "nodeType": "ExpressionStatement",
  92231. "src": "57110:93:50"
  92232. }
  92233. ]
  92234. },
  92235. "implemented": true,
  92236. "kind": "function",
  92237. "modifiers": [],
  92238. "name": "log",
  92239. "nameLocation": "57037:3:50",
  92240. "parameters": {
  92241. "id": 13937,
  92242. "nodeType": "ParameterList",
  92243. "parameters": [
  92244. {
  92245. "constant": false,
  92246. "id": 13930,
  92247. "mutability": "mutable",
  92248. "name": "p0",
  92249. "nameLocation": "57049:2:50",
  92250. "nodeType": "VariableDeclaration",
  92251. "scope": 13951,
  92252. "src": "57041:10:50",
  92253. "stateVariable": false,
  92254. "storageLocation": "default",
  92255. "typeDescriptions": {
  92256. "typeIdentifier": "t_address",
  92257. "typeString": "address"
  92258. },
  92259. "typeName": {
  92260. "id": 13929,
  92261. "name": "address",
  92262. "nodeType": "ElementaryTypeName",
  92263. "src": "57041:7:50",
  92264. "stateMutability": "nonpayable",
  92265. "typeDescriptions": {
  92266. "typeIdentifier": "t_address",
  92267. "typeString": "address"
  92268. }
  92269. },
  92270. "visibility": "internal"
  92271. },
  92272. {
  92273. "constant": false,
  92274. "id": 13932,
  92275. "mutability": "mutable",
  92276. "name": "p1",
  92277. "nameLocation": "57061:2:50",
  92278. "nodeType": "VariableDeclaration",
  92279. "scope": 13951,
  92280. "src": "57053:10:50",
  92281. "stateVariable": false,
  92282. "storageLocation": "default",
  92283. "typeDescriptions": {
  92284. "typeIdentifier": "t_uint256",
  92285. "typeString": "uint256"
  92286. },
  92287. "typeName": {
  92288. "id": 13931,
  92289. "name": "uint256",
  92290. "nodeType": "ElementaryTypeName",
  92291. "src": "57053:7:50",
  92292. "typeDescriptions": {
  92293. "typeIdentifier": "t_uint256",
  92294. "typeString": "uint256"
  92295. }
  92296. },
  92297. "visibility": "internal"
  92298. },
  92299. {
  92300. "constant": false,
  92301. "id": 13934,
  92302. "mutability": "mutable",
  92303. "name": "p2",
  92304. "nameLocation": "57073:2:50",
  92305. "nodeType": "VariableDeclaration",
  92306. "scope": 13951,
  92307. "src": "57065:10:50",
  92308. "stateVariable": false,
  92309. "storageLocation": "default",
  92310. "typeDescriptions": {
  92311. "typeIdentifier": "t_uint256",
  92312. "typeString": "uint256"
  92313. },
  92314. "typeName": {
  92315. "id": 13933,
  92316. "name": "uint256",
  92317. "nodeType": "ElementaryTypeName",
  92318. "src": "57065:7:50",
  92319. "typeDescriptions": {
  92320. "typeIdentifier": "t_uint256",
  92321. "typeString": "uint256"
  92322. }
  92323. },
  92324. "visibility": "internal"
  92325. },
  92326. {
  92327. "constant": false,
  92328. "id": 13936,
  92329. "mutability": "mutable",
  92330. "name": "p3",
  92331. "nameLocation": "57082:2:50",
  92332. "nodeType": "VariableDeclaration",
  92333. "scope": 13951,
  92334. "src": "57077:7:50",
  92335. "stateVariable": false,
  92336. "storageLocation": "default",
  92337. "typeDescriptions": {
  92338. "typeIdentifier": "t_bool",
  92339. "typeString": "bool"
  92340. },
  92341. "typeName": {
  92342. "id": 13935,
  92343. "name": "bool",
  92344. "nodeType": "ElementaryTypeName",
  92345. "src": "57077:4:50",
  92346. "typeDescriptions": {
  92347. "typeIdentifier": "t_bool",
  92348. "typeString": "bool"
  92349. }
  92350. },
  92351. "visibility": "internal"
  92352. }
  92353. ],
  92354. "src": "57040:45:50"
  92355. },
  92356. "returnParameters": {
  92357. "id": 13938,
  92358. "nodeType": "ParameterList",
  92359. "parameters": [],
  92360. "src": "57100:0:50"
  92361. },
  92362. "scope": 15355,
  92363. "stateMutability": "pure",
  92364. "virtual": false,
  92365. "visibility": "internal"
  92366. },
  92367. {
  92368. "id": 13974,
  92369. "nodeType": "FunctionDefinition",
  92370. "src": "57216:188:50",
  92371. "nodes": [],
  92372. "body": {
  92373. "id": 13973,
  92374. "nodeType": "Block",
  92375. "src": "57291:113:50",
  92376. "nodes": [],
  92377. "statements": [
  92378. {
  92379. "expression": {
  92380. "arguments": [
  92381. {
  92382. "arguments": [
  92383. {
  92384. "hexValue": "6c6f6728616464726573732c75696e743235362c75696e743235362c6164647265737329",
  92385. "id": 13965,
  92386. "isConstant": false,
  92387. "isLValue": false,
  92388. "isPure": true,
  92389. "kind": "string",
  92390. "lValueRequested": false,
  92391. "nodeType": "Literal",
  92392. "src": "57341:38:50",
  92393. "typeDescriptions": {
  92394. "typeIdentifier": "t_stringliteral_20e3984d0b91232a40a479187d959e3fb7102cd2a40a0267e07a4f648290e390",
  92395. "typeString": "literal_string \"log(address,uint256,uint256,address)\""
  92396. },
  92397. "value": "log(address,uint256,uint256,address)"
  92398. },
  92399. {
  92400. "id": 13966,
  92401. "name": "p0",
  92402. "nodeType": "Identifier",
  92403. "overloadedDeclarations": [],
  92404. "referencedDeclaration": 13953,
  92405. "src": "57381:2:50",
  92406. "typeDescriptions": {
  92407. "typeIdentifier": "t_address",
  92408. "typeString": "address"
  92409. }
  92410. },
  92411. {
  92412. "id": 13967,
  92413. "name": "p1",
  92414. "nodeType": "Identifier",
  92415. "overloadedDeclarations": [],
  92416. "referencedDeclaration": 13955,
  92417. "src": "57385:2:50",
  92418. "typeDescriptions": {
  92419. "typeIdentifier": "t_uint256",
  92420. "typeString": "uint256"
  92421. }
  92422. },
  92423. {
  92424. "id": 13968,
  92425. "name": "p2",
  92426. "nodeType": "Identifier",
  92427. "overloadedDeclarations": [],
  92428. "referencedDeclaration": 13957,
  92429. "src": "57389:2:50",
  92430. "typeDescriptions": {
  92431. "typeIdentifier": "t_uint256",
  92432. "typeString": "uint256"
  92433. }
  92434. },
  92435. {
  92436. "id": 13969,
  92437. "name": "p3",
  92438. "nodeType": "Identifier",
  92439. "overloadedDeclarations": [],
  92440. "referencedDeclaration": 13959,
  92441. "src": "57393:2:50",
  92442. "typeDescriptions": {
  92443. "typeIdentifier": "t_address",
  92444. "typeString": "address"
  92445. }
  92446. }
  92447. ],
  92448. "expression": {
  92449. "argumentTypes": [
  92450. {
  92451. "typeIdentifier": "t_stringliteral_20e3984d0b91232a40a479187d959e3fb7102cd2a40a0267e07a4f648290e390",
  92452. "typeString": "literal_string \"log(address,uint256,uint256,address)\""
  92453. },
  92454. {
  92455. "typeIdentifier": "t_address",
  92456. "typeString": "address"
  92457. },
  92458. {
  92459. "typeIdentifier": "t_uint256",
  92460. "typeString": "uint256"
  92461. },
  92462. {
  92463. "typeIdentifier": "t_uint256",
  92464. "typeString": "uint256"
  92465. },
  92466. {
  92467. "typeIdentifier": "t_address",
  92468. "typeString": "address"
  92469. }
  92470. ],
  92471. "expression": {
  92472. "id": 13963,
  92473. "name": "abi",
  92474. "nodeType": "Identifier",
  92475. "overloadedDeclarations": [],
  92476. "referencedDeclaration": -1,
  92477. "src": "57317:3:50",
  92478. "typeDescriptions": {
  92479. "typeIdentifier": "t_magic_abi",
  92480. "typeString": "abi"
  92481. }
  92482. },
  92483. "id": 13964,
  92484. "isConstant": false,
  92485. "isLValue": false,
  92486. "isPure": true,
  92487. "lValueRequested": false,
  92488. "memberLocation": "57321:19:50",
  92489. "memberName": "encodeWithSignature",
  92490. "nodeType": "MemberAccess",
  92491. "src": "57317:23:50",
  92492. "typeDescriptions": {
  92493. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  92494. "typeString": "function (string memory) pure returns (bytes memory)"
  92495. }
  92496. },
  92497. "id": 13970,
  92498. "isConstant": false,
  92499. "isLValue": false,
  92500. "isPure": false,
  92501. "kind": "functionCall",
  92502. "lValueRequested": false,
  92503. "nameLocations": [],
  92504. "names": [],
  92505. "nodeType": "FunctionCall",
  92506. "src": "57317:79:50",
  92507. "tryCall": false,
  92508. "typeDescriptions": {
  92509. "typeIdentifier": "t_bytes_memory_ptr",
  92510. "typeString": "bytes memory"
  92511. }
  92512. }
  92513. ],
  92514. "expression": {
  92515. "argumentTypes": [
  92516. {
  92517. "typeIdentifier": "t_bytes_memory_ptr",
  92518. "typeString": "bytes memory"
  92519. }
  92520. ],
  92521. "id": 13962,
  92522. "name": "_sendLogPayload",
  92523. "nodeType": "Identifier",
  92524. "overloadedDeclarations": [],
  92525. "referencedDeclaration": 7315,
  92526. "src": "57301:15:50",
  92527. "typeDescriptions": {
  92528. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  92529. "typeString": "function (bytes memory) pure"
  92530. }
  92531. },
  92532. "id": 13971,
  92533. "isConstant": false,
  92534. "isLValue": false,
  92535. "isPure": false,
  92536. "kind": "functionCall",
  92537. "lValueRequested": false,
  92538. "nameLocations": [],
  92539. "names": [],
  92540. "nodeType": "FunctionCall",
  92541. "src": "57301:96:50",
  92542. "tryCall": false,
  92543. "typeDescriptions": {
  92544. "typeIdentifier": "t_tuple$__$",
  92545. "typeString": "tuple()"
  92546. }
  92547. },
  92548. "id": 13972,
  92549. "nodeType": "ExpressionStatement",
  92550. "src": "57301:96:50"
  92551. }
  92552. ]
  92553. },
  92554. "implemented": true,
  92555. "kind": "function",
  92556. "modifiers": [],
  92557. "name": "log",
  92558. "nameLocation": "57225:3:50",
  92559. "parameters": {
  92560. "id": 13960,
  92561. "nodeType": "ParameterList",
  92562. "parameters": [
  92563. {
  92564. "constant": false,
  92565. "id": 13953,
  92566. "mutability": "mutable",
  92567. "name": "p0",
  92568. "nameLocation": "57237:2:50",
  92569. "nodeType": "VariableDeclaration",
  92570. "scope": 13974,
  92571. "src": "57229:10:50",
  92572. "stateVariable": false,
  92573. "storageLocation": "default",
  92574. "typeDescriptions": {
  92575. "typeIdentifier": "t_address",
  92576. "typeString": "address"
  92577. },
  92578. "typeName": {
  92579. "id": 13952,
  92580. "name": "address",
  92581. "nodeType": "ElementaryTypeName",
  92582. "src": "57229:7:50",
  92583. "stateMutability": "nonpayable",
  92584. "typeDescriptions": {
  92585. "typeIdentifier": "t_address",
  92586. "typeString": "address"
  92587. }
  92588. },
  92589. "visibility": "internal"
  92590. },
  92591. {
  92592. "constant": false,
  92593. "id": 13955,
  92594. "mutability": "mutable",
  92595. "name": "p1",
  92596. "nameLocation": "57249:2:50",
  92597. "nodeType": "VariableDeclaration",
  92598. "scope": 13974,
  92599. "src": "57241:10:50",
  92600. "stateVariable": false,
  92601. "storageLocation": "default",
  92602. "typeDescriptions": {
  92603. "typeIdentifier": "t_uint256",
  92604. "typeString": "uint256"
  92605. },
  92606. "typeName": {
  92607. "id": 13954,
  92608. "name": "uint256",
  92609. "nodeType": "ElementaryTypeName",
  92610. "src": "57241:7:50",
  92611. "typeDescriptions": {
  92612. "typeIdentifier": "t_uint256",
  92613. "typeString": "uint256"
  92614. }
  92615. },
  92616. "visibility": "internal"
  92617. },
  92618. {
  92619. "constant": false,
  92620. "id": 13957,
  92621. "mutability": "mutable",
  92622. "name": "p2",
  92623. "nameLocation": "57261:2:50",
  92624. "nodeType": "VariableDeclaration",
  92625. "scope": 13974,
  92626. "src": "57253:10:50",
  92627. "stateVariable": false,
  92628. "storageLocation": "default",
  92629. "typeDescriptions": {
  92630. "typeIdentifier": "t_uint256",
  92631. "typeString": "uint256"
  92632. },
  92633. "typeName": {
  92634. "id": 13956,
  92635. "name": "uint256",
  92636. "nodeType": "ElementaryTypeName",
  92637. "src": "57253:7:50",
  92638. "typeDescriptions": {
  92639. "typeIdentifier": "t_uint256",
  92640. "typeString": "uint256"
  92641. }
  92642. },
  92643. "visibility": "internal"
  92644. },
  92645. {
  92646. "constant": false,
  92647. "id": 13959,
  92648. "mutability": "mutable",
  92649. "name": "p3",
  92650. "nameLocation": "57273:2:50",
  92651. "nodeType": "VariableDeclaration",
  92652. "scope": 13974,
  92653. "src": "57265:10:50",
  92654. "stateVariable": false,
  92655. "storageLocation": "default",
  92656. "typeDescriptions": {
  92657. "typeIdentifier": "t_address",
  92658. "typeString": "address"
  92659. },
  92660. "typeName": {
  92661. "id": 13958,
  92662. "name": "address",
  92663. "nodeType": "ElementaryTypeName",
  92664. "src": "57265:7:50",
  92665. "stateMutability": "nonpayable",
  92666. "typeDescriptions": {
  92667. "typeIdentifier": "t_address",
  92668. "typeString": "address"
  92669. }
  92670. },
  92671. "visibility": "internal"
  92672. }
  92673. ],
  92674. "src": "57228:48:50"
  92675. },
  92676. "returnParameters": {
  92677. "id": 13961,
  92678. "nodeType": "ParameterList",
  92679. "parameters": [],
  92680. "src": "57291:0:50"
  92681. },
  92682. "scope": 15355,
  92683. "stateMutability": "pure",
  92684. "virtual": false,
  92685. "visibility": "internal"
  92686. },
  92687. {
  92688. "id": 13997,
  92689. "nodeType": "FunctionDefinition",
  92690. "src": "57410:193:50",
  92691. "nodes": [],
  92692. "body": {
  92693. "id": 13996,
  92694. "nodeType": "Block",
  92695. "src": "57491:112:50",
  92696. "nodes": [],
  92697. "statements": [
  92698. {
  92699. "expression": {
  92700. "arguments": [
  92701. {
  92702. "arguments": [
  92703. {
  92704. "hexValue": "6c6f6728616464726573732c75696e743235362c737472696e672c75696e7432353629",
  92705. "id": 13988,
  92706. "isConstant": false,
  92707. "isLValue": false,
  92708. "isPure": true,
  92709. "kind": "string",
  92710. "lValueRequested": false,
  92711. "nodeType": "Literal",
  92712. "src": "57541:37:50",
  92713. "typeDescriptions": {
  92714. "typeIdentifier": "t_stringliteral_bf01f89152073297823dffc184d44302911f7269a4d8bb68457feda7325d0054",
  92715. "typeString": "literal_string \"log(address,uint256,string,uint256)\""
  92716. },
  92717. "value": "log(address,uint256,string,uint256)"
  92718. },
  92719. {
  92720. "id": 13989,
  92721. "name": "p0",
  92722. "nodeType": "Identifier",
  92723. "overloadedDeclarations": [],
  92724. "referencedDeclaration": 13976,
  92725. "src": "57580:2:50",
  92726. "typeDescriptions": {
  92727. "typeIdentifier": "t_address",
  92728. "typeString": "address"
  92729. }
  92730. },
  92731. {
  92732. "id": 13990,
  92733. "name": "p1",
  92734. "nodeType": "Identifier",
  92735. "overloadedDeclarations": [],
  92736. "referencedDeclaration": 13978,
  92737. "src": "57584:2:50",
  92738. "typeDescriptions": {
  92739. "typeIdentifier": "t_uint256",
  92740. "typeString": "uint256"
  92741. }
  92742. },
  92743. {
  92744. "id": 13991,
  92745. "name": "p2",
  92746. "nodeType": "Identifier",
  92747. "overloadedDeclarations": [],
  92748. "referencedDeclaration": 13980,
  92749. "src": "57588:2:50",
  92750. "typeDescriptions": {
  92751. "typeIdentifier": "t_string_memory_ptr",
  92752. "typeString": "string memory"
  92753. }
  92754. },
  92755. {
  92756. "id": 13992,
  92757. "name": "p3",
  92758. "nodeType": "Identifier",
  92759. "overloadedDeclarations": [],
  92760. "referencedDeclaration": 13982,
  92761. "src": "57592:2:50",
  92762. "typeDescriptions": {
  92763. "typeIdentifier": "t_uint256",
  92764. "typeString": "uint256"
  92765. }
  92766. }
  92767. ],
  92768. "expression": {
  92769. "argumentTypes": [
  92770. {
  92771. "typeIdentifier": "t_stringliteral_bf01f89152073297823dffc184d44302911f7269a4d8bb68457feda7325d0054",
  92772. "typeString": "literal_string \"log(address,uint256,string,uint256)\""
  92773. },
  92774. {
  92775. "typeIdentifier": "t_address",
  92776. "typeString": "address"
  92777. },
  92778. {
  92779. "typeIdentifier": "t_uint256",
  92780. "typeString": "uint256"
  92781. },
  92782. {
  92783. "typeIdentifier": "t_string_memory_ptr",
  92784. "typeString": "string memory"
  92785. },
  92786. {
  92787. "typeIdentifier": "t_uint256",
  92788. "typeString": "uint256"
  92789. }
  92790. ],
  92791. "expression": {
  92792. "id": 13986,
  92793. "name": "abi",
  92794. "nodeType": "Identifier",
  92795. "overloadedDeclarations": [],
  92796. "referencedDeclaration": -1,
  92797. "src": "57517:3:50",
  92798. "typeDescriptions": {
  92799. "typeIdentifier": "t_magic_abi",
  92800. "typeString": "abi"
  92801. }
  92802. },
  92803. "id": 13987,
  92804. "isConstant": false,
  92805. "isLValue": false,
  92806. "isPure": true,
  92807. "lValueRequested": false,
  92808. "memberLocation": "57521:19:50",
  92809. "memberName": "encodeWithSignature",
  92810. "nodeType": "MemberAccess",
  92811. "src": "57517:23:50",
  92812. "typeDescriptions": {
  92813. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  92814. "typeString": "function (string memory) pure returns (bytes memory)"
  92815. }
  92816. },
  92817. "id": 13993,
  92818. "isConstant": false,
  92819. "isLValue": false,
  92820. "isPure": false,
  92821. "kind": "functionCall",
  92822. "lValueRequested": false,
  92823. "nameLocations": [],
  92824. "names": [],
  92825. "nodeType": "FunctionCall",
  92826. "src": "57517:78:50",
  92827. "tryCall": false,
  92828. "typeDescriptions": {
  92829. "typeIdentifier": "t_bytes_memory_ptr",
  92830. "typeString": "bytes memory"
  92831. }
  92832. }
  92833. ],
  92834. "expression": {
  92835. "argumentTypes": [
  92836. {
  92837. "typeIdentifier": "t_bytes_memory_ptr",
  92838. "typeString": "bytes memory"
  92839. }
  92840. ],
  92841. "id": 13985,
  92842. "name": "_sendLogPayload",
  92843. "nodeType": "Identifier",
  92844. "overloadedDeclarations": [],
  92845. "referencedDeclaration": 7315,
  92846. "src": "57501:15:50",
  92847. "typeDescriptions": {
  92848. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  92849. "typeString": "function (bytes memory) pure"
  92850. }
  92851. },
  92852. "id": 13994,
  92853. "isConstant": false,
  92854. "isLValue": false,
  92855. "isPure": false,
  92856. "kind": "functionCall",
  92857. "lValueRequested": false,
  92858. "nameLocations": [],
  92859. "names": [],
  92860. "nodeType": "FunctionCall",
  92861. "src": "57501:95:50",
  92862. "tryCall": false,
  92863. "typeDescriptions": {
  92864. "typeIdentifier": "t_tuple$__$",
  92865. "typeString": "tuple()"
  92866. }
  92867. },
  92868. "id": 13995,
  92869. "nodeType": "ExpressionStatement",
  92870. "src": "57501:95:50"
  92871. }
  92872. ]
  92873. },
  92874. "implemented": true,
  92875. "kind": "function",
  92876. "modifiers": [],
  92877. "name": "log",
  92878. "nameLocation": "57419:3:50",
  92879. "parameters": {
  92880. "id": 13983,
  92881. "nodeType": "ParameterList",
  92882. "parameters": [
  92883. {
  92884. "constant": false,
  92885. "id": 13976,
  92886. "mutability": "mutable",
  92887. "name": "p0",
  92888. "nameLocation": "57431:2:50",
  92889. "nodeType": "VariableDeclaration",
  92890. "scope": 13997,
  92891. "src": "57423:10:50",
  92892. "stateVariable": false,
  92893. "storageLocation": "default",
  92894. "typeDescriptions": {
  92895. "typeIdentifier": "t_address",
  92896. "typeString": "address"
  92897. },
  92898. "typeName": {
  92899. "id": 13975,
  92900. "name": "address",
  92901. "nodeType": "ElementaryTypeName",
  92902. "src": "57423:7:50",
  92903. "stateMutability": "nonpayable",
  92904. "typeDescriptions": {
  92905. "typeIdentifier": "t_address",
  92906. "typeString": "address"
  92907. }
  92908. },
  92909. "visibility": "internal"
  92910. },
  92911. {
  92912. "constant": false,
  92913. "id": 13978,
  92914. "mutability": "mutable",
  92915. "name": "p1",
  92916. "nameLocation": "57443:2:50",
  92917. "nodeType": "VariableDeclaration",
  92918. "scope": 13997,
  92919. "src": "57435:10:50",
  92920. "stateVariable": false,
  92921. "storageLocation": "default",
  92922. "typeDescriptions": {
  92923. "typeIdentifier": "t_uint256",
  92924. "typeString": "uint256"
  92925. },
  92926. "typeName": {
  92927. "id": 13977,
  92928. "name": "uint256",
  92929. "nodeType": "ElementaryTypeName",
  92930. "src": "57435:7:50",
  92931. "typeDescriptions": {
  92932. "typeIdentifier": "t_uint256",
  92933. "typeString": "uint256"
  92934. }
  92935. },
  92936. "visibility": "internal"
  92937. },
  92938. {
  92939. "constant": false,
  92940. "id": 13980,
  92941. "mutability": "mutable",
  92942. "name": "p2",
  92943. "nameLocation": "57461:2:50",
  92944. "nodeType": "VariableDeclaration",
  92945. "scope": 13997,
  92946. "src": "57447:16:50",
  92947. "stateVariable": false,
  92948. "storageLocation": "memory",
  92949. "typeDescriptions": {
  92950. "typeIdentifier": "t_string_memory_ptr",
  92951. "typeString": "string"
  92952. },
  92953. "typeName": {
  92954. "id": 13979,
  92955. "name": "string",
  92956. "nodeType": "ElementaryTypeName",
  92957. "src": "57447:6:50",
  92958. "typeDescriptions": {
  92959. "typeIdentifier": "t_string_storage_ptr",
  92960. "typeString": "string"
  92961. }
  92962. },
  92963. "visibility": "internal"
  92964. },
  92965. {
  92966. "constant": false,
  92967. "id": 13982,
  92968. "mutability": "mutable",
  92969. "name": "p3",
  92970. "nameLocation": "57473:2:50",
  92971. "nodeType": "VariableDeclaration",
  92972. "scope": 13997,
  92973. "src": "57465:10:50",
  92974. "stateVariable": false,
  92975. "storageLocation": "default",
  92976. "typeDescriptions": {
  92977. "typeIdentifier": "t_uint256",
  92978. "typeString": "uint256"
  92979. },
  92980. "typeName": {
  92981. "id": 13981,
  92982. "name": "uint256",
  92983. "nodeType": "ElementaryTypeName",
  92984. "src": "57465:7:50",
  92985. "typeDescriptions": {
  92986. "typeIdentifier": "t_uint256",
  92987. "typeString": "uint256"
  92988. }
  92989. },
  92990. "visibility": "internal"
  92991. }
  92992. ],
  92993. "src": "57422:54:50"
  92994. },
  92995. "returnParameters": {
  92996. "id": 13984,
  92997. "nodeType": "ParameterList",
  92998. "parameters": [],
  92999. "src": "57491:0:50"
  93000. },
  93001. "scope": 15355,
  93002. "stateMutability": "pure",
  93003. "virtual": false,
  93004. "visibility": "internal"
  93005. },
  93006. {
  93007. "id": 14020,
  93008. "nodeType": "FunctionDefinition",
  93009. "src": "57609:198:50",
  93010. "nodes": [],
  93011. "body": {
  93012. "id": 14019,
  93013. "nodeType": "Block",
  93014. "src": "57696:111:50",
  93015. "nodes": [],
  93016. "statements": [
  93017. {
  93018. "expression": {
  93019. "arguments": [
  93020. {
  93021. "arguments": [
  93022. {
  93023. "hexValue": "6c6f6728616464726573732c75696e743235362c737472696e672c737472696e6729",
  93024. "id": 14011,
  93025. "isConstant": false,
  93026. "isLValue": false,
  93027. "isPure": true,
  93028. "kind": "string",
  93029. "lValueRequested": false,
  93030. "nodeType": "Literal",
  93031. "src": "57746:36:50",
  93032. "typeDescriptions": {
  93033. "typeIdentifier": "t_stringliteral_88a8c40673ee8948292248925b0e9d44ca87355f3f886942e848cf22ee50e1c9",
  93034. "typeString": "literal_string \"log(address,uint256,string,string)\""
  93035. },
  93036. "value": "log(address,uint256,string,string)"
  93037. },
  93038. {
  93039. "id": 14012,
  93040. "name": "p0",
  93041. "nodeType": "Identifier",
  93042. "overloadedDeclarations": [],
  93043. "referencedDeclaration": 13999,
  93044. "src": "57784:2:50",
  93045. "typeDescriptions": {
  93046. "typeIdentifier": "t_address",
  93047. "typeString": "address"
  93048. }
  93049. },
  93050. {
  93051. "id": 14013,
  93052. "name": "p1",
  93053. "nodeType": "Identifier",
  93054. "overloadedDeclarations": [],
  93055. "referencedDeclaration": 14001,
  93056. "src": "57788:2:50",
  93057. "typeDescriptions": {
  93058. "typeIdentifier": "t_uint256",
  93059. "typeString": "uint256"
  93060. }
  93061. },
  93062. {
  93063. "id": 14014,
  93064. "name": "p2",
  93065. "nodeType": "Identifier",
  93066. "overloadedDeclarations": [],
  93067. "referencedDeclaration": 14003,
  93068. "src": "57792:2:50",
  93069. "typeDescriptions": {
  93070. "typeIdentifier": "t_string_memory_ptr",
  93071. "typeString": "string memory"
  93072. }
  93073. },
  93074. {
  93075. "id": 14015,
  93076. "name": "p3",
  93077. "nodeType": "Identifier",
  93078. "overloadedDeclarations": [],
  93079. "referencedDeclaration": 14005,
  93080. "src": "57796:2:50",
  93081. "typeDescriptions": {
  93082. "typeIdentifier": "t_string_memory_ptr",
  93083. "typeString": "string memory"
  93084. }
  93085. }
  93086. ],
  93087. "expression": {
  93088. "argumentTypes": [
  93089. {
  93090. "typeIdentifier": "t_stringliteral_88a8c40673ee8948292248925b0e9d44ca87355f3f886942e848cf22ee50e1c9",
  93091. "typeString": "literal_string \"log(address,uint256,string,string)\""
  93092. },
  93093. {
  93094. "typeIdentifier": "t_address",
  93095. "typeString": "address"
  93096. },
  93097. {
  93098. "typeIdentifier": "t_uint256",
  93099. "typeString": "uint256"
  93100. },
  93101. {
  93102. "typeIdentifier": "t_string_memory_ptr",
  93103. "typeString": "string memory"
  93104. },
  93105. {
  93106. "typeIdentifier": "t_string_memory_ptr",
  93107. "typeString": "string memory"
  93108. }
  93109. ],
  93110. "expression": {
  93111. "id": 14009,
  93112. "name": "abi",
  93113. "nodeType": "Identifier",
  93114. "overloadedDeclarations": [],
  93115. "referencedDeclaration": -1,
  93116. "src": "57722:3:50",
  93117. "typeDescriptions": {
  93118. "typeIdentifier": "t_magic_abi",
  93119. "typeString": "abi"
  93120. }
  93121. },
  93122. "id": 14010,
  93123. "isConstant": false,
  93124. "isLValue": false,
  93125. "isPure": true,
  93126. "lValueRequested": false,
  93127. "memberLocation": "57726:19:50",
  93128. "memberName": "encodeWithSignature",
  93129. "nodeType": "MemberAccess",
  93130. "src": "57722:23:50",
  93131. "typeDescriptions": {
  93132. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  93133. "typeString": "function (string memory) pure returns (bytes memory)"
  93134. }
  93135. },
  93136. "id": 14016,
  93137. "isConstant": false,
  93138. "isLValue": false,
  93139. "isPure": false,
  93140. "kind": "functionCall",
  93141. "lValueRequested": false,
  93142. "nameLocations": [],
  93143. "names": [],
  93144. "nodeType": "FunctionCall",
  93145. "src": "57722:77:50",
  93146. "tryCall": false,
  93147. "typeDescriptions": {
  93148. "typeIdentifier": "t_bytes_memory_ptr",
  93149. "typeString": "bytes memory"
  93150. }
  93151. }
  93152. ],
  93153. "expression": {
  93154. "argumentTypes": [
  93155. {
  93156. "typeIdentifier": "t_bytes_memory_ptr",
  93157. "typeString": "bytes memory"
  93158. }
  93159. ],
  93160. "id": 14008,
  93161. "name": "_sendLogPayload",
  93162. "nodeType": "Identifier",
  93163. "overloadedDeclarations": [],
  93164. "referencedDeclaration": 7315,
  93165. "src": "57706:15:50",
  93166. "typeDescriptions": {
  93167. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  93168. "typeString": "function (bytes memory) pure"
  93169. }
  93170. },
  93171. "id": 14017,
  93172. "isConstant": false,
  93173. "isLValue": false,
  93174. "isPure": false,
  93175. "kind": "functionCall",
  93176. "lValueRequested": false,
  93177. "nameLocations": [],
  93178. "names": [],
  93179. "nodeType": "FunctionCall",
  93180. "src": "57706:94:50",
  93181. "tryCall": false,
  93182. "typeDescriptions": {
  93183. "typeIdentifier": "t_tuple$__$",
  93184. "typeString": "tuple()"
  93185. }
  93186. },
  93187. "id": 14018,
  93188. "nodeType": "ExpressionStatement",
  93189. "src": "57706:94:50"
  93190. }
  93191. ]
  93192. },
  93193. "implemented": true,
  93194. "kind": "function",
  93195. "modifiers": [],
  93196. "name": "log",
  93197. "nameLocation": "57618:3:50",
  93198. "parameters": {
  93199. "id": 14006,
  93200. "nodeType": "ParameterList",
  93201. "parameters": [
  93202. {
  93203. "constant": false,
  93204. "id": 13999,
  93205. "mutability": "mutable",
  93206. "name": "p0",
  93207. "nameLocation": "57630:2:50",
  93208. "nodeType": "VariableDeclaration",
  93209. "scope": 14020,
  93210. "src": "57622:10:50",
  93211. "stateVariable": false,
  93212. "storageLocation": "default",
  93213. "typeDescriptions": {
  93214. "typeIdentifier": "t_address",
  93215. "typeString": "address"
  93216. },
  93217. "typeName": {
  93218. "id": 13998,
  93219. "name": "address",
  93220. "nodeType": "ElementaryTypeName",
  93221. "src": "57622:7:50",
  93222. "stateMutability": "nonpayable",
  93223. "typeDescriptions": {
  93224. "typeIdentifier": "t_address",
  93225. "typeString": "address"
  93226. }
  93227. },
  93228. "visibility": "internal"
  93229. },
  93230. {
  93231. "constant": false,
  93232. "id": 14001,
  93233. "mutability": "mutable",
  93234. "name": "p1",
  93235. "nameLocation": "57642:2:50",
  93236. "nodeType": "VariableDeclaration",
  93237. "scope": 14020,
  93238. "src": "57634:10:50",
  93239. "stateVariable": false,
  93240. "storageLocation": "default",
  93241. "typeDescriptions": {
  93242. "typeIdentifier": "t_uint256",
  93243. "typeString": "uint256"
  93244. },
  93245. "typeName": {
  93246. "id": 14000,
  93247. "name": "uint256",
  93248. "nodeType": "ElementaryTypeName",
  93249. "src": "57634:7:50",
  93250. "typeDescriptions": {
  93251. "typeIdentifier": "t_uint256",
  93252. "typeString": "uint256"
  93253. }
  93254. },
  93255. "visibility": "internal"
  93256. },
  93257. {
  93258. "constant": false,
  93259. "id": 14003,
  93260. "mutability": "mutable",
  93261. "name": "p2",
  93262. "nameLocation": "57660:2:50",
  93263. "nodeType": "VariableDeclaration",
  93264. "scope": 14020,
  93265. "src": "57646:16:50",
  93266. "stateVariable": false,
  93267. "storageLocation": "memory",
  93268. "typeDescriptions": {
  93269. "typeIdentifier": "t_string_memory_ptr",
  93270. "typeString": "string"
  93271. },
  93272. "typeName": {
  93273. "id": 14002,
  93274. "name": "string",
  93275. "nodeType": "ElementaryTypeName",
  93276. "src": "57646:6:50",
  93277. "typeDescriptions": {
  93278. "typeIdentifier": "t_string_storage_ptr",
  93279. "typeString": "string"
  93280. }
  93281. },
  93282. "visibility": "internal"
  93283. },
  93284. {
  93285. "constant": false,
  93286. "id": 14005,
  93287. "mutability": "mutable",
  93288. "name": "p3",
  93289. "nameLocation": "57678:2:50",
  93290. "nodeType": "VariableDeclaration",
  93291. "scope": 14020,
  93292. "src": "57664:16:50",
  93293. "stateVariable": false,
  93294. "storageLocation": "memory",
  93295. "typeDescriptions": {
  93296. "typeIdentifier": "t_string_memory_ptr",
  93297. "typeString": "string"
  93298. },
  93299. "typeName": {
  93300. "id": 14004,
  93301. "name": "string",
  93302. "nodeType": "ElementaryTypeName",
  93303. "src": "57664:6:50",
  93304. "typeDescriptions": {
  93305. "typeIdentifier": "t_string_storage_ptr",
  93306. "typeString": "string"
  93307. }
  93308. },
  93309. "visibility": "internal"
  93310. }
  93311. ],
  93312. "src": "57621:60:50"
  93313. },
  93314. "returnParameters": {
  93315. "id": 14007,
  93316. "nodeType": "ParameterList",
  93317. "parameters": [],
  93318. "src": "57696:0:50"
  93319. },
  93320. "scope": 15355,
  93321. "stateMutability": "pure",
  93322. "virtual": false,
  93323. "visibility": "internal"
  93324. },
  93325. {
  93326. "id": 14043,
  93327. "nodeType": "FunctionDefinition",
  93328. "src": "57813:187:50",
  93329. "nodes": [],
  93330. "body": {
  93331. "id": 14042,
  93332. "nodeType": "Block",
  93333. "src": "57891:109:50",
  93334. "nodes": [],
  93335. "statements": [
  93336. {
  93337. "expression": {
  93338. "arguments": [
  93339. {
  93340. "arguments": [
  93341. {
  93342. "hexValue": "6c6f6728616464726573732c75696e743235362c737472696e672c626f6f6c29",
  93343. "id": 14034,
  93344. "isConstant": false,
  93345. "isLValue": false,
  93346. "isPure": true,
  93347. "kind": "string",
  93348. "lValueRequested": false,
  93349. "nodeType": "Literal",
  93350. "src": "57941:34:50",
  93351. "typeDescriptions": {
  93352. "typeIdentifier": "t_stringliteral_cf18105cbdc058258aaac7d4703aebeff683e464ae87b167f8bcabefd4799184",
  93353. "typeString": "literal_string \"log(address,uint256,string,bool)\""
  93354. },
  93355. "value": "log(address,uint256,string,bool)"
  93356. },
  93357. {
  93358. "id": 14035,
  93359. "name": "p0",
  93360. "nodeType": "Identifier",
  93361. "overloadedDeclarations": [],
  93362. "referencedDeclaration": 14022,
  93363. "src": "57977:2:50",
  93364. "typeDescriptions": {
  93365. "typeIdentifier": "t_address",
  93366. "typeString": "address"
  93367. }
  93368. },
  93369. {
  93370. "id": 14036,
  93371. "name": "p1",
  93372. "nodeType": "Identifier",
  93373. "overloadedDeclarations": [],
  93374. "referencedDeclaration": 14024,
  93375. "src": "57981:2:50",
  93376. "typeDescriptions": {
  93377. "typeIdentifier": "t_uint256",
  93378. "typeString": "uint256"
  93379. }
  93380. },
  93381. {
  93382. "id": 14037,
  93383. "name": "p2",
  93384. "nodeType": "Identifier",
  93385. "overloadedDeclarations": [],
  93386. "referencedDeclaration": 14026,
  93387. "src": "57985:2:50",
  93388. "typeDescriptions": {
  93389. "typeIdentifier": "t_string_memory_ptr",
  93390. "typeString": "string memory"
  93391. }
  93392. },
  93393. {
  93394. "id": 14038,
  93395. "name": "p3",
  93396. "nodeType": "Identifier",
  93397. "overloadedDeclarations": [],
  93398. "referencedDeclaration": 14028,
  93399. "src": "57989:2:50",
  93400. "typeDescriptions": {
  93401. "typeIdentifier": "t_bool",
  93402. "typeString": "bool"
  93403. }
  93404. }
  93405. ],
  93406. "expression": {
  93407. "argumentTypes": [
  93408. {
  93409. "typeIdentifier": "t_stringliteral_cf18105cbdc058258aaac7d4703aebeff683e464ae87b167f8bcabefd4799184",
  93410. "typeString": "literal_string \"log(address,uint256,string,bool)\""
  93411. },
  93412. {
  93413. "typeIdentifier": "t_address",
  93414. "typeString": "address"
  93415. },
  93416. {
  93417. "typeIdentifier": "t_uint256",
  93418. "typeString": "uint256"
  93419. },
  93420. {
  93421. "typeIdentifier": "t_string_memory_ptr",
  93422. "typeString": "string memory"
  93423. },
  93424. {
  93425. "typeIdentifier": "t_bool",
  93426. "typeString": "bool"
  93427. }
  93428. ],
  93429. "expression": {
  93430. "id": 14032,
  93431. "name": "abi",
  93432. "nodeType": "Identifier",
  93433. "overloadedDeclarations": [],
  93434. "referencedDeclaration": -1,
  93435. "src": "57917:3:50",
  93436. "typeDescriptions": {
  93437. "typeIdentifier": "t_magic_abi",
  93438. "typeString": "abi"
  93439. }
  93440. },
  93441. "id": 14033,
  93442. "isConstant": false,
  93443. "isLValue": false,
  93444. "isPure": true,
  93445. "lValueRequested": false,
  93446. "memberLocation": "57921:19:50",
  93447. "memberName": "encodeWithSignature",
  93448. "nodeType": "MemberAccess",
  93449. "src": "57917:23:50",
  93450. "typeDescriptions": {
  93451. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  93452. "typeString": "function (string memory) pure returns (bytes memory)"
  93453. }
  93454. },
  93455. "id": 14039,
  93456. "isConstant": false,
  93457. "isLValue": false,
  93458. "isPure": false,
  93459. "kind": "functionCall",
  93460. "lValueRequested": false,
  93461. "nameLocations": [],
  93462. "names": [],
  93463. "nodeType": "FunctionCall",
  93464. "src": "57917:75:50",
  93465. "tryCall": false,
  93466. "typeDescriptions": {
  93467. "typeIdentifier": "t_bytes_memory_ptr",
  93468. "typeString": "bytes memory"
  93469. }
  93470. }
  93471. ],
  93472. "expression": {
  93473. "argumentTypes": [
  93474. {
  93475. "typeIdentifier": "t_bytes_memory_ptr",
  93476. "typeString": "bytes memory"
  93477. }
  93478. ],
  93479. "id": 14031,
  93480. "name": "_sendLogPayload",
  93481. "nodeType": "Identifier",
  93482. "overloadedDeclarations": [],
  93483. "referencedDeclaration": 7315,
  93484. "src": "57901:15:50",
  93485. "typeDescriptions": {
  93486. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  93487. "typeString": "function (bytes memory) pure"
  93488. }
  93489. },
  93490. "id": 14040,
  93491. "isConstant": false,
  93492. "isLValue": false,
  93493. "isPure": false,
  93494. "kind": "functionCall",
  93495. "lValueRequested": false,
  93496. "nameLocations": [],
  93497. "names": [],
  93498. "nodeType": "FunctionCall",
  93499. "src": "57901:92:50",
  93500. "tryCall": false,
  93501. "typeDescriptions": {
  93502. "typeIdentifier": "t_tuple$__$",
  93503. "typeString": "tuple()"
  93504. }
  93505. },
  93506. "id": 14041,
  93507. "nodeType": "ExpressionStatement",
  93508. "src": "57901:92:50"
  93509. }
  93510. ]
  93511. },
  93512. "implemented": true,
  93513. "kind": "function",
  93514. "modifiers": [],
  93515. "name": "log",
  93516. "nameLocation": "57822:3:50",
  93517. "parameters": {
  93518. "id": 14029,
  93519. "nodeType": "ParameterList",
  93520. "parameters": [
  93521. {
  93522. "constant": false,
  93523. "id": 14022,
  93524. "mutability": "mutable",
  93525. "name": "p0",
  93526. "nameLocation": "57834:2:50",
  93527. "nodeType": "VariableDeclaration",
  93528. "scope": 14043,
  93529. "src": "57826:10:50",
  93530. "stateVariable": false,
  93531. "storageLocation": "default",
  93532. "typeDescriptions": {
  93533. "typeIdentifier": "t_address",
  93534. "typeString": "address"
  93535. },
  93536. "typeName": {
  93537. "id": 14021,
  93538. "name": "address",
  93539. "nodeType": "ElementaryTypeName",
  93540. "src": "57826:7:50",
  93541. "stateMutability": "nonpayable",
  93542. "typeDescriptions": {
  93543. "typeIdentifier": "t_address",
  93544. "typeString": "address"
  93545. }
  93546. },
  93547. "visibility": "internal"
  93548. },
  93549. {
  93550. "constant": false,
  93551. "id": 14024,
  93552. "mutability": "mutable",
  93553. "name": "p1",
  93554. "nameLocation": "57846:2:50",
  93555. "nodeType": "VariableDeclaration",
  93556. "scope": 14043,
  93557. "src": "57838:10:50",
  93558. "stateVariable": false,
  93559. "storageLocation": "default",
  93560. "typeDescriptions": {
  93561. "typeIdentifier": "t_uint256",
  93562. "typeString": "uint256"
  93563. },
  93564. "typeName": {
  93565. "id": 14023,
  93566. "name": "uint256",
  93567. "nodeType": "ElementaryTypeName",
  93568. "src": "57838:7:50",
  93569. "typeDescriptions": {
  93570. "typeIdentifier": "t_uint256",
  93571. "typeString": "uint256"
  93572. }
  93573. },
  93574. "visibility": "internal"
  93575. },
  93576. {
  93577. "constant": false,
  93578. "id": 14026,
  93579. "mutability": "mutable",
  93580. "name": "p2",
  93581. "nameLocation": "57864:2:50",
  93582. "nodeType": "VariableDeclaration",
  93583. "scope": 14043,
  93584. "src": "57850:16:50",
  93585. "stateVariable": false,
  93586. "storageLocation": "memory",
  93587. "typeDescriptions": {
  93588. "typeIdentifier": "t_string_memory_ptr",
  93589. "typeString": "string"
  93590. },
  93591. "typeName": {
  93592. "id": 14025,
  93593. "name": "string",
  93594. "nodeType": "ElementaryTypeName",
  93595. "src": "57850:6:50",
  93596. "typeDescriptions": {
  93597. "typeIdentifier": "t_string_storage_ptr",
  93598. "typeString": "string"
  93599. }
  93600. },
  93601. "visibility": "internal"
  93602. },
  93603. {
  93604. "constant": false,
  93605. "id": 14028,
  93606. "mutability": "mutable",
  93607. "name": "p3",
  93608. "nameLocation": "57873:2:50",
  93609. "nodeType": "VariableDeclaration",
  93610. "scope": 14043,
  93611. "src": "57868:7:50",
  93612. "stateVariable": false,
  93613. "storageLocation": "default",
  93614. "typeDescriptions": {
  93615. "typeIdentifier": "t_bool",
  93616. "typeString": "bool"
  93617. },
  93618. "typeName": {
  93619. "id": 14027,
  93620. "name": "bool",
  93621. "nodeType": "ElementaryTypeName",
  93622. "src": "57868:4:50",
  93623. "typeDescriptions": {
  93624. "typeIdentifier": "t_bool",
  93625. "typeString": "bool"
  93626. }
  93627. },
  93628. "visibility": "internal"
  93629. }
  93630. ],
  93631. "src": "57825:51:50"
  93632. },
  93633. "returnParameters": {
  93634. "id": 14030,
  93635. "nodeType": "ParameterList",
  93636. "parameters": [],
  93637. "src": "57891:0:50"
  93638. },
  93639. "scope": 15355,
  93640. "stateMutability": "pure",
  93641. "virtual": false,
  93642. "visibility": "internal"
  93643. },
  93644. {
  93645. "id": 14066,
  93646. "nodeType": "FunctionDefinition",
  93647. "src": "58006:193:50",
  93648. "nodes": [],
  93649. "body": {
  93650. "id": 14065,
  93651. "nodeType": "Block",
  93652. "src": "58087:112:50",
  93653. "nodes": [],
  93654. "statements": [
  93655. {
  93656. "expression": {
  93657. "arguments": [
  93658. {
  93659. "arguments": [
  93660. {
  93661. "hexValue": "6c6f6728616464726573732c75696e743235362c737472696e672c6164647265737329",
  93662. "id": 14057,
  93663. "isConstant": false,
  93664. "isLValue": false,
  93665. "isPure": true,
  93666. "kind": "string",
  93667. "lValueRequested": false,
  93668. "nodeType": "Literal",
  93669. "src": "58137:37:50",
  93670. "typeDescriptions": {
  93671. "typeIdentifier": "t_stringliteral_5c430d475ad8236f34d086a6aae3612106ae74c8621b8677d58f13dcda27570a",
  93672. "typeString": "literal_string \"log(address,uint256,string,address)\""
  93673. },
  93674. "value": "log(address,uint256,string,address)"
  93675. },
  93676. {
  93677. "id": 14058,
  93678. "name": "p0",
  93679. "nodeType": "Identifier",
  93680. "overloadedDeclarations": [],
  93681. "referencedDeclaration": 14045,
  93682. "src": "58176:2:50",
  93683. "typeDescriptions": {
  93684. "typeIdentifier": "t_address",
  93685. "typeString": "address"
  93686. }
  93687. },
  93688. {
  93689. "id": 14059,
  93690. "name": "p1",
  93691. "nodeType": "Identifier",
  93692. "overloadedDeclarations": [],
  93693. "referencedDeclaration": 14047,
  93694. "src": "58180:2:50",
  93695. "typeDescriptions": {
  93696. "typeIdentifier": "t_uint256",
  93697. "typeString": "uint256"
  93698. }
  93699. },
  93700. {
  93701. "id": 14060,
  93702. "name": "p2",
  93703. "nodeType": "Identifier",
  93704. "overloadedDeclarations": [],
  93705. "referencedDeclaration": 14049,
  93706. "src": "58184:2:50",
  93707. "typeDescriptions": {
  93708. "typeIdentifier": "t_string_memory_ptr",
  93709. "typeString": "string memory"
  93710. }
  93711. },
  93712. {
  93713. "id": 14061,
  93714. "name": "p3",
  93715. "nodeType": "Identifier",
  93716. "overloadedDeclarations": [],
  93717. "referencedDeclaration": 14051,
  93718. "src": "58188:2:50",
  93719. "typeDescriptions": {
  93720. "typeIdentifier": "t_address",
  93721. "typeString": "address"
  93722. }
  93723. }
  93724. ],
  93725. "expression": {
  93726. "argumentTypes": [
  93727. {
  93728. "typeIdentifier": "t_stringliteral_5c430d475ad8236f34d086a6aae3612106ae74c8621b8677d58f13dcda27570a",
  93729. "typeString": "literal_string \"log(address,uint256,string,address)\""
  93730. },
  93731. {
  93732. "typeIdentifier": "t_address",
  93733. "typeString": "address"
  93734. },
  93735. {
  93736. "typeIdentifier": "t_uint256",
  93737. "typeString": "uint256"
  93738. },
  93739. {
  93740. "typeIdentifier": "t_string_memory_ptr",
  93741. "typeString": "string memory"
  93742. },
  93743. {
  93744. "typeIdentifier": "t_address",
  93745. "typeString": "address"
  93746. }
  93747. ],
  93748. "expression": {
  93749. "id": 14055,
  93750. "name": "abi",
  93751. "nodeType": "Identifier",
  93752. "overloadedDeclarations": [],
  93753. "referencedDeclaration": -1,
  93754. "src": "58113:3:50",
  93755. "typeDescriptions": {
  93756. "typeIdentifier": "t_magic_abi",
  93757. "typeString": "abi"
  93758. }
  93759. },
  93760. "id": 14056,
  93761. "isConstant": false,
  93762. "isLValue": false,
  93763. "isPure": true,
  93764. "lValueRequested": false,
  93765. "memberLocation": "58117:19:50",
  93766. "memberName": "encodeWithSignature",
  93767. "nodeType": "MemberAccess",
  93768. "src": "58113:23:50",
  93769. "typeDescriptions": {
  93770. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  93771. "typeString": "function (string memory) pure returns (bytes memory)"
  93772. }
  93773. },
  93774. "id": 14062,
  93775. "isConstant": false,
  93776. "isLValue": false,
  93777. "isPure": false,
  93778. "kind": "functionCall",
  93779. "lValueRequested": false,
  93780. "nameLocations": [],
  93781. "names": [],
  93782. "nodeType": "FunctionCall",
  93783. "src": "58113:78:50",
  93784. "tryCall": false,
  93785. "typeDescriptions": {
  93786. "typeIdentifier": "t_bytes_memory_ptr",
  93787. "typeString": "bytes memory"
  93788. }
  93789. }
  93790. ],
  93791. "expression": {
  93792. "argumentTypes": [
  93793. {
  93794. "typeIdentifier": "t_bytes_memory_ptr",
  93795. "typeString": "bytes memory"
  93796. }
  93797. ],
  93798. "id": 14054,
  93799. "name": "_sendLogPayload",
  93800. "nodeType": "Identifier",
  93801. "overloadedDeclarations": [],
  93802. "referencedDeclaration": 7315,
  93803. "src": "58097:15:50",
  93804. "typeDescriptions": {
  93805. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  93806. "typeString": "function (bytes memory) pure"
  93807. }
  93808. },
  93809. "id": 14063,
  93810. "isConstant": false,
  93811. "isLValue": false,
  93812. "isPure": false,
  93813. "kind": "functionCall",
  93814. "lValueRequested": false,
  93815. "nameLocations": [],
  93816. "names": [],
  93817. "nodeType": "FunctionCall",
  93818. "src": "58097:95:50",
  93819. "tryCall": false,
  93820. "typeDescriptions": {
  93821. "typeIdentifier": "t_tuple$__$",
  93822. "typeString": "tuple()"
  93823. }
  93824. },
  93825. "id": 14064,
  93826. "nodeType": "ExpressionStatement",
  93827. "src": "58097:95:50"
  93828. }
  93829. ]
  93830. },
  93831. "implemented": true,
  93832. "kind": "function",
  93833. "modifiers": [],
  93834. "name": "log",
  93835. "nameLocation": "58015:3:50",
  93836. "parameters": {
  93837. "id": 14052,
  93838. "nodeType": "ParameterList",
  93839. "parameters": [
  93840. {
  93841. "constant": false,
  93842. "id": 14045,
  93843. "mutability": "mutable",
  93844. "name": "p0",
  93845. "nameLocation": "58027:2:50",
  93846. "nodeType": "VariableDeclaration",
  93847. "scope": 14066,
  93848. "src": "58019:10:50",
  93849. "stateVariable": false,
  93850. "storageLocation": "default",
  93851. "typeDescriptions": {
  93852. "typeIdentifier": "t_address",
  93853. "typeString": "address"
  93854. },
  93855. "typeName": {
  93856. "id": 14044,
  93857. "name": "address",
  93858. "nodeType": "ElementaryTypeName",
  93859. "src": "58019:7:50",
  93860. "stateMutability": "nonpayable",
  93861. "typeDescriptions": {
  93862. "typeIdentifier": "t_address",
  93863. "typeString": "address"
  93864. }
  93865. },
  93866. "visibility": "internal"
  93867. },
  93868. {
  93869. "constant": false,
  93870. "id": 14047,
  93871. "mutability": "mutable",
  93872. "name": "p1",
  93873. "nameLocation": "58039:2:50",
  93874. "nodeType": "VariableDeclaration",
  93875. "scope": 14066,
  93876. "src": "58031:10:50",
  93877. "stateVariable": false,
  93878. "storageLocation": "default",
  93879. "typeDescriptions": {
  93880. "typeIdentifier": "t_uint256",
  93881. "typeString": "uint256"
  93882. },
  93883. "typeName": {
  93884. "id": 14046,
  93885. "name": "uint256",
  93886. "nodeType": "ElementaryTypeName",
  93887. "src": "58031:7:50",
  93888. "typeDescriptions": {
  93889. "typeIdentifier": "t_uint256",
  93890. "typeString": "uint256"
  93891. }
  93892. },
  93893. "visibility": "internal"
  93894. },
  93895. {
  93896. "constant": false,
  93897. "id": 14049,
  93898. "mutability": "mutable",
  93899. "name": "p2",
  93900. "nameLocation": "58057:2:50",
  93901. "nodeType": "VariableDeclaration",
  93902. "scope": 14066,
  93903. "src": "58043:16:50",
  93904. "stateVariable": false,
  93905. "storageLocation": "memory",
  93906. "typeDescriptions": {
  93907. "typeIdentifier": "t_string_memory_ptr",
  93908. "typeString": "string"
  93909. },
  93910. "typeName": {
  93911. "id": 14048,
  93912. "name": "string",
  93913. "nodeType": "ElementaryTypeName",
  93914. "src": "58043:6:50",
  93915. "typeDescriptions": {
  93916. "typeIdentifier": "t_string_storage_ptr",
  93917. "typeString": "string"
  93918. }
  93919. },
  93920. "visibility": "internal"
  93921. },
  93922. {
  93923. "constant": false,
  93924. "id": 14051,
  93925. "mutability": "mutable",
  93926. "name": "p3",
  93927. "nameLocation": "58069:2:50",
  93928. "nodeType": "VariableDeclaration",
  93929. "scope": 14066,
  93930. "src": "58061:10:50",
  93931. "stateVariable": false,
  93932. "storageLocation": "default",
  93933. "typeDescriptions": {
  93934. "typeIdentifier": "t_address",
  93935. "typeString": "address"
  93936. },
  93937. "typeName": {
  93938. "id": 14050,
  93939. "name": "address",
  93940. "nodeType": "ElementaryTypeName",
  93941. "src": "58061:7:50",
  93942. "stateMutability": "nonpayable",
  93943. "typeDescriptions": {
  93944. "typeIdentifier": "t_address",
  93945. "typeString": "address"
  93946. }
  93947. },
  93948. "visibility": "internal"
  93949. }
  93950. ],
  93951. "src": "58018:54:50"
  93952. },
  93953. "returnParameters": {
  93954. "id": 14053,
  93955. "nodeType": "ParameterList",
  93956. "parameters": [],
  93957. "src": "58087:0:50"
  93958. },
  93959. "scope": 15355,
  93960. "stateMutability": "pure",
  93961. "virtual": false,
  93962. "visibility": "internal"
  93963. },
  93964. {
  93965. "id": 14089,
  93966. "nodeType": "FunctionDefinition",
  93967. "src": "58205:182:50",
  93968. "nodes": [],
  93969. "body": {
  93970. "id": 14088,
  93971. "nodeType": "Block",
  93972. "src": "58277:110:50",
  93973. "nodes": [],
  93974. "statements": [
  93975. {
  93976. "expression": {
  93977. "arguments": [
  93978. {
  93979. "arguments": [
  93980. {
  93981. "hexValue": "6c6f6728616464726573732c75696e743235362c626f6f6c2c75696e7432353629",
  93982. "id": 14080,
  93983. "isConstant": false,
  93984. "isLValue": false,
  93985. "isPure": true,
  93986. "kind": "string",
  93987. "lValueRequested": false,
  93988. "nodeType": "Literal",
  93989. "src": "58327:35:50",
  93990. "typeDescriptions": {
  93991. "typeIdentifier": "t_stringliteral_22f6b999343c50207803e85ddd9e714a5457dacc91c49407b8de02bdaf889e5e",
  93992. "typeString": "literal_string \"log(address,uint256,bool,uint256)\""
  93993. },
  93994. "value": "log(address,uint256,bool,uint256)"
  93995. },
  93996. {
  93997. "id": 14081,
  93998. "name": "p0",
  93999. "nodeType": "Identifier",
  94000. "overloadedDeclarations": [],
  94001. "referencedDeclaration": 14068,
  94002. "src": "58364:2:50",
  94003. "typeDescriptions": {
  94004. "typeIdentifier": "t_address",
  94005. "typeString": "address"
  94006. }
  94007. },
  94008. {
  94009. "id": 14082,
  94010. "name": "p1",
  94011. "nodeType": "Identifier",
  94012. "overloadedDeclarations": [],
  94013. "referencedDeclaration": 14070,
  94014. "src": "58368:2:50",
  94015. "typeDescriptions": {
  94016. "typeIdentifier": "t_uint256",
  94017. "typeString": "uint256"
  94018. }
  94019. },
  94020. {
  94021. "id": 14083,
  94022. "name": "p2",
  94023. "nodeType": "Identifier",
  94024. "overloadedDeclarations": [],
  94025. "referencedDeclaration": 14072,
  94026. "src": "58372:2:50",
  94027. "typeDescriptions": {
  94028. "typeIdentifier": "t_bool",
  94029. "typeString": "bool"
  94030. }
  94031. },
  94032. {
  94033. "id": 14084,
  94034. "name": "p3",
  94035. "nodeType": "Identifier",
  94036. "overloadedDeclarations": [],
  94037. "referencedDeclaration": 14074,
  94038. "src": "58376:2:50",
  94039. "typeDescriptions": {
  94040. "typeIdentifier": "t_uint256",
  94041. "typeString": "uint256"
  94042. }
  94043. }
  94044. ],
  94045. "expression": {
  94046. "argumentTypes": [
  94047. {
  94048. "typeIdentifier": "t_stringliteral_22f6b999343c50207803e85ddd9e714a5457dacc91c49407b8de02bdaf889e5e",
  94049. "typeString": "literal_string \"log(address,uint256,bool,uint256)\""
  94050. },
  94051. {
  94052. "typeIdentifier": "t_address",
  94053. "typeString": "address"
  94054. },
  94055. {
  94056. "typeIdentifier": "t_uint256",
  94057. "typeString": "uint256"
  94058. },
  94059. {
  94060. "typeIdentifier": "t_bool",
  94061. "typeString": "bool"
  94062. },
  94063. {
  94064. "typeIdentifier": "t_uint256",
  94065. "typeString": "uint256"
  94066. }
  94067. ],
  94068. "expression": {
  94069. "id": 14078,
  94070. "name": "abi",
  94071. "nodeType": "Identifier",
  94072. "overloadedDeclarations": [],
  94073. "referencedDeclaration": -1,
  94074. "src": "58303:3:50",
  94075. "typeDescriptions": {
  94076. "typeIdentifier": "t_magic_abi",
  94077. "typeString": "abi"
  94078. }
  94079. },
  94080. "id": 14079,
  94081. "isConstant": false,
  94082. "isLValue": false,
  94083. "isPure": true,
  94084. "lValueRequested": false,
  94085. "memberLocation": "58307:19:50",
  94086. "memberName": "encodeWithSignature",
  94087. "nodeType": "MemberAccess",
  94088. "src": "58303:23:50",
  94089. "typeDescriptions": {
  94090. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  94091. "typeString": "function (string memory) pure returns (bytes memory)"
  94092. }
  94093. },
  94094. "id": 14085,
  94095. "isConstant": false,
  94096. "isLValue": false,
  94097. "isPure": false,
  94098. "kind": "functionCall",
  94099. "lValueRequested": false,
  94100. "nameLocations": [],
  94101. "names": [],
  94102. "nodeType": "FunctionCall",
  94103. "src": "58303:76:50",
  94104. "tryCall": false,
  94105. "typeDescriptions": {
  94106. "typeIdentifier": "t_bytes_memory_ptr",
  94107. "typeString": "bytes memory"
  94108. }
  94109. }
  94110. ],
  94111. "expression": {
  94112. "argumentTypes": [
  94113. {
  94114. "typeIdentifier": "t_bytes_memory_ptr",
  94115. "typeString": "bytes memory"
  94116. }
  94117. ],
  94118. "id": 14077,
  94119. "name": "_sendLogPayload",
  94120. "nodeType": "Identifier",
  94121. "overloadedDeclarations": [],
  94122. "referencedDeclaration": 7315,
  94123. "src": "58287:15:50",
  94124. "typeDescriptions": {
  94125. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  94126. "typeString": "function (bytes memory) pure"
  94127. }
  94128. },
  94129. "id": 14086,
  94130. "isConstant": false,
  94131. "isLValue": false,
  94132. "isPure": false,
  94133. "kind": "functionCall",
  94134. "lValueRequested": false,
  94135. "nameLocations": [],
  94136. "names": [],
  94137. "nodeType": "FunctionCall",
  94138. "src": "58287:93:50",
  94139. "tryCall": false,
  94140. "typeDescriptions": {
  94141. "typeIdentifier": "t_tuple$__$",
  94142. "typeString": "tuple()"
  94143. }
  94144. },
  94145. "id": 14087,
  94146. "nodeType": "ExpressionStatement",
  94147. "src": "58287:93:50"
  94148. }
  94149. ]
  94150. },
  94151. "implemented": true,
  94152. "kind": "function",
  94153. "modifiers": [],
  94154. "name": "log",
  94155. "nameLocation": "58214:3:50",
  94156. "parameters": {
  94157. "id": 14075,
  94158. "nodeType": "ParameterList",
  94159. "parameters": [
  94160. {
  94161. "constant": false,
  94162. "id": 14068,
  94163. "mutability": "mutable",
  94164. "name": "p0",
  94165. "nameLocation": "58226:2:50",
  94166. "nodeType": "VariableDeclaration",
  94167. "scope": 14089,
  94168. "src": "58218:10:50",
  94169. "stateVariable": false,
  94170. "storageLocation": "default",
  94171. "typeDescriptions": {
  94172. "typeIdentifier": "t_address",
  94173. "typeString": "address"
  94174. },
  94175. "typeName": {
  94176. "id": 14067,
  94177. "name": "address",
  94178. "nodeType": "ElementaryTypeName",
  94179. "src": "58218:7:50",
  94180. "stateMutability": "nonpayable",
  94181. "typeDescriptions": {
  94182. "typeIdentifier": "t_address",
  94183. "typeString": "address"
  94184. }
  94185. },
  94186. "visibility": "internal"
  94187. },
  94188. {
  94189. "constant": false,
  94190. "id": 14070,
  94191. "mutability": "mutable",
  94192. "name": "p1",
  94193. "nameLocation": "58238:2:50",
  94194. "nodeType": "VariableDeclaration",
  94195. "scope": 14089,
  94196. "src": "58230:10:50",
  94197. "stateVariable": false,
  94198. "storageLocation": "default",
  94199. "typeDescriptions": {
  94200. "typeIdentifier": "t_uint256",
  94201. "typeString": "uint256"
  94202. },
  94203. "typeName": {
  94204. "id": 14069,
  94205. "name": "uint256",
  94206. "nodeType": "ElementaryTypeName",
  94207. "src": "58230:7:50",
  94208. "typeDescriptions": {
  94209. "typeIdentifier": "t_uint256",
  94210. "typeString": "uint256"
  94211. }
  94212. },
  94213. "visibility": "internal"
  94214. },
  94215. {
  94216. "constant": false,
  94217. "id": 14072,
  94218. "mutability": "mutable",
  94219. "name": "p2",
  94220. "nameLocation": "58247:2:50",
  94221. "nodeType": "VariableDeclaration",
  94222. "scope": 14089,
  94223. "src": "58242:7:50",
  94224. "stateVariable": false,
  94225. "storageLocation": "default",
  94226. "typeDescriptions": {
  94227. "typeIdentifier": "t_bool",
  94228. "typeString": "bool"
  94229. },
  94230. "typeName": {
  94231. "id": 14071,
  94232. "name": "bool",
  94233. "nodeType": "ElementaryTypeName",
  94234. "src": "58242:4:50",
  94235. "typeDescriptions": {
  94236. "typeIdentifier": "t_bool",
  94237. "typeString": "bool"
  94238. }
  94239. },
  94240. "visibility": "internal"
  94241. },
  94242. {
  94243. "constant": false,
  94244. "id": 14074,
  94245. "mutability": "mutable",
  94246. "name": "p3",
  94247. "nameLocation": "58259:2:50",
  94248. "nodeType": "VariableDeclaration",
  94249. "scope": 14089,
  94250. "src": "58251:10:50",
  94251. "stateVariable": false,
  94252. "storageLocation": "default",
  94253. "typeDescriptions": {
  94254. "typeIdentifier": "t_uint256",
  94255. "typeString": "uint256"
  94256. },
  94257. "typeName": {
  94258. "id": 14073,
  94259. "name": "uint256",
  94260. "nodeType": "ElementaryTypeName",
  94261. "src": "58251:7:50",
  94262. "typeDescriptions": {
  94263. "typeIdentifier": "t_uint256",
  94264. "typeString": "uint256"
  94265. }
  94266. },
  94267. "visibility": "internal"
  94268. }
  94269. ],
  94270. "src": "58217:45:50"
  94271. },
  94272. "returnParameters": {
  94273. "id": 14076,
  94274. "nodeType": "ParameterList",
  94275. "parameters": [],
  94276. "src": "58277:0:50"
  94277. },
  94278. "scope": 15355,
  94279. "stateMutability": "pure",
  94280. "virtual": false,
  94281. "visibility": "internal"
  94282. },
  94283. {
  94284. "id": 14112,
  94285. "nodeType": "FunctionDefinition",
  94286. "src": "58393:187:50",
  94287. "nodes": [],
  94288. "body": {
  94289. "id": 14111,
  94290. "nodeType": "Block",
  94291. "src": "58471:109:50",
  94292. "nodes": [],
  94293. "statements": [
  94294. {
  94295. "expression": {
  94296. "arguments": [
  94297. {
  94298. "arguments": [
  94299. {
  94300. "hexValue": "6c6f6728616464726573732c75696e743235362c626f6f6c2c737472696e6729",
  94301. "id": 14103,
  94302. "isConstant": false,
  94303. "isLValue": false,
  94304. "isPure": true,
  94305. "kind": "string",
  94306. "lValueRequested": false,
  94307. "nodeType": "Literal",
  94308. "src": "58521:34:50",
  94309. "typeDescriptions": {
  94310. "typeIdentifier": "t_stringliteral_c5ad85f9b1e72940e5c2ff98bcaf10dac65873a2d1f60566284e5a9bba66ce0b",
  94311. "typeString": "literal_string \"log(address,uint256,bool,string)\""
  94312. },
  94313. "value": "log(address,uint256,bool,string)"
  94314. },
  94315. {
  94316. "id": 14104,
  94317. "name": "p0",
  94318. "nodeType": "Identifier",
  94319. "overloadedDeclarations": [],
  94320. "referencedDeclaration": 14091,
  94321. "src": "58557:2:50",
  94322. "typeDescriptions": {
  94323. "typeIdentifier": "t_address",
  94324. "typeString": "address"
  94325. }
  94326. },
  94327. {
  94328. "id": 14105,
  94329. "name": "p1",
  94330. "nodeType": "Identifier",
  94331. "overloadedDeclarations": [],
  94332. "referencedDeclaration": 14093,
  94333. "src": "58561:2:50",
  94334. "typeDescriptions": {
  94335. "typeIdentifier": "t_uint256",
  94336. "typeString": "uint256"
  94337. }
  94338. },
  94339. {
  94340. "id": 14106,
  94341. "name": "p2",
  94342. "nodeType": "Identifier",
  94343. "overloadedDeclarations": [],
  94344. "referencedDeclaration": 14095,
  94345. "src": "58565:2:50",
  94346. "typeDescriptions": {
  94347. "typeIdentifier": "t_bool",
  94348. "typeString": "bool"
  94349. }
  94350. },
  94351. {
  94352. "id": 14107,
  94353. "name": "p3",
  94354. "nodeType": "Identifier",
  94355. "overloadedDeclarations": [],
  94356. "referencedDeclaration": 14097,
  94357. "src": "58569:2:50",
  94358. "typeDescriptions": {
  94359. "typeIdentifier": "t_string_memory_ptr",
  94360. "typeString": "string memory"
  94361. }
  94362. }
  94363. ],
  94364. "expression": {
  94365. "argumentTypes": [
  94366. {
  94367. "typeIdentifier": "t_stringliteral_c5ad85f9b1e72940e5c2ff98bcaf10dac65873a2d1f60566284e5a9bba66ce0b",
  94368. "typeString": "literal_string \"log(address,uint256,bool,string)\""
  94369. },
  94370. {
  94371. "typeIdentifier": "t_address",
  94372. "typeString": "address"
  94373. },
  94374. {
  94375. "typeIdentifier": "t_uint256",
  94376. "typeString": "uint256"
  94377. },
  94378. {
  94379. "typeIdentifier": "t_bool",
  94380. "typeString": "bool"
  94381. },
  94382. {
  94383. "typeIdentifier": "t_string_memory_ptr",
  94384. "typeString": "string memory"
  94385. }
  94386. ],
  94387. "expression": {
  94388. "id": 14101,
  94389. "name": "abi",
  94390. "nodeType": "Identifier",
  94391. "overloadedDeclarations": [],
  94392. "referencedDeclaration": -1,
  94393. "src": "58497:3:50",
  94394. "typeDescriptions": {
  94395. "typeIdentifier": "t_magic_abi",
  94396. "typeString": "abi"
  94397. }
  94398. },
  94399. "id": 14102,
  94400. "isConstant": false,
  94401. "isLValue": false,
  94402. "isPure": true,
  94403. "lValueRequested": false,
  94404. "memberLocation": "58501:19:50",
  94405. "memberName": "encodeWithSignature",
  94406. "nodeType": "MemberAccess",
  94407. "src": "58497:23:50",
  94408. "typeDescriptions": {
  94409. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  94410. "typeString": "function (string memory) pure returns (bytes memory)"
  94411. }
  94412. },
  94413. "id": 14108,
  94414. "isConstant": false,
  94415. "isLValue": false,
  94416. "isPure": false,
  94417. "kind": "functionCall",
  94418. "lValueRequested": false,
  94419. "nameLocations": [],
  94420. "names": [],
  94421. "nodeType": "FunctionCall",
  94422. "src": "58497:75:50",
  94423. "tryCall": false,
  94424. "typeDescriptions": {
  94425. "typeIdentifier": "t_bytes_memory_ptr",
  94426. "typeString": "bytes memory"
  94427. }
  94428. }
  94429. ],
  94430. "expression": {
  94431. "argumentTypes": [
  94432. {
  94433. "typeIdentifier": "t_bytes_memory_ptr",
  94434. "typeString": "bytes memory"
  94435. }
  94436. ],
  94437. "id": 14100,
  94438. "name": "_sendLogPayload",
  94439. "nodeType": "Identifier",
  94440. "overloadedDeclarations": [],
  94441. "referencedDeclaration": 7315,
  94442. "src": "58481:15:50",
  94443. "typeDescriptions": {
  94444. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  94445. "typeString": "function (bytes memory) pure"
  94446. }
  94447. },
  94448. "id": 14109,
  94449. "isConstant": false,
  94450. "isLValue": false,
  94451. "isPure": false,
  94452. "kind": "functionCall",
  94453. "lValueRequested": false,
  94454. "nameLocations": [],
  94455. "names": [],
  94456. "nodeType": "FunctionCall",
  94457. "src": "58481:92:50",
  94458. "tryCall": false,
  94459. "typeDescriptions": {
  94460. "typeIdentifier": "t_tuple$__$",
  94461. "typeString": "tuple()"
  94462. }
  94463. },
  94464. "id": 14110,
  94465. "nodeType": "ExpressionStatement",
  94466. "src": "58481:92:50"
  94467. }
  94468. ]
  94469. },
  94470. "implemented": true,
  94471. "kind": "function",
  94472. "modifiers": [],
  94473. "name": "log",
  94474. "nameLocation": "58402:3:50",
  94475. "parameters": {
  94476. "id": 14098,
  94477. "nodeType": "ParameterList",
  94478. "parameters": [
  94479. {
  94480. "constant": false,
  94481. "id": 14091,
  94482. "mutability": "mutable",
  94483. "name": "p0",
  94484. "nameLocation": "58414:2:50",
  94485. "nodeType": "VariableDeclaration",
  94486. "scope": 14112,
  94487. "src": "58406:10:50",
  94488. "stateVariable": false,
  94489. "storageLocation": "default",
  94490. "typeDescriptions": {
  94491. "typeIdentifier": "t_address",
  94492. "typeString": "address"
  94493. },
  94494. "typeName": {
  94495. "id": 14090,
  94496. "name": "address",
  94497. "nodeType": "ElementaryTypeName",
  94498. "src": "58406:7:50",
  94499. "stateMutability": "nonpayable",
  94500. "typeDescriptions": {
  94501. "typeIdentifier": "t_address",
  94502. "typeString": "address"
  94503. }
  94504. },
  94505. "visibility": "internal"
  94506. },
  94507. {
  94508. "constant": false,
  94509. "id": 14093,
  94510. "mutability": "mutable",
  94511. "name": "p1",
  94512. "nameLocation": "58426:2:50",
  94513. "nodeType": "VariableDeclaration",
  94514. "scope": 14112,
  94515. "src": "58418:10:50",
  94516. "stateVariable": false,
  94517. "storageLocation": "default",
  94518. "typeDescriptions": {
  94519. "typeIdentifier": "t_uint256",
  94520. "typeString": "uint256"
  94521. },
  94522. "typeName": {
  94523. "id": 14092,
  94524. "name": "uint256",
  94525. "nodeType": "ElementaryTypeName",
  94526. "src": "58418:7:50",
  94527. "typeDescriptions": {
  94528. "typeIdentifier": "t_uint256",
  94529. "typeString": "uint256"
  94530. }
  94531. },
  94532. "visibility": "internal"
  94533. },
  94534. {
  94535. "constant": false,
  94536. "id": 14095,
  94537. "mutability": "mutable",
  94538. "name": "p2",
  94539. "nameLocation": "58435:2:50",
  94540. "nodeType": "VariableDeclaration",
  94541. "scope": 14112,
  94542. "src": "58430:7:50",
  94543. "stateVariable": false,
  94544. "storageLocation": "default",
  94545. "typeDescriptions": {
  94546. "typeIdentifier": "t_bool",
  94547. "typeString": "bool"
  94548. },
  94549. "typeName": {
  94550. "id": 14094,
  94551. "name": "bool",
  94552. "nodeType": "ElementaryTypeName",
  94553. "src": "58430:4:50",
  94554. "typeDescriptions": {
  94555. "typeIdentifier": "t_bool",
  94556. "typeString": "bool"
  94557. }
  94558. },
  94559. "visibility": "internal"
  94560. },
  94561. {
  94562. "constant": false,
  94563. "id": 14097,
  94564. "mutability": "mutable",
  94565. "name": "p3",
  94566. "nameLocation": "58453:2:50",
  94567. "nodeType": "VariableDeclaration",
  94568. "scope": 14112,
  94569. "src": "58439:16:50",
  94570. "stateVariable": false,
  94571. "storageLocation": "memory",
  94572. "typeDescriptions": {
  94573. "typeIdentifier": "t_string_memory_ptr",
  94574. "typeString": "string"
  94575. },
  94576. "typeName": {
  94577. "id": 14096,
  94578. "name": "string",
  94579. "nodeType": "ElementaryTypeName",
  94580. "src": "58439:6:50",
  94581. "typeDescriptions": {
  94582. "typeIdentifier": "t_string_storage_ptr",
  94583. "typeString": "string"
  94584. }
  94585. },
  94586. "visibility": "internal"
  94587. }
  94588. ],
  94589. "src": "58405:51:50"
  94590. },
  94591. "returnParameters": {
  94592. "id": 14099,
  94593. "nodeType": "ParameterList",
  94594. "parameters": [],
  94595. "src": "58471:0:50"
  94596. },
  94597. "scope": 15355,
  94598. "stateMutability": "pure",
  94599. "virtual": false,
  94600. "visibility": "internal"
  94601. },
  94602. {
  94603. "id": 14135,
  94604. "nodeType": "FunctionDefinition",
  94605. "src": "58586:176:50",
  94606. "nodes": [],
  94607. "body": {
  94608. "id": 14134,
  94609. "nodeType": "Block",
  94610. "src": "58655:107:50",
  94611. "nodes": [],
  94612. "statements": [
  94613. {
  94614. "expression": {
  94615. "arguments": [
  94616. {
  94617. "arguments": [
  94618. {
  94619. "hexValue": "6c6f6728616464726573732c75696e743235362c626f6f6c2c626f6f6c29",
  94620. "id": 14126,
  94621. "isConstant": false,
  94622. "isLValue": false,
  94623. "isPure": true,
  94624. "kind": "string",
  94625. "lValueRequested": false,
  94626. "nodeType": "Literal",
  94627. "src": "58705:32:50",
  94628. "typeDescriptions": {
  94629. "typeIdentifier": "t_stringliteral_3bf5e5379bfb03415fbd47322e912c55a56b102cc24fbed41ca848047f460ae7",
  94630. "typeString": "literal_string \"log(address,uint256,bool,bool)\""
  94631. },
  94632. "value": "log(address,uint256,bool,bool)"
  94633. },
  94634. {
  94635. "id": 14127,
  94636. "name": "p0",
  94637. "nodeType": "Identifier",
  94638. "overloadedDeclarations": [],
  94639. "referencedDeclaration": 14114,
  94640. "src": "58739:2:50",
  94641. "typeDescriptions": {
  94642. "typeIdentifier": "t_address",
  94643. "typeString": "address"
  94644. }
  94645. },
  94646. {
  94647. "id": 14128,
  94648. "name": "p1",
  94649. "nodeType": "Identifier",
  94650. "overloadedDeclarations": [],
  94651. "referencedDeclaration": 14116,
  94652. "src": "58743:2:50",
  94653. "typeDescriptions": {
  94654. "typeIdentifier": "t_uint256",
  94655. "typeString": "uint256"
  94656. }
  94657. },
  94658. {
  94659. "id": 14129,
  94660. "name": "p2",
  94661. "nodeType": "Identifier",
  94662. "overloadedDeclarations": [],
  94663. "referencedDeclaration": 14118,
  94664. "src": "58747:2:50",
  94665. "typeDescriptions": {
  94666. "typeIdentifier": "t_bool",
  94667. "typeString": "bool"
  94668. }
  94669. },
  94670. {
  94671. "id": 14130,
  94672. "name": "p3",
  94673. "nodeType": "Identifier",
  94674. "overloadedDeclarations": [],
  94675. "referencedDeclaration": 14120,
  94676. "src": "58751:2:50",
  94677. "typeDescriptions": {
  94678. "typeIdentifier": "t_bool",
  94679. "typeString": "bool"
  94680. }
  94681. }
  94682. ],
  94683. "expression": {
  94684. "argumentTypes": [
  94685. {
  94686. "typeIdentifier": "t_stringliteral_3bf5e5379bfb03415fbd47322e912c55a56b102cc24fbed41ca848047f460ae7",
  94687. "typeString": "literal_string \"log(address,uint256,bool,bool)\""
  94688. },
  94689. {
  94690. "typeIdentifier": "t_address",
  94691. "typeString": "address"
  94692. },
  94693. {
  94694. "typeIdentifier": "t_uint256",
  94695. "typeString": "uint256"
  94696. },
  94697. {
  94698. "typeIdentifier": "t_bool",
  94699. "typeString": "bool"
  94700. },
  94701. {
  94702. "typeIdentifier": "t_bool",
  94703. "typeString": "bool"
  94704. }
  94705. ],
  94706. "expression": {
  94707. "id": 14124,
  94708. "name": "abi",
  94709. "nodeType": "Identifier",
  94710. "overloadedDeclarations": [],
  94711. "referencedDeclaration": -1,
  94712. "src": "58681:3:50",
  94713. "typeDescriptions": {
  94714. "typeIdentifier": "t_magic_abi",
  94715. "typeString": "abi"
  94716. }
  94717. },
  94718. "id": 14125,
  94719. "isConstant": false,
  94720. "isLValue": false,
  94721. "isPure": true,
  94722. "lValueRequested": false,
  94723. "memberLocation": "58685:19:50",
  94724. "memberName": "encodeWithSignature",
  94725. "nodeType": "MemberAccess",
  94726. "src": "58681:23:50",
  94727. "typeDescriptions": {
  94728. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  94729. "typeString": "function (string memory) pure returns (bytes memory)"
  94730. }
  94731. },
  94732. "id": 14131,
  94733. "isConstant": false,
  94734. "isLValue": false,
  94735. "isPure": false,
  94736. "kind": "functionCall",
  94737. "lValueRequested": false,
  94738. "nameLocations": [],
  94739. "names": [],
  94740. "nodeType": "FunctionCall",
  94741. "src": "58681:73:50",
  94742. "tryCall": false,
  94743. "typeDescriptions": {
  94744. "typeIdentifier": "t_bytes_memory_ptr",
  94745. "typeString": "bytes memory"
  94746. }
  94747. }
  94748. ],
  94749. "expression": {
  94750. "argumentTypes": [
  94751. {
  94752. "typeIdentifier": "t_bytes_memory_ptr",
  94753. "typeString": "bytes memory"
  94754. }
  94755. ],
  94756. "id": 14123,
  94757. "name": "_sendLogPayload",
  94758. "nodeType": "Identifier",
  94759. "overloadedDeclarations": [],
  94760. "referencedDeclaration": 7315,
  94761. "src": "58665:15:50",
  94762. "typeDescriptions": {
  94763. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  94764. "typeString": "function (bytes memory) pure"
  94765. }
  94766. },
  94767. "id": 14132,
  94768. "isConstant": false,
  94769. "isLValue": false,
  94770. "isPure": false,
  94771. "kind": "functionCall",
  94772. "lValueRequested": false,
  94773. "nameLocations": [],
  94774. "names": [],
  94775. "nodeType": "FunctionCall",
  94776. "src": "58665:90:50",
  94777. "tryCall": false,
  94778. "typeDescriptions": {
  94779. "typeIdentifier": "t_tuple$__$",
  94780. "typeString": "tuple()"
  94781. }
  94782. },
  94783. "id": 14133,
  94784. "nodeType": "ExpressionStatement",
  94785. "src": "58665:90:50"
  94786. }
  94787. ]
  94788. },
  94789. "implemented": true,
  94790. "kind": "function",
  94791. "modifiers": [],
  94792. "name": "log",
  94793. "nameLocation": "58595:3:50",
  94794. "parameters": {
  94795. "id": 14121,
  94796. "nodeType": "ParameterList",
  94797. "parameters": [
  94798. {
  94799. "constant": false,
  94800. "id": 14114,
  94801. "mutability": "mutable",
  94802. "name": "p0",
  94803. "nameLocation": "58607:2:50",
  94804. "nodeType": "VariableDeclaration",
  94805. "scope": 14135,
  94806. "src": "58599:10:50",
  94807. "stateVariable": false,
  94808. "storageLocation": "default",
  94809. "typeDescriptions": {
  94810. "typeIdentifier": "t_address",
  94811. "typeString": "address"
  94812. },
  94813. "typeName": {
  94814. "id": 14113,
  94815. "name": "address",
  94816. "nodeType": "ElementaryTypeName",
  94817. "src": "58599:7:50",
  94818. "stateMutability": "nonpayable",
  94819. "typeDescriptions": {
  94820. "typeIdentifier": "t_address",
  94821. "typeString": "address"
  94822. }
  94823. },
  94824. "visibility": "internal"
  94825. },
  94826. {
  94827. "constant": false,
  94828. "id": 14116,
  94829. "mutability": "mutable",
  94830. "name": "p1",
  94831. "nameLocation": "58619:2:50",
  94832. "nodeType": "VariableDeclaration",
  94833. "scope": 14135,
  94834. "src": "58611:10:50",
  94835. "stateVariable": false,
  94836. "storageLocation": "default",
  94837. "typeDescriptions": {
  94838. "typeIdentifier": "t_uint256",
  94839. "typeString": "uint256"
  94840. },
  94841. "typeName": {
  94842. "id": 14115,
  94843. "name": "uint256",
  94844. "nodeType": "ElementaryTypeName",
  94845. "src": "58611:7:50",
  94846. "typeDescriptions": {
  94847. "typeIdentifier": "t_uint256",
  94848. "typeString": "uint256"
  94849. }
  94850. },
  94851. "visibility": "internal"
  94852. },
  94853. {
  94854. "constant": false,
  94855. "id": 14118,
  94856. "mutability": "mutable",
  94857. "name": "p2",
  94858. "nameLocation": "58628:2:50",
  94859. "nodeType": "VariableDeclaration",
  94860. "scope": 14135,
  94861. "src": "58623:7:50",
  94862. "stateVariable": false,
  94863. "storageLocation": "default",
  94864. "typeDescriptions": {
  94865. "typeIdentifier": "t_bool",
  94866. "typeString": "bool"
  94867. },
  94868. "typeName": {
  94869. "id": 14117,
  94870. "name": "bool",
  94871. "nodeType": "ElementaryTypeName",
  94872. "src": "58623:4:50",
  94873. "typeDescriptions": {
  94874. "typeIdentifier": "t_bool",
  94875. "typeString": "bool"
  94876. }
  94877. },
  94878. "visibility": "internal"
  94879. },
  94880. {
  94881. "constant": false,
  94882. "id": 14120,
  94883. "mutability": "mutable",
  94884. "name": "p3",
  94885. "nameLocation": "58637:2:50",
  94886. "nodeType": "VariableDeclaration",
  94887. "scope": 14135,
  94888. "src": "58632:7:50",
  94889. "stateVariable": false,
  94890. "storageLocation": "default",
  94891. "typeDescriptions": {
  94892. "typeIdentifier": "t_bool",
  94893. "typeString": "bool"
  94894. },
  94895. "typeName": {
  94896. "id": 14119,
  94897. "name": "bool",
  94898. "nodeType": "ElementaryTypeName",
  94899. "src": "58632:4:50",
  94900. "typeDescriptions": {
  94901. "typeIdentifier": "t_bool",
  94902. "typeString": "bool"
  94903. }
  94904. },
  94905. "visibility": "internal"
  94906. }
  94907. ],
  94908. "src": "58598:42:50"
  94909. },
  94910. "returnParameters": {
  94911. "id": 14122,
  94912. "nodeType": "ParameterList",
  94913. "parameters": [],
  94914. "src": "58655:0:50"
  94915. },
  94916. "scope": 15355,
  94917. "stateMutability": "pure",
  94918. "virtual": false,
  94919. "visibility": "internal"
  94920. },
  94921. {
  94922. "id": 14158,
  94923. "nodeType": "FunctionDefinition",
  94924. "src": "58768:182:50",
  94925. "nodes": [],
  94926. "body": {
  94927. "id": 14157,
  94928. "nodeType": "Block",
  94929. "src": "58840:110:50",
  94930. "nodes": [],
  94931. "statements": [
  94932. {
  94933. "expression": {
  94934. "arguments": [
  94935. {
  94936. "arguments": [
  94937. {
  94938. "hexValue": "6c6f6728616464726573732c75696e743235362c626f6f6c2c6164647265737329",
  94939. "id": 14149,
  94940. "isConstant": false,
  94941. "isLValue": false,
  94942. "isPure": true,
  94943. "kind": "string",
  94944. "lValueRequested": false,
  94945. "nodeType": "Literal",
  94946. "src": "58890:35:50",
  94947. "typeDescriptions": {
  94948. "typeIdentifier": "t_stringliteral_a31bfdcce87cf9e77dc577737a291feb3aa727a8fbb8205e53519527c85ff290",
  94949. "typeString": "literal_string \"log(address,uint256,bool,address)\""
  94950. },
  94951. "value": "log(address,uint256,bool,address)"
  94952. },
  94953. {
  94954. "id": 14150,
  94955. "name": "p0",
  94956. "nodeType": "Identifier",
  94957. "overloadedDeclarations": [],
  94958. "referencedDeclaration": 14137,
  94959. "src": "58927:2:50",
  94960. "typeDescriptions": {
  94961. "typeIdentifier": "t_address",
  94962. "typeString": "address"
  94963. }
  94964. },
  94965. {
  94966. "id": 14151,
  94967. "name": "p1",
  94968. "nodeType": "Identifier",
  94969. "overloadedDeclarations": [],
  94970. "referencedDeclaration": 14139,
  94971. "src": "58931:2:50",
  94972. "typeDescriptions": {
  94973. "typeIdentifier": "t_uint256",
  94974. "typeString": "uint256"
  94975. }
  94976. },
  94977. {
  94978. "id": 14152,
  94979. "name": "p2",
  94980. "nodeType": "Identifier",
  94981. "overloadedDeclarations": [],
  94982. "referencedDeclaration": 14141,
  94983. "src": "58935:2:50",
  94984. "typeDescriptions": {
  94985. "typeIdentifier": "t_bool",
  94986. "typeString": "bool"
  94987. }
  94988. },
  94989. {
  94990. "id": 14153,
  94991. "name": "p3",
  94992. "nodeType": "Identifier",
  94993. "overloadedDeclarations": [],
  94994. "referencedDeclaration": 14143,
  94995. "src": "58939:2:50",
  94996. "typeDescriptions": {
  94997. "typeIdentifier": "t_address",
  94998. "typeString": "address"
  94999. }
  95000. }
  95001. ],
  95002. "expression": {
  95003. "argumentTypes": [
  95004. {
  95005. "typeIdentifier": "t_stringliteral_a31bfdcce87cf9e77dc577737a291feb3aa727a8fbb8205e53519527c85ff290",
  95006. "typeString": "literal_string \"log(address,uint256,bool,address)\""
  95007. },
  95008. {
  95009. "typeIdentifier": "t_address",
  95010. "typeString": "address"
  95011. },
  95012. {
  95013. "typeIdentifier": "t_uint256",
  95014. "typeString": "uint256"
  95015. },
  95016. {
  95017. "typeIdentifier": "t_bool",
  95018. "typeString": "bool"
  95019. },
  95020. {
  95021. "typeIdentifier": "t_address",
  95022. "typeString": "address"
  95023. }
  95024. ],
  95025. "expression": {
  95026. "id": 14147,
  95027. "name": "abi",
  95028. "nodeType": "Identifier",
  95029. "overloadedDeclarations": [],
  95030. "referencedDeclaration": -1,
  95031. "src": "58866:3:50",
  95032. "typeDescriptions": {
  95033. "typeIdentifier": "t_magic_abi",
  95034. "typeString": "abi"
  95035. }
  95036. },
  95037. "id": 14148,
  95038. "isConstant": false,
  95039. "isLValue": false,
  95040. "isPure": true,
  95041. "lValueRequested": false,
  95042. "memberLocation": "58870:19:50",
  95043. "memberName": "encodeWithSignature",
  95044. "nodeType": "MemberAccess",
  95045. "src": "58866:23:50",
  95046. "typeDescriptions": {
  95047. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  95048. "typeString": "function (string memory) pure returns (bytes memory)"
  95049. }
  95050. },
  95051. "id": 14154,
  95052. "isConstant": false,
  95053. "isLValue": false,
  95054. "isPure": false,
  95055. "kind": "functionCall",
  95056. "lValueRequested": false,
  95057. "nameLocations": [],
  95058. "names": [],
  95059. "nodeType": "FunctionCall",
  95060. "src": "58866:76:50",
  95061. "tryCall": false,
  95062. "typeDescriptions": {
  95063. "typeIdentifier": "t_bytes_memory_ptr",
  95064. "typeString": "bytes memory"
  95065. }
  95066. }
  95067. ],
  95068. "expression": {
  95069. "argumentTypes": [
  95070. {
  95071. "typeIdentifier": "t_bytes_memory_ptr",
  95072. "typeString": "bytes memory"
  95073. }
  95074. ],
  95075. "id": 14146,
  95076. "name": "_sendLogPayload",
  95077. "nodeType": "Identifier",
  95078. "overloadedDeclarations": [],
  95079. "referencedDeclaration": 7315,
  95080. "src": "58850:15:50",
  95081. "typeDescriptions": {
  95082. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  95083. "typeString": "function (bytes memory) pure"
  95084. }
  95085. },
  95086. "id": 14155,
  95087. "isConstant": false,
  95088. "isLValue": false,
  95089. "isPure": false,
  95090. "kind": "functionCall",
  95091. "lValueRequested": false,
  95092. "nameLocations": [],
  95093. "names": [],
  95094. "nodeType": "FunctionCall",
  95095. "src": "58850:93:50",
  95096. "tryCall": false,
  95097. "typeDescriptions": {
  95098. "typeIdentifier": "t_tuple$__$",
  95099. "typeString": "tuple()"
  95100. }
  95101. },
  95102. "id": 14156,
  95103. "nodeType": "ExpressionStatement",
  95104. "src": "58850:93:50"
  95105. }
  95106. ]
  95107. },
  95108. "implemented": true,
  95109. "kind": "function",
  95110. "modifiers": [],
  95111. "name": "log",
  95112. "nameLocation": "58777:3:50",
  95113. "parameters": {
  95114. "id": 14144,
  95115. "nodeType": "ParameterList",
  95116. "parameters": [
  95117. {
  95118. "constant": false,
  95119. "id": 14137,
  95120. "mutability": "mutable",
  95121. "name": "p0",
  95122. "nameLocation": "58789:2:50",
  95123. "nodeType": "VariableDeclaration",
  95124. "scope": 14158,
  95125. "src": "58781:10:50",
  95126. "stateVariable": false,
  95127. "storageLocation": "default",
  95128. "typeDescriptions": {
  95129. "typeIdentifier": "t_address",
  95130. "typeString": "address"
  95131. },
  95132. "typeName": {
  95133. "id": 14136,
  95134. "name": "address",
  95135. "nodeType": "ElementaryTypeName",
  95136. "src": "58781:7:50",
  95137. "stateMutability": "nonpayable",
  95138. "typeDescriptions": {
  95139. "typeIdentifier": "t_address",
  95140. "typeString": "address"
  95141. }
  95142. },
  95143. "visibility": "internal"
  95144. },
  95145. {
  95146. "constant": false,
  95147. "id": 14139,
  95148. "mutability": "mutable",
  95149. "name": "p1",
  95150. "nameLocation": "58801:2:50",
  95151. "nodeType": "VariableDeclaration",
  95152. "scope": 14158,
  95153. "src": "58793:10:50",
  95154. "stateVariable": false,
  95155. "storageLocation": "default",
  95156. "typeDescriptions": {
  95157. "typeIdentifier": "t_uint256",
  95158. "typeString": "uint256"
  95159. },
  95160. "typeName": {
  95161. "id": 14138,
  95162. "name": "uint256",
  95163. "nodeType": "ElementaryTypeName",
  95164. "src": "58793:7:50",
  95165. "typeDescriptions": {
  95166. "typeIdentifier": "t_uint256",
  95167. "typeString": "uint256"
  95168. }
  95169. },
  95170. "visibility": "internal"
  95171. },
  95172. {
  95173. "constant": false,
  95174. "id": 14141,
  95175. "mutability": "mutable",
  95176. "name": "p2",
  95177. "nameLocation": "58810:2:50",
  95178. "nodeType": "VariableDeclaration",
  95179. "scope": 14158,
  95180. "src": "58805:7:50",
  95181. "stateVariable": false,
  95182. "storageLocation": "default",
  95183. "typeDescriptions": {
  95184. "typeIdentifier": "t_bool",
  95185. "typeString": "bool"
  95186. },
  95187. "typeName": {
  95188. "id": 14140,
  95189. "name": "bool",
  95190. "nodeType": "ElementaryTypeName",
  95191. "src": "58805:4:50",
  95192. "typeDescriptions": {
  95193. "typeIdentifier": "t_bool",
  95194. "typeString": "bool"
  95195. }
  95196. },
  95197. "visibility": "internal"
  95198. },
  95199. {
  95200. "constant": false,
  95201. "id": 14143,
  95202. "mutability": "mutable",
  95203. "name": "p3",
  95204. "nameLocation": "58822:2:50",
  95205. "nodeType": "VariableDeclaration",
  95206. "scope": 14158,
  95207. "src": "58814:10:50",
  95208. "stateVariable": false,
  95209. "storageLocation": "default",
  95210. "typeDescriptions": {
  95211. "typeIdentifier": "t_address",
  95212. "typeString": "address"
  95213. },
  95214. "typeName": {
  95215. "id": 14142,
  95216. "name": "address",
  95217. "nodeType": "ElementaryTypeName",
  95218. "src": "58814:7:50",
  95219. "stateMutability": "nonpayable",
  95220. "typeDescriptions": {
  95221. "typeIdentifier": "t_address",
  95222. "typeString": "address"
  95223. }
  95224. },
  95225. "visibility": "internal"
  95226. }
  95227. ],
  95228. "src": "58780:45:50"
  95229. },
  95230. "returnParameters": {
  95231. "id": 14145,
  95232. "nodeType": "ParameterList",
  95233. "parameters": [],
  95234. "src": "58840:0:50"
  95235. },
  95236. "scope": 15355,
  95237. "stateMutability": "pure",
  95238. "virtual": false,
  95239. "visibility": "internal"
  95240. },
  95241. {
  95242. "id": 14181,
  95243. "nodeType": "FunctionDefinition",
  95244. "src": "58956:188:50",
  95245. "nodes": [],
  95246. "body": {
  95247. "id": 14180,
  95248. "nodeType": "Block",
  95249. "src": "59031:113:50",
  95250. "nodes": [],
  95251. "statements": [
  95252. {
  95253. "expression": {
  95254. "arguments": [
  95255. {
  95256. "arguments": [
  95257. {
  95258. "hexValue": "6c6f6728616464726573732c75696e743235362c616464726573732c75696e7432353629",
  95259. "id": 14172,
  95260. "isConstant": false,
  95261. "isLValue": false,
  95262. "isPure": true,
  95263. "kind": "string",
  95264. "lValueRequested": false,
  95265. "nodeType": "Literal",
  95266. "src": "59081:38:50",
  95267. "typeDescriptions": {
  95268. "typeIdentifier": "t_stringliteral_100f650ebf81cb406bb4fb842e06128992c5a86986b0eab3b9e965c3254516e6",
  95269. "typeString": "literal_string \"log(address,uint256,address,uint256)\""
  95270. },
  95271. "value": "log(address,uint256,address,uint256)"
  95272. },
  95273. {
  95274. "id": 14173,
  95275. "name": "p0",
  95276. "nodeType": "Identifier",
  95277. "overloadedDeclarations": [],
  95278. "referencedDeclaration": 14160,
  95279. "src": "59121:2:50",
  95280. "typeDescriptions": {
  95281. "typeIdentifier": "t_address",
  95282. "typeString": "address"
  95283. }
  95284. },
  95285. {
  95286. "id": 14174,
  95287. "name": "p1",
  95288. "nodeType": "Identifier",
  95289. "overloadedDeclarations": [],
  95290. "referencedDeclaration": 14162,
  95291. "src": "59125:2:50",
  95292. "typeDescriptions": {
  95293. "typeIdentifier": "t_uint256",
  95294. "typeString": "uint256"
  95295. }
  95296. },
  95297. {
  95298. "id": 14175,
  95299. "name": "p2",
  95300. "nodeType": "Identifier",
  95301. "overloadedDeclarations": [],
  95302. "referencedDeclaration": 14164,
  95303. "src": "59129:2:50",
  95304. "typeDescriptions": {
  95305. "typeIdentifier": "t_address",
  95306. "typeString": "address"
  95307. }
  95308. },
  95309. {
  95310. "id": 14176,
  95311. "name": "p3",
  95312. "nodeType": "Identifier",
  95313. "overloadedDeclarations": [],
  95314. "referencedDeclaration": 14166,
  95315. "src": "59133:2:50",
  95316. "typeDescriptions": {
  95317. "typeIdentifier": "t_uint256",
  95318. "typeString": "uint256"
  95319. }
  95320. }
  95321. ],
  95322. "expression": {
  95323. "argumentTypes": [
  95324. {
  95325. "typeIdentifier": "t_stringliteral_100f650ebf81cb406bb4fb842e06128992c5a86986b0eab3b9e965c3254516e6",
  95326. "typeString": "literal_string \"log(address,uint256,address,uint256)\""
  95327. },
  95328. {
  95329. "typeIdentifier": "t_address",
  95330. "typeString": "address"
  95331. },
  95332. {
  95333. "typeIdentifier": "t_uint256",
  95334. "typeString": "uint256"
  95335. },
  95336. {
  95337. "typeIdentifier": "t_address",
  95338. "typeString": "address"
  95339. },
  95340. {
  95341. "typeIdentifier": "t_uint256",
  95342. "typeString": "uint256"
  95343. }
  95344. ],
  95345. "expression": {
  95346. "id": 14170,
  95347. "name": "abi",
  95348. "nodeType": "Identifier",
  95349. "overloadedDeclarations": [],
  95350. "referencedDeclaration": -1,
  95351. "src": "59057:3:50",
  95352. "typeDescriptions": {
  95353. "typeIdentifier": "t_magic_abi",
  95354. "typeString": "abi"
  95355. }
  95356. },
  95357. "id": 14171,
  95358. "isConstant": false,
  95359. "isLValue": false,
  95360. "isPure": true,
  95361. "lValueRequested": false,
  95362. "memberLocation": "59061:19:50",
  95363. "memberName": "encodeWithSignature",
  95364. "nodeType": "MemberAccess",
  95365. "src": "59057:23:50",
  95366. "typeDescriptions": {
  95367. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  95368. "typeString": "function (string memory) pure returns (bytes memory)"
  95369. }
  95370. },
  95371. "id": 14177,
  95372. "isConstant": false,
  95373. "isLValue": false,
  95374. "isPure": false,
  95375. "kind": "functionCall",
  95376. "lValueRequested": false,
  95377. "nameLocations": [],
  95378. "names": [],
  95379. "nodeType": "FunctionCall",
  95380. "src": "59057:79:50",
  95381. "tryCall": false,
  95382. "typeDescriptions": {
  95383. "typeIdentifier": "t_bytes_memory_ptr",
  95384. "typeString": "bytes memory"
  95385. }
  95386. }
  95387. ],
  95388. "expression": {
  95389. "argumentTypes": [
  95390. {
  95391. "typeIdentifier": "t_bytes_memory_ptr",
  95392. "typeString": "bytes memory"
  95393. }
  95394. ],
  95395. "id": 14169,
  95396. "name": "_sendLogPayload",
  95397. "nodeType": "Identifier",
  95398. "overloadedDeclarations": [],
  95399. "referencedDeclaration": 7315,
  95400. "src": "59041:15:50",
  95401. "typeDescriptions": {
  95402. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  95403. "typeString": "function (bytes memory) pure"
  95404. }
  95405. },
  95406. "id": 14178,
  95407. "isConstant": false,
  95408. "isLValue": false,
  95409. "isPure": false,
  95410. "kind": "functionCall",
  95411. "lValueRequested": false,
  95412. "nameLocations": [],
  95413. "names": [],
  95414. "nodeType": "FunctionCall",
  95415. "src": "59041:96:50",
  95416. "tryCall": false,
  95417. "typeDescriptions": {
  95418. "typeIdentifier": "t_tuple$__$",
  95419. "typeString": "tuple()"
  95420. }
  95421. },
  95422. "id": 14179,
  95423. "nodeType": "ExpressionStatement",
  95424. "src": "59041:96:50"
  95425. }
  95426. ]
  95427. },
  95428. "implemented": true,
  95429. "kind": "function",
  95430. "modifiers": [],
  95431. "name": "log",
  95432. "nameLocation": "58965:3:50",
  95433. "parameters": {
  95434. "id": 14167,
  95435. "nodeType": "ParameterList",
  95436. "parameters": [
  95437. {
  95438. "constant": false,
  95439. "id": 14160,
  95440. "mutability": "mutable",
  95441. "name": "p0",
  95442. "nameLocation": "58977:2:50",
  95443. "nodeType": "VariableDeclaration",
  95444. "scope": 14181,
  95445. "src": "58969:10:50",
  95446. "stateVariable": false,
  95447. "storageLocation": "default",
  95448. "typeDescriptions": {
  95449. "typeIdentifier": "t_address",
  95450. "typeString": "address"
  95451. },
  95452. "typeName": {
  95453. "id": 14159,
  95454. "name": "address",
  95455. "nodeType": "ElementaryTypeName",
  95456. "src": "58969:7:50",
  95457. "stateMutability": "nonpayable",
  95458. "typeDescriptions": {
  95459. "typeIdentifier": "t_address",
  95460. "typeString": "address"
  95461. }
  95462. },
  95463. "visibility": "internal"
  95464. },
  95465. {
  95466. "constant": false,
  95467. "id": 14162,
  95468. "mutability": "mutable",
  95469. "name": "p1",
  95470. "nameLocation": "58989:2:50",
  95471. "nodeType": "VariableDeclaration",
  95472. "scope": 14181,
  95473. "src": "58981:10:50",
  95474. "stateVariable": false,
  95475. "storageLocation": "default",
  95476. "typeDescriptions": {
  95477. "typeIdentifier": "t_uint256",
  95478. "typeString": "uint256"
  95479. },
  95480. "typeName": {
  95481. "id": 14161,
  95482. "name": "uint256",
  95483. "nodeType": "ElementaryTypeName",
  95484. "src": "58981:7:50",
  95485. "typeDescriptions": {
  95486. "typeIdentifier": "t_uint256",
  95487. "typeString": "uint256"
  95488. }
  95489. },
  95490. "visibility": "internal"
  95491. },
  95492. {
  95493. "constant": false,
  95494. "id": 14164,
  95495. "mutability": "mutable",
  95496. "name": "p2",
  95497. "nameLocation": "59001:2:50",
  95498. "nodeType": "VariableDeclaration",
  95499. "scope": 14181,
  95500. "src": "58993:10:50",
  95501. "stateVariable": false,
  95502. "storageLocation": "default",
  95503. "typeDescriptions": {
  95504. "typeIdentifier": "t_address",
  95505. "typeString": "address"
  95506. },
  95507. "typeName": {
  95508. "id": 14163,
  95509. "name": "address",
  95510. "nodeType": "ElementaryTypeName",
  95511. "src": "58993:7:50",
  95512. "stateMutability": "nonpayable",
  95513. "typeDescriptions": {
  95514. "typeIdentifier": "t_address",
  95515. "typeString": "address"
  95516. }
  95517. },
  95518. "visibility": "internal"
  95519. },
  95520. {
  95521. "constant": false,
  95522. "id": 14166,
  95523. "mutability": "mutable",
  95524. "name": "p3",
  95525. "nameLocation": "59013:2:50",
  95526. "nodeType": "VariableDeclaration",
  95527. "scope": 14181,
  95528. "src": "59005:10:50",
  95529. "stateVariable": false,
  95530. "storageLocation": "default",
  95531. "typeDescriptions": {
  95532. "typeIdentifier": "t_uint256",
  95533. "typeString": "uint256"
  95534. },
  95535. "typeName": {
  95536. "id": 14165,
  95537. "name": "uint256",
  95538. "nodeType": "ElementaryTypeName",
  95539. "src": "59005:7:50",
  95540. "typeDescriptions": {
  95541. "typeIdentifier": "t_uint256",
  95542. "typeString": "uint256"
  95543. }
  95544. },
  95545. "visibility": "internal"
  95546. }
  95547. ],
  95548. "src": "58968:48:50"
  95549. },
  95550. "returnParameters": {
  95551. "id": 14168,
  95552. "nodeType": "ParameterList",
  95553. "parameters": [],
  95554. "src": "59031:0:50"
  95555. },
  95556. "scope": 15355,
  95557. "stateMutability": "pure",
  95558. "virtual": false,
  95559. "visibility": "internal"
  95560. },
  95561. {
  95562. "id": 14204,
  95563. "nodeType": "FunctionDefinition",
  95564. "src": "59150:193:50",
  95565. "nodes": [],
  95566. "body": {
  95567. "id": 14203,
  95568. "nodeType": "Block",
  95569. "src": "59231:112:50",
  95570. "nodes": [],
  95571. "statements": [
  95572. {
  95573. "expression": {
  95574. "arguments": [
  95575. {
  95576. "arguments": [
  95577. {
  95578. "hexValue": "6c6f6728616464726573732c75696e743235362c616464726573732c737472696e6729",
  95579. "id": 14195,
  95580. "isConstant": false,
  95581. "isLValue": false,
  95582. "isPure": true,
  95583. "kind": "string",
  95584. "lValueRequested": false,
  95585. "nodeType": "Literal",
  95586. "src": "59281:37:50",
  95587. "typeDescriptions": {
  95588. "typeIdentifier": "t_stringliteral_1da986ea2505037a166dd31728d673db1dd36bf0935c0201f0d23934a6acafdb",
  95589. "typeString": "literal_string \"log(address,uint256,address,string)\""
  95590. },
  95591. "value": "log(address,uint256,address,string)"
  95592. },
  95593. {
  95594. "id": 14196,
  95595. "name": "p0",
  95596. "nodeType": "Identifier",
  95597. "overloadedDeclarations": [],
  95598. "referencedDeclaration": 14183,
  95599. "src": "59320:2:50",
  95600. "typeDescriptions": {
  95601. "typeIdentifier": "t_address",
  95602. "typeString": "address"
  95603. }
  95604. },
  95605. {
  95606. "id": 14197,
  95607. "name": "p1",
  95608. "nodeType": "Identifier",
  95609. "overloadedDeclarations": [],
  95610. "referencedDeclaration": 14185,
  95611. "src": "59324:2:50",
  95612. "typeDescriptions": {
  95613. "typeIdentifier": "t_uint256",
  95614. "typeString": "uint256"
  95615. }
  95616. },
  95617. {
  95618. "id": 14198,
  95619. "name": "p2",
  95620. "nodeType": "Identifier",
  95621. "overloadedDeclarations": [],
  95622. "referencedDeclaration": 14187,
  95623. "src": "59328:2:50",
  95624. "typeDescriptions": {
  95625. "typeIdentifier": "t_address",
  95626. "typeString": "address"
  95627. }
  95628. },
  95629. {
  95630. "id": 14199,
  95631. "name": "p3",
  95632. "nodeType": "Identifier",
  95633. "overloadedDeclarations": [],
  95634. "referencedDeclaration": 14189,
  95635. "src": "59332:2:50",
  95636. "typeDescriptions": {
  95637. "typeIdentifier": "t_string_memory_ptr",
  95638. "typeString": "string memory"
  95639. }
  95640. }
  95641. ],
  95642. "expression": {
  95643. "argumentTypes": [
  95644. {
  95645. "typeIdentifier": "t_stringliteral_1da986ea2505037a166dd31728d673db1dd36bf0935c0201f0d23934a6acafdb",
  95646. "typeString": "literal_string \"log(address,uint256,address,string)\""
  95647. },
  95648. {
  95649. "typeIdentifier": "t_address",
  95650. "typeString": "address"
  95651. },
  95652. {
  95653. "typeIdentifier": "t_uint256",
  95654. "typeString": "uint256"
  95655. },
  95656. {
  95657. "typeIdentifier": "t_address",
  95658. "typeString": "address"
  95659. },
  95660. {
  95661. "typeIdentifier": "t_string_memory_ptr",
  95662. "typeString": "string memory"
  95663. }
  95664. ],
  95665. "expression": {
  95666. "id": 14193,
  95667. "name": "abi",
  95668. "nodeType": "Identifier",
  95669. "overloadedDeclarations": [],
  95670. "referencedDeclaration": -1,
  95671. "src": "59257:3:50",
  95672. "typeDescriptions": {
  95673. "typeIdentifier": "t_magic_abi",
  95674. "typeString": "abi"
  95675. }
  95676. },
  95677. "id": 14194,
  95678. "isConstant": false,
  95679. "isLValue": false,
  95680. "isPure": true,
  95681. "lValueRequested": false,
  95682. "memberLocation": "59261:19:50",
  95683. "memberName": "encodeWithSignature",
  95684. "nodeType": "MemberAccess",
  95685. "src": "59257:23:50",
  95686. "typeDescriptions": {
  95687. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  95688. "typeString": "function (string memory) pure returns (bytes memory)"
  95689. }
  95690. },
  95691. "id": 14200,
  95692. "isConstant": false,
  95693. "isLValue": false,
  95694. "isPure": false,
  95695. "kind": "functionCall",
  95696. "lValueRequested": false,
  95697. "nameLocations": [],
  95698. "names": [],
  95699. "nodeType": "FunctionCall",
  95700. "src": "59257:78:50",
  95701. "tryCall": false,
  95702. "typeDescriptions": {
  95703. "typeIdentifier": "t_bytes_memory_ptr",
  95704. "typeString": "bytes memory"
  95705. }
  95706. }
  95707. ],
  95708. "expression": {
  95709. "argumentTypes": [
  95710. {
  95711. "typeIdentifier": "t_bytes_memory_ptr",
  95712. "typeString": "bytes memory"
  95713. }
  95714. ],
  95715. "id": 14192,
  95716. "name": "_sendLogPayload",
  95717. "nodeType": "Identifier",
  95718. "overloadedDeclarations": [],
  95719. "referencedDeclaration": 7315,
  95720. "src": "59241:15:50",
  95721. "typeDescriptions": {
  95722. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  95723. "typeString": "function (bytes memory) pure"
  95724. }
  95725. },
  95726. "id": 14201,
  95727. "isConstant": false,
  95728. "isLValue": false,
  95729. "isPure": false,
  95730. "kind": "functionCall",
  95731. "lValueRequested": false,
  95732. "nameLocations": [],
  95733. "names": [],
  95734. "nodeType": "FunctionCall",
  95735. "src": "59241:95:50",
  95736. "tryCall": false,
  95737. "typeDescriptions": {
  95738. "typeIdentifier": "t_tuple$__$",
  95739. "typeString": "tuple()"
  95740. }
  95741. },
  95742. "id": 14202,
  95743. "nodeType": "ExpressionStatement",
  95744. "src": "59241:95:50"
  95745. }
  95746. ]
  95747. },
  95748. "implemented": true,
  95749. "kind": "function",
  95750. "modifiers": [],
  95751. "name": "log",
  95752. "nameLocation": "59159:3:50",
  95753. "parameters": {
  95754. "id": 14190,
  95755. "nodeType": "ParameterList",
  95756. "parameters": [
  95757. {
  95758. "constant": false,
  95759. "id": 14183,
  95760. "mutability": "mutable",
  95761. "name": "p0",
  95762. "nameLocation": "59171:2:50",
  95763. "nodeType": "VariableDeclaration",
  95764. "scope": 14204,
  95765. "src": "59163:10:50",
  95766. "stateVariable": false,
  95767. "storageLocation": "default",
  95768. "typeDescriptions": {
  95769. "typeIdentifier": "t_address",
  95770. "typeString": "address"
  95771. },
  95772. "typeName": {
  95773. "id": 14182,
  95774. "name": "address",
  95775. "nodeType": "ElementaryTypeName",
  95776. "src": "59163:7:50",
  95777. "stateMutability": "nonpayable",
  95778. "typeDescriptions": {
  95779. "typeIdentifier": "t_address",
  95780. "typeString": "address"
  95781. }
  95782. },
  95783. "visibility": "internal"
  95784. },
  95785. {
  95786. "constant": false,
  95787. "id": 14185,
  95788. "mutability": "mutable",
  95789. "name": "p1",
  95790. "nameLocation": "59183:2:50",
  95791. "nodeType": "VariableDeclaration",
  95792. "scope": 14204,
  95793. "src": "59175:10:50",
  95794. "stateVariable": false,
  95795. "storageLocation": "default",
  95796. "typeDescriptions": {
  95797. "typeIdentifier": "t_uint256",
  95798. "typeString": "uint256"
  95799. },
  95800. "typeName": {
  95801. "id": 14184,
  95802. "name": "uint256",
  95803. "nodeType": "ElementaryTypeName",
  95804. "src": "59175:7:50",
  95805. "typeDescriptions": {
  95806. "typeIdentifier": "t_uint256",
  95807. "typeString": "uint256"
  95808. }
  95809. },
  95810. "visibility": "internal"
  95811. },
  95812. {
  95813. "constant": false,
  95814. "id": 14187,
  95815. "mutability": "mutable",
  95816. "name": "p2",
  95817. "nameLocation": "59195:2:50",
  95818. "nodeType": "VariableDeclaration",
  95819. "scope": 14204,
  95820. "src": "59187:10:50",
  95821. "stateVariable": false,
  95822. "storageLocation": "default",
  95823. "typeDescriptions": {
  95824. "typeIdentifier": "t_address",
  95825. "typeString": "address"
  95826. },
  95827. "typeName": {
  95828. "id": 14186,
  95829. "name": "address",
  95830. "nodeType": "ElementaryTypeName",
  95831. "src": "59187:7:50",
  95832. "stateMutability": "nonpayable",
  95833. "typeDescriptions": {
  95834. "typeIdentifier": "t_address",
  95835. "typeString": "address"
  95836. }
  95837. },
  95838. "visibility": "internal"
  95839. },
  95840. {
  95841. "constant": false,
  95842. "id": 14189,
  95843. "mutability": "mutable",
  95844. "name": "p3",
  95845. "nameLocation": "59213:2:50",
  95846. "nodeType": "VariableDeclaration",
  95847. "scope": 14204,
  95848. "src": "59199:16:50",
  95849. "stateVariable": false,
  95850. "storageLocation": "memory",
  95851. "typeDescriptions": {
  95852. "typeIdentifier": "t_string_memory_ptr",
  95853. "typeString": "string"
  95854. },
  95855. "typeName": {
  95856. "id": 14188,
  95857. "name": "string",
  95858. "nodeType": "ElementaryTypeName",
  95859. "src": "59199:6:50",
  95860. "typeDescriptions": {
  95861. "typeIdentifier": "t_string_storage_ptr",
  95862. "typeString": "string"
  95863. }
  95864. },
  95865. "visibility": "internal"
  95866. }
  95867. ],
  95868. "src": "59162:54:50"
  95869. },
  95870. "returnParameters": {
  95871. "id": 14191,
  95872. "nodeType": "ParameterList",
  95873. "parameters": [],
  95874. "src": "59231:0:50"
  95875. },
  95876. "scope": 15355,
  95877. "stateMutability": "pure",
  95878. "virtual": false,
  95879. "visibility": "internal"
  95880. },
  95881. {
  95882. "id": 14227,
  95883. "nodeType": "FunctionDefinition",
  95884. "src": "59349:182:50",
  95885. "nodes": [],
  95886. "body": {
  95887. "id": 14226,
  95888. "nodeType": "Block",
  95889. "src": "59421:110:50",
  95890. "nodes": [],
  95891. "statements": [
  95892. {
  95893. "expression": {
  95894. "arguments": [
  95895. {
  95896. "arguments": [
  95897. {
  95898. "hexValue": "6c6f6728616464726573732c75696e743235362c616464726573732c626f6f6c29",
  95899. "id": 14218,
  95900. "isConstant": false,
  95901. "isLValue": false,
  95902. "isPure": true,
  95903. "kind": "string",
  95904. "lValueRequested": false,
  95905. "nodeType": "Literal",
  95906. "src": "59471:35:50",
  95907. "typeDescriptions": {
  95908. "typeIdentifier": "t_stringliteral_a1bcc9b3f106a0ac6ebf0cd2eda5f636e4ab1afa891b1acb460dd180f14bb322",
  95909. "typeString": "literal_string \"log(address,uint256,address,bool)\""
  95910. },
  95911. "value": "log(address,uint256,address,bool)"
  95912. },
  95913. {
  95914. "id": 14219,
  95915. "name": "p0",
  95916. "nodeType": "Identifier",
  95917. "overloadedDeclarations": [],
  95918. "referencedDeclaration": 14206,
  95919. "src": "59508:2:50",
  95920. "typeDescriptions": {
  95921. "typeIdentifier": "t_address",
  95922. "typeString": "address"
  95923. }
  95924. },
  95925. {
  95926. "id": 14220,
  95927. "name": "p1",
  95928. "nodeType": "Identifier",
  95929. "overloadedDeclarations": [],
  95930. "referencedDeclaration": 14208,
  95931. "src": "59512:2:50",
  95932. "typeDescriptions": {
  95933. "typeIdentifier": "t_uint256",
  95934. "typeString": "uint256"
  95935. }
  95936. },
  95937. {
  95938. "id": 14221,
  95939. "name": "p2",
  95940. "nodeType": "Identifier",
  95941. "overloadedDeclarations": [],
  95942. "referencedDeclaration": 14210,
  95943. "src": "59516:2:50",
  95944. "typeDescriptions": {
  95945. "typeIdentifier": "t_address",
  95946. "typeString": "address"
  95947. }
  95948. },
  95949. {
  95950. "id": 14222,
  95951. "name": "p3",
  95952. "nodeType": "Identifier",
  95953. "overloadedDeclarations": [],
  95954. "referencedDeclaration": 14212,
  95955. "src": "59520:2:50",
  95956. "typeDescriptions": {
  95957. "typeIdentifier": "t_bool",
  95958. "typeString": "bool"
  95959. }
  95960. }
  95961. ],
  95962. "expression": {
  95963. "argumentTypes": [
  95964. {
  95965. "typeIdentifier": "t_stringliteral_a1bcc9b3f106a0ac6ebf0cd2eda5f636e4ab1afa891b1acb460dd180f14bb322",
  95966. "typeString": "literal_string \"log(address,uint256,address,bool)\""
  95967. },
  95968. {
  95969. "typeIdentifier": "t_address",
  95970. "typeString": "address"
  95971. },
  95972. {
  95973. "typeIdentifier": "t_uint256",
  95974. "typeString": "uint256"
  95975. },
  95976. {
  95977. "typeIdentifier": "t_address",
  95978. "typeString": "address"
  95979. },
  95980. {
  95981. "typeIdentifier": "t_bool",
  95982. "typeString": "bool"
  95983. }
  95984. ],
  95985. "expression": {
  95986. "id": 14216,
  95987. "name": "abi",
  95988. "nodeType": "Identifier",
  95989. "overloadedDeclarations": [],
  95990. "referencedDeclaration": -1,
  95991. "src": "59447:3:50",
  95992. "typeDescriptions": {
  95993. "typeIdentifier": "t_magic_abi",
  95994. "typeString": "abi"
  95995. }
  95996. },
  95997. "id": 14217,
  95998. "isConstant": false,
  95999. "isLValue": false,
  96000. "isPure": true,
  96001. "lValueRequested": false,
  96002. "memberLocation": "59451:19:50",
  96003. "memberName": "encodeWithSignature",
  96004. "nodeType": "MemberAccess",
  96005. "src": "59447:23:50",
  96006. "typeDescriptions": {
  96007. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  96008. "typeString": "function (string memory) pure returns (bytes memory)"
  96009. }
  96010. },
  96011. "id": 14223,
  96012. "isConstant": false,
  96013. "isLValue": false,
  96014. "isPure": false,
  96015. "kind": "functionCall",
  96016. "lValueRequested": false,
  96017. "nameLocations": [],
  96018. "names": [],
  96019. "nodeType": "FunctionCall",
  96020. "src": "59447:76:50",
  96021. "tryCall": false,
  96022. "typeDescriptions": {
  96023. "typeIdentifier": "t_bytes_memory_ptr",
  96024. "typeString": "bytes memory"
  96025. }
  96026. }
  96027. ],
  96028. "expression": {
  96029. "argumentTypes": [
  96030. {
  96031. "typeIdentifier": "t_bytes_memory_ptr",
  96032. "typeString": "bytes memory"
  96033. }
  96034. ],
  96035. "id": 14215,
  96036. "name": "_sendLogPayload",
  96037. "nodeType": "Identifier",
  96038. "overloadedDeclarations": [],
  96039. "referencedDeclaration": 7315,
  96040. "src": "59431:15:50",
  96041. "typeDescriptions": {
  96042. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  96043. "typeString": "function (bytes memory) pure"
  96044. }
  96045. },
  96046. "id": 14224,
  96047. "isConstant": false,
  96048. "isLValue": false,
  96049. "isPure": false,
  96050. "kind": "functionCall",
  96051. "lValueRequested": false,
  96052. "nameLocations": [],
  96053. "names": [],
  96054. "nodeType": "FunctionCall",
  96055. "src": "59431:93:50",
  96056. "tryCall": false,
  96057. "typeDescriptions": {
  96058. "typeIdentifier": "t_tuple$__$",
  96059. "typeString": "tuple()"
  96060. }
  96061. },
  96062. "id": 14225,
  96063. "nodeType": "ExpressionStatement",
  96064. "src": "59431:93:50"
  96065. }
  96066. ]
  96067. },
  96068. "implemented": true,
  96069. "kind": "function",
  96070. "modifiers": [],
  96071. "name": "log",
  96072. "nameLocation": "59358:3:50",
  96073. "parameters": {
  96074. "id": 14213,
  96075. "nodeType": "ParameterList",
  96076. "parameters": [
  96077. {
  96078. "constant": false,
  96079. "id": 14206,
  96080. "mutability": "mutable",
  96081. "name": "p0",
  96082. "nameLocation": "59370:2:50",
  96083. "nodeType": "VariableDeclaration",
  96084. "scope": 14227,
  96085. "src": "59362:10:50",
  96086. "stateVariable": false,
  96087. "storageLocation": "default",
  96088. "typeDescriptions": {
  96089. "typeIdentifier": "t_address",
  96090. "typeString": "address"
  96091. },
  96092. "typeName": {
  96093. "id": 14205,
  96094. "name": "address",
  96095. "nodeType": "ElementaryTypeName",
  96096. "src": "59362:7:50",
  96097. "stateMutability": "nonpayable",
  96098. "typeDescriptions": {
  96099. "typeIdentifier": "t_address",
  96100. "typeString": "address"
  96101. }
  96102. },
  96103. "visibility": "internal"
  96104. },
  96105. {
  96106. "constant": false,
  96107. "id": 14208,
  96108. "mutability": "mutable",
  96109. "name": "p1",
  96110. "nameLocation": "59382:2:50",
  96111. "nodeType": "VariableDeclaration",
  96112. "scope": 14227,
  96113. "src": "59374:10:50",
  96114. "stateVariable": false,
  96115. "storageLocation": "default",
  96116. "typeDescriptions": {
  96117. "typeIdentifier": "t_uint256",
  96118. "typeString": "uint256"
  96119. },
  96120. "typeName": {
  96121. "id": 14207,
  96122. "name": "uint256",
  96123. "nodeType": "ElementaryTypeName",
  96124. "src": "59374:7:50",
  96125. "typeDescriptions": {
  96126. "typeIdentifier": "t_uint256",
  96127. "typeString": "uint256"
  96128. }
  96129. },
  96130. "visibility": "internal"
  96131. },
  96132. {
  96133. "constant": false,
  96134. "id": 14210,
  96135. "mutability": "mutable",
  96136. "name": "p2",
  96137. "nameLocation": "59394:2:50",
  96138. "nodeType": "VariableDeclaration",
  96139. "scope": 14227,
  96140. "src": "59386:10:50",
  96141. "stateVariable": false,
  96142. "storageLocation": "default",
  96143. "typeDescriptions": {
  96144. "typeIdentifier": "t_address",
  96145. "typeString": "address"
  96146. },
  96147. "typeName": {
  96148. "id": 14209,
  96149. "name": "address",
  96150. "nodeType": "ElementaryTypeName",
  96151. "src": "59386:7:50",
  96152. "stateMutability": "nonpayable",
  96153. "typeDescriptions": {
  96154. "typeIdentifier": "t_address",
  96155. "typeString": "address"
  96156. }
  96157. },
  96158. "visibility": "internal"
  96159. },
  96160. {
  96161. "constant": false,
  96162. "id": 14212,
  96163. "mutability": "mutable",
  96164. "name": "p3",
  96165. "nameLocation": "59403:2:50",
  96166. "nodeType": "VariableDeclaration",
  96167. "scope": 14227,
  96168. "src": "59398:7:50",
  96169. "stateVariable": false,
  96170. "storageLocation": "default",
  96171. "typeDescriptions": {
  96172. "typeIdentifier": "t_bool",
  96173. "typeString": "bool"
  96174. },
  96175. "typeName": {
  96176. "id": 14211,
  96177. "name": "bool",
  96178. "nodeType": "ElementaryTypeName",
  96179. "src": "59398:4:50",
  96180. "typeDescriptions": {
  96181. "typeIdentifier": "t_bool",
  96182. "typeString": "bool"
  96183. }
  96184. },
  96185. "visibility": "internal"
  96186. }
  96187. ],
  96188. "src": "59361:45:50"
  96189. },
  96190. "returnParameters": {
  96191. "id": 14214,
  96192. "nodeType": "ParameterList",
  96193. "parameters": [],
  96194. "src": "59421:0:50"
  96195. },
  96196. "scope": 15355,
  96197. "stateMutability": "pure",
  96198. "virtual": false,
  96199. "visibility": "internal"
  96200. },
  96201. {
  96202. "id": 14250,
  96203. "nodeType": "FunctionDefinition",
  96204. "src": "59537:188:50",
  96205. "nodes": [],
  96206. "body": {
  96207. "id": 14249,
  96208. "nodeType": "Block",
  96209. "src": "59612:113:50",
  96210. "nodes": [],
  96211. "statements": [
  96212. {
  96213. "expression": {
  96214. "arguments": [
  96215. {
  96216. "arguments": [
  96217. {
  96218. "hexValue": "6c6f6728616464726573732c75696e743235362c616464726573732c6164647265737329",
  96219. "id": 14241,
  96220. "isConstant": false,
  96221. "isLValue": false,
  96222. "isPure": true,
  96223. "kind": "string",
  96224. "lValueRequested": false,
  96225. "nodeType": "Literal",
  96226. "src": "59662:38:50",
  96227. "typeDescriptions": {
  96228. "typeIdentifier": "t_stringliteral_478d1c625a50f0548fbd6ce5c9463f034dc2ce146c930b3546dac402346457d4",
  96229. "typeString": "literal_string \"log(address,uint256,address,address)\""
  96230. },
  96231. "value": "log(address,uint256,address,address)"
  96232. },
  96233. {
  96234. "id": 14242,
  96235. "name": "p0",
  96236. "nodeType": "Identifier",
  96237. "overloadedDeclarations": [],
  96238. "referencedDeclaration": 14229,
  96239. "src": "59702:2:50",
  96240. "typeDescriptions": {
  96241. "typeIdentifier": "t_address",
  96242. "typeString": "address"
  96243. }
  96244. },
  96245. {
  96246. "id": 14243,
  96247. "name": "p1",
  96248. "nodeType": "Identifier",
  96249. "overloadedDeclarations": [],
  96250. "referencedDeclaration": 14231,
  96251. "src": "59706:2:50",
  96252. "typeDescriptions": {
  96253. "typeIdentifier": "t_uint256",
  96254. "typeString": "uint256"
  96255. }
  96256. },
  96257. {
  96258. "id": 14244,
  96259. "name": "p2",
  96260. "nodeType": "Identifier",
  96261. "overloadedDeclarations": [],
  96262. "referencedDeclaration": 14233,
  96263. "src": "59710:2:50",
  96264. "typeDescriptions": {
  96265. "typeIdentifier": "t_address",
  96266. "typeString": "address"
  96267. }
  96268. },
  96269. {
  96270. "id": 14245,
  96271. "name": "p3",
  96272. "nodeType": "Identifier",
  96273. "overloadedDeclarations": [],
  96274. "referencedDeclaration": 14235,
  96275. "src": "59714:2:50",
  96276. "typeDescriptions": {
  96277. "typeIdentifier": "t_address",
  96278. "typeString": "address"
  96279. }
  96280. }
  96281. ],
  96282. "expression": {
  96283. "argumentTypes": [
  96284. {
  96285. "typeIdentifier": "t_stringliteral_478d1c625a50f0548fbd6ce5c9463f034dc2ce146c930b3546dac402346457d4",
  96286. "typeString": "literal_string \"log(address,uint256,address,address)\""
  96287. },
  96288. {
  96289. "typeIdentifier": "t_address",
  96290. "typeString": "address"
  96291. },
  96292. {
  96293. "typeIdentifier": "t_uint256",
  96294. "typeString": "uint256"
  96295. },
  96296. {
  96297. "typeIdentifier": "t_address",
  96298. "typeString": "address"
  96299. },
  96300. {
  96301. "typeIdentifier": "t_address",
  96302. "typeString": "address"
  96303. }
  96304. ],
  96305. "expression": {
  96306. "id": 14239,
  96307. "name": "abi",
  96308. "nodeType": "Identifier",
  96309. "overloadedDeclarations": [],
  96310. "referencedDeclaration": -1,
  96311. "src": "59638:3:50",
  96312. "typeDescriptions": {
  96313. "typeIdentifier": "t_magic_abi",
  96314. "typeString": "abi"
  96315. }
  96316. },
  96317. "id": 14240,
  96318. "isConstant": false,
  96319. "isLValue": false,
  96320. "isPure": true,
  96321. "lValueRequested": false,
  96322. "memberLocation": "59642:19:50",
  96323. "memberName": "encodeWithSignature",
  96324. "nodeType": "MemberAccess",
  96325. "src": "59638:23:50",
  96326. "typeDescriptions": {
  96327. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  96328. "typeString": "function (string memory) pure returns (bytes memory)"
  96329. }
  96330. },
  96331. "id": 14246,
  96332. "isConstant": false,
  96333. "isLValue": false,
  96334. "isPure": false,
  96335. "kind": "functionCall",
  96336. "lValueRequested": false,
  96337. "nameLocations": [],
  96338. "names": [],
  96339. "nodeType": "FunctionCall",
  96340. "src": "59638:79:50",
  96341. "tryCall": false,
  96342. "typeDescriptions": {
  96343. "typeIdentifier": "t_bytes_memory_ptr",
  96344. "typeString": "bytes memory"
  96345. }
  96346. }
  96347. ],
  96348. "expression": {
  96349. "argumentTypes": [
  96350. {
  96351. "typeIdentifier": "t_bytes_memory_ptr",
  96352. "typeString": "bytes memory"
  96353. }
  96354. ],
  96355. "id": 14238,
  96356. "name": "_sendLogPayload",
  96357. "nodeType": "Identifier",
  96358. "overloadedDeclarations": [],
  96359. "referencedDeclaration": 7315,
  96360. "src": "59622:15:50",
  96361. "typeDescriptions": {
  96362. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  96363. "typeString": "function (bytes memory) pure"
  96364. }
  96365. },
  96366. "id": 14247,
  96367. "isConstant": false,
  96368. "isLValue": false,
  96369. "isPure": false,
  96370. "kind": "functionCall",
  96371. "lValueRequested": false,
  96372. "nameLocations": [],
  96373. "names": [],
  96374. "nodeType": "FunctionCall",
  96375. "src": "59622:96:50",
  96376. "tryCall": false,
  96377. "typeDescriptions": {
  96378. "typeIdentifier": "t_tuple$__$",
  96379. "typeString": "tuple()"
  96380. }
  96381. },
  96382. "id": 14248,
  96383. "nodeType": "ExpressionStatement",
  96384. "src": "59622:96:50"
  96385. }
  96386. ]
  96387. },
  96388. "implemented": true,
  96389. "kind": "function",
  96390. "modifiers": [],
  96391. "name": "log",
  96392. "nameLocation": "59546:3:50",
  96393. "parameters": {
  96394. "id": 14236,
  96395. "nodeType": "ParameterList",
  96396. "parameters": [
  96397. {
  96398. "constant": false,
  96399. "id": 14229,
  96400. "mutability": "mutable",
  96401. "name": "p0",
  96402. "nameLocation": "59558:2:50",
  96403. "nodeType": "VariableDeclaration",
  96404. "scope": 14250,
  96405. "src": "59550:10:50",
  96406. "stateVariable": false,
  96407. "storageLocation": "default",
  96408. "typeDescriptions": {
  96409. "typeIdentifier": "t_address",
  96410. "typeString": "address"
  96411. },
  96412. "typeName": {
  96413. "id": 14228,
  96414. "name": "address",
  96415. "nodeType": "ElementaryTypeName",
  96416. "src": "59550:7:50",
  96417. "stateMutability": "nonpayable",
  96418. "typeDescriptions": {
  96419. "typeIdentifier": "t_address",
  96420. "typeString": "address"
  96421. }
  96422. },
  96423. "visibility": "internal"
  96424. },
  96425. {
  96426. "constant": false,
  96427. "id": 14231,
  96428. "mutability": "mutable",
  96429. "name": "p1",
  96430. "nameLocation": "59570:2:50",
  96431. "nodeType": "VariableDeclaration",
  96432. "scope": 14250,
  96433. "src": "59562:10:50",
  96434. "stateVariable": false,
  96435. "storageLocation": "default",
  96436. "typeDescriptions": {
  96437. "typeIdentifier": "t_uint256",
  96438. "typeString": "uint256"
  96439. },
  96440. "typeName": {
  96441. "id": 14230,
  96442. "name": "uint256",
  96443. "nodeType": "ElementaryTypeName",
  96444. "src": "59562:7:50",
  96445. "typeDescriptions": {
  96446. "typeIdentifier": "t_uint256",
  96447. "typeString": "uint256"
  96448. }
  96449. },
  96450. "visibility": "internal"
  96451. },
  96452. {
  96453. "constant": false,
  96454. "id": 14233,
  96455. "mutability": "mutable",
  96456. "name": "p2",
  96457. "nameLocation": "59582:2:50",
  96458. "nodeType": "VariableDeclaration",
  96459. "scope": 14250,
  96460. "src": "59574:10:50",
  96461. "stateVariable": false,
  96462. "storageLocation": "default",
  96463. "typeDescriptions": {
  96464. "typeIdentifier": "t_address",
  96465. "typeString": "address"
  96466. },
  96467. "typeName": {
  96468. "id": 14232,
  96469. "name": "address",
  96470. "nodeType": "ElementaryTypeName",
  96471. "src": "59574:7:50",
  96472. "stateMutability": "nonpayable",
  96473. "typeDescriptions": {
  96474. "typeIdentifier": "t_address",
  96475. "typeString": "address"
  96476. }
  96477. },
  96478. "visibility": "internal"
  96479. },
  96480. {
  96481. "constant": false,
  96482. "id": 14235,
  96483. "mutability": "mutable",
  96484. "name": "p3",
  96485. "nameLocation": "59594:2:50",
  96486. "nodeType": "VariableDeclaration",
  96487. "scope": 14250,
  96488. "src": "59586:10:50",
  96489. "stateVariable": false,
  96490. "storageLocation": "default",
  96491. "typeDescriptions": {
  96492. "typeIdentifier": "t_address",
  96493. "typeString": "address"
  96494. },
  96495. "typeName": {
  96496. "id": 14234,
  96497. "name": "address",
  96498. "nodeType": "ElementaryTypeName",
  96499. "src": "59586:7:50",
  96500. "stateMutability": "nonpayable",
  96501. "typeDescriptions": {
  96502. "typeIdentifier": "t_address",
  96503. "typeString": "address"
  96504. }
  96505. },
  96506. "visibility": "internal"
  96507. }
  96508. ],
  96509. "src": "59549:48:50"
  96510. },
  96511. "returnParameters": {
  96512. "id": 14237,
  96513. "nodeType": "ParameterList",
  96514. "parameters": [],
  96515. "src": "59612:0:50"
  96516. },
  96517. "scope": 15355,
  96518. "stateMutability": "pure",
  96519. "virtual": false,
  96520. "visibility": "internal"
  96521. },
  96522. {
  96523. "id": 14273,
  96524. "nodeType": "FunctionDefinition",
  96525. "src": "59731:193:50",
  96526. "nodes": [],
  96527. "body": {
  96528. "id": 14272,
  96529. "nodeType": "Block",
  96530. "src": "59812:112:50",
  96531. "nodes": [],
  96532. "statements": [
  96533. {
  96534. "expression": {
  96535. "arguments": [
  96536. {
  96537. "arguments": [
  96538. {
  96539. "hexValue": "6c6f6728616464726573732c737472696e672c75696e743235362c75696e7432353629",
  96540. "id": 14264,
  96541. "isConstant": false,
  96542. "isLValue": false,
  96543. "isPure": true,
  96544. "kind": "string",
  96545. "lValueRequested": false,
  96546. "nodeType": "Literal",
  96547. "src": "59862:37:50",
  96548. "typeDescriptions": {
  96549. "typeIdentifier": "t_stringliteral_1dc8e1b86f5e8cc33f88f9c9577316d392566cde443e43069eebe8e56a0a0562",
  96550. "typeString": "literal_string \"log(address,string,uint256,uint256)\""
  96551. },
  96552. "value": "log(address,string,uint256,uint256)"
  96553. },
  96554. {
  96555. "id": 14265,
  96556. "name": "p0",
  96557. "nodeType": "Identifier",
  96558. "overloadedDeclarations": [],
  96559. "referencedDeclaration": 14252,
  96560. "src": "59901:2:50",
  96561. "typeDescriptions": {
  96562. "typeIdentifier": "t_address",
  96563. "typeString": "address"
  96564. }
  96565. },
  96566. {
  96567. "id": 14266,
  96568. "name": "p1",
  96569. "nodeType": "Identifier",
  96570. "overloadedDeclarations": [],
  96571. "referencedDeclaration": 14254,
  96572. "src": "59905:2:50",
  96573. "typeDescriptions": {
  96574. "typeIdentifier": "t_string_memory_ptr",
  96575. "typeString": "string memory"
  96576. }
  96577. },
  96578. {
  96579. "id": 14267,
  96580. "name": "p2",
  96581. "nodeType": "Identifier",
  96582. "overloadedDeclarations": [],
  96583. "referencedDeclaration": 14256,
  96584. "src": "59909:2:50",
  96585. "typeDescriptions": {
  96586. "typeIdentifier": "t_uint256",
  96587. "typeString": "uint256"
  96588. }
  96589. },
  96590. {
  96591. "id": 14268,
  96592. "name": "p3",
  96593. "nodeType": "Identifier",
  96594. "overloadedDeclarations": [],
  96595. "referencedDeclaration": 14258,
  96596. "src": "59913:2:50",
  96597. "typeDescriptions": {
  96598. "typeIdentifier": "t_uint256",
  96599. "typeString": "uint256"
  96600. }
  96601. }
  96602. ],
  96603. "expression": {
  96604. "argumentTypes": [
  96605. {
  96606. "typeIdentifier": "t_stringliteral_1dc8e1b86f5e8cc33f88f9c9577316d392566cde443e43069eebe8e56a0a0562",
  96607. "typeString": "literal_string \"log(address,string,uint256,uint256)\""
  96608. },
  96609. {
  96610. "typeIdentifier": "t_address",
  96611. "typeString": "address"
  96612. },
  96613. {
  96614. "typeIdentifier": "t_string_memory_ptr",
  96615. "typeString": "string memory"
  96616. },
  96617. {
  96618. "typeIdentifier": "t_uint256",
  96619. "typeString": "uint256"
  96620. },
  96621. {
  96622. "typeIdentifier": "t_uint256",
  96623. "typeString": "uint256"
  96624. }
  96625. ],
  96626. "expression": {
  96627. "id": 14262,
  96628. "name": "abi",
  96629. "nodeType": "Identifier",
  96630. "overloadedDeclarations": [],
  96631. "referencedDeclaration": -1,
  96632. "src": "59838:3:50",
  96633. "typeDescriptions": {
  96634. "typeIdentifier": "t_magic_abi",
  96635. "typeString": "abi"
  96636. }
  96637. },
  96638. "id": 14263,
  96639. "isConstant": false,
  96640. "isLValue": false,
  96641. "isPure": true,
  96642. "lValueRequested": false,
  96643. "memberLocation": "59842:19:50",
  96644. "memberName": "encodeWithSignature",
  96645. "nodeType": "MemberAccess",
  96646. "src": "59838:23:50",
  96647. "typeDescriptions": {
  96648. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  96649. "typeString": "function (string memory) pure returns (bytes memory)"
  96650. }
  96651. },
  96652. "id": 14269,
  96653. "isConstant": false,
  96654. "isLValue": false,
  96655. "isPure": false,
  96656. "kind": "functionCall",
  96657. "lValueRequested": false,
  96658. "nameLocations": [],
  96659. "names": [],
  96660. "nodeType": "FunctionCall",
  96661. "src": "59838:78:50",
  96662. "tryCall": false,
  96663. "typeDescriptions": {
  96664. "typeIdentifier": "t_bytes_memory_ptr",
  96665. "typeString": "bytes memory"
  96666. }
  96667. }
  96668. ],
  96669. "expression": {
  96670. "argumentTypes": [
  96671. {
  96672. "typeIdentifier": "t_bytes_memory_ptr",
  96673. "typeString": "bytes memory"
  96674. }
  96675. ],
  96676. "id": 14261,
  96677. "name": "_sendLogPayload",
  96678. "nodeType": "Identifier",
  96679. "overloadedDeclarations": [],
  96680. "referencedDeclaration": 7315,
  96681. "src": "59822:15:50",
  96682. "typeDescriptions": {
  96683. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  96684. "typeString": "function (bytes memory) pure"
  96685. }
  96686. },
  96687. "id": 14270,
  96688. "isConstant": false,
  96689. "isLValue": false,
  96690. "isPure": false,
  96691. "kind": "functionCall",
  96692. "lValueRequested": false,
  96693. "nameLocations": [],
  96694. "names": [],
  96695. "nodeType": "FunctionCall",
  96696. "src": "59822:95:50",
  96697. "tryCall": false,
  96698. "typeDescriptions": {
  96699. "typeIdentifier": "t_tuple$__$",
  96700. "typeString": "tuple()"
  96701. }
  96702. },
  96703. "id": 14271,
  96704. "nodeType": "ExpressionStatement",
  96705. "src": "59822:95:50"
  96706. }
  96707. ]
  96708. },
  96709. "implemented": true,
  96710. "kind": "function",
  96711. "modifiers": [],
  96712. "name": "log",
  96713. "nameLocation": "59740:3:50",
  96714. "parameters": {
  96715. "id": 14259,
  96716. "nodeType": "ParameterList",
  96717. "parameters": [
  96718. {
  96719. "constant": false,
  96720. "id": 14252,
  96721. "mutability": "mutable",
  96722. "name": "p0",
  96723. "nameLocation": "59752:2:50",
  96724. "nodeType": "VariableDeclaration",
  96725. "scope": 14273,
  96726. "src": "59744:10:50",
  96727. "stateVariable": false,
  96728. "storageLocation": "default",
  96729. "typeDescriptions": {
  96730. "typeIdentifier": "t_address",
  96731. "typeString": "address"
  96732. },
  96733. "typeName": {
  96734. "id": 14251,
  96735. "name": "address",
  96736. "nodeType": "ElementaryTypeName",
  96737. "src": "59744:7:50",
  96738. "stateMutability": "nonpayable",
  96739. "typeDescriptions": {
  96740. "typeIdentifier": "t_address",
  96741. "typeString": "address"
  96742. }
  96743. },
  96744. "visibility": "internal"
  96745. },
  96746. {
  96747. "constant": false,
  96748. "id": 14254,
  96749. "mutability": "mutable",
  96750. "name": "p1",
  96751. "nameLocation": "59770:2:50",
  96752. "nodeType": "VariableDeclaration",
  96753. "scope": 14273,
  96754. "src": "59756:16:50",
  96755. "stateVariable": false,
  96756. "storageLocation": "memory",
  96757. "typeDescriptions": {
  96758. "typeIdentifier": "t_string_memory_ptr",
  96759. "typeString": "string"
  96760. },
  96761. "typeName": {
  96762. "id": 14253,
  96763. "name": "string",
  96764. "nodeType": "ElementaryTypeName",
  96765. "src": "59756:6:50",
  96766. "typeDescriptions": {
  96767. "typeIdentifier": "t_string_storage_ptr",
  96768. "typeString": "string"
  96769. }
  96770. },
  96771. "visibility": "internal"
  96772. },
  96773. {
  96774. "constant": false,
  96775. "id": 14256,
  96776. "mutability": "mutable",
  96777. "name": "p2",
  96778. "nameLocation": "59782:2:50",
  96779. "nodeType": "VariableDeclaration",
  96780. "scope": 14273,
  96781. "src": "59774:10:50",
  96782. "stateVariable": false,
  96783. "storageLocation": "default",
  96784. "typeDescriptions": {
  96785. "typeIdentifier": "t_uint256",
  96786. "typeString": "uint256"
  96787. },
  96788. "typeName": {
  96789. "id": 14255,
  96790. "name": "uint256",
  96791. "nodeType": "ElementaryTypeName",
  96792. "src": "59774:7:50",
  96793. "typeDescriptions": {
  96794. "typeIdentifier": "t_uint256",
  96795. "typeString": "uint256"
  96796. }
  96797. },
  96798. "visibility": "internal"
  96799. },
  96800. {
  96801. "constant": false,
  96802. "id": 14258,
  96803. "mutability": "mutable",
  96804. "name": "p3",
  96805. "nameLocation": "59794:2:50",
  96806. "nodeType": "VariableDeclaration",
  96807. "scope": 14273,
  96808. "src": "59786:10:50",
  96809. "stateVariable": false,
  96810. "storageLocation": "default",
  96811. "typeDescriptions": {
  96812. "typeIdentifier": "t_uint256",
  96813. "typeString": "uint256"
  96814. },
  96815. "typeName": {
  96816. "id": 14257,
  96817. "name": "uint256",
  96818. "nodeType": "ElementaryTypeName",
  96819. "src": "59786:7:50",
  96820. "typeDescriptions": {
  96821. "typeIdentifier": "t_uint256",
  96822. "typeString": "uint256"
  96823. }
  96824. },
  96825. "visibility": "internal"
  96826. }
  96827. ],
  96828. "src": "59743:54:50"
  96829. },
  96830. "returnParameters": {
  96831. "id": 14260,
  96832. "nodeType": "ParameterList",
  96833. "parameters": [],
  96834. "src": "59812:0:50"
  96835. },
  96836. "scope": 15355,
  96837. "stateMutability": "pure",
  96838. "virtual": false,
  96839. "visibility": "internal"
  96840. },
  96841. {
  96842. "id": 14296,
  96843. "nodeType": "FunctionDefinition",
  96844. "src": "59930:198:50",
  96845. "nodes": [],
  96846. "body": {
  96847. "id": 14295,
  96848. "nodeType": "Block",
  96849. "src": "60017:111:50",
  96850. "nodes": [],
  96851. "statements": [
  96852. {
  96853. "expression": {
  96854. "arguments": [
  96855. {
  96856. "arguments": [
  96857. {
  96858. "hexValue": "6c6f6728616464726573732c737472696e672c75696e743235362c737472696e6729",
  96859. "id": 14287,
  96860. "isConstant": false,
  96861. "isLValue": false,
  96862. "isPure": true,
  96863. "kind": "string",
  96864. "lValueRequested": false,
  96865. "nodeType": "Literal",
  96866. "src": "60067:36:50",
  96867. "typeDescriptions": {
  96868. "typeIdentifier": "t_stringliteral_448830a8c1281c2ef562207eb8a81eaf8ce3a05f5db2e480f1a7741f740725d3",
  96869. "typeString": "literal_string \"log(address,string,uint256,string)\""
  96870. },
  96871. "value": "log(address,string,uint256,string)"
  96872. },
  96873. {
  96874. "id": 14288,
  96875. "name": "p0",
  96876. "nodeType": "Identifier",
  96877. "overloadedDeclarations": [],
  96878. "referencedDeclaration": 14275,
  96879. "src": "60105:2:50",
  96880. "typeDescriptions": {
  96881. "typeIdentifier": "t_address",
  96882. "typeString": "address"
  96883. }
  96884. },
  96885. {
  96886. "id": 14289,
  96887. "name": "p1",
  96888. "nodeType": "Identifier",
  96889. "overloadedDeclarations": [],
  96890. "referencedDeclaration": 14277,
  96891. "src": "60109:2:50",
  96892. "typeDescriptions": {
  96893. "typeIdentifier": "t_string_memory_ptr",
  96894. "typeString": "string memory"
  96895. }
  96896. },
  96897. {
  96898. "id": 14290,
  96899. "name": "p2",
  96900. "nodeType": "Identifier",
  96901. "overloadedDeclarations": [],
  96902. "referencedDeclaration": 14279,
  96903. "src": "60113:2:50",
  96904. "typeDescriptions": {
  96905. "typeIdentifier": "t_uint256",
  96906. "typeString": "uint256"
  96907. }
  96908. },
  96909. {
  96910. "id": 14291,
  96911. "name": "p3",
  96912. "nodeType": "Identifier",
  96913. "overloadedDeclarations": [],
  96914. "referencedDeclaration": 14281,
  96915. "src": "60117:2:50",
  96916. "typeDescriptions": {
  96917. "typeIdentifier": "t_string_memory_ptr",
  96918. "typeString": "string memory"
  96919. }
  96920. }
  96921. ],
  96922. "expression": {
  96923. "argumentTypes": [
  96924. {
  96925. "typeIdentifier": "t_stringliteral_448830a8c1281c2ef562207eb8a81eaf8ce3a05f5db2e480f1a7741f740725d3",
  96926. "typeString": "literal_string \"log(address,string,uint256,string)\""
  96927. },
  96928. {
  96929. "typeIdentifier": "t_address",
  96930. "typeString": "address"
  96931. },
  96932. {
  96933. "typeIdentifier": "t_string_memory_ptr",
  96934. "typeString": "string memory"
  96935. },
  96936. {
  96937. "typeIdentifier": "t_uint256",
  96938. "typeString": "uint256"
  96939. },
  96940. {
  96941. "typeIdentifier": "t_string_memory_ptr",
  96942. "typeString": "string memory"
  96943. }
  96944. ],
  96945. "expression": {
  96946. "id": 14285,
  96947. "name": "abi",
  96948. "nodeType": "Identifier",
  96949. "overloadedDeclarations": [],
  96950. "referencedDeclaration": -1,
  96951. "src": "60043:3:50",
  96952. "typeDescriptions": {
  96953. "typeIdentifier": "t_magic_abi",
  96954. "typeString": "abi"
  96955. }
  96956. },
  96957. "id": 14286,
  96958. "isConstant": false,
  96959. "isLValue": false,
  96960. "isPure": true,
  96961. "lValueRequested": false,
  96962. "memberLocation": "60047:19:50",
  96963. "memberName": "encodeWithSignature",
  96964. "nodeType": "MemberAccess",
  96965. "src": "60043:23:50",
  96966. "typeDescriptions": {
  96967. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  96968. "typeString": "function (string memory) pure returns (bytes memory)"
  96969. }
  96970. },
  96971. "id": 14292,
  96972. "isConstant": false,
  96973. "isLValue": false,
  96974. "isPure": false,
  96975. "kind": "functionCall",
  96976. "lValueRequested": false,
  96977. "nameLocations": [],
  96978. "names": [],
  96979. "nodeType": "FunctionCall",
  96980. "src": "60043:77:50",
  96981. "tryCall": false,
  96982. "typeDescriptions": {
  96983. "typeIdentifier": "t_bytes_memory_ptr",
  96984. "typeString": "bytes memory"
  96985. }
  96986. }
  96987. ],
  96988. "expression": {
  96989. "argumentTypes": [
  96990. {
  96991. "typeIdentifier": "t_bytes_memory_ptr",
  96992. "typeString": "bytes memory"
  96993. }
  96994. ],
  96995. "id": 14284,
  96996. "name": "_sendLogPayload",
  96997. "nodeType": "Identifier",
  96998. "overloadedDeclarations": [],
  96999. "referencedDeclaration": 7315,
  97000. "src": "60027:15:50",
  97001. "typeDescriptions": {
  97002. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  97003. "typeString": "function (bytes memory) pure"
  97004. }
  97005. },
  97006. "id": 14293,
  97007. "isConstant": false,
  97008. "isLValue": false,
  97009. "isPure": false,
  97010. "kind": "functionCall",
  97011. "lValueRequested": false,
  97012. "nameLocations": [],
  97013. "names": [],
  97014. "nodeType": "FunctionCall",
  97015. "src": "60027:94:50",
  97016. "tryCall": false,
  97017. "typeDescriptions": {
  97018. "typeIdentifier": "t_tuple$__$",
  97019. "typeString": "tuple()"
  97020. }
  97021. },
  97022. "id": 14294,
  97023. "nodeType": "ExpressionStatement",
  97024. "src": "60027:94:50"
  97025. }
  97026. ]
  97027. },
  97028. "implemented": true,
  97029. "kind": "function",
  97030. "modifiers": [],
  97031. "name": "log",
  97032. "nameLocation": "59939:3:50",
  97033. "parameters": {
  97034. "id": 14282,
  97035. "nodeType": "ParameterList",
  97036. "parameters": [
  97037. {
  97038. "constant": false,
  97039. "id": 14275,
  97040. "mutability": "mutable",
  97041. "name": "p0",
  97042. "nameLocation": "59951:2:50",
  97043. "nodeType": "VariableDeclaration",
  97044. "scope": 14296,
  97045. "src": "59943:10:50",
  97046. "stateVariable": false,
  97047. "storageLocation": "default",
  97048. "typeDescriptions": {
  97049. "typeIdentifier": "t_address",
  97050. "typeString": "address"
  97051. },
  97052. "typeName": {
  97053. "id": 14274,
  97054. "name": "address",
  97055. "nodeType": "ElementaryTypeName",
  97056. "src": "59943:7:50",
  97057. "stateMutability": "nonpayable",
  97058. "typeDescriptions": {
  97059. "typeIdentifier": "t_address",
  97060. "typeString": "address"
  97061. }
  97062. },
  97063. "visibility": "internal"
  97064. },
  97065. {
  97066. "constant": false,
  97067. "id": 14277,
  97068. "mutability": "mutable",
  97069. "name": "p1",
  97070. "nameLocation": "59969:2:50",
  97071. "nodeType": "VariableDeclaration",
  97072. "scope": 14296,
  97073. "src": "59955:16:50",
  97074. "stateVariable": false,
  97075. "storageLocation": "memory",
  97076. "typeDescriptions": {
  97077. "typeIdentifier": "t_string_memory_ptr",
  97078. "typeString": "string"
  97079. },
  97080. "typeName": {
  97081. "id": 14276,
  97082. "name": "string",
  97083. "nodeType": "ElementaryTypeName",
  97084. "src": "59955:6:50",
  97085. "typeDescriptions": {
  97086. "typeIdentifier": "t_string_storage_ptr",
  97087. "typeString": "string"
  97088. }
  97089. },
  97090. "visibility": "internal"
  97091. },
  97092. {
  97093. "constant": false,
  97094. "id": 14279,
  97095. "mutability": "mutable",
  97096. "name": "p2",
  97097. "nameLocation": "59981:2:50",
  97098. "nodeType": "VariableDeclaration",
  97099. "scope": 14296,
  97100. "src": "59973:10:50",
  97101. "stateVariable": false,
  97102. "storageLocation": "default",
  97103. "typeDescriptions": {
  97104. "typeIdentifier": "t_uint256",
  97105. "typeString": "uint256"
  97106. },
  97107. "typeName": {
  97108. "id": 14278,
  97109. "name": "uint256",
  97110. "nodeType": "ElementaryTypeName",
  97111. "src": "59973:7:50",
  97112. "typeDescriptions": {
  97113. "typeIdentifier": "t_uint256",
  97114. "typeString": "uint256"
  97115. }
  97116. },
  97117. "visibility": "internal"
  97118. },
  97119. {
  97120. "constant": false,
  97121. "id": 14281,
  97122. "mutability": "mutable",
  97123. "name": "p3",
  97124. "nameLocation": "59999:2:50",
  97125. "nodeType": "VariableDeclaration",
  97126. "scope": 14296,
  97127. "src": "59985:16:50",
  97128. "stateVariable": false,
  97129. "storageLocation": "memory",
  97130. "typeDescriptions": {
  97131. "typeIdentifier": "t_string_memory_ptr",
  97132. "typeString": "string"
  97133. },
  97134. "typeName": {
  97135. "id": 14280,
  97136. "name": "string",
  97137. "nodeType": "ElementaryTypeName",
  97138. "src": "59985:6:50",
  97139. "typeDescriptions": {
  97140. "typeIdentifier": "t_string_storage_ptr",
  97141. "typeString": "string"
  97142. }
  97143. },
  97144. "visibility": "internal"
  97145. }
  97146. ],
  97147. "src": "59942:60:50"
  97148. },
  97149. "returnParameters": {
  97150. "id": 14283,
  97151. "nodeType": "ParameterList",
  97152. "parameters": [],
  97153. "src": "60017:0:50"
  97154. },
  97155. "scope": 15355,
  97156. "stateMutability": "pure",
  97157. "virtual": false,
  97158. "visibility": "internal"
  97159. },
  97160. {
  97161. "id": 14319,
  97162. "nodeType": "FunctionDefinition",
  97163. "src": "60134:187:50",
  97164. "nodes": [],
  97165. "body": {
  97166. "id": 14318,
  97167. "nodeType": "Block",
  97168. "src": "60212:109:50",
  97169. "nodes": [],
  97170. "statements": [
  97171. {
  97172. "expression": {
  97173. "arguments": [
  97174. {
  97175. "arguments": [
  97176. {
  97177. "hexValue": "6c6f6728616464726573732c737472696e672c75696e743235362c626f6f6c29",
  97178. "id": 14310,
  97179. "isConstant": false,
  97180. "isLValue": false,
  97181. "isPure": true,
  97182. "kind": "string",
  97183. "lValueRequested": false,
  97184. "nodeType": "Literal",
  97185. "src": "60262:34:50",
  97186. "typeDescriptions": {
  97187. "typeIdentifier": "t_stringliteral_0ef7e050655c297a96024e476b2cd79b6c7fd3efbcd797a5d2723a888114ada4",
  97188. "typeString": "literal_string \"log(address,string,uint256,bool)\""
  97189. },
  97190. "value": "log(address,string,uint256,bool)"
  97191. },
  97192. {
  97193. "id": 14311,
  97194. "name": "p0",
  97195. "nodeType": "Identifier",
  97196. "overloadedDeclarations": [],
  97197. "referencedDeclaration": 14298,
  97198. "src": "60298:2:50",
  97199. "typeDescriptions": {
  97200. "typeIdentifier": "t_address",
  97201. "typeString": "address"
  97202. }
  97203. },
  97204. {
  97205. "id": 14312,
  97206. "name": "p1",
  97207. "nodeType": "Identifier",
  97208. "overloadedDeclarations": [],
  97209. "referencedDeclaration": 14300,
  97210. "src": "60302:2:50",
  97211. "typeDescriptions": {
  97212. "typeIdentifier": "t_string_memory_ptr",
  97213. "typeString": "string memory"
  97214. }
  97215. },
  97216. {
  97217. "id": 14313,
  97218. "name": "p2",
  97219. "nodeType": "Identifier",
  97220. "overloadedDeclarations": [],
  97221. "referencedDeclaration": 14302,
  97222. "src": "60306:2:50",
  97223. "typeDescriptions": {
  97224. "typeIdentifier": "t_uint256",
  97225. "typeString": "uint256"
  97226. }
  97227. },
  97228. {
  97229. "id": 14314,
  97230. "name": "p3",
  97231. "nodeType": "Identifier",
  97232. "overloadedDeclarations": [],
  97233. "referencedDeclaration": 14304,
  97234. "src": "60310:2:50",
  97235. "typeDescriptions": {
  97236. "typeIdentifier": "t_bool",
  97237. "typeString": "bool"
  97238. }
  97239. }
  97240. ],
  97241. "expression": {
  97242. "argumentTypes": [
  97243. {
  97244. "typeIdentifier": "t_stringliteral_0ef7e050655c297a96024e476b2cd79b6c7fd3efbcd797a5d2723a888114ada4",
  97245. "typeString": "literal_string \"log(address,string,uint256,bool)\""
  97246. },
  97247. {
  97248. "typeIdentifier": "t_address",
  97249. "typeString": "address"
  97250. },
  97251. {
  97252. "typeIdentifier": "t_string_memory_ptr",
  97253. "typeString": "string memory"
  97254. },
  97255. {
  97256. "typeIdentifier": "t_uint256",
  97257. "typeString": "uint256"
  97258. },
  97259. {
  97260. "typeIdentifier": "t_bool",
  97261. "typeString": "bool"
  97262. }
  97263. ],
  97264. "expression": {
  97265. "id": 14308,
  97266. "name": "abi",
  97267. "nodeType": "Identifier",
  97268. "overloadedDeclarations": [],
  97269. "referencedDeclaration": -1,
  97270. "src": "60238:3:50",
  97271. "typeDescriptions": {
  97272. "typeIdentifier": "t_magic_abi",
  97273. "typeString": "abi"
  97274. }
  97275. },
  97276. "id": 14309,
  97277. "isConstant": false,
  97278. "isLValue": false,
  97279. "isPure": true,
  97280. "lValueRequested": false,
  97281. "memberLocation": "60242:19:50",
  97282. "memberName": "encodeWithSignature",
  97283. "nodeType": "MemberAccess",
  97284. "src": "60238:23:50",
  97285. "typeDescriptions": {
  97286. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  97287. "typeString": "function (string memory) pure returns (bytes memory)"
  97288. }
  97289. },
  97290. "id": 14315,
  97291. "isConstant": false,
  97292. "isLValue": false,
  97293. "isPure": false,
  97294. "kind": "functionCall",
  97295. "lValueRequested": false,
  97296. "nameLocations": [],
  97297. "names": [],
  97298. "nodeType": "FunctionCall",
  97299. "src": "60238:75:50",
  97300. "tryCall": false,
  97301. "typeDescriptions": {
  97302. "typeIdentifier": "t_bytes_memory_ptr",
  97303. "typeString": "bytes memory"
  97304. }
  97305. }
  97306. ],
  97307. "expression": {
  97308. "argumentTypes": [
  97309. {
  97310. "typeIdentifier": "t_bytes_memory_ptr",
  97311. "typeString": "bytes memory"
  97312. }
  97313. ],
  97314. "id": 14307,
  97315. "name": "_sendLogPayload",
  97316. "nodeType": "Identifier",
  97317. "overloadedDeclarations": [],
  97318. "referencedDeclaration": 7315,
  97319. "src": "60222:15:50",
  97320. "typeDescriptions": {
  97321. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  97322. "typeString": "function (bytes memory) pure"
  97323. }
  97324. },
  97325. "id": 14316,
  97326. "isConstant": false,
  97327. "isLValue": false,
  97328. "isPure": false,
  97329. "kind": "functionCall",
  97330. "lValueRequested": false,
  97331. "nameLocations": [],
  97332. "names": [],
  97333. "nodeType": "FunctionCall",
  97334. "src": "60222:92:50",
  97335. "tryCall": false,
  97336. "typeDescriptions": {
  97337. "typeIdentifier": "t_tuple$__$",
  97338. "typeString": "tuple()"
  97339. }
  97340. },
  97341. "id": 14317,
  97342. "nodeType": "ExpressionStatement",
  97343. "src": "60222:92:50"
  97344. }
  97345. ]
  97346. },
  97347. "implemented": true,
  97348. "kind": "function",
  97349. "modifiers": [],
  97350. "name": "log",
  97351. "nameLocation": "60143:3:50",
  97352. "parameters": {
  97353. "id": 14305,
  97354. "nodeType": "ParameterList",
  97355. "parameters": [
  97356. {
  97357. "constant": false,
  97358. "id": 14298,
  97359. "mutability": "mutable",
  97360. "name": "p0",
  97361. "nameLocation": "60155:2:50",
  97362. "nodeType": "VariableDeclaration",
  97363. "scope": 14319,
  97364. "src": "60147:10:50",
  97365. "stateVariable": false,
  97366. "storageLocation": "default",
  97367. "typeDescriptions": {
  97368. "typeIdentifier": "t_address",
  97369. "typeString": "address"
  97370. },
  97371. "typeName": {
  97372. "id": 14297,
  97373. "name": "address",
  97374. "nodeType": "ElementaryTypeName",
  97375. "src": "60147:7:50",
  97376. "stateMutability": "nonpayable",
  97377. "typeDescriptions": {
  97378. "typeIdentifier": "t_address",
  97379. "typeString": "address"
  97380. }
  97381. },
  97382. "visibility": "internal"
  97383. },
  97384. {
  97385. "constant": false,
  97386. "id": 14300,
  97387. "mutability": "mutable",
  97388. "name": "p1",
  97389. "nameLocation": "60173:2:50",
  97390. "nodeType": "VariableDeclaration",
  97391. "scope": 14319,
  97392. "src": "60159:16:50",
  97393. "stateVariable": false,
  97394. "storageLocation": "memory",
  97395. "typeDescriptions": {
  97396. "typeIdentifier": "t_string_memory_ptr",
  97397. "typeString": "string"
  97398. },
  97399. "typeName": {
  97400. "id": 14299,
  97401. "name": "string",
  97402. "nodeType": "ElementaryTypeName",
  97403. "src": "60159:6:50",
  97404. "typeDescriptions": {
  97405. "typeIdentifier": "t_string_storage_ptr",
  97406. "typeString": "string"
  97407. }
  97408. },
  97409. "visibility": "internal"
  97410. },
  97411. {
  97412. "constant": false,
  97413. "id": 14302,
  97414. "mutability": "mutable",
  97415. "name": "p2",
  97416. "nameLocation": "60185:2:50",
  97417. "nodeType": "VariableDeclaration",
  97418. "scope": 14319,
  97419. "src": "60177:10:50",
  97420. "stateVariable": false,
  97421. "storageLocation": "default",
  97422. "typeDescriptions": {
  97423. "typeIdentifier": "t_uint256",
  97424. "typeString": "uint256"
  97425. },
  97426. "typeName": {
  97427. "id": 14301,
  97428. "name": "uint256",
  97429. "nodeType": "ElementaryTypeName",
  97430. "src": "60177:7:50",
  97431. "typeDescriptions": {
  97432. "typeIdentifier": "t_uint256",
  97433. "typeString": "uint256"
  97434. }
  97435. },
  97436. "visibility": "internal"
  97437. },
  97438. {
  97439. "constant": false,
  97440. "id": 14304,
  97441. "mutability": "mutable",
  97442. "name": "p3",
  97443. "nameLocation": "60194:2:50",
  97444. "nodeType": "VariableDeclaration",
  97445. "scope": 14319,
  97446. "src": "60189:7:50",
  97447. "stateVariable": false,
  97448. "storageLocation": "default",
  97449. "typeDescriptions": {
  97450. "typeIdentifier": "t_bool",
  97451. "typeString": "bool"
  97452. },
  97453. "typeName": {
  97454. "id": 14303,
  97455. "name": "bool",
  97456. "nodeType": "ElementaryTypeName",
  97457. "src": "60189:4:50",
  97458. "typeDescriptions": {
  97459. "typeIdentifier": "t_bool",
  97460. "typeString": "bool"
  97461. }
  97462. },
  97463. "visibility": "internal"
  97464. }
  97465. ],
  97466. "src": "60146:51:50"
  97467. },
  97468. "returnParameters": {
  97469. "id": 14306,
  97470. "nodeType": "ParameterList",
  97471. "parameters": [],
  97472. "src": "60212:0:50"
  97473. },
  97474. "scope": 15355,
  97475. "stateMutability": "pure",
  97476. "virtual": false,
  97477. "visibility": "internal"
  97478. },
  97479. {
  97480. "id": 14342,
  97481. "nodeType": "FunctionDefinition",
  97482. "src": "60327:193:50",
  97483. "nodes": [],
  97484. "body": {
  97485. "id": 14341,
  97486. "nodeType": "Block",
  97487. "src": "60408:112:50",
  97488. "nodes": [],
  97489. "statements": [
  97490. {
  97491. "expression": {
  97492. "arguments": [
  97493. {
  97494. "arguments": [
  97495. {
  97496. "hexValue": "6c6f6728616464726573732c737472696e672c75696e743235362c6164647265737329",
  97497. "id": 14333,
  97498. "isConstant": false,
  97499. "isLValue": false,
  97500. "isPure": true,
  97501. "kind": "string",
  97502. "lValueRequested": false,
  97503. "nodeType": "Literal",
  97504. "src": "60458:37:50",
  97505. "typeDescriptions": {
  97506. "typeIdentifier": "t_stringliteral_631836789e813227d6b1cf492359a1dbdd837663758bd3e55e319e4a730f0a18",
  97507. "typeString": "literal_string \"log(address,string,uint256,address)\""
  97508. },
  97509. "value": "log(address,string,uint256,address)"
  97510. },
  97511. {
  97512. "id": 14334,
  97513. "name": "p0",
  97514. "nodeType": "Identifier",
  97515. "overloadedDeclarations": [],
  97516. "referencedDeclaration": 14321,
  97517. "src": "60497:2:50",
  97518. "typeDescriptions": {
  97519. "typeIdentifier": "t_address",
  97520. "typeString": "address"
  97521. }
  97522. },
  97523. {
  97524. "id": 14335,
  97525. "name": "p1",
  97526. "nodeType": "Identifier",
  97527. "overloadedDeclarations": [],
  97528. "referencedDeclaration": 14323,
  97529. "src": "60501:2:50",
  97530. "typeDescriptions": {
  97531. "typeIdentifier": "t_string_memory_ptr",
  97532. "typeString": "string memory"
  97533. }
  97534. },
  97535. {
  97536. "id": 14336,
  97537. "name": "p2",
  97538. "nodeType": "Identifier",
  97539. "overloadedDeclarations": [],
  97540. "referencedDeclaration": 14325,
  97541. "src": "60505:2:50",
  97542. "typeDescriptions": {
  97543. "typeIdentifier": "t_uint256",
  97544. "typeString": "uint256"
  97545. }
  97546. },
  97547. {
  97548. "id": 14337,
  97549. "name": "p3",
  97550. "nodeType": "Identifier",
  97551. "overloadedDeclarations": [],
  97552. "referencedDeclaration": 14327,
  97553. "src": "60509:2:50",
  97554. "typeDescriptions": {
  97555. "typeIdentifier": "t_address",
  97556. "typeString": "address"
  97557. }
  97558. }
  97559. ],
  97560. "expression": {
  97561. "argumentTypes": [
  97562. {
  97563. "typeIdentifier": "t_stringliteral_631836789e813227d6b1cf492359a1dbdd837663758bd3e55e319e4a730f0a18",
  97564. "typeString": "literal_string \"log(address,string,uint256,address)\""
  97565. },
  97566. {
  97567. "typeIdentifier": "t_address",
  97568. "typeString": "address"
  97569. },
  97570. {
  97571. "typeIdentifier": "t_string_memory_ptr",
  97572. "typeString": "string memory"
  97573. },
  97574. {
  97575. "typeIdentifier": "t_uint256",
  97576. "typeString": "uint256"
  97577. },
  97578. {
  97579. "typeIdentifier": "t_address",
  97580. "typeString": "address"
  97581. }
  97582. ],
  97583. "expression": {
  97584. "id": 14331,
  97585. "name": "abi",
  97586. "nodeType": "Identifier",
  97587. "overloadedDeclarations": [],
  97588. "referencedDeclaration": -1,
  97589. "src": "60434:3:50",
  97590. "typeDescriptions": {
  97591. "typeIdentifier": "t_magic_abi",
  97592. "typeString": "abi"
  97593. }
  97594. },
  97595. "id": 14332,
  97596. "isConstant": false,
  97597. "isLValue": false,
  97598. "isPure": true,
  97599. "lValueRequested": false,
  97600. "memberLocation": "60438:19:50",
  97601. "memberName": "encodeWithSignature",
  97602. "nodeType": "MemberAccess",
  97603. "src": "60434:23:50",
  97604. "typeDescriptions": {
  97605. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  97606. "typeString": "function (string memory) pure returns (bytes memory)"
  97607. }
  97608. },
  97609. "id": 14338,
  97610. "isConstant": false,
  97611. "isLValue": false,
  97612. "isPure": false,
  97613. "kind": "functionCall",
  97614. "lValueRequested": false,
  97615. "nameLocations": [],
  97616. "names": [],
  97617. "nodeType": "FunctionCall",
  97618. "src": "60434:78:50",
  97619. "tryCall": false,
  97620. "typeDescriptions": {
  97621. "typeIdentifier": "t_bytes_memory_ptr",
  97622. "typeString": "bytes memory"
  97623. }
  97624. }
  97625. ],
  97626. "expression": {
  97627. "argumentTypes": [
  97628. {
  97629. "typeIdentifier": "t_bytes_memory_ptr",
  97630. "typeString": "bytes memory"
  97631. }
  97632. ],
  97633. "id": 14330,
  97634. "name": "_sendLogPayload",
  97635. "nodeType": "Identifier",
  97636. "overloadedDeclarations": [],
  97637. "referencedDeclaration": 7315,
  97638. "src": "60418:15:50",
  97639. "typeDescriptions": {
  97640. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  97641. "typeString": "function (bytes memory) pure"
  97642. }
  97643. },
  97644. "id": 14339,
  97645. "isConstant": false,
  97646. "isLValue": false,
  97647. "isPure": false,
  97648. "kind": "functionCall",
  97649. "lValueRequested": false,
  97650. "nameLocations": [],
  97651. "names": [],
  97652. "nodeType": "FunctionCall",
  97653. "src": "60418:95:50",
  97654. "tryCall": false,
  97655. "typeDescriptions": {
  97656. "typeIdentifier": "t_tuple$__$",
  97657. "typeString": "tuple()"
  97658. }
  97659. },
  97660. "id": 14340,
  97661. "nodeType": "ExpressionStatement",
  97662. "src": "60418:95:50"
  97663. }
  97664. ]
  97665. },
  97666. "implemented": true,
  97667. "kind": "function",
  97668. "modifiers": [],
  97669. "name": "log",
  97670. "nameLocation": "60336:3:50",
  97671. "parameters": {
  97672. "id": 14328,
  97673. "nodeType": "ParameterList",
  97674. "parameters": [
  97675. {
  97676. "constant": false,
  97677. "id": 14321,
  97678. "mutability": "mutable",
  97679. "name": "p0",
  97680. "nameLocation": "60348:2:50",
  97681. "nodeType": "VariableDeclaration",
  97682. "scope": 14342,
  97683. "src": "60340:10:50",
  97684. "stateVariable": false,
  97685. "storageLocation": "default",
  97686. "typeDescriptions": {
  97687. "typeIdentifier": "t_address",
  97688. "typeString": "address"
  97689. },
  97690. "typeName": {
  97691. "id": 14320,
  97692. "name": "address",
  97693. "nodeType": "ElementaryTypeName",
  97694. "src": "60340:7:50",
  97695. "stateMutability": "nonpayable",
  97696. "typeDescriptions": {
  97697. "typeIdentifier": "t_address",
  97698. "typeString": "address"
  97699. }
  97700. },
  97701. "visibility": "internal"
  97702. },
  97703. {
  97704. "constant": false,
  97705. "id": 14323,
  97706. "mutability": "mutable",
  97707. "name": "p1",
  97708. "nameLocation": "60366:2:50",
  97709. "nodeType": "VariableDeclaration",
  97710. "scope": 14342,
  97711. "src": "60352:16:50",
  97712. "stateVariable": false,
  97713. "storageLocation": "memory",
  97714. "typeDescriptions": {
  97715. "typeIdentifier": "t_string_memory_ptr",
  97716. "typeString": "string"
  97717. },
  97718. "typeName": {
  97719. "id": 14322,
  97720. "name": "string",
  97721. "nodeType": "ElementaryTypeName",
  97722. "src": "60352:6:50",
  97723. "typeDescriptions": {
  97724. "typeIdentifier": "t_string_storage_ptr",
  97725. "typeString": "string"
  97726. }
  97727. },
  97728. "visibility": "internal"
  97729. },
  97730. {
  97731. "constant": false,
  97732. "id": 14325,
  97733. "mutability": "mutable",
  97734. "name": "p2",
  97735. "nameLocation": "60378:2:50",
  97736. "nodeType": "VariableDeclaration",
  97737. "scope": 14342,
  97738. "src": "60370:10:50",
  97739. "stateVariable": false,
  97740. "storageLocation": "default",
  97741. "typeDescriptions": {
  97742. "typeIdentifier": "t_uint256",
  97743. "typeString": "uint256"
  97744. },
  97745. "typeName": {
  97746. "id": 14324,
  97747. "name": "uint256",
  97748. "nodeType": "ElementaryTypeName",
  97749. "src": "60370:7:50",
  97750. "typeDescriptions": {
  97751. "typeIdentifier": "t_uint256",
  97752. "typeString": "uint256"
  97753. }
  97754. },
  97755. "visibility": "internal"
  97756. },
  97757. {
  97758. "constant": false,
  97759. "id": 14327,
  97760. "mutability": "mutable",
  97761. "name": "p3",
  97762. "nameLocation": "60390:2:50",
  97763. "nodeType": "VariableDeclaration",
  97764. "scope": 14342,
  97765. "src": "60382:10:50",
  97766. "stateVariable": false,
  97767. "storageLocation": "default",
  97768. "typeDescriptions": {
  97769. "typeIdentifier": "t_address",
  97770. "typeString": "address"
  97771. },
  97772. "typeName": {
  97773. "id": 14326,
  97774. "name": "address",
  97775. "nodeType": "ElementaryTypeName",
  97776. "src": "60382:7:50",
  97777. "stateMutability": "nonpayable",
  97778. "typeDescriptions": {
  97779. "typeIdentifier": "t_address",
  97780. "typeString": "address"
  97781. }
  97782. },
  97783. "visibility": "internal"
  97784. }
  97785. ],
  97786. "src": "60339:54:50"
  97787. },
  97788. "returnParameters": {
  97789. "id": 14329,
  97790. "nodeType": "ParameterList",
  97791. "parameters": [],
  97792. "src": "60408:0:50"
  97793. },
  97794. "scope": 15355,
  97795. "stateMutability": "pure",
  97796. "virtual": false,
  97797. "visibility": "internal"
  97798. },
  97799. {
  97800. "id": 14365,
  97801. "nodeType": "FunctionDefinition",
  97802. "src": "60526:198:50",
  97803. "nodes": [],
  97804. "body": {
  97805. "id": 14364,
  97806. "nodeType": "Block",
  97807. "src": "60613:111:50",
  97808. "nodes": [],
  97809. "statements": [
  97810. {
  97811. "expression": {
  97812. "arguments": [
  97813. {
  97814. "arguments": [
  97815. {
  97816. "hexValue": "6c6f6728616464726573732c737472696e672c737472696e672c75696e7432353629",
  97817. "id": 14356,
  97818. "isConstant": false,
  97819. "isLValue": false,
  97820. "isPure": true,
  97821. "kind": "string",
  97822. "lValueRequested": false,
  97823. "nodeType": "Literal",
  97824. "src": "60663:36:50",
  97825. "typeDescriptions": {
  97826. "typeIdentifier": "t_stringliteral_159f89272dbf40436b74fcc844c992c1f5cc6a7cc05a9db80782be1a20a8f265",
  97827. "typeString": "literal_string \"log(address,string,string,uint256)\""
  97828. },
  97829. "value": "log(address,string,string,uint256)"
  97830. },
  97831. {
  97832. "id": 14357,
  97833. "name": "p0",
  97834. "nodeType": "Identifier",
  97835. "overloadedDeclarations": [],
  97836. "referencedDeclaration": 14344,
  97837. "src": "60701:2:50",
  97838. "typeDescriptions": {
  97839. "typeIdentifier": "t_address",
  97840. "typeString": "address"
  97841. }
  97842. },
  97843. {
  97844. "id": 14358,
  97845. "name": "p1",
  97846. "nodeType": "Identifier",
  97847. "overloadedDeclarations": [],
  97848. "referencedDeclaration": 14346,
  97849. "src": "60705:2:50",
  97850. "typeDescriptions": {
  97851. "typeIdentifier": "t_string_memory_ptr",
  97852. "typeString": "string memory"
  97853. }
  97854. },
  97855. {
  97856. "id": 14359,
  97857. "name": "p2",
  97858. "nodeType": "Identifier",
  97859. "overloadedDeclarations": [],
  97860. "referencedDeclaration": 14348,
  97861. "src": "60709:2:50",
  97862. "typeDescriptions": {
  97863. "typeIdentifier": "t_string_memory_ptr",
  97864. "typeString": "string memory"
  97865. }
  97866. },
  97867. {
  97868. "id": 14360,
  97869. "name": "p3",
  97870. "nodeType": "Identifier",
  97871. "overloadedDeclarations": [],
  97872. "referencedDeclaration": 14350,
  97873. "src": "60713:2:50",
  97874. "typeDescriptions": {
  97875. "typeIdentifier": "t_uint256",
  97876. "typeString": "uint256"
  97877. }
  97878. }
  97879. ],
  97880. "expression": {
  97881. "argumentTypes": [
  97882. {
  97883. "typeIdentifier": "t_stringliteral_159f89272dbf40436b74fcc844c992c1f5cc6a7cc05a9db80782be1a20a8f265",
  97884. "typeString": "literal_string \"log(address,string,string,uint256)\""
  97885. },
  97886. {
  97887. "typeIdentifier": "t_address",
  97888. "typeString": "address"
  97889. },
  97890. {
  97891. "typeIdentifier": "t_string_memory_ptr",
  97892. "typeString": "string memory"
  97893. },
  97894. {
  97895. "typeIdentifier": "t_string_memory_ptr",
  97896. "typeString": "string memory"
  97897. },
  97898. {
  97899. "typeIdentifier": "t_uint256",
  97900. "typeString": "uint256"
  97901. }
  97902. ],
  97903. "expression": {
  97904. "id": 14354,
  97905. "name": "abi",
  97906. "nodeType": "Identifier",
  97907. "overloadedDeclarations": [],
  97908. "referencedDeclaration": -1,
  97909. "src": "60639:3:50",
  97910. "typeDescriptions": {
  97911. "typeIdentifier": "t_magic_abi",
  97912. "typeString": "abi"
  97913. }
  97914. },
  97915. "id": 14355,
  97916. "isConstant": false,
  97917. "isLValue": false,
  97918. "isPure": true,
  97919. "lValueRequested": false,
  97920. "memberLocation": "60643:19:50",
  97921. "memberName": "encodeWithSignature",
  97922. "nodeType": "MemberAccess",
  97923. "src": "60639:23:50",
  97924. "typeDescriptions": {
  97925. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  97926. "typeString": "function (string memory) pure returns (bytes memory)"
  97927. }
  97928. },
  97929. "id": 14361,
  97930. "isConstant": false,
  97931. "isLValue": false,
  97932. "isPure": false,
  97933. "kind": "functionCall",
  97934. "lValueRequested": false,
  97935. "nameLocations": [],
  97936. "names": [],
  97937. "nodeType": "FunctionCall",
  97938. "src": "60639:77:50",
  97939. "tryCall": false,
  97940. "typeDescriptions": {
  97941. "typeIdentifier": "t_bytes_memory_ptr",
  97942. "typeString": "bytes memory"
  97943. }
  97944. }
  97945. ],
  97946. "expression": {
  97947. "argumentTypes": [
  97948. {
  97949. "typeIdentifier": "t_bytes_memory_ptr",
  97950. "typeString": "bytes memory"
  97951. }
  97952. ],
  97953. "id": 14353,
  97954. "name": "_sendLogPayload",
  97955. "nodeType": "Identifier",
  97956. "overloadedDeclarations": [],
  97957. "referencedDeclaration": 7315,
  97958. "src": "60623:15:50",
  97959. "typeDescriptions": {
  97960. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  97961. "typeString": "function (bytes memory) pure"
  97962. }
  97963. },
  97964. "id": 14362,
  97965. "isConstant": false,
  97966. "isLValue": false,
  97967. "isPure": false,
  97968. "kind": "functionCall",
  97969. "lValueRequested": false,
  97970. "nameLocations": [],
  97971. "names": [],
  97972. "nodeType": "FunctionCall",
  97973. "src": "60623:94:50",
  97974. "tryCall": false,
  97975. "typeDescriptions": {
  97976. "typeIdentifier": "t_tuple$__$",
  97977. "typeString": "tuple()"
  97978. }
  97979. },
  97980. "id": 14363,
  97981. "nodeType": "ExpressionStatement",
  97982. "src": "60623:94:50"
  97983. }
  97984. ]
  97985. },
  97986. "implemented": true,
  97987. "kind": "function",
  97988. "modifiers": [],
  97989. "name": "log",
  97990. "nameLocation": "60535:3:50",
  97991. "parameters": {
  97992. "id": 14351,
  97993. "nodeType": "ParameterList",
  97994. "parameters": [
  97995. {
  97996. "constant": false,
  97997. "id": 14344,
  97998. "mutability": "mutable",
  97999. "name": "p0",
  98000. "nameLocation": "60547:2:50",
  98001. "nodeType": "VariableDeclaration",
  98002. "scope": 14365,
  98003. "src": "60539:10:50",
  98004. "stateVariable": false,
  98005. "storageLocation": "default",
  98006. "typeDescriptions": {
  98007. "typeIdentifier": "t_address",
  98008. "typeString": "address"
  98009. },
  98010. "typeName": {
  98011. "id": 14343,
  98012. "name": "address",
  98013. "nodeType": "ElementaryTypeName",
  98014. "src": "60539:7:50",
  98015. "stateMutability": "nonpayable",
  98016. "typeDescriptions": {
  98017. "typeIdentifier": "t_address",
  98018. "typeString": "address"
  98019. }
  98020. },
  98021. "visibility": "internal"
  98022. },
  98023. {
  98024. "constant": false,
  98025. "id": 14346,
  98026. "mutability": "mutable",
  98027. "name": "p1",
  98028. "nameLocation": "60565:2:50",
  98029. "nodeType": "VariableDeclaration",
  98030. "scope": 14365,
  98031. "src": "60551:16:50",
  98032. "stateVariable": false,
  98033. "storageLocation": "memory",
  98034. "typeDescriptions": {
  98035. "typeIdentifier": "t_string_memory_ptr",
  98036. "typeString": "string"
  98037. },
  98038. "typeName": {
  98039. "id": 14345,
  98040. "name": "string",
  98041. "nodeType": "ElementaryTypeName",
  98042. "src": "60551:6:50",
  98043. "typeDescriptions": {
  98044. "typeIdentifier": "t_string_storage_ptr",
  98045. "typeString": "string"
  98046. }
  98047. },
  98048. "visibility": "internal"
  98049. },
  98050. {
  98051. "constant": false,
  98052. "id": 14348,
  98053. "mutability": "mutable",
  98054. "name": "p2",
  98055. "nameLocation": "60583:2:50",
  98056. "nodeType": "VariableDeclaration",
  98057. "scope": 14365,
  98058. "src": "60569:16:50",
  98059. "stateVariable": false,
  98060. "storageLocation": "memory",
  98061. "typeDescriptions": {
  98062. "typeIdentifier": "t_string_memory_ptr",
  98063. "typeString": "string"
  98064. },
  98065. "typeName": {
  98066. "id": 14347,
  98067. "name": "string",
  98068. "nodeType": "ElementaryTypeName",
  98069. "src": "60569:6:50",
  98070. "typeDescriptions": {
  98071. "typeIdentifier": "t_string_storage_ptr",
  98072. "typeString": "string"
  98073. }
  98074. },
  98075. "visibility": "internal"
  98076. },
  98077. {
  98078. "constant": false,
  98079. "id": 14350,
  98080. "mutability": "mutable",
  98081. "name": "p3",
  98082. "nameLocation": "60595:2:50",
  98083. "nodeType": "VariableDeclaration",
  98084. "scope": 14365,
  98085. "src": "60587:10:50",
  98086. "stateVariable": false,
  98087. "storageLocation": "default",
  98088. "typeDescriptions": {
  98089. "typeIdentifier": "t_uint256",
  98090. "typeString": "uint256"
  98091. },
  98092. "typeName": {
  98093. "id": 14349,
  98094. "name": "uint256",
  98095. "nodeType": "ElementaryTypeName",
  98096. "src": "60587:7:50",
  98097. "typeDescriptions": {
  98098. "typeIdentifier": "t_uint256",
  98099. "typeString": "uint256"
  98100. }
  98101. },
  98102. "visibility": "internal"
  98103. }
  98104. ],
  98105. "src": "60538:60:50"
  98106. },
  98107. "returnParameters": {
  98108. "id": 14352,
  98109. "nodeType": "ParameterList",
  98110. "parameters": [],
  98111. "src": "60613:0:50"
  98112. },
  98113. "scope": 15355,
  98114. "stateMutability": "pure",
  98115. "virtual": false,
  98116. "visibility": "internal"
  98117. },
  98118. {
  98119. "id": 14388,
  98120. "nodeType": "FunctionDefinition",
  98121. "src": "60730:203:50",
  98122. "nodes": [],
  98123. "body": {
  98124. "id": 14387,
  98125. "nodeType": "Block",
  98126. "src": "60823:110:50",
  98127. "nodes": [],
  98128. "statements": [
  98129. {
  98130. "expression": {
  98131. "arguments": [
  98132. {
  98133. "arguments": [
  98134. {
  98135. "hexValue": "6c6f6728616464726573732c737472696e672c737472696e672c737472696e6729",
  98136. "id": 14379,
  98137. "isConstant": false,
  98138. "isLValue": false,
  98139. "isPure": true,
  98140. "kind": "string",
  98141. "lValueRequested": false,
  98142. "nodeType": "Literal",
  98143. "src": "60873:35:50",
  98144. "typeDescriptions": {
  98145. "typeIdentifier": "t_stringliteral_5d02c50b371ad9a1f5c638dc99b5e9b545011f148f0be5233c530a4b2a12665c",
  98146. "typeString": "literal_string \"log(address,string,string,string)\""
  98147. },
  98148. "value": "log(address,string,string,string)"
  98149. },
  98150. {
  98151. "id": 14380,
  98152. "name": "p0",
  98153. "nodeType": "Identifier",
  98154. "overloadedDeclarations": [],
  98155. "referencedDeclaration": 14367,
  98156. "src": "60910:2:50",
  98157. "typeDescriptions": {
  98158. "typeIdentifier": "t_address",
  98159. "typeString": "address"
  98160. }
  98161. },
  98162. {
  98163. "id": 14381,
  98164. "name": "p1",
  98165. "nodeType": "Identifier",
  98166. "overloadedDeclarations": [],
  98167. "referencedDeclaration": 14369,
  98168. "src": "60914:2:50",
  98169. "typeDescriptions": {
  98170. "typeIdentifier": "t_string_memory_ptr",
  98171. "typeString": "string memory"
  98172. }
  98173. },
  98174. {
  98175. "id": 14382,
  98176. "name": "p2",
  98177. "nodeType": "Identifier",
  98178. "overloadedDeclarations": [],
  98179. "referencedDeclaration": 14371,
  98180. "src": "60918:2:50",
  98181. "typeDescriptions": {
  98182. "typeIdentifier": "t_string_memory_ptr",
  98183. "typeString": "string memory"
  98184. }
  98185. },
  98186. {
  98187. "id": 14383,
  98188. "name": "p3",
  98189. "nodeType": "Identifier",
  98190. "overloadedDeclarations": [],
  98191. "referencedDeclaration": 14373,
  98192. "src": "60922:2:50",
  98193. "typeDescriptions": {
  98194. "typeIdentifier": "t_string_memory_ptr",
  98195. "typeString": "string memory"
  98196. }
  98197. }
  98198. ],
  98199. "expression": {
  98200. "argumentTypes": [
  98201. {
  98202. "typeIdentifier": "t_stringliteral_5d02c50b371ad9a1f5c638dc99b5e9b545011f148f0be5233c530a4b2a12665c",
  98203. "typeString": "literal_string \"log(address,string,string,string)\""
  98204. },
  98205. {
  98206. "typeIdentifier": "t_address",
  98207. "typeString": "address"
  98208. },
  98209. {
  98210. "typeIdentifier": "t_string_memory_ptr",
  98211. "typeString": "string memory"
  98212. },
  98213. {
  98214. "typeIdentifier": "t_string_memory_ptr",
  98215. "typeString": "string memory"
  98216. },
  98217. {
  98218. "typeIdentifier": "t_string_memory_ptr",
  98219. "typeString": "string memory"
  98220. }
  98221. ],
  98222. "expression": {
  98223. "id": 14377,
  98224. "name": "abi",
  98225. "nodeType": "Identifier",
  98226. "overloadedDeclarations": [],
  98227. "referencedDeclaration": -1,
  98228. "src": "60849:3:50",
  98229. "typeDescriptions": {
  98230. "typeIdentifier": "t_magic_abi",
  98231. "typeString": "abi"
  98232. }
  98233. },
  98234. "id": 14378,
  98235. "isConstant": false,
  98236. "isLValue": false,
  98237. "isPure": true,
  98238. "lValueRequested": false,
  98239. "memberLocation": "60853:19:50",
  98240. "memberName": "encodeWithSignature",
  98241. "nodeType": "MemberAccess",
  98242. "src": "60849:23:50",
  98243. "typeDescriptions": {
  98244. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  98245. "typeString": "function (string memory) pure returns (bytes memory)"
  98246. }
  98247. },
  98248. "id": 14384,
  98249. "isConstant": false,
  98250. "isLValue": false,
  98251. "isPure": false,
  98252. "kind": "functionCall",
  98253. "lValueRequested": false,
  98254. "nameLocations": [],
  98255. "names": [],
  98256. "nodeType": "FunctionCall",
  98257. "src": "60849:76:50",
  98258. "tryCall": false,
  98259. "typeDescriptions": {
  98260. "typeIdentifier": "t_bytes_memory_ptr",
  98261. "typeString": "bytes memory"
  98262. }
  98263. }
  98264. ],
  98265. "expression": {
  98266. "argumentTypes": [
  98267. {
  98268. "typeIdentifier": "t_bytes_memory_ptr",
  98269. "typeString": "bytes memory"
  98270. }
  98271. ],
  98272. "id": 14376,
  98273. "name": "_sendLogPayload",
  98274. "nodeType": "Identifier",
  98275. "overloadedDeclarations": [],
  98276. "referencedDeclaration": 7315,
  98277. "src": "60833:15:50",
  98278. "typeDescriptions": {
  98279. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  98280. "typeString": "function (bytes memory) pure"
  98281. }
  98282. },
  98283. "id": 14385,
  98284. "isConstant": false,
  98285. "isLValue": false,
  98286. "isPure": false,
  98287. "kind": "functionCall",
  98288. "lValueRequested": false,
  98289. "nameLocations": [],
  98290. "names": [],
  98291. "nodeType": "FunctionCall",
  98292. "src": "60833:93:50",
  98293. "tryCall": false,
  98294. "typeDescriptions": {
  98295. "typeIdentifier": "t_tuple$__$",
  98296. "typeString": "tuple()"
  98297. }
  98298. },
  98299. "id": 14386,
  98300. "nodeType": "ExpressionStatement",
  98301. "src": "60833:93:50"
  98302. }
  98303. ]
  98304. },
  98305. "implemented": true,
  98306. "kind": "function",
  98307. "modifiers": [],
  98308. "name": "log",
  98309. "nameLocation": "60739:3:50",
  98310. "parameters": {
  98311. "id": 14374,
  98312. "nodeType": "ParameterList",
  98313. "parameters": [
  98314. {
  98315. "constant": false,
  98316. "id": 14367,
  98317. "mutability": "mutable",
  98318. "name": "p0",
  98319. "nameLocation": "60751:2:50",
  98320. "nodeType": "VariableDeclaration",
  98321. "scope": 14388,
  98322. "src": "60743:10:50",
  98323. "stateVariable": false,
  98324. "storageLocation": "default",
  98325. "typeDescriptions": {
  98326. "typeIdentifier": "t_address",
  98327. "typeString": "address"
  98328. },
  98329. "typeName": {
  98330. "id": 14366,
  98331. "name": "address",
  98332. "nodeType": "ElementaryTypeName",
  98333. "src": "60743:7:50",
  98334. "stateMutability": "nonpayable",
  98335. "typeDescriptions": {
  98336. "typeIdentifier": "t_address",
  98337. "typeString": "address"
  98338. }
  98339. },
  98340. "visibility": "internal"
  98341. },
  98342. {
  98343. "constant": false,
  98344. "id": 14369,
  98345. "mutability": "mutable",
  98346. "name": "p1",
  98347. "nameLocation": "60769:2:50",
  98348. "nodeType": "VariableDeclaration",
  98349. "scope": 14388,
  98350. "src": "60755:16:50",
  98351. "stateVariable": false,
  98352. "storageLocation": "memory",
  98353. "typeDescriptions": {
  98354. "typeIdentifier": "t_string_memory_ptr",
  98355. "typeString": "string"
  98356. },
  98357. "typeName": {
  98358. "id": 14368,
  98359. "name": "string",
  98360. "nodeType": "ElementaryTypeName",
  98361. "src": "60755:6:50",
  98362. "typeDescriptions": {
  98363. "typeIdentifier": "t_string_storage_ptr",
  98364. "typeString": "string"
  98365. }
  98366. },
  98367. "visibility": "internal"
  98368. },
  98369. {
  98370. "constant": false,
  98371. "id": 14371,
  98372. "mutability": "mutable",
  98373. "name": "p2",
  98374. "nameLocation": "60787:2:50",
  98375. "nodeType": "VariableDeclaration",
  98376. "scope": 14388,
  98377. "src": "60773:16:50",
  98378. "stateVariable": false,
  98379. "storageLocation": "memory",
  98380. "typeDescriptions": {
  98381. "typeIdentifier": "t_string_memory_ptr",
  98382. "typeString": "string"
  98383. },
  98384. "typeName": {
  98385. "id": 14370,
  98386. "name": "string",
  98387. "nodeType": "ElementaryTypeName",
  98388. "src": "60773:6:50",
  98389. "typeDescriptions": {
  98390. "typeIdentifier": "t_string_storage_ptr",
  98391. "typeString": "string"
  98392. }
  98393. },
  98394. "visibility": "internal"
  98395. },
  98396. {
  98397. "constant": false,
  98398. "id": 14373,
  98399. "mutability": "mutable",
  98400. "name": "p3",
  98401. "nameLocation": "60805:2:50",
  98402. "nodeType": "VariableDeclaration",
  98403. "scope": 14388,
  98404. "src": "60791:16:50",
  98405. "stateVariable": false,
  98406. "storageLocation": "memory",
  98407. "typeDescriptions": {
  98408. "typeIdentifier": "t_string_memory_ptr",
  98409. "typeString": "string"
  98410. },
  98411. "typeName": {
  98412. "id": 14372,
  98413. "name": "string",
  98414. "nodeType": "ElementaryTypeName",
  98415. "src": "60791:6:50",
  98416. "typeDescriptions": {
  98417. "typeIdentifier": "t_string_storage_ptr",
  98418. "typeString": "string"
  98419. }
  98420. },
  98421. "visibility": "internal"
  98422. }
  98423. ],
  98424. "src": "60742:66:50"
  98425. },
  98426. "returnParameters": {
  98427. "id": 14375,
  98428. "nodeType": "ParameterList",
  98429. "parameters": [],
  98430. "src": "60823:0:50"
  98431. },
  98432. "scope": 15355,
  98433. "stateMutability": "pure",
  98434. "virtual": false,
  98435. "visibility": "internal"
  98436. },
  98437. {
  98438. "id": 14411,
  98439. "nodeType": "FunctionDefinition",
  98440. "src": "60939:192:50",
  98441. "nodes": [],
  98442. "body": {
  98443. "id": 14410,
  98444. "nodeType": "Block",
  98445. "src": "61023:108:50",
  98446. "nodes": [],
  98447. "statements": [
  98448. {
  98449. "expression": {
  98450. "arguments": [
  98451. {
  98452. "arguments": [
  98453. {
  98454. "hexValue": "6c6f6728616464726573732c737472696e672c737472696e672c626f6f6c29",
  98455. "id": 14402,
  98456. "isConstant": false,
  98457. "isLValue": false,
  98458. "isPure": true,
  98459. "kind": "string",
  98460. "lValueRequested": false,
  98461. "nodeType": "Literal",
  98462. "src": "61073:33:50",
  98463. "typeDescriptions": {
  98464. "typeIdentifier": "t_stringliteral_35a5071fa9f4610e50772083182f21e949e7a02301a3936e315dd1c4fc39a9ed",
  98465. "typeString": "literal_string \"log(address,string,string,bool)\""
  98466. },
  98467. "value": "log(address,string,string,bool)"
  98468. },
  98469. {
  98470. "id": 14403,
  98471. "name": "p0",
  98472. "nodeType": "Identifier",
  98473. "overloadedDeclarations": [],
  98474. "referencedDeclaration": 14390,
  98475. "src": "61108:2:50",
  98476. "typeDescriptions": {
  98477. "typeIdentifier": "t_address",
  98478. "typeString": "address"
  98479. }
  98480. },
  98481. {
  98482. "id": 14404,
  98483. "name": "p1",
  98484. "nodeType": "Identifier",
  98485. "overloadedDeclarations": [],
  98486. "referencedDeclaration": 14392,
  98487. "src": "61112:2:50",
  98488. "typeDescriptions": {
  98489. "typeIdentifier": "t_string_memory_ptr",
  98490. "typeString": "string memory"
  98491. }
  98492. },
  98493. {
  98494. "id": 14405,
  98495. "name": "p2",
  98496. "nodeType": "Identifier",
  98497. "overloadedDeclarations": [],
  98498. "referencedDeclaration": 14394,
  98499. "src": "61116:2:50",
  98500. "typeDescriptions": {
  98501. "typeIdentifier": "t_string_memory_ptr",
  98502. "typeString": "string memory"
  98503. }
  98504. },
  98505. {
  98506. "id": 14406,
  98507. "name": "p3",
  98508. "nodeType": "Identifier",
  98509. "overloadedDeclarations": [],
  98510. "referencedDeclaration": 14396,
  98511. "src": "61120:2:50",
  98512. "typeDescriptions": {
  98513. "typeIdentifier": "t_bool",
  98514. "typeString": "bool"
  98515. }
  98516. }
  98517. ],
  98518. "expression": {
  98519. "argumentTypes": [
  98520. {
  98521. "typeIdentifier": "t_stringliteral_35a5071fa9f4610e50772083182f21e949e7a02301a3936e315dd1c4fc39a9ed",
  98522. "typeString": "literal_string \"log(address,string,string,bool)\""
  98523. },
  98524. {
  98525. "typeIdentifier": "t_address",
  98526. "typeString": "address"
  98527. },
  98528. {
  98529. "typeIdentifier": "t_string_memory_ptr",
  98530. "typeString": "string memory"
  98531. },
  98532. {
  98533. "typeIdentifier": "t_string_memory_ptr",
  98534. "typeString": "string memory"
  98535. },
  98536. {
  98537. "typeIdentifier": "t_bool",
  98538. "typeString": "bool"
  98539. }
  98540. ],
  98541. "expression": {
  98542. "id": 14400,
  98543. "name": "abi",
  98544. "nodeType": "Identifier",
  98545. "overloadedDeclarations": [],
  98546. "referencedDeclaration": -1,
  98547. "src": "61049:3:50",
  98548. "typeDescriptions": {
  98549. "typeIdentifier": "t_magic_abi",
  98550. "typeString": "abi"
  98551. }
  98552. },
  98553. "id": 14401,
  98554. "isConstant": false,
  98555. "isLValue": false,
  98556. "isPure": true,
  98557. "lValueRequested": false,
  98558. "memberLocation": "61053:19:50",
  98559. "memberName": "encodeWithSignature",
  98560. "nodeType": "MemberAccess",
  98561. "src": "61049:23:50",
  98562. "typeDescriptions": {
  98563. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  98564. "typeString": "function (string memory) pure returns (bytes memory)"
  98565. }
  98566. },
  98567. "id": 14407,
  98568. "isConstant": false,
  98569. "isLValue": false,
  98570. "isPure": false,
  98571. "kind": "functionCall",
  98572. "lValueRequested": false,
  98573. "nameLocations": [],
  98574. "names": [],
  98575. "nodeType": "FunctionCall",
  98576. "src": "61049:74:50",
  98577. "tryCall": false,
  98578. "typeDescriptions": {
  98579. "typeIdentifier": "t_bytes_memory_ptr",
  98580. "typeString": "bytes memory"
  98581. }
  98582. }
  98583. ],
  98584. "expression": {
  98585. "argumentTypes": [
  98586. {
  98587. "typeIdentifier": "t_bytes_memory_ptr",
  98588. "typeString": "bytes memory"
  98589. }
  98590. ],
  98591. "id": 14399,
  98592. "name": "_sendLogPayload",
  98593. "nodeType": "Identifier",
  98594. "overloadedDeclarations": [],
  98595. "referencedDeclaration": 7315,
  98596. "src": "61033:15:50",
  98597. "typeDescriptions": {
  98598. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  98599. "typeString": "function (bytes memory) pure"
  98600. }
  98601. },
  98602. "id": 14408,
  98603. "isConstant": false,
  98604. "isLValue": false,
  98605. "isPure": false,
  98606. "kind": "functionCall",
  98607. "lValueRequested": false,
  98608. "nameLocations": [],
  98609. "names": [],
  98610. "nodeType": "FunctionCall",
  98611. "src": "61033:91:50",
  98612. "tryCall": false,
  98613. "typeDescriptions": {
  98614. "typeIdentifier": "t_tuple$__$",
  98615. "typeString": "tuple()"
  98616. }
  98617. },
  98618. "id": 14409,
  98619. "nodeType": "ExpressionStatement",
  98620. "src": "61033:91:50"
  98621. }
  98622. ]
  98623. },
  98624. "implemented": true,
  98625. "kind": "function",
  98626. "modifiers": [],
  98627. "name": "log",
  98628. "nameLocation": "60948:3:50",
  98629. "parameters": {
  98630. "id": 14397,
  98631. "nodeType": "ParameterList",
  98632. "parameters": [
  98633. {
  98634. "constant": false,
  98635. "id": 14390,
  98636. "mutability": "mutable",
  98637. "name": "p0",
  98638. "nameLocation": "60960:2:50",
  98639. "nodeType": "VariableDeclaration",
  98640. "scope": 14411,
  98641. "src": "60952:10:50",
  98642. "stateVariable": false,
  98643. "storageLocation": "default",
  98644. "typeDescriptions": {
  98645. "typeIdentifier": "t_address",
  98646. "typeString": "address"
  98647. },
  98648. "typeName": {
  98649. "id": 14389,
  98650. "name": "address",
  98651. "nodeType": "ElementaryTypeName",
  98652. "src": "60952:7:50",
  98653. "stateMutability": "nonpayable",
  98654. "typeDescriptions": {
  98655. "typeIdentifier": "t_address",
  98656. "typeString": "address"
  98657. }
  98658. },
  98659. "visibility": "internal"
  98660. },
  98661. {
  98662. "constant": false,
  98663. "id": 14392,
  98664. "mutability": "mutable",
  98665. "name": "p1",
  98666. "nameLocation": "60978:2:50",
  98667. "nodeType": "VariableDeclaration",
  98668. "scope": 14411,
  98669. "src": "60964:16:50",
  98670. "stateVariable": false,
  98671. "storageLocation": "memory",
  98672. "typeDescriptions": {
  98673. "typeIdentifier": "t_string_memory_ptr",
  98674. "typeString": "string"
  98675. },
  98676. "typeName": {
  98677. "id": 14391,
  98678. "name": "string",
  98679. "nodeType": "ElementaryTypeName",
  98680. "src": "60964:6:50",
  98681. "typeDescriptions": {
  98682. "typeIdentifier": "t_string_storage_ptr",
  98683. "typeString": "string"
  98684. }
  98685. },
  98686. "visibility": "internal"
  98687. },
  98688. {
  98689. "constant": false,
  98690. "id": 14394,
  98691. "mutability": "mutable",
  98692. "name": "p2",
  98693. "nameLocation": "60996:2:50",
  98694. "nodeType": "VariableDeclaration",
  98695. "scope": 14411,
  98696. "src": "60982:16:50",
  98697. "stateVariable": false,
  98698. "storageLocation": "memory",
  98699. "typeDescriptions": {
  98700. "typeIdentifier": "t_string_memory_ptr",
  98701. "typeString": "string"
  98702. },
  98703. "typeName": {
  98704. "id": 14393,
  98705. "name": "string",
  98706. "nodeType": "ElementaryTypeName",
  98707. "src": "60982:6:50",
  98708. "typeDescriptions": {
  98709. "typeIdentifier": "t_string_storage_ptr",
  98710. "typeString": "string"
  98711. }
  98712. },
  98713. "visibility": "internal"
  98714. },
  98715. {
  98716. "constant": false,
  98717. "id": 14396,
  98718. "mutability": "mutable",
  98719. "name": "p3",
  98720. "nameLocation": "61005:2:50",
  98721. "nodeType": "VariableDeclaration",
  98722. "scope": 14411,
  98723. "src": "61000:7:50",
  98724. "stateVariable": false,
  98725. "storageLocation": "default",
  98726. "typeDescriptions": {
  98727. "typeIdentifier": "t_bool",
  98728. "typeString": "bool"
  98729. },
  98730. "typeName": {
  98731. "id": 14395,
  98732. "name": "bool",
  98733. "nodeType": "ElementaryTypeName",
  98734. "src": "61000:4:50",
  98735. "typeDescriptions": {
  98736. "typeIdentifier": "t_bool",
  98737. "typeString": "bool"
  98738. }
  98739. },
  98740. "visibility": "internal"
  98741. }
  98742. ],
  98743. "src": "60951:57:50"
  98744. },
  98745. "returnParameters": {
  98746. "id": 14398,
  98747. "nodeType": "ParameterList",
  98748. "parameters": [],
  98749. "src": "61023:0:50"
  98750. },
  98751. "scope": 15355,
  98752. "stateMutability": "pure",
  98753. "virtual": false,
  98754. "visibility": "internal"
  98755. },
  98756. {
  98757. "id": 14434,
  98758. "nodeType": "FunctionDefinition",
  98759. "src": "61137:198:50",
  98760. "nodes": [],
  98761. "body": {
  98762. "id": 14433,
  98763. "nodeType": "Block",
  98764. "src": "61224:111:50",
  98765. "nodes": [],
  98766. "statements": [
  98767. {
  98768. "expression": {
  98769. "arguments": [
  98770. {
  98771. "arguments": [
  98772. {
  98773. "hexValue": "6c6f6728616464726573732c737472696e672c737472696e672c6164647265737329",
  98774. "id": 14425,
  98775. "isConstant": false,
  98776. "isLValue": false,
  98777. "isPure": true,
  98778. "kind": "string",
  98779. "lValueRequested": false,
  98780. "nodeType": "Literal",
  98781. "src": "61274:36:50",
  98782. "typeDescriptions": {
  98783. "typeIdentifier": "t_stringliteral_a04e2f87a739673cc9223810c24b00b35c6b2c9f3ef123cc82866752e1fa816f",
  98784. "typeString": "literal_string \"log(address,string,string,address)\""
  98785. },
  98786. "value": "log(address,string,string,address)"
  98787. },
  98788. {
  98789. "id": 14426,
  98790. "name": "p0",
  98791. "nodeType": "Identifier",
  98792. "overloadedDeclarations": [],
  98793. "referencedDeclaration": 14413,
  98794. "src": "61312:2:50",
  98795. "typeDescriptions": {
  98796. "typeIdentifier": "t_address",
  98797. "typeString": "address"
  98798. }
  98799. },
  98800. {
  98801. "id": 14427,
  98802. "name": "p1",
  98803. "nodeType": "Identifier",
  98804. "overloadedDeclarations": [],
  98805. "referencedDeclaration": 14415,
  98806. "src": "61316:2:50",
  98807. "typeDescriptions": {
  98808. "typeIdentifier": "t_string_memory_ptr",
  98809. "typeString": "string memory"
  98810. }
  98811. },
  98812. {
  98813. "id": 14428,
  98814. "name": "p2",
  98815. "nodeType": "Identifier",
  98816. "overloadedDeclarations": [],
  98817. "referencedDeclaration": 14417,
  98818. "src": "61320:2:50",
  98819. "typeDescriptions": {
  98820. "typeIdentifier": "t_string_memory_ptr",
  98821. "typeString": "string memory"
  98822. }
  98823. },
  98824. {
  98825. "id": 14429,
  98826. "name": "p3",
  98827. "nodeType": "Identifier",
  98828. "overloadedDeclarations": [],
  98829. "referencedDeclaration": 14419,
  98830. "src": "61324:2:50",
  98831. "typeDescriptions": {
  98832. "typeIdentifier": "t_address",
  98833. "typeString": "address"
  98834. }
  98835. }
  98836. ],
  98837. "expression": {
  98838. "argumentTypes": [
  98839. {
  98840. "typeIdentifier": "t_stringliteral_a04e2f87a739673cc9223810c24b00b35c6b2c9f3ef123cc82866752e1fa816f",
  98841. "typeString": "literal_string \"log(address,string,string,address)\""
  98842. },
  98843. {
  98844. "typeIdentifier": "t_address",
  98845. "typeString": "address"
  98846. },
  98847. {
  98848. "typeIdentifier": "t_string_memory_ptr",
  98849. "typeString": "string memory"
  98850. },
  98851. {
  98852. "typeIdentifier": "t_string_memory_ptr",
  98853. "typeString": "string memory"
  98854. },
  98855. {
  98856. "typeIdentifier": "t_address",
  98857. "typeString": "address"
  98858. }
  98859. ],
  98860. "expression": {
  98861. "id": 14423,
  98862. "name": "abi",
  98863. "nodeType": "Identifier",
  98864. "overloadedDeclarations": [],
  98865. "referencedDeclaration": -1,
  98866. "src": "61250:3:50",
  98867. "typeDescriptions": {
  98868. "typeIdentifier": "t_magic_abi",
  98869. "typeString": "abi"
  98870. }
  98871. },
  98872. "id": 14424,
  98873. "isConstant": false,
  98874. "isLValue": false,
  98875. "isPure": true,
  98876. "lValueRequested": false,
  98877. "memberLocation": "61254:19:50",
  98878. "memberName": "encodeWithSignature",
  98879. "nodeType": "MemberAccess",
  98880. "src": "61250:23:50",
  98881. "typeDescriptions": {
  98882. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  98883. "typeString": "function (string memory) pure returns (bytes memory)"
  98884. }
  98885. },
  98886. "id": 14430,
  98887. "isConstant": false,
  98888. "isLValue": false,
  98889. "isPure": false,
  98890. "kind": "functionCall",
  98891. "lValueRequested": false,
  98892. "nameLocations": [],
  98893. "names": [],
  98894. "nodeType": "FunctionCall",
  98895. "src": "61250:77:50",
  98896. "tryCall": false,
  98897. "typeDescriptions": {
  98898. "typeIdentifier": "t_bytes_memory_ptr",
  98899. "typeString": "bytes memory"
  98900. }
  98901. }
  98902. ],
  98903. "expression": {
  98904. "argumentTypes": [
  98905. {
  98906. "typeIdentifier": "t_bytes_memory_ptr",
  98907. "typeString": "bytes memory"
  98908. }
  98909. ],
  98910. "id": 14422,
  98911. "name": "_sendLogPayload",
  98912. "nodeType": "Identifier",
  98913. "overloadedDeclarations": [],
  98914. "referencedDeclaration": 7315,
  98915. "src": "61234:15:50",
  98916. "typeDescriptions": {
  98917. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  98918. "typeString": "function (bytes memory) pure"
  98919. }
  98920. },
  98921. "id": 14431,
  98922. "isConstant": false,
  98923. "isLValue": false,
  98924. "isPure": false,
  98925. "kind": "functionCall",
  98926. "lValueRequested": false,
  98927. "nameLocations": [],
  98928. "names": [],
  98929. "nodeType": "FunctionCall",
  98930. "src": "61234:94:50",
  98931. "tryCall": false,
  98932. "typeDescriptions": {
  98933. "typeIdentifier": "t_tuple$__$",
  98934. "typeString": "tuple()"
  98935. }
  98936. },
  98937. "id": 14432,
  98938. "nodeType": "ExpressionStatement",
  98939. "src": "61234:94:50"
  98940. }
  98941. ]
  98942. },
  98943. "implemented": true,
  98944. "kind": "function",
  98945. "modifiers": [],
  98946. "name": "log",
  98947. "nameLocation": "61146:3:50",
  98948. "parameters": {
  98949. "id": 14420,
  98950. "nodeType": "ParameterList",
  98951. "parameters": [
  98952. {
  98953. "constant": false,
  98954. "id": 14413,
  98955. "mutability": "mutable",
  98956. "name": "p0",
  98957. "nameLocation": "61158:2:50",
  98958. "nodeType": "VariableDeclaration",
  98959. "scope": 14434,
  98960. "src": "61150:10:50",
  98961. "stateVariable": false,
  98962. "storageLocation": "default",
  98963. "typeDescriptions": {
  98964. "typeIdentifier": "t_address",
  98965. "typeString": "address"
  98966. },
  98967. "typeName": {
  98968. "id": 14412,
  98969. "name": "address",
  98970. "nodeType": "ElementaryTypeName",
  98971. "src": "61150:7:50",
  98972. "stateMutability": "nonpayable",
  98973. "typeDescriptions": {
  98974. "typeIdentifier": "t_address",
  98975. "typeString": "address"
  98976. }
  98977. },
  98978. "visibility": "internal"
  98979. },
  98980. {
  98981. "constant": false,
  98982. "id": 14415,
  98983. "mutability": "mutable",
  98984. "name": "p1",
  98985. "nameLocation": "61176:2:50",
  98986. "nodeType": "VariableDeclaration",
  98987. "scope": 14434,
  98988. "src": "61162:16:50",
  98989. "stateVariable": false,
  98990. "storageLocation": "memory",
  98991. "typeDescriptions": {
  98992. "typeIdentifier": "t_string_memory_ptr",
  98993. "typeString": "string"
  98994. },
  98995. "typeName": {
  98996. "id": 14414,
  98997. "name": "string",
  98998. "nodeType": "ElementaryTypeName",
  98999. "src": "61162:6:50",
  99000. "typeDescriptions": {
  99001. "typeIdentifier": "t_string_storage_ptr",
  99002. "typeString": "string"
  99003. }
  99004. },
  99005. "visibility": "internal"
  99006. },
  99007. {
  99008. "constant": false,
  99009. "id": 14417,
  99010. "mutability": "mutable",
  99011. "name": "p2",
  99012. "nameLocation": "61194:2:50",
  99013. "nodeType": "VariableDeclaration",
  99014. "scope": 14434,
  99015. "src": "61180:16:50",
  99016. "stateVariable": false,
  99017. "storageLocation": "memory",
  99018. "typeDescriptions": {
  99019. "typeIdentifier": "t_string_memory_ptr",
  99020. "typeString": "string"
  99021. },
  99022. "typeName": {
  99023. "id": 14416,
  99024. "name": "string",
  99025. "nodeType": "ElementaryTypeName",
  99026. "src": "61180:6:50",
  99027. "typeDescriptions": {
  99028. "typeIdentifier": "t_string_storage_ptr",
  99029. "typeString": "string"
  99030. }
  99031. },
  99032. "visibility": "internal"
  99033. },
  99034. {
  99035. "constant": false,
  99036. "id": 14419,
  99037. "mutability": "mutable",
  99038. "name": "p3",
  99039. "nameLocation": "61206:2:50",
  99040. "nodeType": "VariableDeclaration",
  99041. "scope": 14434,
  99042. "src": "61198:10:50",
  99043. "stateVariable": false,
  99044. "storageLocation": "default",
  99045. "typeDescriptions": {
  99046. "typeIdentifier": "t_address",
  99047. "typeString": "address"
  99048. },
  99049. "typeName": {
  99050. "id": 14418,
  99051. "name": "address",
  99052. "nodeType": "ElementaryTypeName",
  99053. "src": "61198:7:50",
  99054. "stateMutability": "nonpayable",
  99055. "typeDescriptions": {
  99056. "typeIdentifier": "t_address",
  99057. "typeString": "address"
  99058. }
  99059. },
  99060. "visibility": "internal"
  99061. }
  99062. ],
  99063. "src": "61149:60:50"
  99064. },
  99065. "returnParameters": {
  99066. "id": 14421,
  99067. "nodeType": "ParameterList",
  99068. "parameters": [],
  99069. "src": "61224:0:50"
  99070. },
  99071. "scope": 15355,
  99072. "stateMutability": "pure",
  99073. "virtual": false,
  99074. "visibility": "internal"
  99075. },
  99076. {
  99077. "id": 14457,
  99078. "nodeType": "FunctionDefinition",
  99079. "src": "61341:187:50",
  99080. "nodes": [],
  99081. "body": {
  99082. "id": 14456,
  99083. "nodeType": "Block",
  99084. "src": "61419:109:50",
  99085. "nodes": [],
  99086. "statements": [
  99087. {
  99088. "expression": {
  99089. "arguments": [
  99090. {
  99091. "arguments": [
  99092. {
  99093. "hexValue": "6c6f6728616464726573732c737472696e672c626f6f6c2c75696e7432353629",
  99094. "id": 14448,
  99095. "isConstant": false,
  99096. "isLValue": false,
  99097. "isPure": true,
  99098. "kind": "string",
  99099. "lValueRequested": false,
  99100. "nodeType": "Literal",
  99101. "src": "61469:34:50",
  99102. "typeDescriptions": {
  99103. "typeIdentifier": "t_stringliteral_515e38b61b40d622a4c0448953be005b3991f6a70155c59b5dca42a264aa0345",
  99104. "typeString": "literal_string \"log(address,string,bool,uint256)\""
  99105. },
  99106. "value": "log(address,string,bool,uint256)"
  99107. },
  99108. {
  99109. "id": 14449,
  99110. "name": "p0",
  99111. "nodeType": "Identifier",
  99112. "overloadedDeclarations": [],
  99113. "referencedDeclaration": 14436,
  99114. "src": "61505:2:50",
  99115. "typeDescriptions": {
  99116. "typeIdentifier": "t_address",
  99117. "typeString": "address"
  99118. }
  99119. },
  99120. {
  99121. "id": 14450,
  99122. "name": "p1",
  99123. "nodeType": "Identifier",
  99124. "overloadedDeclarations": [],
  99125. "referencedDeclaration": 14438,
  99126. "src": "61509:2:50",
  99127. "typeDescriptions": {
  99128. "typeIdentifier": "t_string_memory_ptr",
  99129. "typeString": "string memory"
  99130. }
  99131. },
  99132. {
  99133. "id": 14451,
  99134. "name": "p2",
  99135. "nodeType": "Identifier",
  99136. "overloadedDeclarations": [],
  99137. "referencedDeclaration": 14440,
  99138. "src": "61513:2:50",
  99139. "typeDescriptions": {
  99140. "typeIdentifier": "t_bool",
  99141. "typeString": "bool"
  99142. }
  99143. },
  99144. {
  99145. "id": 14452,
  99146. "name": "p3",
  99147. "nodeType": "Identifier",
  99148. "overloadedDeclarations": [],
  99149. "referencedDeclaration": 14442,
  99150. "src": "61517:2:50",
  99151. "typeDescriptions": {
  99152. "typeIdentifier": "t_uint256",
  99153. "typeString": "uint256"
  99154. }
  99155. }
  99156. ],
  99157. "expression": {
  99158. "argumentTypes": [
  99159. {
  99160. "typeIdentifier": "t_stringliteral_515e38b61b40d622a4c0448953be005b3991f6a70155c59b5dca42a264aa0345",
  99161. "typeString": "literal_string \"log(address,string,bool,uint256)\""
  99162. },
  99163. {
  99164. "typeIdentifier": "t_address",
  99165. "typeString": "address"
  99166. },
  99167. {
  99168. "typeIdentifier": "t_string_memory_ptr",
  99169. "typeString": "string memory"
  99170. },
  99171. {
  99172. "typeIdentifier": "t_bool",
  99173. "typeString": "bool"
  99174. },
  99175. {
  99176. "typeIdentifier": "t_uint256",
  99177. "typeString": "uint256"
  99178. }
  99179. ],
  99180. "expression": {
  99181. "id": 14446,
  99182. "name": "abi",
  99183. "nodeType": "Identifier",
  99184. "overloadedDeclarations": [],
  99185. "referencedDeclaration": -1,
  99186. "src": "61445:3:50",
  99187. "typeDescriptions": {
  99188. "typeIdentifier": "t_magic_abi",
  99189. "typeString": "abi"
  99190. }
  99191. },
  99192. "id": 14447,
  99193. "isConstant": false,
  99194. "isLValue": false,
  99195. "isPure": true,
  99196. "lValueRequested": false,
  99197. "memberLocation": "61449:19:50",
  99198. "memberName": "encodeWithSignature",
  99199. "nodeType": "MemberAccess",
  99200. "src": "61445:23:50",
  99201. "typeDescriptions": {
  99202. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  99203. "typeString": "function (string memory) pure returns (bytes memory)"
  99204. }
  99205. },
  99206. "id": 14453,
  99207. "isConstant": false,
  99208. "isLValue": false,
  99209. "isPure": false,
  99210. "kind": "functionCall",
  99211. "lValueRequested": false,
  99212. "nameLocations": [],
  99213. "names": [],
  99214. "nodeType": "FunctionCall",
  99215. "src": "61445:75:50",
  99216. "tryCall": false,
  99217. "typeDescriptions": {
  99218. "typeIdentifier": "t_bytes_memory_ptr",
  99219. "typeString": "bytes memory"
  99220. }
  99221. }
  99222. ],
  99223. "expression": {
  99224. "argumentTypes": [
  99225. {
  99226. "typeIdentifier": "t_bytes_memory_ptr",
  99227. "typeString": "bytes memory"
  99228. }
  99229. ],
  99230. "id": 14445,
  99231. "name": "_sendLogPayload",
  99232. "nodeType": "Identifier",
  99233. "overloadedDeclarations": [],
  99234. "referencedDeclaration": 7315,
  99235. "src": "61429:15:50",
  99236. "typeDescriptions": {
  99237. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  99238. "typeString": "function (bytes memory) pure"
  99239. }
  99240. },
  99241. "id": 14454,
  99242. "isConstant": false,
  99243. "isLValue": false,
  99244. "isPure": false,
  99245. "kind": "functionCall",
  99246. "lValueRequested": false,
  99247. "nameLocations": [],
  99248. "names": [],
  99249. "nodeType": "FunctionCall",
  99250. "src": "61429:92:50",
  99251. "tryCall": false,
  99252. "typeDescriptions": {
  99253. "typeIdentifier": "t_tuple$__$",
  99254. "typeString": "tuple()"
  99255. }
  99256. },
  99257. "id": 14455,
  99258. "nodeType": "ExpressionStatement",
  99259. "src": "61429:92:50"
  99260. }
  99261. ]
  99262. },
  99263. "implemented": true,
  99264. "kind": "function",
  99265. "modifiers": [],
  99266. "name": "log",
  99267. "nameLocation": "61350:3:50",
  99268. "parameters": {
  99269. "id": 14443,
  99270. "nodeType": "ParameterList",
  99271. "parameters": [
  99272. {
  99273. "constant": false,
  99274. "id": 14436,
  99275. "mutability": "mutable",
  99276. "name": "p0",
  99277. "nameLocation": "61362:2:50",
  99278. "nodeType": "VariableDeclaration",
  99279. "scope": 14457,
  99280. "src": "61354:10:50",
  99281. "stateVariable": false,
  99282. "storageLocation": "default",
  99283. "typeDescriptions": {
  99284. "typeIdentifier": "t_address",
  99285. "typeString": "address"
  99286. },
  99287. "typeName": {
  99288. "id": 14435,
  99289. "name": "address",
  99290. "nodeType": "ElementaryTypeName",
  99291. "src": "61354:7:50",
  99292. "stateMutability": "nonpayable",
  99293. "typeDescriptions": {
  99294. "typeIdentifier": "t_address",
  99295. "typeString": "address"
  99296. }
  99297. },
  99298. "visibility": "internal"
  99299. },
  99300. {
  99301. "constant": false,
  99302. "id": 14438,
  99303. "mutability": "mutable",
  99304. "name": "p1",
  99305. "nameLocation": "61380:2:50",
  99306. "nodeType": "VariableDeclaration",
  99307. "scope": 14457,
  99308. "src": "61366:16:50",
  99309. "stateVariable": false,
  99310. "storageLocation": "memory",
  99311. "typeDescriptions": {
  99312. "typeIdentifier": "t_string_memory_ptr",
  99313. "typeString": "string"
  99314. },
  99315. "typeName": {
  99316. "id": 14437,
  99317. "name": "string",
  99318. "nodeType": "ElementaryTypeName",
  99319. "src": "61366:6:50",
  99320. "typeDescriptions": {
  99321. "typeIdentifier": "t_string_storage_ptr",
  99322. "typeString": "string"
  99323. }
  99324. },
  99325. "visibility": "internal"
  99326. },
  99327. {
  99328. "constant": false,
  99329. "id": 14440,
  99330. "mutability": "mutable",
  99331. "name": "p2",
  99332. "nameLocation": "61389:2:50",
  99333. "nodeType": "VariableDeclaration",
  99334. "scope": 14457,
  99335. "src": "61384:7:50",
  99336. "stateVariable": false,
  99337. "storageLocation": "default",
  99338. "typeDescriptions": {
  99339. "typeIdentifier": "t_bool",
  99340. "typeString": "bool"
  99341. },
  99342. "typeName": {
  99343. "id": 14439,
  99344. "name": "bool",
  99345. "nodeType": "ElementaryTypeName",
  99346. "src": "61384:4:50",
  99347. "typeDescriptions": {
  99348. "typeIdentifier": "t_bool",
  99349. "typeString": "bool"
  99350. }
  99351. },
  99352. "visibility": "internal"
  99353. },
  99354. {
  99355. "constant": false,
  99356. "id": 14442,
  99357. "mutability": "mutable",
  99358. "name": "p3",
  99359. "nameLocation": "61401:2:50",
  99360. "nodeType": "VariableDeclaration",
  99361. "scope": 14457,
  99362. "src": "61393:10:50",
  99363. "stateVariable": false,
  99364. "storageLocation": "default",
  99365. "typeDescriptions": {
  99366. "typeIdentifier": "t_uint256",
  99367. "typeString": "uint256"
  99368. },
  99369. "typeName": {
  99370. "id": 14441,
  99371. "name": "uint256",
  99372. "nodeType": "ElementaryTypeName",
  99373. "src": "61393:7:50",
  99374. "typeDescriptions": {
  99375. "typeIdentifier": "t_uint256",
  99376. "typeString": "uint256"
  99377. }
  99378. },
  99379. "visibility": "internal"
  99380. }
  99381. ],
  99382. "src": "61353:51:50"
  99383. },
  99384. "returnParameters": {
  99385. "id": 14444,
  99386. "nodeType": "ParameterList",
  99387. "parameters": [],
  99388. "src": "61419:0:50"
  99389. },
  99390. "scope": 15355,
  99391. "stateMutability": "pure",
  99392. "virtual": false,
  99393. "visibility": "internal"
  99394. },
  99395. {
  99396. "id": 14480,
  99397. "nodeType": "FunctionDefinition",
  99398. "src": "61534:192:50",
  99399. "nodes": [],
  99400. "body": {
  99401. "id": 14479,
  99402. "nodeType": "Block",
  99403. "src": "61618:108:50",
  99404. "nodes": [],
  99405. "statements": [
  99406. {
  99407. "expression": {
  99408. "arguments": [
  99409. {
  99410. "arguments": [
  99411. {
  99412. "hexValue": "6c6f6728616464726573732c737472696e672c626f6f6c2c737472696e6729",
  99413. "id": 14471,
  99414. "isConstant": false,
  99415. "isLValue": false,
  99416. "isPure": true,
  99417. "kind": "string",
  99418. "lValueRequested": false,
  99419. "nodeType": "Literal",
  99420. "src": "61668:33:50",
  99421. "typeDescriptions": {
  99422. "typeIdentifier": "t_stringliteral_bc0b61fe9497b47eb6a51a5a6a4bf26b32ddcbc9407ccae8cc7de64b3e3d84cc",
  99423. "typeString": "literal_string \"log(address,string,bool,string)\""
  99424. },
  99425. "value": "log(address,string,bool,string)"
  99426. },
  99427. {
  99428. "id": 14472,
  99429. "name": "p0",
  99430. "nodeType": "Identifier",
  99431. "overloadedDeclarations": [],
  99432. "referencedDeclaration": 14459,
  99433. "src": "61703:2:50",
  99434. "typeDescriptions": {
  99435. "typeIdentifier": "t_address",
  99436. "typeString": "address"
  99437. }
  99438. },
  99439. {
  99440. "id": 14473,
  99441. "name": "p1",
  99442. "nodeType": "Identifier",
  99443. "overloadedDeclarations": [],
  99444. "referencedDeclaration": 14461,
  99445. "src": "61707:2:50",
  99446. "typeDescriptions": {
  99447. "typeIdentifier": "t_string_memory_ptr",
  99448. "typeString": "string memory"
  99449. }
  99450. },
  99451. {
  99452. "id": 14474,
  99453. "name": "p2",
  99454. "nodeType": "Identifier",
  99455. "overloadedDeclarations": [],
  99456. "referencedDeclaration": 14463,
  99457. "src": "61711:2:50",
  99458. "typeDescriptions": {
  99459. "typeIdentifier": "t_bool",
  99460. "typeString": "bool"
  99461. }
  99462. },
  99463. {
  99464. "id": 14475,
  99465. "name": "p3",
  99466. "nodeType": "Identifier",
  99467. "overloadedDeclarations": [],
  99468. "referencedDeclaration": 14465,
  99469. "src": "61715:2:50",
  99470. "typeDescriptions": {
  99471. "typeIdentifier": "t_string_memory_ptr",
  99472. "typeString": "string memory"
  99473. }
  99474. }
  99475. ],
  99476. "expression": {
  99477. "argumentTypes": [
  99478. {
  99479. "typeIdentifier": "t_stringliteral_bc0b61fe9497b47eb6a51a5a6a4bf26b32ddcbc9407ccae8cc7de64b3e3d84cc",
  99480. "typeString": "literal_string \"log(address,string,bool,string)\""
  99481. },
  99482. {
  99483. "typeIdentifier": "t_address",
  99484. "typeString": "address"
  99485. },
  99486. {
  99487. "typeIdentifier": "t_string_memory_ptr",
  99488. "typeString": "string memory"
  99489. },
  99490. {
  99491. "typeIdentifier": "t_bool",
  99492. "typeString": "bool"
  99493. },
  99494. {
  99495. "typeIdentifier": "t_string_memory_ptr",
  99496. "typeString": "string memory"
  99497. }
  99498. ],
  99499. "expression": {
  99500. "id": 14469,
  99501. "name": "abi",
  99502. "nodeType": "Identifier",
  99503. "overloadedDeclarations": [],
  99504. "referencedDeclaration": -1,
  99505. "src": "61644:3:50",
  99506. "typeDescriptions": {
  99507. "typeIdentifier": "t_magic_abi",
  99508. "typeString": "abi"
  99509. }
  99510. },
  99511. "id": 14470,
  99512. "isConstant": false,
  99513. "isLValue": false,
  99514. "isPure": true,
  99515. "lValueRequested": false,
  99516. "memberLocation": "61648:19:50",
  99517. "memberName": "encodeWithSignature",
  99518. "nodeType": "MemberAccess",
  99519. "src": "61644:23:50",
  99520. "typeDescriptions": {
  99521. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  99522. "typeString": "function (string memory) pure returns (bytes memory)"
  99523. }
  99524. },
  99525. "id": 14476,
  99526. "isConstant": false,
  99527. "isLValue": false,
  99528. "isPure": false,
  99529. "kind": "functionCall",
  99530. "lValueRequested": false,
  99531. "nameLocations": [],
  99532. "names": [],
  99533. "nodeType": "FunctionCall",
  99534. "src": "61644:74:50",
  99535. "tryCall": false,
  99536. "typeDescriptions": {
  99537. "typeIdentifier": "t_bytes_memory_ptr",
  99538. "typeString": "bytes memory"
  99539. }
  99540. }
  99541. ],
  99542. "expression": {
  99543. "argumentTypes": [
  99544. {
  99545. "typeIdentifier": "t_bytes_memory_ptr",
  99546. "typeString": "bytes memory"
  99547. }
  99548. ],
  99549. "id": 14468,
  99550. "name": "_sendLogPayload",
  99551. "nodeType": "Identifier",
  99552. "overloadedDeclarations": [],
  99553. "referencedDeclaration": 7315,
  99554. "src": "61628:15:50",
  99555. "typeDescriptions": {
  99556. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  99557. "typeString": "function (bytes memory) pure"
  99558. }
  99559. },
  99560. "id": 14477,
  99561. "isConstant": false,
  99562. "isLValue": false,
  99563. "isPure": false,
  99564. "kind": "functionCall",
  99565. "lValueRequested": false,
  99566. "nameLocations": [],
  99567. "names": [],
  99568. "nodeType": "FunctionCall",
  99569. "src": "61628:91:50",
  99570. "tryCall": false,
  99571. "typeDescriptions": {
  99572. "typeIdentifier": "t_tuple$__$",
  99573. "typeString": "tuple()"
  99574. }
  99575. },
  99576. "id": 14478,
  99577. "nodeType": "ExpressionStatement",
  99578. "src": "61628:91:50"
  99579. }
  99580. ]
  99581. },
  99582. "implemented": true,
  99583. "kind": "function",
  99584. "modifiers": [],
  99585. "name": "log",
  99586. "nameLocation": "61543:3:50",
  99587. "parameters": {
  99588. "id": 14466,
  99589. "nodeType": "ParameterList",
  99590. "parameters": [
  99591. {
  99592. "constant": false,
  99593. "id": 14459,
  99594. "mutability": "mutable",
  99595. "name": "p0",
  99596. "nameLocation": "61555:2:50",
  99597. "nodeType": "VariableDeclaration",
  99598. "scope": 14480,
  99599. "src": "61547:10:50",
  99600. "stateVariable": false,
  99601. "storageLocation": "default",
  99602. "typeDescriptions": {
  99603. "typeIdentifier": "t_address",
  99604. "typeString": "address"
  99605. },
  99606. "typeName": {
  99607. "id": 14458,
  99608. "name": "address",
  99609. "nodeType": "ElementaryTypeName",
  99610. "src": "61547:7:50",
  99611. "stateMutability": "nonpayable",
  99612. "typeDescriptions": {
  99613. "typeIdentifier": "t_address",
  99614. "typeString": "address"
  99615. }
  99616. },
  99617. "visibility": "internal"
  99618. },
  99619. {
  99620. "constant": false,
  99621. "id": 14461,
  99622. "mutability": "mutable",
  99623. "name": "p1",
  99624. "nameLocation": "61573:2:50",
  99625. "nodeType": "VariableDeclaration",
  99626. "scope": 14480,
  99627. "src": "61559:16:50",
  99628. "stateVariable": false,
  99629. "storageLocation": "memory",
  99630. "typeDescriptions": {
  99631. "typeIdentifier": "t_string_memory_ptr",
  99632. "typeString": "string"
  99633. },
  99634. "typeName": {
  99635. "id": 14460,
  99636. "name": "string",
  99637. "nodeType": "ElementaryTypeName",
  99638. "src": "61559:6:50",
  99639. "typeDescriptions": {
  99640. "typeIdentifier": "t_string_storage_ptr",
  99641. "typeString": "string"
  99642. }
  99643. },
  99644. "visibility": "internal"
  99645. },
  99646. {
  99647. "constant": false,
  99648. "id": 14463,
  99649. "mutability": "mutable",
  99650. "name": "p2",
  99651. "nameLocation": "61582:2:50",
  99652. "nodeType": "VariableDeclaration",
  99653. "scope": 14480,
  99654. "src": "61577:7:50",
  99655. "stateVariable": false,
  99656. "storageLocation": "default",
  99657. "typeDescriptions": {
  99658. "typeIdentifier": "t_bool",
  99659. "typeString": "bool"
  99660. },
  99661. "typeName": {
  99662. "id": 14462,
  99663. "name": "bool",
  99664. "nodeType": "ElementaryTypeName",
  99665. "src": "61577:4:50",
  99666. "typeDescriptions": {
  99667. "typeIdentifier": "t_bool",
  99668. "typeString": "bool"
  99669. }
  99670. },
  99671. "visibility": "internal"
  99672. },
  99673. {
  99674. "constant": false,
  99675. "id": 14465,
  99676. "mutability": "mutable",
  99677. "name": "p3",
  99678. "nameLocation": "61600:2:50",
  99679. "nodeType": "VariableDeclaration",
  99680. "scope": 14480,
  99681. "src": "61586:16:50",
  99682. "stateVariable": false,
  99683. "storageLocation": "memory",
  99684. "typeDescriptions": {
  99685. "typeIdentifier": "t_string_memory_ptr",
  99686. "typeString": "string"
  99687. },
  99688. "typeName": {
  99689. "id": 14464,
  99690. "name": "string",
  99691. "nodeType": "ElementaryTypeName",
  99692. "src": "61586:6:50",
  99693. "typeDescriptions": {
  99694. "typeIdentifier": "t_string_storage_ptr",
  99695. "typeString": "string"
  99696. }
  99697. },
  99698. "visibility": "internal"
  99699. }
  99700. ],
  99701. "src": "61546:57:50"
  99702. },
  99703. "returnParameters": {
  99704. "id": 14467,
  99705. "nodeType": "ParameterList",
  99706. "parameters": [],
  99707. "src": "61618:0:50"
  99708. },
  99709. "scope": 15355,
  99710. "stateMutability": "pure",
  99711. "virtual": false,
  99712. "visibility": "internal"
  99713. },
  99714. {
  99715. "id": 14503,
  99716. "nodeType": "FunctionDefinition",
  99717. "src": "61732:181:50",
  99718. "nodes": [],
  99719. "body": {
  99720. "id": 14502,
  99721. "nodeType": "Block",
  99722. "src": "61807:106:50",
  99723. "nodes": [],
  99724. "statements": [
  99725. {
  99726. "expression": {
  99727. "arguments": [
  99728. {
  99729. "arguments": [
  99730. {
  99731. "hexValue": "6c6f6728616464726573732c737472696e672c626f6f6c2c626f6f6c29",
  99732. "id": 14494,
  99733. "isConstant": false,
  99734. "isLValue": false,
  99735. "isPure": true,
  99736. "kind": "string",
  99737. "lValueRequested": false,
  99738. "nodeType": "Literal",
  99739. "src": "61857:31:50",
  99740. "typeDescriptions": {
  99741. "typeIdentifier": "t_stringliteral_5f1d5c9f0de8c048364058d1d6842804ada33dbc34bf9eaff8f2be978f384e08",
  99742. "typeString": "literal_string \"log(address,string,bool,bool)\""
  99743. },
  99744. "value": "log(address,string,bool,bool)"
  99745. },
  99746. {
  99747. "id": 14495,
  99748. "name": "p0",
  99749. "nodeType": "Identifier",
  99750. "overloadedDeclarations": [],
  99751. "referencedDeclaration": 14482,
  99752. "src": "61890:2:50",
  99753. "typeDescriptions": {
  99754. "typeIdentifier": "t_address",
  99755. "typeString": "address"
  99756. }
  99757. },
  99758. {
  99759. "id": 14496,
  99760. "name": "p1",
  99761. "nodeType": "Identifier",
  99762. "overloadedDeclarations": [],
  99763. "referencedDeclaration": 14484,
  99764. "src": "61894:2:50",
  99765. "typeDescriptions": {
  99766. "typeIdentifier": "t_string_memory_ptr",
  99767. "typeString": "string memory"
  99768. }
  99769. },
  99770. {
  99771. "id": 14497,
  99772. "name": "p2",
  99773. "nodeType": "Identifier",
  99774. "overloadedDeclarations": [],
  99775. "referencedDeclaration": 14486,
  99776. "src": "61898:2:50",
  99777. "typeDescriptions": {
  99778. "typeIdentifier": "t_bool",
  99779. "typeString": "bool"
  99780. }
  99781. },
  99782. {
  99783. "id": 14498,
  99784. "name": "p3",
  99785. "nodeType": "Identifier",
  99786. "overloadedDeclarations": [],
  99787. "referencedDeclaration": 14488,
  99788. "src": "61902:2:50",
  99789. "typeDescriptions": {
  99790. "typeIdentifier": "t_bool",
  99791. "typeString": "bool"
  99792. }
  99793. }
  99794. ],
  99795. "expression": {
  99796. "argumentTypes": [
  99797. {
  99798. "typeIdentifier": "t_stringliteral_5f1d5c9f0de8c048364058d1d6842804ada33dbc34bf9eaff8f2be978f384e08",
  99799. "typeString": "literal_string \"log(address,string,bool,bool)\""
  99800. },
  99801. {
  99802. "typeIdentifier": "t_address",
  99803. "typeString": "address"
  99804. },
  99805. {
  99806. "typeIdentifier": "t_string_memory_ptr",
  99807. "typeString": "string memory"
  99808. },
  99809. {
  99810. "typeIdentifier": "t_bool",
  99811. "typeString": "bool"
  99812. },
  99813. {
  99814. "typeIdentifier": "t_bool",
  99815. "typeString": "bool"
  99816. }
  99817. ],
  99818. "expression": {
  99819. "id": 14492,
  99820. "name": "abi",
  99821. "nodeType": "Identifier",
  99822. "overloadedDeclarations": [],
  99823. "referencedDeclaration": -1,
  99824. "src": "61833:3:50",
  99825. "typeDescriptions": {
  99826. "typeIdentifier": "t_magic_abi",
  99827. "typeString": "abi"
  99828. }
  99829. },
  99830. "id": 14493,
  99831. "isConstant": false,
  99832. "isLValue": false,
  99833. "isPure": true,
  99834. "lValueRequested": false,
  99835. "memberLocation": "61837:19:50",
  99836. "memberName": "encodeWithSignature",
  99837. "nodeType": "MemberAccess",
  99838. "src": "61833:23:50",
  99839. "typeDescriptions": {
  99840. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  99841. "typeString": "function (string memory) pure returns (bytes memory)"
  99842. }
  99843. },
  99844. "id": 14499,
  99845. "isConstant": false,
  99846. "isLValue": false,
  99847. "isPure": false,
  99848. "kind": "functionCall",
  99849. "lValueRequested": false,
  99850. "nameLocations": [],
  99851. "names": [],
  99852. "nodeType": "FunctionCall",
  99853. "src": "61833:72:50",
  99854. "tryCall": false,
  99855. "typeDescriptions": {
  99856. "typeIdentifier": "t_bytes_memory_ptr",
  99857. "typeString": "bytes memory"
  99858. }
  99859. }
  99860. ],
  99861. "expression": {
  99862. "argumentTypes": [
  99863. {
  99864. "typeIdentifier": "t_bytes_memory_ptr",
  99865. "typeString": "bytes memory"
  99866. }
  99867. ],
  99868. "id": 14491,
  99869. "name": "_sendLogPayload",
  99870. "nodeType": "Identifier",
  99871. "overloadedDeclarations": [],
  99872. "referencedDeclaration": 7315,
  99873. "src": "61817:15:50",
  99874. "typeDescriptions": {
  99875. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  99876. "typeString": "function (bytes memory) pure"
  99877. }
  99878. },
  99879. "id": 14500,
  99880. "isConstant": false,
  99881. "isLValue": false,
  99882. "isPure": false,
  99883. "kind": "functionCall",
  99884. "lValueRequested": false,
  99885. "nameLocations": [],
  99886. "names": [],
  99887. "nodeType": "FunctionCall",
  99888. "src": "61817:89:50",
  99889. "tryCall": false,
  99890. "typeDescriptions": {
  99891. "typeIdentifier": "t_tuple$__$",
  99892. "typeString": "tuple()"
  99893. }
  99894. },
  99895. "id": 14501,
  99896. "nodeType": "ExpressionStatement",
  99897. "src": "61817:89:50"
  99898. }
  99899. ]
  99900. },
  99901. "implemented": true,
  99902. "kind": "function",
  99903. "modifiers": [],
  99904. "name": "log",
  99905. "nameLocation": "61741:3:50",
  99906. "parameters": {
  99907. "id": 14489,
  99908. "nodeType": "ParameterList",
  99909. "parameters": [
  99910. {
  99911. "constant": false,
  99912. "id": 14482,
  99913. "mutability": "mutable",
  99914. "name": "p0",
  99915. "nameLocation": "61753:2:50",
  99916. "nodeType": "VariableDeclaration",
  99917. "scope": 14503,
  99918. "src": "61745:10:50",
  99919. "stateVariable": false,
  99920. "storageLocation": "default",
  99921. "typeDescriptions": {
  99922. "typeIdentifier": "t_address",
  99923. "typeString": "address"
  99924. },
  99925. "typeName": {
  99926. "id": 14481,
  99927. "name": "address",
  99928. "nodeType": "ElementaryTypeName",
  99929. "src": "61745:7:50",
  99930. "stateMutability": "nonpayable",
  99931. "typeDescriptions": {
  99932. "typeIdentifier": "t_address",
  99933. "typeString": "address"
  99934. }
  99935. },
  99936. "visibility": "internal"
  99937. },
  99938. {
  99939. "constant": false,
  99940. "id": 14484,
  99941. "mutability": "mutable",
  99942. "name": "p1",
  99943. "nameLocation": "61771:2:50",
  99944. "nodeType": "VariableDeclaration",
  99945. "scope": 14503,
  99946. "src": "61757:16:50",
  99947. "stateVariable": false,
  99948. "storageLocation": "memory",
  99949. "typeDescriptions": {
  99950. "typeIdentifier": "t_string_memory_ptr",
  99951. "typeString": "string"
  99952. },
  99953. "typeName": {
  99954. "id": 14483,
  99955. "name": "string",
  99956. "nodeType": "ElementaryTypeName",
  99957. "src": "61757:6:50",
  99958. "typeDescriptions": {
  99959. "typeIdentifier": "t_string_storage_ptr",
  99960. "typeString": "string"
  99961. }
  99962. },
  99963. "visibility": "internal"
  99964. },
  99965. {
  99966. "constant": false,
  99967. "id": 14486,
  99968. "mutability": "mutable",
  99969. "name": "p2",
  99970. "nameLocation": "61780:2:50",
  99971. "nodeType": "VariableDeclaration",
  99972. "scope": 14503,
  99973. "src": "61775:7:50",
  99974. "stateVariable": false,
  99975. "storageLocation": "default",
  99976. "typeDescriptions": {
  99977. "typeIdentifier": "t_bool",
  99978. "typeString": "bool"
  99979. },
  99980. "typeName": {
  99981. "id": 14485,
  99982. "name": "bool",
  99983. "nodeType": "ElementaryTypeName",
  99984. "src": "61775:4:50",
  99985. "typeDescriptions": {
  99986. "typeIdentifier": "t_bool",
  99987. "typeString": "bool"
  99988. }
  99989. },
  99990. "visibility": "internal"
  99991. },
  99992. {
  99993. "constant": false,
  99994. "id": 14488,
  99995. "mutability": "mutable",
  99996. "name": "p3",
  99997. "nameLocation": "61789:2:50",
  99998. "nodeType": "VariableDeclaration",
  99999. "scope": 14503,
  100000. "src": "61784:7:50",
  100001. "stateVariable": false,
  100002. "storageLocation": "default",
  100003. "typeDescriptions": {
  100004. "typeIdentifier": "t_bool",
  100005. "typeString": "bool"
  100006. },
  100007. "typeName": {
  100008. "id": 14487,
  100009. "name": "bool",
  100010. "nodeType": "ElementaryTypeName",
  100011. "src": "61784:4:50",
  100012. "typeDescriptions": {
  100013. "typeIdentifier": "t_bool",
  100014. "typeString": "bool"
  100015. }
  100016. },
  100017. "visibility": "internal"
  100018. }
  100019. ],
  100020. "src": "61744:48:50"
  100021. },
  100022. "returnParameters": {
  100023. "id": 14490,
  100024. "nodeType": "ParameterList",
  100025. "parameters": [],
  100026. "src": "61807:0:50"
  100027. },
  100028. "scope": 15355,
  100029. "stateMutability": "pure",
  100030. "virtual": false,
  100031. "visibility": "internal"
  100032. },
  100033. {
  100034. "id": 14526,
  100035. "nodeType": "FunctionDefinition",
  100036. "src": "61919:187:50",
  100037. "nodes": [],
  100038. "body": {
  100039. "id": 14525,
  100040. "nodeType": "Block",
  100041. "src": "61997:109:50",
  100042. "nodes": [],
  100043. "statements": [
  100044. {
  100045. "expression": {
  100046. "arguments": [
  100047. {
  100048. "arguments": [
  100049. {
  100050. "hexValue": "6c6f6728616464726573732c737472696e672c626f6f6c2c6164647265737329",
  100051. "id": 14517,
  100052. "isConstant": false,
  100053. "isLValue": false,
  100054. "isPure": true,
  100055. "kind": "string",
  100056. "lValueRequested": false,
  100057. "nodeType": "Literal",
  100058. "src": "62047:34:50",
  100059. "typeDescriptions": {
  100060. "typeIdentifier": "t_stringliteral_205871c2f2d320acdd350939b5fc035cc20b1a9cc058fb26f1c9fb3d2ba59970",
  100061. "typeString": "literal_string \"log(address,string,bool,address)\""
  100062. },
  100063. "value": "log(address,string,bool,address)"
  100064. },
  100065. {
  100066. "id": 14518,
  100067. "name": "p0",
  100068. "nodeType": "Identifier",
  100069. "overloadedDeclarations": [],
  100070. "referencedDeclaration": 14505,
  100071. "src": "62083:2:50",
  100072. "typeDescriptions": {
  100073. "typeIdentifier": "t_address",
  100074. "typeString": "address"
  100075. }
  100076. },
  100077. {
  100078. "id": 14519,
  100079. "name": "p1",
  100080. "nodeType": "Identifier",
  100081. "overloadedDeclarations": [],
  100082. "referencedDeclaration": 14507,
  100083. "src": "62087:2:50",
  100084. "typeDescriptions": {
  100085. "typeIdentifier": "t_string_memory_ptr",
  100086. "typeString": "string memory"
  100087. }
  100088. },
  100089. {
  100090. "id": 14520,
  100091. "name": "p2",
  100092. "nodeType": "Identifier",
  100093. "overloadedDeclarations": [],
  100094. "referencedDeclaration": 14509,
  100095. "src": "62091:2:50",
  100096. "typeDescriptions": {
  100097. "typeIdentifier": "t_bool",
  100098. "typeString": "bool"
  100099. }
  100100. },
  100101. {
  100102. "id": 14521,
  100103. "name": "p3",
  100104. "nodeType": "Identifier",
  100105. "overloadedDeclarations": [],
  100106. "referencedDeclaration": 14511,
  100107. "src": "62095:2:50",
  100108. "typeDescriptions": {
  100109. "typeIdentifier": "t_address",
  100110. "typeString": "address"
  100111. }
  100112. }
  100113. ],
  100114. "expression": {
  100115. "argumentTypes": [
  100116. {
  100117. "typeIdentifier": "t_stringliteral_205871c2f2d320acdd350939b5fc035cc20b1a9cc058fb26f1c9fb3d2ba59970",
  100118. "typeString": "literal_string \"log(address,string,bool,address)\""
  100119. },
  100120. {
  100121. "typeIdentifier": "t_address",
  100122. "typeString": "address"
  100123. },
  100124. {
  100125. "typeIdentifier": "t_string_memory_ptr",
  100126. "typeString": "string memory"
  100127. },
  100128. {
  100129. "typeIdentifier": "t_bool",
  100130. "typeString": "bool"
  100131. },
  100132. {
  100133. "typeIdentifier": "t_address",
  100134. "typeString": "address"
  100135. }
  100136. ],
  100137. "expression": {
  100138. "id": 14515,
  100139. "name": "abi",
  100140. "nodeType": "Identifier",
  100141. "overloadedDeclarations": [],
  100142. "referencedDeclaration": -1,
  100143. "src": "62023:3:50",
  100144. "typeDescriptions": {
  100145. "typeIdentifier": "t_magic_abi",
  100146. "typeString": "abi"
  100147. }
  100148. },
  100149. "id": 14516,
  100150. "isConstant": false,
  100151. "isLValue": false,
  100152. "isPure": true,
  100153. "lValueRequested": false,
  100154. "memberLocation": "62027:19:50",
  100155. "memberName": "encodeWithSignature",
  100156. "nodeType": "MemberAccess",
  100157. "src": "62023:23:50",
  100158. "typeDescriptions": {
  100159. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  100160. "typeString": "function (string memory) pure returns (bytes memory)"
  100161. }
  100162. },
  100163. "id": 14522,
  100164. "isConstant": false,
  100165. "isLValue": false,
  100166. "isPure": false,
  100167. "kind": "functionCall",
  100168. "lValueRequested": false,
  100169. "nameLocations": [],
  100170. "names": [],
  100171. "nodeType": "FunctionCall",
  100172. "src": "62023:75:50",
  100173. "tryCall": false,
  100174. "typeDescriptions": {
  100175. "typeIdentifier": "t_bytes_memory_ptr",
  100176. "typeString": "bytes memory"
  100177. }
  100178. }
  100179. ],
  100180. "expression": {
  100181. "argumentTypes": [
  100182. {
  100183. "typeIdentifier": "t_bytes_memory_ptr",
  100184. "typeString": "bytes memory"
  100185. }
  100186. ],
  100187. "id": 14514,
  100188. "name": "_sendLogPayload",
  100189. "nodeType": "Identifier",
  100190. "overloadedDeclarations": [],
  100191. "referencedDeclaration": 7315,
  100192. "src": "62007:15:50",
  100193. "typeDescriptions": {
  100194. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  100195. "typeString": "function (bytes memory) pure"
  100196. }
  100197. },
  100198. "id": 14523,
  100199. "isConstant": false,
  100200. "isLValue": false,
  100201. "isPure": false,
  100202. "kind": "functionCall",
  100203. "lValueRequested": false,
  100204. "nameLocations": [],
  100205. "names": [],
  100206. "nodeType": "FunctionCall",
  100207. "src": "62007:92:50",
  100208. "tryCall": false,
  100209. "typeDescriptions": {
  100210. "typeIdentifier": "t_tuple$__$",
  100211. "typeString": "tuple()"
  100212. }
  100213. },
  100214. "id": 14524,
  100215. "nodeType": "ExpressionStatement",
  100216. "src": "62007:92:50"
  100217. }
  100218. ]
  100219. },
  100220. "implemented": true,
  100221. "kind": "function",
  100222. "modifiers": [],
  100223. "name": "log",
  100224. "nameLocation": "61928:3:50",
  100225. "parameters": {
  100226. "id": 14512,
  100227. "nodeType": "ParameterList",
  100228. "parameters": [
  100229. {
  100230. "constant": false,
  100231. "id": 14505,
  100232. "mutability": "mutable",
  100233. "name": "p0",
  100234. "nameLocation": "61940:2:50",
  100235. "nodeType": "VariableDeclaration",
  100236. "scope": 14526,
  100237. "src": "61932:10:50",
  100238. "stateVariable": false,
  100239. "storageLocation": "default",
  100240. "typeDescriptions": {
  100241. "typeIdentifier": "t_address",
  100242. "typeString": "address"
  100243. },
  100244. "typeName": {
  100245. "id": 14504,
  100246. "name": "address",
  100247. "nodeType": "ElementaryTypeName",
  100248. "src": "61932:7:50",
  100249. "stateMutability": "nonpayable",
  100250. "typeDescriptions": {
  100251. "typeIdentifier": "t_address",
  100252. "typeString": "address"
  100253. }
  100254. },
  100255. "visibility": "internal"
  100256. },
  100257. {
  100258. "constant": false,
  100259. "id": 14507,
  100260. "mutability": "mutable",
  100261. "name": "p1",
  100262. "nameLocation": "61958:2:50",
  100263. "nodeType": "VariableDeclaration",
  100264. "scope": 14526,
  100265. "src": "61944:16:50",
  100266. "stateVariable": false,
  100267. "storageLocation": "memory",
  100268. "typeDescriptions": {
  100269. "typeIdentifier": "t_string_memory_ptr",
  100270. "typeString": "string"
  100271. },
  100272. "typeName": {
  100273. "id": 14506,
  100274. "name": "string",
  100275. "nodeType": "ElementaryTypeName",
  100276. "src": "61944:6:50",
  100277. "typeDescriptions": {
  100278. "typeIdentifier": "t_string_storage_ptr",
  100279. "typeString": "string"
  100280. }
  100281. },
  100282. "visibility": "internal"
  100283. },
  100284. {
  100285. "constant": false,
  100286. "id": 14509,
  100287. "mutability": "mutable",
  100288. "name": "p2",
  100289. "nameLocation": "61967:2:50",
  100290. "nodeType": "VariableDeclaration",
  100291. "scope": 14526,
  100292. "src": "61962:7:50",
  100293. "stateVariable": false,
  100294. "storageLocation": "default",
  100295. "typeDescriptions": {
  100296. "typeIdentifier": "t_bool",
  100297. "typeString": "bool"
  100298. },
  100299. "typeName": {
  100300. "id": 14508,
  100301. "name": "bool",
  100302. "nodeType": "ElementaryTypeName",
  100303. "src": "61962:4:50",
  100304. "typeDescriptions": {
  100305. "typeIdentifier": "t_bool",
  100306. "typeString": "bool"
  100307. }
  100308. },
  100309. "visibility": "internal"
  100310. },
  100311. {
  100312. "constant": false,
  100313. "id": 14511,
  100314. "mutability": "mutable",
  100315. "name": "p3",
  100316. "nameLocation": "61979:2:50",
  100317. "nodeType": "VariableDeclaration",
  100318. "scope": 14526,
  100319. "src": "61971:10:50",
  100320. "stateVariable": false,
  100321. "storageLocation": "default",
  100322. "typeDescriptions": {
  100323. "typeIdentifier": "t_address",
  100324. "typeString": "address"
  100325. },
  100326. "typeName": {
  100327. "id": 14510,
  100328. "name": "address",
  100329. "nodeType": "ElementaryTypeName",
  100330. "src": "61971:7:50",
  100331. "stateMutability": "nonpayable",
  100332. "typeDescriptions": {
  100333. "typeIdentifier": "t_address",
  100334. "typeString": "address"
  100335. }
  100336. },
  100337. "visibility": "internal"
  100338. }
  100339. ],
  100340. "src": "61931:51:50"
  100341. },
  100342. "returnParameters": {
  100343. "id": 14513,
  100344. "nodeType": "ParameterList",
  100345. "parameters": [],
  100346. "src": "61997:0:50"
  100347. },
  100348. "scope": 15355,
  100349. "stateMutability": "pure",
  100350. "virtual": false,
  100351. "visibility": "internal"
  100352. },
  100353. {
  100354. "id": 14549,
  100355. "nodeType": "FunctionDefinition",
  100356. "src": "62112:193:50",
  100357. "nodes": [],
  100358. "body": {
  100359. "id": 14548,
  100360. "nodeType": "Block",
  100361. "src": "62193:112:50",
  100362. "nodes": [],
  100363. "statements": [
  100364. {
  100365. "expression": {
  100366. "arguments": [
  100367. {
  100368. "arguments": [
  100369. {
  100370. "hexValue": "6c6f6728616464726573732c737472696e672c616464726573732c75696e7432353629",
  100371. "id": 14540,
  100372. "isConstant": false,
  100373. "isLValue": false,
  100374. "isPure": true,
  100375. "kind": "string",
  100376. "lValueRequested": false,
  100377. "nodeType": "Literal",
  100378. "src": "62243:37:50",
  100379. "typeDescriptions": {
  100380. "typeIdentifier": "t_stringliteral_457fe3cf7da0d45ce051e53ef9adc21213d4d7779b5a0fadf99dea432be4beb7",
  100381. "typeString": "literal_string \"log(address,string,address,uint256)\""
  100382. },
  100383. "value": "log(address,string,address,uint256)"
  100384. },
  100385. {
  100386. "id": 14541,
  100387. "name": "p0",
  100388. "nodeType": "Identifier",
  100389. "overloadedDeclarations": [],
  100390. "referencedDeclaration": 14528,
  100391. "src": "62282:2:50",
  100392. "typeDescriptions": {
  100393. "typeIdentifier": "t_address",
  100394. "typeString": "address"
  100395. }
  100396. },
  100397. {
  100398. "id": 14542,
  100399. "name": "p1",
  100400. "nodeType": "Identifier",
  100401. "overloadedDeclarations": [],
  100402. "referencedDeclaration": 14530,
  100403. "src": "62286:2:50",
  100404. "typeDescriptions": {
  100405. "typeIdentifier": "t_string_memory_ptr",
  100406. "typeString": "string memory"
  100407. }
  100408. },
  100409. {
  100410. "id": 14543,
  100411. "name": "p2",
  100412. "nodeType": "Identifier",
  100413. "overloadedDeclarations": [],
  100414. "referencedDeclaration": 14532,
  100415. "src": "62290:2:50",
  100416. "typeDescriptions": {
  100417. "typeIdentifier": "t_address",
  100418. "typeString": "address"
  100419. }
  100420. },
  100421. {
  100422. "id": 14544,
  100423. "name": "p3",
  100424. "nodeType": "Identifier",
  100425. "overloadedDeclarations": [],
  100426. "referencedDeclaration": 14534,
  100427. "src": "62294:2:50",
  100428. "typeDescriptions": {
  100429. "typeIdentifier": "t_uint256",
  100430. "typeString": "uint256"
  100431. }
  100432. }
  100433. ],
  100434. "expression": {
  100435. "argumentTypes": [
  100436. {
  100437. "typeIdentifier": "t_stringliteral_457fe3cf7da0d45ce051e53ef9adc21213d4d7779b5a0fadf99dea432be4beb7",
  100438. "typeString": "literal_string \"log(address,string,address,uint256)\""
  100439. },
  100440. {
  100441. "typeIdentifier": "t_address",
  100442. "typeString": "address"
  100443. },
  100444. {
  100445. "typeIdentifier": "t_string_memory_ptr",
  100446. "typeString": "string memory"
  100447. },
  100448. {
  100449. "typeIdentifier": "t_address",
  100450. "typeString": "address"
  100451. },
  100452. {
  100453. "typeIdentifier": "t_uint256",
  100454. "typeString": "uint256"
  100455. }
  100456. ],
  100457. "expression": {
  100458. "id": 14538,
  100459. "name": "abi",
  100460. "nodeType": "Identifier",
  100461. "overloadedDeclarations": [],
  100462. "referencedDeclaration": -1,
  100463. "src": "62219:3:50",
  100464. "typeDescriptions": {
  100465. "typeIdentifier": "t_magic_abi",
  100466. "typeString": "abi"
  100467. }
  100468. },
  100469. "id": 14539,
  100470. "isConstant": false,
  100471. "isLValue": false,
  100472. "isPure": true,
  100473. "lValueRequested": false,
  100474. "memberLocation": "62223:19:50",
  100475. "memberName": "encodeWithSignature",
  100476. "nodeType": "MemberAccess",
  100477. "src": "62219:23:50",
  100478. "typeDescriptions": {
  100479. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  100480. "typeString": "function (string memory) pure returns (bytes memory)"
  100481. }
  100482. },
  100483. "id": 14545,
  100484. "isConstant": false,
  100485. "isLValue": false,
  100486. "isPure": false,
  100487. "kind": "functionCall",
  100488. "lValueRequested": false,
  100489. "nameLocations": [],
  100490. "names": [],
  100491. "nodeType": "FunctionCall",
  100492. "src": "62219:78:50",
  100493. "tryCall": false,
  100494. "typeDescriptions": {
  100495. "typeIdentifier": "t_bytes_memory_ptr",
  100496. "typeString": "bytes memory"
  100497. }
  100498. }
  100499. ],
  100500. "expression": {
  100501. "argumentTypes": [
  100502. {
  100503. "typeIdentifier": "t_bytes_memory_ptr",
  100504. "typeString": "bytes memory"
  100505. }
  100506. ],
  100507. "id": 14537,
  100508. "name": "_sendLogPayload",
  100509. "nodeType": "Identifier",
  100510. "overloadedDeclarations": [],
  100511. "referencedDeclaration": 7315,
  100512. "src": "62203:15:50",
  100513. "typeDescriptions": {
  100514. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  100515. "typeString": "function (bytes memory) pure"
  100516. }
  100517. },
  100518. "id": 14546,
  100519. "isConstant": false,
  100520. "isLValue": false,
  100521. "isPure": false,
  100522. "kind": "functionCall",
  100523. "lValueRequested": false,
  100524. "nameLocations": [],
  100525. "names": [],
  100526. "nodeType": "FunctionCall",
  100527. "src": "62203:95:50",
  100528. "tryCall": false,
  100529. "typeDescriptions": {
  100530. "typeIdentifier": "t_tuple$__$",
  100531. "typeString": "tuple()"
  100532. }
  100533. },
  100534. "id": 14547,
  100535. "nodeType": "ExpressionStatement",
  100536. "src": "62203:95:50"
  100537. }
  100538. ]
  100539. },
  100540. "implemented": true,
  100541. "kind": "function",
  100542. "modifiers": [],
  100543. "name": "log",
  100544. "nameLocation": "62121:3:50",
  100545. "parameters": {
  100546. "id": 14535,
  100547. "nodeType": "ParameterList",
  100548. "parameters": [
  100549. {
  100550. "constant": false,
  100551. "id": 14528,
  100552. "mutability": "mutable",
  100553. "name": "p0",
  100554. "nameLocation": "62133:2:50",
  100555. "nodeType": "VariableDeclaration",
  100556. "scope": 14549,
  100557. "src": "62125:10:50",
  100558. "stateVariable": false,
  100559. "storageLocation": "default",
  100560. "typeDescriptions": {
  100561. "typeIdentifier": "t_address",
  100562. "typeString": "address"
  100563. },
  100564. "typeName": {
  100565. "id": 14527,
  100566. "name": "address",
  100567. "nodeType": "ElementaryTypeName",
  100568. "src": "62125:7:50",
  100569. "stateMutability": "nonpayable",
  100570. "typeDescriptions": {
  100571. "typeIdentifier": "t_address",
  100572. "typeString": "address"
  100573. }
  100574. },
  100575. "visibility": "internal"
  100576. },
  100577. {
  100578. "constant": false,
  100579. "id": 14530,
  100580. "mutability": "mutable",
  100581. "name": "p1",
  100582. "nameLocation": "62151:2:50",
  100583. "nodeType": "VariableDeclaration",
  100584. "scope": 14549,
  100585. "src": "62137:16:50",
  100586. "stateVariable": false,
  100587. "storageLocation": "memory",
  100588. "typeDescriptions": {
  100589. "typeIdentifier": "t_string_memory_ptr",
  100590. "typeString": "string"
  100591. },
  100592. "typeName": {
  100593. "id": 14529,
  100594. "name": "string",
  100595. "nodeType": "ElementaryTypeName",
  100596. "src": "62137:6:50",
  100597. "typeDescriptions": {
  100598. "typeIdentifier": "t_string_storage_ptr",
  100599. "typeString": "string"
  100600. }
  100601. },
  100602. "visibility": "internal"
  100603. },
  100604. {
  100605. "constant": false,
  100606. "id": 14532,
  100607. "mutability": "mutable",
  100608. "name": "p2",
  100609. "nameLocation": "62163:2:50",
  100610. "nodeType": "VariableDeclaration",
  100611. "scope": 14549,
  100612. "src": "62155:10:50",
  100613. "stateVariable": false,
  100614. "storageLocation": "default",
  100615. "typeDescriptions": {
  100616. "typeIdentifier": "t_address",
  100617. "typeString": "address"
  100618. },
  100619. "typeName": {
  100620. "id": 14531,
  100621. "name": "address",
  100622. "nodeType": "ElementaryTypeName",
  100623. "src": "62155:7:50",
  100624. "stateMutability": "nonpayable",
  100625. "typeDescriptions": {
  100626. "typeIdentifier": "t_address",
  100627. "typeString": "address"
  100628. }
  100629. },
  100630. "visibility": "internal"
  100631. },
  100632. {
  100633. "constant": false,
  100634. "id": 14534,
  100635. "mutability": "mutable",
  100636. "name": "p3",
  100637. "nameLocation": "62175:2:50",
  100638. "nodeType": "VariableDeclaration",
  100639. "scope": 14549,
  100640. "src": "62167:10:50",
  100641. "stateVariable": false,
  100642. "storageLocation": "default",
  100643. "typeDescriptions": {
  100644. "typeIdentifier": "t_uint256",
  100645. "typeString": "uint256"
  100646. },
  100647. "typeName": {
  100648. "id": 14533,
  100649. "name": "uint256",
  100650. "nodeType": "ElementaryTypeName",
  100651. "src": "62167:7:50",
  100652. "typeDescriptions": {
  100653. "typeIdentifier": "t_uint256",
  100654. "typeString": "uint256"
  100655. }
  100656. },
  100657. "visibility": "internal"
  100658. }
  100659. ],
  100660. "src": "62124:54:50"
  100661. },
  100662. "returnParameters": {
  100663. "id": 14536,
  100664. "nodeType": "ParameterList",
  100665. "parameters": [],
  100666. "src": "62193:0:50"
  100667. },
  100668. "scope": 15355,
  100669. "stateMutability": "pure",
  100670. "virtual": false,
  100671. "visibility": "internal"
  100672. },
  100673. {
  100674. "id": 14572,
  100675. "nodeType": "FunctionDefinition",
  100676. "src": "62311:198:50",
  100677. "nodes": [],
  100678. "body": {
  100679. "id": 14571,
  100680. "nodeType": "Block",
  100681. "src": "62398:111:50",
  100682. "nodes": [],
  100683. "statements": [
  100684. {
  100685. "expression": {
  100686. "arguments": [
  100687. {
  100688. "arguments": [
  100689. {
  100690. "hexValue": "6c6f6728616464726573732c737472696e672c616464726573732c737472696e6729",
  100691. "id": 14563,
  100692. "isConstant": false,
  100693. "isLValue": false,
  100694. "isPure": true,
  100695. "kind": "string",
  100696. "lValueRequested": false,
  100697. "nodeType": "Literal",
  100698. "src": "62448:36:50",
  100699. "typeDescriptions": {
  100700. "typeIdentifier": "t_stringliteral_f7e3624510fc5618feb98a49f5d4404e3749dacbdc916c267fea7b2051a08dea",
  100701. "typeString": "literal_string \"log(address,string,address,string)\""
  100702. },
  100703. "value": "log(address,string,address,string)"
  100704. },
  100705. {
  100706. "id": 14564,
  100707. "name": "p0",
  100708. "nodeType": "Identifier",
  100709. "overloadedDeclarations": [],
  100710. "referencedDeclaration": 14551,
  100711. "src": "62486:2:50",
  100712. "typeDescriptions": {
  100713. "typeIdentifier": "t_address",
  100714. "typeString": "address"
  100715. }
  100716. },
  100717. {
  100718. "id": 14565,
  100719. "name": "p1",
  100720. "nodeType": "Identifier",
  100721. "overloadedDeclarations": [],
  100722. "referencedDeclaration": 14553,
  100723. "src": "62490:2:50",
  100724. "typeDescriptions": {
  100725. "typeIdentifier": "t_string_memory_ptr",
  100726. "typeString": "string memory"
  100727. }
  100728. },
  100729. {
  100730. "id": 14566,
  100731. "name": "p2",
  100732. "nodeType": "Identifier",
  100733. "overloadedDeclarations": [],
  100734. "referencedDeclaration": 14555,
  100735. "src": "62494:2:50",
  100736. "typeDescriptions": {
  100737. "typeIdentifier": "t_address",
  100738. "typeString": "address"
  100739. }
  100740. },
  100741. {
  100742. "id": 14567,
  100743. "name": "p3",
  100744. "nodeType": "Identifier",
  100745. "overloadedDeclarations": [],
  100746. "referencedDeclaration": 14557,
  100747. "src": "62498:2:50",
  100748. "typeDescriptions": {
  100749. "typeIdentifier": "t_string_memory_ptr",
  100750. "typeString": "string memory"
  100751. }
  100752. }
  100753. ],
  100754. "expression": {
  100755. "argumentTypes": [
  100756. {
  100757. "typeIdentifier": "t_stringliteral_f7e3624510fc5618feb98a49f5d4404e3749dacbdc916c267fea7b2051a08dea",
  100758. "typeString": "literal_string \"log(address,string,address,string)\""
  100759. },
  100760. {
  100761. "typeIdentifier": "t_address",
  100762. "typeString": "address"
  100763. },
  100764. {
  100765. "typeIdentifier": "t_string_memory_ptr",
  100766. "typeString": "string memory"
  100767. },
  100768. {
  100769. "typeIdentifier": "t_address",
  100770. "typeString": "address"
  100771. },
  100772. {
  100773. "typeIdentifier": "t_string_memory_ptr",
  100774. "typeString": "string memory"
  100775. }
  100776. ],
  100777. "expression": {
  100778. "id": 14561,
  100779. "name": "abi",
  100780. "nodeType": "Identifier",
  100781. "overloadedDeclarations": [],
  100782. "referencedDeclaration": -1,
  100783. "src": "62424:3:50",
  100784. "typeDescriptions": {
  100785. "typeIdentifier": "t_magic_abi",
  100786. "typeString": "abi"
  100787. }
  100788. },
  100789. "id": 14562,
  100790. "isConstant": false,
  100791. "isLValue": false,
  100792. "isPure": true,
  100793. "lValueRequested": false,
  100794. "memberLocation": "62428:19:50",
  100795. "memberName": "encodeWithSignature",
  100796. "nodeType": "MemberAccess",
  100797. "src": "62424:23:50",
  100798. "typeDescriptions": {
  100799. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  100800. "typeString": "function (string memory) pure returns (bytes memory)"
  100801. }
  100802. },
  100803. "id": 14568,
  100804. "isConstant": false,
  100805. "isLValue": false,
  100806. "isPure": false,
  100807. "kind": "functionCall",
  100808. "lValueRequested": false,
  100809. "nameLocations": [],
  100810. "names": [],
  100811. "nodeType": "FunctionCall",
  100812. "src": "62424:77:50",
  100813. "tryCall": false,
  100814. "typeDescriptions": {
  100815. "typeIdentifier": "t_bytes_memory_ptr",
  100816. "typeString": "bytes memory"
  100817. }
  100818. }
  100819. ],
  100820. "expression": {
  100821. "argumentTypes": [
  100822. {
  100823. "typeIdentifier": "t_bytes_memory_ptr",
  100824. "typeString": "bytes memory"
  100825. }
  100826. ],
  100827. "id": 14560,
  100828. "name": "_sendLogPayload",
  100829. "nodeType": "Identifier",
  100830. "overloadedDeclarations": [],
  100831. "referencedDeclaration": 7315,
  100832. "src": "62408:15:50",
  100833. "typeDescriptions": {
  100834. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  100835. "typeString": "function (bytes memory) pure"
  100836. }
  100837. },
  100838. "id": 14569,
  100839. "isConstant": false,
  100840. "isLValue": false,
  100841. "isPure": false,
  100842. "kind": "functionCall",
  100843. "lValueRequested": false,
  100844. "nameLocations": [],
  100845. "names": [],
  100846. "nodeType": "FunctionCall",
  100847. "src": "62408:94:50",
  100848. "tryCall": false,
  100849. "typeDescriptions": {
  100850. "typeIdentifier": "t_tuple$__$",
  100851. "typeString": "tuple()"
  100852. }
  100853. },
  100854. "id": 14570,
  100855. "nodeType": "ExpressionStatement",
  100856. "src": "62408:94:50"
  100857. }
  100858. ]
  100859. },
  100860. "implemented": true,
  100861. "kind": "function",
  100862. "modifiers": [],
  100863. "name": "log",
  100864. "nameLocation": "62320:3:50",
  100865. "parameters": {
  100866. "id": 14558,
  100867. "nodeType": "ParameterList",
  100868. "parameters": [
  100869. {
  100870. "constant": false,
  100871. "id": 14551,
  100872. "mutability": "mutable",
  100873. "name": "p0",
  100874. "nameLocation": "62332:2:50",
  100875. "nodeType": "VariableDeclaration",
  100876. "scope": 14572,
  100877. "src": "62324:10:50",
  100878. "stateVariable": false,
  100879. "storageLocation": "default",
  100880. "typeDescriptions": {
  100881. "typeIdentifier": "t_address",
  100882. "typeString": "address"
  100883. },
  100884. "typeName": {
  100885. "id": 14550,
  100886. "name": "address",
  100887. "nodeType": "ElementaryTypeName",
  100888. "src": "62324:7:50",
  100889. "stateMutability": "nonpayable",
  100890. "typeDescriptions": {
  100891. "typeIdentifier": "t_address",
  100892. "typeString": "address"
  100893. }
  100894. },
  100895. "visibility": "internal"
  100896. },
  100897. {
  100898. "constant": false,
  100899. "id": 14553,
  100900. "mutability": "mutable",
  100901. "name": "p1",
  100902. "nameLocation": "62350:2:50",
  100903. "nodeType": "VariableDeclaration",
  100904. "scope": 14572,
  100905. "src": "62336:16:50",
  100906. "stateVariable": false,
  100907. "storageLocation": "memory",
  100908. "typeDescriptions": {
  100909. "typeIdentifier": "t_string_memory_ptr",
  100910. "typeString": "string"
  100911. },
  100912. "typeName": {
  100913. "id": 14552,
  100914. "name": "string",
  100915. "nodeType": "ElementaryTypeName",
  100916. "src": "62336:6:50",
  100917. "typeDescriptions": {
  100918. "typeIdentifier": "t_string_storage_ptr",
  100919. "typeString": "string"
  100920. }
  100921. },
  100922. "visibility": "internal"
  100923. },
  100924. {
  100925. "constant": false,
  100926. "id": 14555,
  100927. "mutability": "mutable",
  100928. "name": "p2",
  100929. "nameLocation": "62362:2:50",
  100930. "nodeType": "VariableDeclaration",
  100931. "scope": 14572,
  100932. "src": "62354:10:50",
  100933. "stateVariable": false,
  100934. "storageLocation": "default",
  100935. "typeDescriptions": {
  100936. "typeIdentifier": "t_address",
  100937. "typeString": "address"
  100938. },
  100939. "typeName": {
  100940. "id": 14554,
  100941. "name": "address",
  100942. "nodeType": "ElementaryTypeName",
  100943. "src": "62354:7:50",
  100944. "stateMutability": "nonpayable",
  100945. "typeDescriptions": {
  100946. "typeIdentifier": "t_address",
  100947. "typeString": "address"
  100948. }
  100949. },
  100950. "visibility": "internal"
  100951. },
  100952. {
  100953. "constant": false,
  100954. "id": 14557,
  100955. "mutability": "mutable",
  100956. "name": "p3",
  100957. "nameLocation": "62380:2:50",
  100958. "nodeType": "VariableDeclaration",
  100959. "scope": 14572,
  100960. "src": "62366:16:50",
  100961. "stateVariable": false,
  100962. "storageLocation": "memory",
  100963. "typeDescriptions": {
  100964. "typeIdentifier": "t_string_memory_ptr",
  100965. "typeString": "string"
  100966. },
  100967. "typeName": {
  100968. "id": 14556,
  100969. "name": "string",
  100970. "nodeType": "ElementaryTypeName",
  100971. "src": "62366:6:50",
  100972. "typeDescriptions": {
  100973. "typeIdentifier": "t_string_storage_ptr",
  100974. "typeString": "string"
  100975. }
  100976. },
  100977. "visibility": "internal"
  100978. }
  100979. ],
  100980. "src": "62323:60:50"
  100981. },
  100982. "returnParameters": {
  100983. "id": 14559,
  100984. "nodeType": "ParameterList",
  100985. "parameters": [],
  100986. "src": "62398:0:50"
  100987. },
  100988. "scope": 15355,
  100989. "stateMutability": "pure",
  100990. "virtual": false,
  100991. "visibility": "internal"
  100992. },
  100993. {
  100994. "id": 14595,
  100995. "nodeType": "FunctionDefinition",
  100996. "src": "62515:187:50",
  100997. "nodes": [],
  100998. "body": {
  100999. "id": 14594,
  101000. "nodeType": "Block",
  101001. "src": "62593:109:50",
  101002. "nodes": [],
  101003. "statements": [
  101004. {
  101005. "expression": {
  101006. "arguments": [
  101007. {
  101008. "arguments": [
  101009. {
  101010. "hexValue": "6c6f6728616464726573732c737472696e672c616464726573732c626f6f6c29",
  101011. "id": 14586,
  101012. "isConstant": false,
  101013. "isLValue": false,
  101014. "isPure": true,
  101015. "kind": "string",
  101016. "lValueRequested": false,
  101017. "nodeType": "Literal",
  101018. "src": "62643:34:50",
  101019. "typeDescriptions": {
  101020. "typeIdentifier": "t_stringliteral_0df12b7620e0bad204ac79fe9930fef9b9a40702161764a681594d50d657b081",
  101021. "typeString": "literal_string \"log(address,string,address,bool)\""
  101022. },
  101023. "value": "log(address,string,address,bool)"
  101024. },
  101025. {
  101026. "id": 14587,
  101027. "name": "p0",
  101028. "nodeType": "Identifier",
  101029. "overloadedDeclarations": [],
  101030. "referencedDeclaration": 14574,
  101031. "src": "62679:2:50",
  101032. "typeDescriptions": {
  101033. "typeIdentifier": "t_address",
  101034. "typeString": "address"
  101035. }
  101036. },
  101037. {
  101038. "id": 14588,
  101039. "name": "p1",
  101040. "nodeType": "Identifier",
  101041. "overloadedDeclarations": [],
  101042. "referencedDeclaration": 14576,
  101043. "src": "62683:2:50",
  101044. "typeDescriptions": {
  101045. "typeIdentifier": "t_string_memory_ptr",
  101046. "typeString": "string memory"
  101047. }
  101048. },
  101049. {
  101050. "id": 14589,
  101051. "name": "p2",
  101052. "nodeType": "Identifier",
  101053. "overloadedDeclarations": [],
  101054. "referencedDeclaration": 14578,
  101055. "src": "62687:2:50",
  101056. "typeDescriptions": {
  101057. "typeIdentifier": "t_address",
  101058. "typeString": "address"
  101059. }
  101060. },
  101061. {
  101062. "id": 14590,
  101063. "name": "p3",
  101064. "nodeType": "Identifier",
  101065. "overloadedDeclarations": [],
  101066. "referencedDeclaration": 14580,
  101067. "src": "62691:2:50",
  101068. "typeDescriptions": {
  101069. "typeIdentifier": "t_bool",
  101070. "typeString": "bool"
  101071. }
  101072. }
  101073. ],
  101074. "expression": {
  101075. "argumentTypes": [
  101076. {
  101077. "typeIdentifier": "t_stringliteral_0df12b7620e0bad204ac79fe9930fef9b9a40702161764a681594d50d657b081",
  101078. "typeString": "literal_string \"log(address,string,address,bool)\""
  101079. },
  101080. {
  101081. "typeIdentifier": "t_address",
  101082. "typeString": "address"
  101083. },
  101084. {
  101085. "typeIdentifier": "t_string_memory_ptr",
  101086. "typeString": "string memory"
  101087. },
  101088. {
  101089. "typeIdentifier": "t_address",
  101090. "typeString": "address"
  101091. },
  101092. {
  101093. "typeIdentifier": "t_bool",
  101094. "typeString": "bool"
  101095. }
  101096. ],
  101097. "expression": {
  101098. "id": 14584,
  101099. "name": "abi",
  101100. "nodeType": "Identifier",
  101101. "overloadedDeclarations": [],
  101102. "referencedDeclaration": -1,
  101103. "src": "62619:3:50",
  101104. "typeDescriptions": {
  101105. "typeIdentifier": "t_magic_abi",
  101106. "typeString": "abi"
  101107. }
  101108. },
  101109. "id": 14585,
  101110. "isConstant": false,
  101111. "isLValue": false,
  101112. "isPure": true,
  101113. "lValueRequested": false,
  101114. "memberLocation": "62623:19:50",
  101115. "memberName": "encodeWithSignature",
  101116. "nodeType": "MemberAccess",
  101117. "src": "62619:23:50",
  101118. "typeDescriptions": {
  101119. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  101120. "typeString": "function (string memory) pure returns (bytes memory)"
  101121. }
  101122. },
  101123. "id": 14591,
  101124. "isConstant": false,
  101125. "isLValue": false,
  101126. "isPure": false,
  101127. "kind": "functionCall",
  101128. "lValueRequested": false,
  101129. "nameLocations": [],
  101130. "names": [],
  101131. "nodeType": "FunctionCall",
  101132. "src": "62619:75:50",
  101133. "tryCall": false,
  101134. "typeDescriptions": {
  101135. "typeIdentifier": "t_bytes_memory_ptr",
  101136. "typeString": "bytes memory"
  101137. }
  101138. }
  101139. ],
  101140. "expression": {
  101141. "argumentTypes": [
  101142. {
  101143. "typeIdentifier": "t_bytes_memory_ptr",
  101144. "typeString": "bytes memory"
  101145. }
  101146. ],
  101147. "id": 14583,
  101148. "name": "_sendLogPayload",
  101149. "nodeType": "Identifier",
  101150. "overloadedDeclarations": [],
  101151. "referencedDeclaration": 7315,
  101152. "src": "62603:15:50",
  101153. "typeDescriptions": {
  101154. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  101155. "typeString": "function (bytes memory) pure"
  101156. }
  101157. },
  101158. "id": 14592,
  101159. "isConstant": false,
  101160. "isLValue": false,
  101161. "isPure": false,
  101162. "kind": "functionCall",
  101163. "lValueRequested": false,
  101164. "nameLocations": [],
  101165. "names": [],
  101166. "nodeType": "FunctionCall",
  101167. "src": "62603:92:50",
  101168. "tryCall": false,
  101169. "typeDescriptions": {
  101170. "typeIdentifier": "t_tuple$__$",
  101171. "typeString": "tuple()"
  101172. }
  101173. },
  101174. "id": 14593,
  101175. "nodeType": "ExpressionStatement",
  101176. "src": "62603:92:50"
  101177. }
  101178. ]
  101179. },
  101180. "implemented": true,
  101181. "kind": "function",
  101182. "modifiers": [],
  101183. "name": "log",
  101184. "nameLocation": "62524:3:50",
  101185. "parameters": {
  101186. "id": 14581,
  101187. "nodeType": "ParameterList",
  101188. "parameters": [
  101189. {
  101190. "constant": false,
  101191. "id": 14574,
  101192. "mutability": "mutable",
  101193. "name": "p0",
  101194. "nameLocation": "62536:2:50",
  101195. "nodeType": "VariableDeclaration",
  101196. "scope": 14595,
  101197. "src": "62528:10:50",
  101198. "stateVariable": false,
  101199. "storageLocation": "default",
  101200. "typeDescriptions": {
  101201. "typeIdentifier": "t_address",
  101202. "typeString": "address"
  101203. },
  101204. "typeName": {
  101205. "id": 14573,
  101206. "name": "address",
  101207. "nodeType": "ElementaryTypeName",
  101208. "src": "62528:7:50",
  101209. "stateMutability": "nonpayable",
  101210. "typeDescriptions": {
  101211. "typeIdentifier": "t_address",
  101212. "typeString": "address"
  101213. }
  101214. },
  101215. "visibility": "internal"
  101216. },
  101217. {
  101218. "constant": false,
  101219. "id": 14576,
  101220. "mutability": "mutable",
  101221. "name": "p1",
  101222. "nameLocation": "62554:2:50",
  101223. "nodeType": "VariableDeclaration",
  101224. "scope": 14595,
  101225. "src": "62540:16:50",
  101226. "stateVariable": false,
  101227. "storageLocation": "memory",
  101228. "typeDescriptions": {
  101229. "typeIdentifier": "t_string_memory_ptr",
  101230. "typeString": "string"
  101231. },
  101232. "typeName": {
  101233. "id": 14575,
  101234. "name": "string",
  101235. "nodeType": "ElementaryTypeName",
  101236. "src": "62540:6:50",
  101237. "typeDescriptions": {
  101238. "typeIdentifier": "t_string_storage_ptr",
  101239. "typeString": "string"
  101240. }
  101241. },
  101242. "visibility": "internal"
  101243. },
  101244. {
  101245. "constant": false,
  101246. "id": 14578,
  101247. "mutability": "mutable",
  101248. "name": "p2",
  101249. "nameLocation": "62566:2:50",
  101250. "nodeType": "VariableDeclaration",
  101251. "scope": 14595,
  101252. "src": "62558:10:50",
  101253. "stateVariable": false,
  101254. "storageLocation": "default",
  101255. "typeDescriptions": {
  101256. "typeIdentifier": "t_address",
  101257. "typeString": "address"
  101258. },
  101259. "typeName": {
  101260. "id": 14577,
  101261. "name": "address",
  101262. "nodeType": "ElementaryTypeName",
  101263. "src": "62558:7:50",
  101264. "stateMutability": "nonpayable",
  101265. "typeDescriptions": {
  101266. "typeIdentifier": "t_address",
  101267. "typeString": "address"
  101268. }
  101269. },
  101270. "visibility": "internal"
  101271. },
  101272. {
  101273. "constant": false,
  101274. "id": 14580,
  101275. "mutability": "mutable",
  101276. "name": "p3",
  101277. "nameLocation": "62575:2:50",
  101278. "nodeType": "VariableDeclaration",
  101279. "scope": 14595,
  101280. "src": "62570:7:50",
  101281. "stateVariable": false,
  101282. "storageLocation": "default",
  101283. "typeDescriptions": {
  101284. "typeIdentifier": "t_bool",
  101285. "typeString": "bool"
  101286. },
  101287. "typeName": {
  101288. "id": 14579,
  101289. "name": "bool",
  101290. "nodeType": "ElementaryTypeName",
  101291. "src": "62570:4:50",
  101292. "typeDescriptions": {
  101293. "typeIdentifier": "t_bool",
  101294. "typeString": "bool"
  101295. }
  101296. },
  101297. "visibility": "internal"
  101298. }
  101299. ],
  101300. "src": "62527:51:50"
  101301. },
  101302. "returnParameters": {
  101303. "id": 14582,
  101304. "nodeType": "ParameterList",
  101305. "parameters": [],
  101306. "src": "62593:0:50"
  101307. },
  101308. "scope": 15355,
  101309. "stateMutability": "pure",
  101310. "virtual": false,
  101311. "visibility": "internal"
  101312. },
  101313. {
  101314. "id": 14618,
  101315. "nodeType": "FunctionDefinition",
  101316. "src": "62708:193:50",
  101317. "nodes": [],
  101318. "body": {
  101319. "id": 14617,
  101320. "nodeType": "Block",
  101321. "src": "62789:112:50",
  101322. "nodes": [],
  101323. "statements": [
  101324. {
  101325. "expression": {
  101326. "arguments": [
  101327. {
  101328. "arguments": [
  101329. {
  101330. "hexValue": "6c6f6728616464726573732c737472696e672c616464726573732c6164647265737329",
  101331. "id": 14609,
  101332. "isConstant": false,
  101333. "isLValue": false,
  101334. "isPure": true,
  101335. "kind": "string",
  101336. "lValueRequested": false,
  101337. "nodeType": "Literal",
  101338. "src": "62839:37:50",
  101339. "typeDescriptions": {
  101340. "typeIdentifier": "t_stringliteral_0d36fa2022fafb45586a59914be3ad4c57b76e89535385dcff89c28c80605121",
  101341. "typeString": "literal_string \"log(address,string,address,address)\""
  101342. },
  101343. "value": "log(address,string,address,address)"
  101344. },
  101345. {
  101346. "id": 14610,
  101347. "name": "p0",
  101348. "nodeType": "Identifier",
  101349. "overloadedDeclarations": [],
  101350. "referencedDeclaration": 14597,
  101351. "src": "62878:2:50",
  101352. "typeDescriptions": {
  101353. "typeIdentifier": "t_address",
  101354. "typeString": "address"
  101355. }
  101356. },
  101357. {
  101358. "id": 14611,
  101359. "name": "p1",
  101360. "nodeType": "Identifier",
  101361. "overloadedDeclarations": [],
  101362. "referencedDeclaration": 14599,
  101363. "src": "62882:2:50",
  101364. "typeDescriptions": {
  101365. "typeIdentifier": "t_string_memory_ptr",
  101366. "typeString": "string memory"
  101367. }
  101368. },
  101369. {
  101370. "id": 14612,
  101371. "name": "p2",
  101372. "nodeType": "Identifier",
  101373. "overloadedDeclarations": [],
  101374. "referencedDeclaration": 14601,
  101375. "src": "62886:2:50",
  101376. "typeDescriptions": {
  101377. "typeIdentifier": "t_address",
  101378. "typeString": "address"
  101379. }
  101380. },
  101381. {
  101382. "id": 14613,
  101383. "name": "p3",
  101384. "nodeType": "Identifier",
  101385. "overloadedDeclarations": [],
  101386. "referencedDeclaration": 14603,
  101387. "src": "62890:2:50",
  101388. "typeDescriptions": {
  101389. "typeIdentifier": "t_address",
  101390. "typeString": "address"
  101391. }
  101392. }
  101393. ],
  101394. "expression": {
  101395. "argumentTypes": [
  101396. {
  101397. "typeIdentifier": "t_stringliteral_0d36fa2022fafb45586a59914be3ad4c57b76e89535385dcff89c28c80605121",
  101398. "typeString": "literal_string \"log(address,string,address,address)\""
  101399. },
  101400. {
  101401. "typeIdentifier": "t_address",
  101402. "typeString": "address"
  101403. },
  101404. {
  101405. "typeIdentifier": "t_string_memory_ptr",
  101406. "typeString": "string memory"
  101407. },
  101408. {
  101409. "typeIdentifier": "t_address",
  101410. "typeString": "address"
  101411. },
  101412. {
  101413. "typeIdentifier": "t_address",
  101414. "typeString": "address"
  101415. }
  101416. ],
  101417. "expression": {
  101418. "id": 14607,
  101419. "name": "abi",
  101420. "nodeType": "Identifier",
  101421. "overloadedDeclarations": [],
  101422. "referencedDeclaration": -1,
  101423. "src": "62815:3:50",
  101424. "typeDescriptions": {
  101425. "typeIdentifier": "t_magic_abi",
  101426. "typeString": "abi"
  101427. }
  101428. },
  101429. "id": 14608,
  101430. "isConstant": false,
  101431. "isLValue": false,
  101432. "isPure": true,
  101433. "lValueRequested": false,
  101434. "memberLocation": "62819:19:50",
  101435. "memberName": "encodeWithSignature",
  101436. "nodeType": "MemberAccess",
  101437. "src": "62815:23:50",
  101438. "typeDescriptions": {
  101439. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  101440. "typeString": "function (string memory) pure returns (bytes memory)"
  101441. }
  101442. },
  101443. "id": 14614,
  101444. "isConstant": false,
  101445. "isLValue": false,
  101446. "isPure": false,
  101447. "kind": "functionCall",
  101448. "lValueRequested": false,
  101449. "nameLocations": [],
  101450. "names": [],
  101451. "nodeType": "FunctionCall",
  101452. "src": "62815:78:50",
  101453. "tryCall": false,
  101454. "typeDescriptions": {
  101455. "typeIdentifier": "t_bytes_memory_ptr",
  101456. "typeString": "bytes memory"
  101457. }
  101458. }
  101459. ],
  101460. "expression": {
  101461. "argumentTypes": [
  101462. {
  101463. "typeIdentifier": "t_bytes_memory_ptr",
  101464. "typeString": "bytes memory"
  101465. }
  101466. ],
  101467. "id": 14606,
  101468. "name": "_sendLogPayload",
  101469. "nodeType": "Identifier",
  101470. "overloadedDeclarations": [],
  101471. "referencedDeclaration": 7315,
  101472. "src": "62799:15:50",
  101473. "typeDescriptions": {
  101474. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  101475. "typeString": "function (bytes memory) pure"
  101476. }
  101477. },
  101478. "id": 14615,
  101479. "isConstant": false,
  101480. "isLValue": false,
  101481. "isPure": false,
  101482. "kind": "functionCall",
  101483. "lValueRequested": false,
  101484. "nameLocations": [],
  101485. "names": [],
  101486. "nodeType": "FunctionCall",
  101487. "src": "62799:95:50",
  101488. "tryCall": false,
  101489. "typeDescriptions": {
  101490. "typeIdentifier": "t_tuple$__$",
  101491. "typeString": "tuple()"
  101492. }
  101493. },
  101494. "id": 14616,
  101495. "nodeType": "ExpressionStatement",
  101496. "src": "62799:95:50"
  101497. }
  101498. ]
  101499. },
  101500. "implemented": true,
  101501. "kind": "function",
  101502. "modifiers": [],
  101503. "name": "log",
  101504. "nameLocation": "62717:3:50",
  101505. "parameters": {
  101506. "id": 14604,
  101507. "nodeType": "ParameterList",
  101508. "parameters": [
  101509. {
  101510. "constant": false,
  101511. "id": 14597,
  101512. "mutability": "mutable",
  101513. "name": "p0",
  101514. "nameLocation": "62729:2:50",
  101515. "nodeType": "VariableDeclaration",
  101516. "scope": 14618,
  101517. "src": "62721:10:50",
  101518. "stateVariable": false,
  101519. "storageLocation": "default",
  101520. "typeDescriptions": {
  101521. "typeIdentifier": "t_address",
  101522. "typeString": "address"
  101523. },
  101524. "typeName": {
  101525. "id": 14596,
  101526. "name": "address",
  101527. "nodeType": "ElementaryTypeName",
  101528. "src": "62721:7:50",
  101529. "stateMutability": "nonpayable",
  101530. "typeDescriptions": {
  101531. "typeIdentifier": "t_address",
  101532. "typeString": "address"
  101533. }
  101534. },
  101535. "visibility": "internal"
  101536. },
  101537. {
  101538. "constant": false,
  101539. "id": 14599,
  101540. "mutability": "mutable",
  101541. "name": "p1",
  101542. "nameLocation": "62747:2:50",
  101543. "nodeType": "VariableDeclaration",
  101544. "scope": 14618,
  101545. "src": "62733:16:50",
  101546. "stateVariable": false,
  101547. "storageLocation": "memory",
  101548. "typeDescriptions": {
  101549. "typeIdentifier": "t_string_memory_ptr",
  101550. "typeString": "string"
  101551. },
  101552. "typeName": {
  101553. "id": 14598,
  101554. "name": "string",
  101555. "nodeType": "ElementaryTypeName",
  101556. "src": "62733:6:50",
  101557. "typeDescriptions": {
  101558. "typeIdentifier": "t_string_storage_ptr",
  101559. "typeString": "string"
  101560. }
  101561. },
  101562. "visibility": "internal"
  101563. },
  101564. {
  101565. "constant": false,
  101566. "id": 14601,
  101567. "mutability": "mutable",
  101568. "name": "p2",
  101569. "nameLocation": "62759:2:50",
  101570. "nodeType": "VariableDeclaration",
  101571. "scope": 14618,
  101572. "src": "62751:10:50",
  101573. "stateVariable": false,
  101574. "storageLocation": "default",
  101575. "typeDescriptions": {
  101576. "typeIdentifier": "t_address",
  101577. "typeString": "address"
  101578. },
  101579. "typeName": {
  101580. "id": 14600,
  101581. "name": "address",
  101582. "nodeType": "ElementaryTypeName",
  101583. "src": "62751:7:50",
  101584. "stateMutability": "nonpayable",
  101585. "typeDescriptions": {
  101586. "typeIdentifier": "t_address",
  101587. "typeString": "address"
  101588. }
  101589. },
  101590. "visibility": "internal"
  101591. },
  101592. {
  101593. "constant": false,
  101594. "id": 14603,
  101595. "mutability": "mutable",
  101596. "name": "p3",
  101597. "nameLocation": "62771:2:50",
  101598. "nodeType": "VariableDeclaration",
  101599. "scope": 14618,
  101600. "src": "62763:10:50",
  101601. "stateVariable": false,
  101602. "storageLocation": "default",
  101603. "typeDescriptions": {
  101604. "typeIdentifier": "t_address",
  101605. "typeString": "address"
  101606. },
  101607. "typeName": {
  101608. "id": 14602,
  101609. "name": "address",
  101610. "nodeType": "ElementaryTypeName",
  101611. "src": "62763:7:50",
  101612. "stateMutability": "nonpayable",
  101613. "typeDescriptions": {
  101614. "typeIdentifier": "t_address",
  101615. "typeString": "address"
  101616. }
  101617. },
  101618. "visibility": "internal"
  101619. }
  101620. ],
  101621. "src": "62720:54:50"
  101622. },
  101623. "returnParameters": {
  101624. "id": 14605,
  101625. "nodeType": "ParameterList",
  101626. "parameters": [],
  101627. "src": "62789:0:50"
  101628. },
  101629. "scope": 15355,
  101630. "stateMutability": "pure",
  101631. "virtual": false,
  101632. "visibility": "internal"
  101633. },
  101634. {
  101635. "id": 14641,
  101636. "nodeType": "FunctionDefinition",
  101637. "src": "62907:182:50",
  101638. "nodes": [],
  101639. "body": {
  101640. "id": 14640,
  101641. "nodeType": "Block",
  101642. "src": "62979:110:50",
  101643. "nodes": [],
  101644. "statements": [
  101645. {
  101646. "expression": {
  101647. "arguments": [
  101648. {
  101649. "arguments": [
  101650. {
  101651. "hexValue": "6c6f6728616464726573732c626f6f6c2c75696e743235362c75696e7432353629",
  101652. "id": 14632,
  101653. "isConstant": false,
  101654. "isLValue": false,
  101655. "isPure": true,
  101656. "kind": "string",
  101657. "lValueRequested": false,
  101658. "nodeType": "Literal",
  101659. "src": "63029:35:50",
  101660. "typeDescriptions": {
  101661. "typeIdentifier": "t_stringliteral_386ff5f4530ea008cf639214e5b8a55077ec58314989bc72a4ee1f3ffe9617a4",
  101662. "typeString": "literal_string \"log(address,bool,uint256,uint256)\""
  101663. },
  101664. "value": "log(address,bool,uint256,uint256)"
  101665. },
  101666. {
  101667. "id": 14633,
  101668. "name": "p0",
  101669. "nodeType": "Identifier",
  101670. "overloadedDeclarations": [],
  101671. "referencedDeclaration": 14620,
  101672. "src": "63066:2:50",
  101673. "typeDescriptions": {
  101674. "typeIdentifier": "t_address",
  101675. "typeString": "address"
  101676. }
  101677. },
  101678. {
  101679. "id": 14634,
  101680. "name": "p1",
  101681. "nodeType": "Identifier",
  101682. "overloadedDeclarations": [],
  101683. "referencedDeclaration": 14622,
  101684. "src": "63070:2:50",
  101685. "typeDescriptions": {
  101686. "typeIdentifier": "t_bool",
  101687. "typeString": "bool"
  101688. }
  101689. },
  101690. {
  101691. "id": 14635,
  101692. "name": "p2",
  101693. "nodeType": "Identifier",
  101694. "overloadedDeclarations": [],
  101695. "referencedDeclaration": 14624,
  101696. "src": "63074:2:50",
  101697. "typeDescriptions": {
  101698. "typeIdentifier": "t_uint256",
  101699. "typeString": "uint256"
  101700. }
  101701. },
  101702. {
  101703. "id": 14636,
  101704. "name": "p3",
  101705. "nodeType": "Identifier",
  101706. "overloadedDeclarations": [],
  101707. "referencedDeclaration": 14626,
  101708. "src": "63078:2:50",
  101709. "typeDescriptions": {
  101710. "typeIdentifier": "t_uint256",
  101711. "typeString": "uint256"
  101712. }
  101713. }
  101714. ],
  101715. "expression": {
  101716. "argumentTypes": [
  101717. {
  101718. "typeIdentifier": "t_stringliteral_386ff5f4530ea008cf639214e5b8a55077ec58314989bc72a4ee1f3ffe9617a4",
  101719. "typeString": "literal_string \"log(address,bool,uint256,uint256)\""
  101720. },
  101721. {
  101722. "typeIdentifier": "t_address",
  101723. "typeString": "address"
  101724. },
  101725. {
  101726. "typeIdentifier": "t_bool",
  101727. "typeString": "bool"
  101728. },
  101729. {
  101730. "typeIdentifier": "t_uint256",
  101731. "typeString": "uint256"
  101732. },
  101733. {
  101734. "typeIdentifier": "t_uint256",
  101735. "typeString": "uint256"
  101736. }
  101737. ],
  101738. "expression": {
  101739. "id": 14630,
  101740. "name": "abi",
  101741. "nodeType": "Identifier",
  101742. "overloadedDeclarations": [],
  101743. "referencedDeclaration": -1,
  101744. "src": "63005:3:50",
  101745. "typeDescriptions": {
  101746. "typeIdentifier": "t_magic_abi",
  101747. "typeString": "abi"
  101748. }
  101749. },
  101750. "id": 14631,
  101751. "isConstant": false,
  101752. "isLValue": false,
  101753. "isPure": true,
  101754. "lValueRequested": false,
  101755. "memberLocation": "63009:19:50",
  101756. "memberName": "encodeWithSignature",
  101757. "nodeType": "MemberAccess",
  101758. "src": "63005:23:50",
  101759. "typeDescriptions": {
  101760. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  101761. "typeString": "function (string memory) pure returns (bytes memory)"
  101762. }
  101763. },
  101764. "id": 14637,
  101765. "isConstant": false,
  101766. "isLValue": false,
  101767. "isPure": false,
  101768. "kind": "functionCall",
  101769. "lValueRequested": false,
  101770. "nameLocations": [],
  101771. "names": [],
  101772. "nodeType": "FunctionCall",
  101773. "src": "63005:76:50",
  101774. "tryCall": false,
  101775. "typeDescriptions": {
  101776. "typeIdentifier": "t_bytes_memory_ptr",
  101777. "typeString": "bytes memory"
  101778. }
  101779. }
  101780. ],
  101781. "expression": {
  101782. "argumentTypes": [
  101783. {
  101784. "typeIdentifier": "t_bytes_memory_ptr",
  101785. "typeString": "bytes memory"
  101786. }
  101787. ],
  101788. "id": 14629,
  101789. "name": "_sendLogPayload",
  101790. "nodeType": "Identifier",
  101791. "overloadedDeclarations": [],
  101792. "referencedDeclaration": 7315,
  101793. "src": "62989:15:50",
  101794. "typeDescriptions": {
  101795. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  101796. "typeString": "function (bytes memory) pure"
  101797. }
  101798. },
  101799. "id": 14638,
  101800. "isConstant": false,
  101801. "isLValue": false,
  101802. "isPure": false,
  101803. "kind": "functionCall",
  101804. "lValueRequested": false,
  101805. "nameLocations": [],
  101806. "names": [],
  101807. "nodeType": "FunctionCall",
  101808. "src": "62989:93:50",
  101809. "tryCall": false,
  101810. "typeDescriptions": {
  101811. "typeIdentifier": "t_tuple$__$",
  101812. "typeString": "tuple()"
  101813. }
  101814. },
  101815. "id": 14639,
  101816. "nodeType": "ExpressionStatement",
  101817. "src": "62989:93:50"
  101818. }
  101819. ]
  101820. },
  101821. "implemented": true,
  101822. "kind": "function",
  101823. "modifiers": [],
  101824. "name": "log",
  101825. "nameLocation": "62916:3:50",
  101826. "parameters": {
  101827. "id": 14627,
  101828. "nodeType": "ParameterList",
  101829. "parameters": [
  101830. {
  101831. "constant": false,
  101832. "id": 14620,
  101833. "mutability": "mutable",
  101834. "name": "p0",
  101835. "nameLocation": "62928:2:50",
  101836. "nodeType": "VariableDeclaration",
  101837. "scope": 14641,
  101838. "src": "62920:10:50",
  101839. "stateVariable": false,
  101840. "storageLocation": "default",
  101841. "typeDescriptions": {
  101842. "typeIdentifier": "t_address",
  101843. "typeString": "address"
  101844. },
  101845. "typeName": {
  101846. "id": 14619,
  101847. "name": "address",
  101848. "nodeType": "ElementaryTypeName",
  101849. "src": "62920:7:50",
  101850. "stateMutability": "nonpayable",
  101851. "typeDescriptions": {
  101852. "typeIdentifier": "t_address",
  101853. "typeString": "address"
  101854. }
  101855. },
  101856. "visibility": "internal"
  101857. },
  101858. {
  101859. "constant": false,
  101860. "id": 14622,
  101861. "mutability": "mutable",
  101862. "name": "p1",
  101863. "nameLocation": "62937:2:50",
  101864. "nodeType": "VariableDeclaration",
  101865. "scope": 14641,
  101866. "src": "62932:7:50",
  101867. "stateVariable": false,
  101868. "storageLocation": "default",
  101869. "typeDescriptions": {
  101870. "typeIdentifier": "t_bool",
  101871. "typeString": "bool"
  101872. },
  101873. "typeName": {
  101874. "id": 14621,
  101875. "name": "bool",
  101876. "nodeType": "ElementaryTypeName",
  101877. "src": "62932:4:50",
  101878. "typeDescriptions": {
  101879. "typeIdentifier": "t_bool",
  101880. "typeString": "bool"
  101881. }
  101882. },
  101883. "visibility": "internal"
  101884. },
  101885. {
  101886. "constant": false,
  101887. "id": 14624,
  101888. "mutability": "mutable",
  101889. "name": "p2",
  101890. "nameLocation": "62949:2:50",
  101891. "nodeType": "VariableDeclaration",
  101892. "scope": 14641,
  101893. "src": "62941:10:50",
  101894. "stateVariable": false,
  101895. "storageLocation": "default",
  101896. "typeDescriptions": {
  101897. "typeIdentifier": "t_uint256",
  101898. "typeString": "uint256"
  101899. },
  101900. "typeName": {
  101901. "id": 14623,
  101902. "name": "uint256",
  101903. "nodeType": "ElementaryTypeName",
  101904. "src": "62941:7:50",
  101905. "typeDescriptions": {
  101906. "typeIdentifier": "t_uint256",
  101907. "typeString": "uint256"
  101908. }
  101909. },
  101910. "visibility": "internal"
  101911. },
  101912. {
  101913. "constant": false,
  101914. "id": 14626,
  101915. "mutability": "mutable",
  101916. "name": "p3",
  101917. "nameLocation": "62961:2:50",
  101918. "nodeType": "VariableDeclaration",
  101919. "scope": 14641,
  101920. "src": "62953:10:50",
  101921. "stateVariable": false,
  101922. "storageLocation": "default",
  101923. "typeDescriptions": {
  101924. "typeIdentifier": "t_uint256",
  101925. "typeString": "uint256"
  101926. },
  101927. "typeName": {
  101928. "id": 14625,
  101929. "name": "uint256",
  101930. "nodeType": "ElementaryTypeName",
  101931. "src": "62953:7:50",
  101932. "typeDescriptions": {
  101933. "typeIdentifier": "t_uint256",
  101934. "typeString": "uint256"
  101935. }
  101936. },
  101937. "visibility": "internal"
  101938. }
  101939. ],
  101940. "src": "62919:45:50"
  101941. },
  101942. "returnParameters": {
  101943. "id": 14628,
  101944. "nodeType": "ParameterList",
  101945. "parameters": [],
  101946. "src": "62979:0:50"
  101947. },
  101948. "scope": 15355,
  101949. "stateMutability": "pure",
  101950. "virtual": false,
  101951. "visibility": "internal"
  101952. },
  101953. {
  101954. "id": 14664,
  101955. "nodeType": "FunctionDefinition",
  101956. "src": "63095:187:50",
  101957. "nodes": [],
  101958. "body": {
  101959. "id": 14663,
  101960. "nodeType": "Block",
  101961. "src": "63173:109:50",
  101962. "nodes": [],
  101963. "statements": [
  101964. {
  101965. "expression": {
  101966. "arguments": [
  101967. {
  101968. "arguments": [
  101969. {
  101970. "hexValue": "6c6f6728616464726573732c626f6f6c2c75696e743235362c737472696e6729",
  101971. "id": 14655,
  101972. "isConstant": false,
  101973. "isLValue": false,
  101974. "isPure": true,
  101975. "kind": "string",
  101976. "lValueRequested": false,
  101977. "nodeType": "Literal",
  101978. "src": "63223:34:50",
  101979. "typeDescriptions": {
  101980. "typeIdentifier": "t_stringliteral_0aa6cfad2c268cd387390ada6d4a75b3aa3e38d6511517eb59fcd07a90f9c283",
  101981. "typeString": "literal_string \"log(address,bool,uint256,string)\""
  101982. },
  101983. "value": "log(address,bool,uint256,string)"
  101984. },
  101985. {
  101986. "id": 14656,
  101987. "name": "p0",
  101988. "nodeType": "Identifier",
  101989. "overloadedDeclarations": [],
  101990. "referencedDeclaration": 14643,
  101991. "src": "63259:2:50",
  101992. "typeDescriptions": {
  101993. "typeIdentifier": "t_address",
  101994. "typeString": "address"
  101995. }
  101996. },
  101997. {
  101998. "id": 14657,
  101999. "name": "p1",
  102000. "nodeType": "Identifier",
  102001. "overloadedDeclarations": [],
  102002. "referencedDeclaration": 14645,
  102003. "src": "63263:2:50",
  102004. "typeDescriptions": {
  102005. "typeIdentifier": "t_bool",
  102006. "typeString": "bool"
  102007. }
  102008. },
  102009. {
  102010. "id": 14658,
  102011. "name": "p2",
  102012. "nodeType": "Identifier",
  102013. "overloadedDeclarations": [],
  102014. "referencedDeclaration": 14647,
  102015. "src": "63267:2:50",
  102016. "typeDescriptions": {
  102017. "typeIdentifier": "t_uint256",
  102018. "typeString": "uint256"
  102019. }
  102020. },
  102021. {
  102022. "id": 14659,
  102023. "name": "p3",
  102024. "nodeType": "Identifier",
  102025. "overloadedDeclarations": [],
  102026. "referencedDeclaration": 14649,
  102027. "src": "63271:2:50",
  102028. "typeDescriptions": {
  102029. "typeIdentifier": "t_string_memory_ptr",
  102030. "typeString": "string memory"
  102031. }
  102032. }
  102033. ],
  102034. "expression": {
  102035. "argumentTypes": [
  102036. {
  102037. "typeIdentifier": "t_stringliteral_0aa6cfad2c268cd387390ada6d4a75b3aa3e38d6511517eb59fcd07a90f9c283",
  102038. "typeString": "literal_string \"log(address,bool,uint256,string)\""
  102039. },
  102040. {
  102041. "typeIdentifier": "t_address",
  102042. "typeString": "address"
  102043. },
  102044. {
  102045. "typeIdentifier": "t_bool",
  102046. "typeString": "bool"
  102047. },
  102048. {
  102049. "typeIdentifier": "t_uint256",
  102050. "typeString": "uint256"
  102051. },
  102052. {
  102053. "typeIdentifier": "t_string_memory_ptr",
  102054. "typeString": "string memory"
  102055. }
  102056. ],
  102057. "expression": {
  102058. "id": 14653,
  102059. "name": "abi",
  102060. "nodeType": "Identifier",
  102061. "overloadedDeclarations": [],
  102062. "referencedDeclaration": -1,
  102063. "src": "63199:3:50",
  102064. "typeDescriptions": {
  102065. "typeIdentifier": "t_magic_abi",
  102066. "typeString": "abi"
  102067. }
  102068. },
  102069. "id": 14654,
  102070. "isConstant": false,
  102071. "isLValue": false,
  102072. "isPure": true,
  102073. "lValueRequested": false,
  102074. "memberLocation": "63203:19:50",
  102075. "memberName": "encodeWithSignature",
  102076. "nodeType": "MemberAccess",
  102077. "src": "63199:23:50",
  102078. "typeDescriptions": {
  102079. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  102080. "typeString": "function (string memory) pure returns (bytes memory)"
  102081. }
  102082. },
  102083. "id": 14660,
  102084. "isConstant": false,
  102085. "isLValue": false,
  102086. "isPure": false,
  102087. "kind": "functionCall",
  102088. "lValueRequested": false,
  102089. "nameLocations": [],
  102090. "names": [],
  102091. "nodeType": "FunctionCall",
  102092. "src": "63199:75:50",
  102093. "tryCall": false,
  102094. "typeDescriptions": {
  102095. "typeIdentifier": "t_bytes_memory_ptr",
  102096. "typeString": "bytes memory"
  102097. }
  102098. }
  102099. ],
  102100. "expression": {
  102101. "argumentTypes": [
  102102. {
  102103. "typeIdentifier": "t_bytes_memory_ptr",
  102104. "typeString": "bytes memory"
  102105. }
  102106. ],
  102107. "id": 14652,
  102108. "name": "_sendLogPayload",
  102109. "nodeType": "Identifier",
  102110. "overloadedDeclarations": [],
  102111. "referencedDeclaration": 7315,
  102112. "src": "63183:15:50",
  102113. "typeDescriptions": {
  102114. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  102115. "typeString": "function (bytes memory) pure"
  102116. }
  102117. },
  102118. "id": 14661,
  102119. "isConstant": false,
  102120. "isLValue": false,
  102121. "isPure": false,
  102122. "kind": "functionCall",
  102123. "lValueRequested": false,
  102124. "nameLocations": [],
  102125. "names": [],
  102126. "nodeType": "FunctionCall",
  102127. "src": "63183:92:50",
  102128. "tryCall": false,
  102129. "typeDescriptions": {
  102130. "typeIdentifier": "t_tuple$__$",
  102131. "typeString": "tuple()"
  102132. }
  102133. },
  102134. "id": 14662,
  102135. "nodeType": "ExpressionStatement",
  102136. "src": "63183:92:50"
  102137. }
  102138. ]
  102139. },
  102140. "implemented": true,
  102141. "kind": "function",
  102142. "modifiers": [],
  102143. "name": "log",
  102144. "nameLocation": "63104:3:50",
  102145. "parameters": {
  102146. "id": 14650,
  102147. "nodeType": "ParameterList",
  102148. "parameters": [
  102149. {
  102150. "constant": false,
  102151. "id": 14643,
  102152. "mutability": "mutable",
  102153. "name": "p0",
  102154. "nameLocation": "63116:2:50",
  102155. "nodeType": "VariableDeclaration",
  102156. "scope": 14664,
  102157. "src": "63108:10:50",
  102158. "stateVariable": false,
  102159. "storageLocation": "default",
  102160. "typeDescriptions": {
  102161. "typeIdentifier": "t_address",
  102162. "typeString": "address"
  102163. },
  102164. "typeName": {
  102165. "id": 14642,
  102166. "name": "address",
  102167. "nodeType": "ElementaryTypeName",
  102168. "src": "63108:7:50",
  102169. "stateMutability": "nonpayable",
  102170. "typeDescriptions": {
  102171. "typeIdentifier": "t_address",
  102172. "typeString": "address"
  102173. }
  102174. },
  102175. "visibility": "internal"
  102176. },
  102177. {
  102178. "constant": false,
  102179. "id": 14645,
  102180. "mutability": "mutable",
  102181. "name": "p1",
  102182. "nameLocation": "63125:2:50",
  102183. "nodeType": "VariableDeclaration",
  102184. "scope": 14664,
  102185. "src": "63120:7:50",
  102186. "stateVariable": false,
  102187. "storageLocation": "default",
  102188. "typeDescriptions": {
  102189. "typeIdentifier": "t_bool",
  102190. "typeString": "bool"
  102191. },
  102192. "typeName": {
  102193. "id": 14644,
  102194. "name": "bool",
  102195. "nodeType": "ElementaryTypeName",
  102196. "src": "63120:4:50",
  102197. "typeDescriptions": {
  102198. "typeIdentifier": "t_bool",
  102199. "typeString": "bool"
  102200. }
  102201. },
  102202. "visibility": "internal"
  102203. },
  102204. {
  102205. "constant": false,
  102206. "id": 14647,
  102207. "mutability": "mutable",
  102208. "name": "p2",
  102209. "nameLocation": "63137:2:50",
  102210. "nodeType": "VariableDeclaration",
  102211. "scope": 14664,
  102212. "src": "63129:10:50",
  102213. "stateVariable": false,
  102214. "storageLocation": "default",
  102215. "typeDescriptions": {
  102216. "typeIdentifier": "t_uint256",
  102217. "typeString": "uint256"
  102218. },
  102219. "typeName": {
  102220. "id": 14646,
  102221. "name": "uint256",
  102222. "nodeType": "ElementaryTypeName",
  102223. "src": "63129:7:50",
  102224. "typeDescriptions": {
  102225. "typeIdentifier": "t_uint256",
  102226. "typeString": "uint256"
  102227. }
  102228. },
  102229. "visibility": "internal"
  102230. },
  102231. {
  102232. "constant": false,
  102233. "id": 14649,
  102234. "mutability": "mutable",
  102235. "name": "p3",
  102236. "nameLocation": "63155:2:50",
  102237. "nodeType": "VariableDeclaration",
  102238. "scope": 14664,
  102239. "src": "63141:16:50",
  102240. "stateVariable": false,
  102241. "storageLocation": "memory",
  102242. "typeDescriptions": {
  102243. "typeIdentifier": "t_string_memory_ptr",
  102244. "typeString": "string"
  102245. },
  102246. "typeName": {
  102247. "id": 14648,
  102248. "name": "string",
  102249. "nodeType": "ElementaryTypeName",
  102250. "src": "63141:6:50",
  102251. "typeDescriptions": {
  102252. "typeIdentifier": "t_string_storage_ptr",
  102253. "typeString": "string"
  102254. }
  102255. },
  102256. "visibility": "internal"
  102257. }
  102258. ],
  102259. "src": "63107:51:50"
  102260. },
  102261. "returnParameters": {
  102262. "id": 14651,
  102263. "nodeType": "ParameterList",
  102264. "parameters": [],
  102265. "src": "63173:0:50"
  102266. },
  102267. "scope": 15355,
  102268. "stateMutability": "pure",
  102269. "virtual": false,
  102270. "visibility": "internal"
  102271. },
  102272. {
  102273. "id": 14687,
  102274. "nodeType": "FunctionDefinition",
  102275. "src": "63288:176:50",
  102276. "nodes": [],
  102277. "body": {
  102278. "id": 14686,
  102279. "nodeType": "Block",
  102280. "src": "63357:107:50",
  102281. "nodes": [],
  102282. "statements": [
  102283. {
  102284. "expression": {
  102285. "arguments": [
  102286. {
  102287. "arguments": [
  102288. {
  102289. "hexValue": "6c6f6728616464726573732c626f6f6c2c75696e743235362c626f6f6c29",
  102290. "id": 14678,
  102291. "isConstant": false,
  102292. "isLValue": false,
  102293. "isPure": true,
  102294. "kind": "string",
  102295. "lValueRequested": false,
  102296. "nodeType": "Literal",
  102297. "src": "63407:32:50",
  102298. "typeDescriptions": {
  102299. "typeIdentifier": "t_stringliteral_c4643e20494ddb98fe78bc587bcecbcc7db255edcee8232992e8be9b00c4713c",
  102300. "typeString": "literal_string \"log(address,bool,uint256,bool)\""
  102301. },
  102302. "value": "log(address,bool,uint256,bool)"
  102303. },
  102304. {
  102305. "id": 14679,
  102306. "name": "p0",
  102307. "nodeType": "Identifier",
  102308. "overloadedDeclarations": [],
  102309. "referencedDeclaration": 14666,
  102310. "src": "63441:2:50",
  102311. "typeDescriptions": {
  102312. "typeIdentifier": "t_address",
  102313. "typeString": "address"
  102314. }
  102315. },
  102316. {
  102317. "id": 14680,
  102318. "name": "p1",
  102319. "nodeType": "Identifier",
  102320. "overloadedDeclarations": [],
  102321. "referencedDeclaration": 14668,
  102322. "src": "63445:2:50",
  102323. "typeDescriptions": {
  102324. "typeIdentifier": "t_bool",
  102325. "typeString": "bool"
  102326. }
  102327. },
  102328. {
  102329. "id": 14681,
  102330. "name": "p2",
  102331. "nodeType": "Identifier",
  102332. "overloadedDeclarations": [],
  102333. "referencedDeclaration": 14670,
  102334. "src": "63449:2:50",
  102335. "typeDescriptions": {
  102336. "typeIdentifier": "t_uint256",
  102337. "typeString": "uint256"
  102338. }
  102339. },
  102340. {
  102341. "id": 14682,
  102342. "name": "p3",
  102343. "nodeType": "Identifier",
  102344. "overloadedDeclarations": [],
  102345. "referencedDeclaration": 14672,
  102346. "src": "63453:2:50",
  102347. "typeDescriptions": {
  102348. "typeIdentifier": "t_bool",
  102349. "typeString": "bool"
  102350. }
  102351. }
  102352. ],
  102353. "expression": {
  102354. "argumentTypes": [
  102355. {
  102356. "typeIdentifier": "t_stringliteral_c4643e20494ddb98fe78bc587bcecbcc7db255edcee8232992e8be9b00c4713c",
  102357. "typeString": "literal_string \"log(address,bool,uint256,bool)\""
  102358. },
  102359. {
  102360. "typeIdentifier": "t_address",
  102361. "typeString": "address"
  102362. },
  102363. {
  102364. "typeIdentifier": "t_bool",
  102365. "typeString": "bool"
  102366. },
  102367. {
  102368. "typeIdentifier": "t_uint256",
  102369. "typeString": "uint256"
  102370. },
  102371. {
  102372. "typeIdentifier": "t_bool",
  102373. "typeString": "bool"
  102374. }
  102375. ],
  102376. "expression": {
  102377. "id": 14676,
  102378. "name": "abi",
  102379. "nodeType": "Identifier",
  102380. "overloadedDeclarations": [],
  102381. "referencedDeclaration": -1,
  102382. "src": "63383:3:50",
  102383. "typeDescriptions": {
  102384. "typeIdentifier": "t_magic_abi",
  102385. "typeString": "abi"
  102386. }
  102387. },
  102388. "id": 14677,
  102389. "isConstant": false,
  102390. "isLValue": false,
  102391. "isPure": true,
  102392. "lValueRequested": false,
  102393. "memberLocation": "63387:19:50",
  102394. "memberName": "encodeWithSignature",
  102395. "nodeType": "MemberAccess",
  102396. "src": "63383:23:50",
  102397. "typeDescriptions": {
  102398. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  102399. "typeString": "function (string memory) pure returns (bytes memory)"
  102400. }
  102401. },
  102402. "id": 14683,
  102403. "isConstant": false,
  102404. "isLValue": false,
  102405. "isPure": false,
  102406. "kind": "functionCall",
  102407. "lValueRequested": false,
  102408. "nameLocations": [],
  102409. "names": [],
  102410. "nodeType": "FunctionCall",
  102411. "src": "63383:73:50",
  102412. "tryCall": false,
  102413. "typeDescriptions": {
  102414. "typeIdentifier": "t_bytes_memory_ptr",
  102415. "typeString": "bytes memory"
  102416. }
  102417. }
  102418. ],
  102419. "expression": {
  102420. "argumentTypes": [
  102421. {
  102422. "typeIdentifier": "t_bytes_memory_ptr",
  102423. "typeString": "bytes memory"
  102424. }
  102425. ],
  102426. "id": 14675,
  102427. "name": "_sendLogPayload",
  102428. "nodeType": "Identifier",
  102429. "overloadedDeclarations": [],
  102430. "referencedDeclaration": 7315,
  102431. "src": "63367:15:50",
  102432. "typeDescriptions": {
  102433. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  102434. "typeString": "function (bytes memory) pure"
  102435. }
  102436. },
  102437. "id": 14684,
  102438. "isConstant": false,
  102439. "isLValue": false,
  102440. "isPure": false,
  102441. "kind": "functionCall",
  102442. "lValueRequested": false,
  102443. "nameLocations": [],
  102444. "names": [],
  102445. "nodeType": "FunctionCall",
  102446. "src": "63367:90:50",
  102447. "tryCall": false,
  102448. "typeDescriptions": {
  102449. "typeIdentifier": "t_tuple$__$",
  102450. "typeString": "tuple()"
  102451. }
  102452. },
  102453. "id": 14685,
  102454. "nodeType": "ExpressionStatement",
  102455. "src": "63367:90:50"
  102456. }
  102457. ]
  102458. },
  102459. "implemented": true,
  102460. "kind": "function",
  102461. "modifiers": [],
  102462. "name": "log",
  102463. "nameLocation": "63297:3:50",
  102464. "parameters": {
  102465. "id": 14673,
  102466. "nodeType": "ParameterList",
  102467. "parameters": [
  102468. {
  102469. "constant": false,
  102470. "id": 14666,
  102471. "mutability": "mutable",
  102472. "name": "p0",
  102473. "nameLocation": "63309:2:50",
  102474. "nodeType": "VariableDeclaration",
  102475. "scope": 14687,
  102476. "src": "63301:10:50",
  102477. "stateVariable": false,
  102478. "storageLocation": "default",
  102479. "typeDescriptions": {
  102480. "typeIdentifier": "t_address",
  102481. "typeString": "address"
  102482. },
  102483. "typeName": {
  102484. "id": 14665,
  102485. "name": "address",
  102486. "nodeType": "ElementaryTypeName",
  102487. "src": "63301:7:50",
  102488. "stateMutability": "nonpayable",
  102489. "typeDescriptions": {
  102490. "typeIdentifier": "t_address",
  102491. "typeString": "address"
  102492. }
  102493. },
  102494. "visibility": "internal"
  102495. },
  102496. {
  102497. "constant": false,
  102498. "id": 14668,
  102499. "mutability": "mutable",
  102500. "name": "p1",
  102501. "nameLocation": "63318:2:50",
  102502. "nodeType": "VariableDeclaration",
  102503. "scope": 14687,
  102504. "src": "63313:7:50",
  102505. "stateVariable": false,
  102506. "storageLocation": "default",
  102507. "typeDescriptions": {
  102508. "typeIdentifier": "t_bool",
  102509. "typeString": "bool"
  102510. },
  102511. "typeName": {
  102512. "id": 14667,
  102513. "name": "bool",
  102514. "nodeType": "ElementaryTypeName",
  102515. "src": "63313:4:50",
  102516. "typeDescriptions": {
  102517. "typeIdentifier": "t_bool",
  102518. "typeString": "bool"
  102519. }
  102520. },
  102521. "visibility": "internal"
  102522. },
  102523. {
  102524. "constant": false,
  102525. "id": 14670,
  102526. "mutability": "mutable",
  102527. "name": "p2",
  102528. "nameLocation": "63330:2:50",
  102529. "nodeType": "VariableDeclaration",
  102530. "scope": 14687,
  102531. "src": "63322:10:50",
  102532. "stateVariable": false,
  102533. "storageLocation": "default",
  102534. "typeDescriptions": {
  102535. "typeIdentifier": "t_uint256",
  102536. "typeString": "uint256"
  102537. },
  102538. "typeName": {
  102539. "id": 14669,
  102540. "name": "uint256",
  102541. "nodeType": "ElementaryTypeName",
  102542. "src": "63322:7:50",
  102543. "typeDescriptions": {
  102544. "typeIdentifier": "t_uint256",
  102545. "typeString": "uint256"
  102546. }
  102547. },
  102548. "visibility": "internal"
  102549. },
  102550. {
  102551. "constant": false,
  102552. "id": 14672,
  102553. "mutability": "mutable",
  102554. "name": "p3",
  102555. "nameLocation": "63339:2:50",
  102556. "nodeType": "VariableDeclaration",
  102557. "scope": 14687,
  102558. "src": "63334:7:50",
  102559. "stateVariable": false,
  102560. "storageLocation": "default",
  102561. "typeDescriptions": {
  102562. "typeIdentifier": "t_bool",
  102563. "typeString": "bool"
  102564. },
  102565. "typeName": {
  102566. "id": 14671,
  102567. "name": "bool",
  102568. "nodeType": "ElementaryTypeName",
  102569. "src": "63334:4:50",
  102570. "typeDescriptions": {
  102571. "typeIdentifier": "t_bool",
  102572. "typeString": "bool"
  102573. }
  102574. },
  102575. "visibility": "internal"
  102576. }
  102577. ],
  102578. "src": "63300:42:50"
  102579. },
  102580. "returnParameters": {
  102581. "id": 14674,
  102582. "nodeType": "ParameterList",
  102583. "parameters": [],
  102584. "src": "63357:0:50"
  102585. },
  102586. "scope": 15355,
  102587. "stateMutability": "pure",
  102588. "virtual": false,
  102589. "visibility": "internal"
  102590. },
  102591. {
  102592. "id": 14710,
  102593. "nodeType": "FunctionDefinition",
  102594. "src": "63470:182:50",
  102595. "nodes": [],
  102596. "body": {
  102597. "id": 14709,
  102598. "nodeType": "Block",
  102599. "src": "63542:110:50",
  102600. "nodes": [],
  102601. "statements": [
  102602. {
  102603. "expression": {
  102604. "arguments": [
  102605. {
  102606. "arguments": [
  102607. {
  102608. "hexValue": "6c6f6728616464726573732c626f6f6c2c75696e743235362c6164647265737329",
  102609. "id": 14701,
  102610. "isConstant": false,
  102611. "isLValue": false,
  102612. "isPure": true,
  102613. "kind": "string",
  102614. "lValueRequested": false,
  102615. "nodeType": "Literal",
  102616. "src": "63592:35:50",
  102617. "typeDescriptions": {
  102618. "typeIdentifier": "t_stringliteral_ccf790a175b1b762ef5bfd3564f0b74c078f15eca08b8ee654a38a96a5ad2aee",
  102619. "typeString": "literal_string \"log(address,bool,uint256,address)\""
  102620. },
  102621. "value": "log(address,bool,uint256,address)"
  102622. },
  102623. {
  102624. "id": 14702,
  102625. "name": "p0",
  102626. "nodeType": "Identifier",
  102627. "overloadedDeclarations": [],
  102628. "referencedDeclaration": 14689,
  102629. "src": "63629:2:50",
  102630. "typeDescriptions": {
  102631. "typeIdentifier": "t_address",
  102632. "typeString": "address"
  102633. }
  102634. },
  102635. {
  102636. "id": 14703,
  102637. "name": "p1",
  102638. "nodeType": "Identifier",
  102639. "overloadedDeclarations": [],
  102640. "referencedDeclaration": 14691,
  102641. "src": "63633:2:50",
  102642. "typeDescriptions": {
  102643. "typeIdentifier": "t_bool",
  102644. "typeString": "bool"
  102645. }
  102646. },
  102647. {
  102648. "id": 14704,
  102649. "name": "p2",
  102650. "nodeType": "Identifier",
  102651. "overloadedDeclarations": [],
  102652. "referencedDeclaration": 14693,
  102653. "src": "63637:2:50",
  102654. "typeDescriptions": {
  102655. "typeIdentifier": "t_uint256",
  102656. "typeString": "uint256"
  102657. }
  102658. },
  102659. {
  102660. "id": 14705,
  102661. "name": "p3",
  102662. "nodeType": "Identifier",
  102663. "overloadedDeclarations": [],
  102664. "referencedDeclaration": 14695,
  102665. "src": "63641:2:50",
  102666. "typeDescriptions": {
  102667. "typeIdentifier": "t_address",
  102668. "typeString": "address"
  102669. }
  102670. }
  102671. ],
  102672. "expression": {
  102673. "argumentTypes": [
  102674. {
  102675. "typeIdentifier": "t_stringliteral_ccf790a175b1b762ef5bfd3564f0b74c078f15eca08b8ee654a38a96a5ad2aee",
  102676. "typeString": "literal_string \"log(address,bool,uint256,address)\""
  102677. },
  102678. {
  102679. "typeIdentifier": "t_address",
  102680. "typeString": "address"
  102681. },
  102682. {
  102683. "typeIdentifier": "t_bool",
  102684. "typeString": "bool"
  102685. },
  102686. {
  102687. "typeIdentifier": "t_uint256",
  102688. "typeString": "uint256"
  102689. },
  102690. {
  102691. "typeIdentifier": "t_address",
  102692. "typeString": "address"
  102693. }
  102694. ],
  102695. "expression": {
  102696. "id": 14699,
  102697. "name": "abi",
  102698. "nodeType": "Identifier",
  102699. "overloadedDeclarations": [],
  102700. "referencedDeclaration": -1,
  102701. "src": "63568:3:50",
  102702. "typeDescriptions": {
  102703. "typeIdentifier": "t_magic_abi",
  102704. "typeString": "abi"
  102705. }
  102706. },
  102707. "id": 14700,
  102708. "isConstant": false,
  102709. "isLValue": false,
  102710. "isPure": true,
  102711. "lValueRequested": false,
  102712. "memberLocation": "63572:19:50",
  102713. "memberName": "encodeWithSignature",
  102714. "nodeType": "MemberAccess",
  102715. "src": "63568:23:50",
  102716. "typeDescriptions": {
  102717. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  102718. "typeString": "function (string memory) pure returns (bytes memory)"
  102719. }
  102720. },
  102721. "id": 14706,
  102722. "isConstant": false,
  102723. "isLValue": false,
  102724. "isPure": false,
  102725. "kind": "functionCall",
  102726. "lValueRequested": false,
  102727. "nameLocations": [],
  102728. "names": [],
  102729. "nodeType": "FunctionCall",
  102730. "src": "63568:76:50",
  102731. "tryCall": false,
  102732. "typeDescriptions": {
  102733. "typeIdentifier": "t_bytes_memory_ptr",
  102734. "typeString": "bytes memory"
  102735. }
  102736. }
  102737. ],
  102738. "expression": {
  102739. "argumentTypes": [
  102740. {
  102741. "typeIdentifier": "t_bytes_memory_ptr",
  102742. "typeString": "bytes memory"
  102743. }
  102744. ],
  102745. "id": 14698,
  102746. "name": "_sendLogPayload",
  102747. "nodeType": "Identifier",
  102748. "overloadedDeclarations": [],
  102749. "referencedDeclaration": 7315,
  102750. "src": "63552:15:50",
  102751. "typeDescriptions": {
  102752. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  102753. "typeString": "function (bytes memory) pure"
  102754. }
  102755. },
  102756. "id": 14707,
  102757. "isConstant": false,
  102758. "isLValue": false,
  102759. "isPure": false,
  102760. "kind": "functionCall",
  102761. "lValueRequested": false,
  102762. "nameLocations": [],
  102763. "names": [],
  102764. "nodeType": "FunctionCall",
  102765. "src": "63552:93:50",
  102766. "tryCall": false,
  102767. "typeDescriptions": {
  102768. "typeIdentifier": "t_tuple$__$",
  102769. "typeString": "tuple()"
  102770. }
  102771. },
  102772. "id": 14708,
  102773. "nodeType": "ExpressionStatement",
  102774. "src": "63552:93:50"
  102775. }
  102776. ]
  102777. },
  102778. "implemented": true,
  102779. "kind": "function",
  102780. "modifiers": [],
  102781. "name": "log",
  102782. "nameLocation": "63479:3:50",
  102783. "parameters": {
  102784. "id": 14696,
  102785. "nodeType": "ParameterList",
  102786. "parameters": [
  102787. {
  102788. "constant": false,
  102789. "id": 14689,
  102790. "mutability": "mutable",
  102791. "name": "p0",
  102792. "nameLocation": "63491:2:50",
  102793. "nodeType": "VariableDeclaration",
  102794. "scope": 14710,
  102795. "src": "63483:10:50",
  102796. "stateVariable": false,
  102797. "storageLocation": "default",
  102798. "typeDescriptions": {
  102799. "typeIdentifier": "t_address",
  102800. "typeString": "address"
  102801. },
  102802. "typeName": {
  102803. "id": 14688,
  102804. "name": "address",
  102805. "nodeType": "ElementaryTypeName",
  102806. "src": "63483:7:50",
  102807. "stateMutability": "nonpayable",
  102808. "typeDescriptions": {
  102809. "typeIdentifier": "t_address",
  102810. "typeString": "address"
  102811. }
  102812. },
  102813. "visibility": "internal"
  102814. },
  102815. {
  102816. "constant": false,
  102817. "id": 14691,
  102818. "mutability": "mutable",
  102819. "name": "p1",
  102820. "nameLocation": "63500:2:50",
  102821. "nodeType": "VariableDeclaration",
  102822. "scope": 14710,
  102823. "src": "63495:7:50",
  102824. "stateVariable": false,
  102825. "storageLocation": "default",
  102826. "typeDescriptions": {
  102827. "typeIdentifier": "t_bool",
  102828. "typeString": "bool"
  102829. },
  102830. "typeName": {
  102831. "id": 14690,
  102832. "name": "bool",
  102833. "nodeType": "ElementaryTypeName",
  102834. "src": "63495:4:50",
  102835. "typeDescriptions": {
  102836. "typeIdentifier": "t_bool",
  102837. "typeString": "bool"
  102838. }
  102839. },
  102840. "visibility": "internal"
  102841. },
  102842. {
  102843. "constant": false,
  102844. "id": 14693,
  102845. "mutability": "mutable",
  102846. "name": "p2",
  102847. "nameLocation": "63512:2:50",
  102848. "nodeType": "VariableDeclaration",
  102849. "scope": 14710,
  102850. "src": "63504:10:50",
  102851. "stateVariable": false,
  102852. "storageLocation": "default",
  102853. "typeDescriptions": {
  102854. "typeIdentifier": "t_uint256",
  102855. "typeString": "uint256"
  102856. },
  102857. "typeName": {
  102858. "id": 14692,
  102859. "name": "uint256",
  102860. "nodeType": "ElementaryTypeName",
  102861. "src": "63504:7:50",
  102862. "typeDescriptions": {
  102863. "typeIdentifier": "t_uint256",
  102864. "typeString": "uint256"
  102865. }
  102866. },
  102867. "visibility": "internal"
  102868. },
  102869. {
  102870. "constant": false,
  102871. "id": 14695,
  102872. "mutability": "mutable",
  102873. "name": "p3",
  102874. "nameLocation": "63524:2:50",
  102875. "nodeType": "VariableDeclaration",
  102876. "scope": 14710,
  102877. "src": "63516:10:50",
  102878. "stateVariable": false,
  102879. "storageLocation": "default",
  102880. "typeDescriptions": {
  102881. "typeIdentifier": "t_address",
  102882. "typeString": "address"
  102883. },
  102884. "typeName": {
  102885. "id": 14694,
  102886. "name": "address",
  102887. "nodeType": "ElementaryTypeName",
  102888. "src": "63516:7:50",
  102889. "stateMutability": "nonpayable",
  102890. "typeDescriptions": {
  102891. "typeIdentifier": "t_address",
  102892. "typeString": "address"
  102893. }
  102894. },
  102895. "visibility": "internal"
  102896. }
  102897. ],
  102898. "src": "63482:45:50"
  102899. },
  102900. "returnParameters": {
  102901. "id": 14697,
  102902. "nodeType": "ParameterList",
  102903. "parameters": [],
  102904. "src": "63542:0:50"
  102905. },
  102906. "scope": 15355,
  102907. "stateMutability": "pure",
  102908. "virtual": false,
  102909. "visibility": "internal"
  102910. },
  102911. {
  102912. "id": 14733,
  102913. "nodeType": "FunctionDefinition",
  102914. "src": "63658:187:50",
  102915. "nodes": [],
  102916. "body": {
  102917. "id": 14732,
  102918. "nodeType": "Block",
  102919. "src": "63736:109:50",
  102920. "nodes": [],
  102921. "statements": [
  102922. {
  102923. "expression": {
  102924. "arguments": [
  102925. {
  102926. "arguments": [
  102927. {
  102928. "hexValue": "6c6f6728616464726573732c626f6f6c2c737472696e672c75696e7432353629",
  102929. "id": 14724,
  102930. "isConstant": false,
  102931. "isLValue": false,
  102932. "isPure": true,
  102933. "kind": "string",
  102934. "lValueRequested": false,
  102935. "nodeType": "Literal",
  102936. "src": "63786:34:50",
  102937. "typeDescriptions": {
  102938. "typeIdentifier": "t_stringliteral_80e6a20b48643c1f2494eae694f173a69e42da349d0e193e48fece80e869df69",
  102939. "typeString": "literal_string \"log(address,bool,string,uint256)\""
  102940. },
  102941. "value": "log(address,bool,string,uint256)"
  102942. },
  102943. {
  102944. "id": 14725,
  102945. "name": "p0",
  102946. "nodeType": "Identifier",
  102947. "overloadedDeclarations": [],
  102948. "referencedDeclaration": 14712,
  102949. "src": "63822:2:50",
  102950. "typeDescriptions": {
  102951. "typeIdentifier": "t_address",
  102952. "typeString": "address"
  102953. }
  102954. },
  102955. {
  102956. "id": 14726,
  102957. "name": "p1",
  102958. "nodeType": "Identifier",
  102959. "overloadedDeclarations": [],
  102960. "referencedDeclaration": 14714,
  102961. "src": "63826:2:50",
  102962. "typeDescriptions": {
  102963. "typeIdentifier": "t_bool",
  102964. "typeString": "bool"
  102965. }
  102966. },
  102967. {
  102968. "id": 14727,
  102969. "name": "p2",
  102970. "nodeType": "Identifier",
  102971. "overloadedDeclarations": [],
  102972. "referencedDeclaration": 14716,
  102973. "src": "63830:2:50",
  102974. "typeDescriptions": {
  102975. "typeIdentifier": "t_string_memory_ptr",
  102976. "typeString": "string memory"
  102977. }
  102978. },
  102979. {
  102980. "id": 14728,
  102981. "name": "p3",
  102982. "nodeType": "Identifier",
  102983. "overloadedDeclarations": [],
  102984. "referencedDeclaration": 14718,
  102985. "src": "63834:2:50",
  102986. "typeDescriptions": {
  102987. "typeIdentifier": "t_uint256",
  102988. "typeString": "uint256"
  102989. }
  102990. }
  102991. ],
  102992. "expression": {
  102993. "argumentTypes": [
  102994. {
  102995. "typeIdentifier": "t_stringliteral_80e6a20b48643c1f2494eae694f173a69e42da349d0e193e48fece80e869df69",
  102996. "typeString": "literal_string \"log(address,bool,string,uint256)\""
  102997. },
  102998. {
  102999. "typeIdentifier": "t_address",
  103000. "typeString": "address"
  103001. },
  103002. {
  103003. "typeIdentifier": "t_bool",
  103004. "typeString": "bool"
  103005. },
  103006. {
  103007. "typeIdentifier": "t_string_memory_ptr",
  103008. "typeString": "string memory"
  103009. },
  103010. {
  103011. "typeIdentifier": "t_uint256",
  103012. "typeString": "uint256"
  103013. }
  103014. ],
  103015. "expression": {
  103016. "id": 14722,
  103017. "name": "abi",
  103018. "nodeType": "Identifier",
  103019. "overloadedDeclarations": [],
  103020. "referencedDeclaration": -1,
  103021. "src": "63762:3:50",
  103022. "typeDescriptions": {
  103023. "typeIdentifier": "t_magic_abi",
  103024. "typeString": "abi"
  103025. }
  103026. },
  103027. "id": 14723,
  103028. "isConstant": false,
  103029. "isLValue": false,
  103030. "isPure": true,
  103031. "lValueRequested": false,
  103032. "memberLocation": "63766:19:50",
  103033. "memberName": "encodeWithSignature",
  103034. "nodeType": "MemberAccess",
  103035. "src": "63762:23:50",
  103036. "typeDescriptions": {
  103037. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  103038. "typeString": "function (string memory) pure returns (bytes memory)"
  103039. }
  103040. },
  103041. "id": 14729,
  103042. "isConstant": false,
  103043. "isLValue": false,
  103044. "isPure": false,
  103045. "kind": "functionCall",
  103046. "lValueRequested": false,
  103047. "nameLocations": [],
  103048. "names": [],
  103049. "nodeType": "FunctionCall",
  103050. "src": "63762:75:50",
  103051. "tryCall": false,
  103052. "typeDescriptions": {
  103053. "typeIdentifier": "t_bytes_memory_ptr",
  103054. "typeString": "bytes memory"
  103055. }
  103056. }
  103057. ],
  103058. "expression": {
  103059. "argumentTypes": [
  103060. {
  103061. "typeIdentifier": "t_bytes_memory_ptr",
  103062. "typeString": "bytes memory"
  103063. }
  103064. ],
  103065. "id": 14721,
  103066. "name": "_sendLogPayload",
  103067. "nodeType": "Identifier",
  103068. "overloadedDeclarations": [],
  103069. "referencedDeclaration": 7315,
  103070. "src": "63746:15:50",
  103071. "typeDescriptions": {
  103072. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  103073. "typeString": "function (bytes memory) pure"
  103074. }
  103075. },
  103076. "id": 14730,
  103077. "isConstant": false,
  103078. "isLValue": false,
  103079. "isPure": false,
  103080. "kind": "functionCall",
  103081. "lValueRequested": false,
  103082. "nameLocations": [],
  103083. "names": [],
  103084. "nodeType": "FunctionCall",
  103085. "src": "63746:92:50",
  103086. "tryCall": false,
  103087. "typeDescriptions": {
  103088. "typeIdentifier": "t_tuple$__$",
  103089. "typeString": "tuple()"
  103090. }
  103091. },
  103092. "id": 14731,
  103093. "nodeType": "ExpressionStatement",
  103094. "src": "63746:92:50"
  103095. }
  103096. ]
  103097. },
  103098. "implemented": true,
  103099. "kind": "function",
  103100. "modifiers": [],
  103101. "name": "log",
  103102. "nameLocation": "63667:3:50",
  103103. "parameters": {
  103104. "id": 14719,
  103105. "nodeType": "ParameterList",
  103106. "parameters": [
  103107. {
  103108. "constant": false,
  103109. "id": 14712,
  103110. "mutability": "mutable",
  103111. "name": "p0",
  103112. "nameLocation": "63679:2:50",
  103113. "nodeType": "VariableDeclaration",
  103114. "scope": 14733,
  103115. "src": "63671:10:50",
  103116. "stateVariable": false,
  103117. "storageLocation": "default",
  103118. "typeDescriptions": {
  103119. "typeIdentifier": "t_address",
  103120. "typeString": "address"
  103121. },
  103122. "typeName": {
  103123. "id": 14711,
  103124. "name": "address",
  103125. "nodeType": "ElementaryTypeName",
  103126. "src": "63671:7:50",
  103127. "stateMutability": "nonpayable",
  103128. "typeDescriptions": {
  103129. "typeIdentifier": "t_address",
  103130. "typeString": "address"
  103131. }
  103132. },
  103133. "visibility": "internal"
  103134. },
  103135. {
  103136. "constant": false,
  103137. "id": 14714,
  103138. "mutability": "mutable",
  103139. "name": "p1",
  103140. "nameLocation": "63688:2:50",
  103141. "nodeType": "VariableDeclaration",
  103142. "scope": 14733,
  103143. "src": "63683:7:50",
  103144. "stateVariable": false,
  103145. "storageLocation": "default",
  103146. "typeDescriptions": {
  103147. "typeIdentifier": "t_bool",
  103148. "typeString": "bool"
  103149. },
  103150. "typeName": {
  103151. "id": 14713,
  103152. "name": "bool",
  103153. "nodeType": "ElementaryTypeName",
  103154. "src": "63683:4:50",
  103155. "typeDescriptions": {
  103156. "typeIdentifier": "t_bool",
  103157. "typeString": "bool"
  103158. }
  103159. },
  103160. "visibility": "internal"
  103161. },
  103162. {
  103163. "constant": false,
  103164. "id": 14716,
  103165. "mutability": "mutable",
  103166. "name": "p2",
  103167. "nameLocation": "63706:2:50",
  103168. "nodeType": "VariableDeclaration",
  103169. "scope": 14733,
  103170. "src": "63692:16:50",
  103171. "stateVariable": false,
  103172. "storageLocation": "memory",
  103173. "typeDescriptions": {
  103174. "typeIdentifier": "t_string_memory_ptr",
  103175. "typeString": "string"
  103176. },
  103177. "typeName": {
  103178. "id": 14715,
  103179. "name": "string",
  103180. "nodeType": "ElementaryTypeName",
  103181. "src": "63692:6:50",
  103182. "typeDescriptions": {
  103183. "typeIdentifier": "t_string_storage_ptr",
  103184. "typeString": "string"
  103185. }
  103186. },
  103187. "visibility": "internal"
  103188. },
  103189. {
  103190. "constant": false,
  103191. "id": 14718,
  103192. "mutability": "mutable",
  103193. "name": "p3",
  103194. "nameLocation": "63718:2:50",
  103195. "nodeType": "VariableDeclaration",
  103196. "scope": 14733,
  103197. "src": "63710:10:50",
  103198. "stateVariable": false,
  103199. "storageLocation": "default",
  103200. "typeDescriptions": {
  103201. "typeIdentifier": "t_uint256",
  103202. "typeString": "uint256"
  103203. },
  103204. "typeName": {
  103205. "id": 14717,
  103206. "name": "uint256",
  103207. "nodeType": "ElementaryTypeName",
  103208. "src": "63710:7:50",
  103209. "typeDescriptions": {
  103210. "typeIdentifier": "t_uint256",
  103211. "typeString": "uint256"
  103212. }
  103213. },
  103214. "visibility": "internal"
  103215. }
  103216. ],
  103217. "src": "63670:51:50"
  103218. },
  103219. "returnParameters": {
  103220. "id": 14720,
  103221. "nodeType": "ParameterList",
  103222. "parameters": [],
  103223. "src": "63736:0:50"
  103224. },
  103225. "scope": 15355,
  103226. "stateMutability": "pure",
  103227. "virtual": false,
  103228. "visibility": "internal"
  103229. },
  103230. {
  103231. "id": 14756,
  103232. "nodeType": "FunctionDefinition",
  103233. "src": "63851:192:50",
  103234. "nodes": [],
  103235. "body": {
  103236. "id": 14755,
  103237. "nodeType": "Block",
  103238. "src": "63935:108:50",
  103239. "nodes": [],
  103240. "statements": [
  103241. {
  103242. "expression": {
  103243. "arguments": [
  103244. {
  103245. "arguments": [
  103246. {
  103247. "hexValue": "6c6f6728616464726573732c626f6f6c2c737472696e672c737472696e6729",
  103248. "id": 14747,
  103249. "isConstant": false,
  103250. "isLValue": false,
  103251. "isPure": true,
  103252. "kind": "string",
  103253. "lValueRequested": false,
  103254. "nodeType": "Literal",
  103255. "src": "63985:33:50",
  103256. "typeDescriptions": {
  103257. "typeIdentifier": "t_stringliteral_475c5c33f91155b7a0e86c9fac7985c60ab58f4bfb411ee9b31d994a7fc95d1f",
  103258. "typeString": "literal_string \"log(address,bool,string,string)\""
  103259. },
  103260. "value": "log(address,bool,string,string)"
  103261. },
  103262. {
  103263. "id": 14748,
  103264. "name": "p0",
  103265. "nodeType": "Identifier",
  103266. "overloadedDeclarations": [],
  103267. "referencedDeclaration": 14735,
  103268. "src": "64020:2:50",
  103269. "typeDescriptions": {
  103270. "typeIdentifier": "t_address",
  103271. "typeString": "address"
  103272. }
  103273. },
  103274. {
  103275. "id": 14749,
  103276. "name": "p1",
  103277. "nodeType": "Identifier",
  103278. "overloadedDeclarations": [],
  103279. "referencedDeclaration": 14737,
  103280. "src": "64024:2:50",
  103281. "typeDescriptions": {
  103282. "typeIdentifier": "t_bool",
  103283. "typeString": "bool"
  103284. }
  103285. },
  103286. {
  103287. "id": 14750,
  103288. "name": "p2",
  103289. "nodeType": "Identifier",
  103290. "overloadedDeclarations": [],
  103291. "referencedDeclaration": 14739,
  103292. "src": "64028:2:50",
  103293. "typeDescriptions": {
  103294. "typeIdentifier": "t_string_memory_ptr",
  103295. "typeString": "string memory"
  103296. }
  103297. },
  103298. {
  103299. "id": 14751,
  103300. "name": "p3",
  103301. "nodeType": "Identifier",
  103302. "overloadedDeclarations": [],
  103303. "referencedDeclaration": 14741,
  103304. "src": "64032:2:50",
  103305. "typeDescriptions": {
  103306. "typeIdentifier": "t_string_memory_ptr",
  103307. "typeString": "string memory"
  103308. }
  103309. }
  103310. ],
  103311. "expression": {
  103312. "argumentTypes": [
  103313. {
  103314. "typeIdentifier": "t_stringliteral_475c5c33f91155b7a0e86c9fac7985c60ab58f4bfb411ee9b31d994a7fc95d1f",
  103315. "typeString": "literal_string \"log(address,bool,string,string)\""
  103316. },
  103317. {
  103318. "typeIdentifier": "t_address",
  103319. "typeString": "address"
  103320. },
  103321. {
  103322. "typeIdentifier": "t_bool",
  103323. "typeString": "bool"
  103324. },
  103325. {
  103326. "typeIdentifier": "t_string_memory_ptr",
  103327. "typeString": "string memory"
  103328. },
  103329. {
  103330. "typeIdentifier": "t_string_memory_ptr",
  103331. "typeString": "string memory"
  103332. }
  103333. ],
  103334. "expression": {
  103335. "id": 14745,
  103336. "name": "abi",
  103337. "nodeType": "Identifier",
  103338. "overloadedDeclarations": [],
  103339. "referencedDeclaration": -1,
  103340. "src": "63961:3:50",
  103341. "typeDescriptions": {
  103342. "typeIdentifier": "t_magic_abi",
  103343. "typeString": "abi"
  103344. }
  103345. },
  103346. "id": 14746,
  103347. "isConstant": false,
  103348. "isLValue": false,
  103349. "isPure": true,
  103350. "lValueRequested": false,
  103351. "memberLocation": "63965:19:50",
  103352. "memberName": "encodeWithSignature",
  103353. "nodeType": "MemberAccess",
  103354. "src": "63961:23:50",
  103355. "typeDescriptions": {
  103356. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  103357. "typeString": "function (string memory) pure returns (bytes memory)"
  103358. }
  103359. },
  103360. "id": 14752,
  103361. "isConstant": false,
  103362. "isLValue": false,
  103363. "isPure": false,
  103364. "kind": "functionCall",
  103365. "lValueRequested": false,
  103366. "nameLocations": [],
  103367. "names": [],
  103368. "nodeType": "FunctionCall",
  103369. "src": "63961:74:50",
  103370. "tryCall": false,
  103371. "typeDescriptions": {
  103372. "typeIdentifier": "t_bytes_memory_ptr",
  103373. "typeString": "bytes memory"
  103374. }
  103375. }
  103376. ],
  103377. "expression": {
  103378. "argumentTypes": [
  103379. {
  103380. "typeIdentifier": "t_bytes_memory_ptr",
  103381. "typeString": "bytes memory"
  103382. }
  103383. ],
  103384. "id": 14744,
  103385. "name": "_sendLogPayload",
  103386. "nodeType": "Identifier",
  103387. "overloadedDeclarations": [],
  103388. "referencedDeclaration": 7315,
  103389. "src": "63945:15:50",
  103390. "typeDescriptions": {
  103391. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  103392. "typeString": "function (bytes memory) pure"
  103393. }
  103394. },
  103395. "id": 14753,
  103396. "isConstant": false,
  103397. "isLValue": false,
  103398. "isPure": false,
  103399. "kind": "functionCall",
  103400. "lValueRequested": false,
  103401. "nameLocations": [],
  103402. "names": [],
  103403. "nodeType": "FunctionCall",
  103404. "src": "63945:91:50",
  103405. "tryCall": false,
  103406. "typeDescriptions": {
  103407. "typeIdentifier": "t_tuple$__$",
  103408. "typeString": "tuple()"
  103409. }
  103410. },
  103411. "id": 14754,
  103412. "nodeType": "ExpressionStatement",
  103413. "src": "63945:91:50"
  103414. }
  103415. ]
  103416. },
  103417. "implemented": true,
  103418. "kind": "function",
  103419. "modifiers": [],
  103420. "name": "log",
  103421. "nameLocation": "63860:3:50",
  103422. "parameters": {
  103423. "id": 14742,
  103424. "nodeType": "ParameterList",
  103425. "parameters": [
  103426. {
  103427. "constant": false,
  103428. "id": 14735,
  103429. "mutability": "mutable",
  103430. "name": "p0",
  103431. "nameLocation": "63872:2:50",
  103432. "nodeType": "VariableDeclaration",
  103433. "scope": 14756,
  103434. "src": "63864:10:50",
  103435. "stateVariable": false,
  103436. "storageLocation": "default",
  103437. "typeDescriptions": {
  103438. "typeIdentifier": "t_address",
  103439. "typeString": "address"
  103440. },
  103441. "typeName": {
  103442. "id": 14734,
  103443. "name": "address",
  103444. "nodeType": "ElementaryTypeName",
  103445. "src": "63864:7:50",
  103446. "stateMutability": "nonpayable",
  103447. "typeDescriptions": {
  103448. "typeIdentifier": "t_address",
  103449. "typeString": "address"
  103450. }
  103451. },
  103452. "visibility": "internal"
  103453. },
  103454. {
  103455. "constant": false,
  103456. "id": 14737,
  103457. "mutability": "mutable",
  103458. "name": "p1",
  103459. "nameLocation": "63881:2:50",
  103460. "nodeType": "VariableDeclaration",
  103461. "scope": 14756,
  103462. "src": "63876:7:50",
  103463. "stateVariable": false,
  103464. "storageLocation": "default",
  103465. "typeDescriptions": {
  103466. "typeIdentifier": "t_bool",
  103467. "typeString": "bool"
  103468. },
  103469. "typeName": {
  103470. "id": 14736,
  103471. "name": "bool",
  103472. "nodeType": "ElementaryTypeName",
  103473. "src": "63876:4:50",
  103474. "typeDescriptions": {
  103475. "typeIdentifier": "t_bool",
  103476. "typeString": "bool"
  103477. }
  103478. },
  103479. "visibility": "internal"
  103480. },
  103481. {
  103482. "constant": false,
  103483. "id": 14739,
  103484. "mutability": "mutable",
  103485. "name": "p2",
  103486. "nameLocation": "63899:2:50",
  103487. "nodeType": "VariableDeclaration",
  103488. "scope": 14756,
  103489. "src": "63885:16:50",
  103490. "stateVariable": false,
  103491. "storageLocation": "memory",
  103492. "typeDescriptions": {
  103493. "typeIdentifier": "t_string_memory_ptr",
  103494. "typeString": "string"
  103495. },
  103496. "typeName": {
  103497. "id": 14738,
  103498. "name": "string",
  103499. "nodeType": "ElementaryTypeName",
  103500. "src": "63885:6:50",
  103501. "typeDescriptions": {
  103502. "typeIdentifier": "t_string_storage_ptr",
  103503. "typeString": "string"
  103504. }
  103505. },
  103506. "visibility": "internal"
  103507. },
  103508. {
  103509. "constant": false,
  103510. "id": 14741,
  103511. "mutability": "mutable",
  103512. "name": "p3",
  103513. "nameLocation": "63917:2:50",
  103514. "nodeType": "VariableDeclaration",
  103515. "scope": 14756,
  103516. "src": "63903:16:50",
  103517. "stateVariable": false,
  103518. "storageLocation": "memory",
  103519. "typeDescriptions": {
  103520. "typeIdentifier": "t_string_memory_ptr",
  103521. "typeString": "string"
  103522. },
  103523. "typeName": {
  103524. "id": 14740,
  103525. "name": "string",
  103526. "nodeType": "ElementaryTypeName",
  103527. "src": "63903:6:50",
  103528. "typeDescriptions": {
  103529. "typeIdentifier": "t_string_storage_ptr",
  103530. "typeString": "string"
  103531. }
  103532. },
  103533. "visibility": "internal"
  103534. }
  103535. ],
  103536. "src": "63863:57:50"
  103537. },
  103538. "returnParameters": {
  103539. "id": 14743,
  103540. "nodeType": "ParameterList",
  103541. "parameters": [],
  103542. "src": "63935:0:50"
  103543. },
  103544. "scope": 15355,
  103545. "stateMutability": "pure",
  103546. "virtual": false,
  103547. "visibility": "internal"
  103548. },
  103549. {
  103550. "id": 14779,
  103551. "nodeType": "FunctionDefinition",
  103552. "src": "64049:181:50",
  103553. "nodes": [],
  103554. "body": {
  103555. "id": 14778,
  103556. "nodeType": "Block",
  103557. "src": "64124:106:50",
  103558. "nodes": [],
  103559. "statements": [
  103560. {
  103561. "expression": {
  103562. "arguments": [
  103563. {
  103564. "arguments": [
  103565. {
  103566. "hexValue": "6c6f6728616464726573732c626f6f6c2c737472696e672c626f6f6c29",
  103567. "id": 14770,
  103568. "isConstant": false,
  103569. "isLValue": false,
  103570. "isPure": true,
  103571. "kind": "string",
  103572. "lValueRequested": false,
  103573. "nodeType": "Literal",
  103574. "src": "64174:31:50",
  103575. "typeDescriptions": {
  103576. "typeIdentifier": "t_stringliteral_50ad461db24803fc9b2ba76f072192e0a4d8fbb3667a50c400f504443380890f",
  103577. "typeString": "literal_string \"log(address,bool,string,bool)\""
  103578. },
  103579. "value": "log(address,bool,string,bool)"
  103580. },
  103581. {
  103582. "id": 14771,
  103583. "name": "p0",
  103584. "nodeType": "Identifier",
  103585. "overloadedDeclarations": [],
  103586. "referencedDeclaration": 14758,
  103587. "src": "64207:2:50",
  103588. "typeDescriptions": {
  103589. "typeIdentifier": "t_address",
  103590. "typeString": "address"
  103591. }
  103592. },
  103593. {
  103594. "id": 14772,
  103595. "name": "p1",
  103596. "nodeType": "Identifier",
  103597. "overloadedDeclarations": [],
  103598. "referencedDeclaration": 14760,
  103599. "src": "64211:2:50",
  103600. "typeDescriptions": {
  103601. "typeIdentifier": "t_bool",
  103602. "typeString": "bool"
  103603. }
  103604. },
  103605. {
  103606. "id": 14773,
  103607. "name": "p2",
  103608. "nodeType": "Identifier",
  103609. "overloadedDeclarations": [],
  103610. "referencedDeclaration": 14762,
  103611. "src": "64215:2:50",
  103612. "typeDescriptions": {
  103613. "typeIdentifier": "t_string_memory_ptr",
  103614. "typeString": "string memory"
  103615. }
  103616. },
  103617. {
  103618. "id": 14774,
  103619. "name": "p3",
  103620. "nodeType": "Identifier",
  103621. "overloadedDeclarations": [],
  103622. "referencedDeclaration": 14764,
  103623. "src": "64219:2:50",
  103624. "typeDescriptions": {
  103625. "typeIdentifier": "t_bool",
  103626. "typeString": "bool"
  103627. }
  103628. }
  103629. ],
  103630. "expression": {
  103631. "argumentTypes": [
  103632. {
  103633. "typeIdentifier": "t_stringliteral_50ad461db24803fc9b2ba76f072192e0a4d8fbb3667a50c400f504443380890f",
  103634. "typeString": "literal_string \"log(address,bool,string,bool)\""
  103635. },
  103636. {
  103637. "typeIdentifier": "t_address",
  103638. "typeString": "address"
  103639. },
  103640. {
  103641. "typeIdentifier": "t_bool",
  103642. "typeString": "bool"
  103643. },
  103644. {
  103645. "typeIdentifier": "t_string_memory_ptr",
  103646. "typeString": "string memory"
  103647. },
  103648. {
  103649. "typeIdentifier": "t_bool",
  103650. "typeString": "bool"
  103651. }
  103652. ],
  103653. "expression": {
  103654. "id": 14768,
  103655. "name": "abi",
  103656. "nodeType": "Identifier",
  103657. "overloadedDeclarations": [],
  103658. "referencedDeclaration": -1,
  103659. "src": "64150:3:50",
  103660. "typeDescriptions": {
  103661. "typeIdentifier": "t_magic_abi",
  103662. "typeString": "abi"
  103663. }
  103664. },
  103665. "id": 14769,
  103666. "isConstant": false,
  103667. "isLValue": false,
  103668. "isPure": true,
  103669. "lValueRequested": false,
  103670. "memberLocation": "64154:19:50",
  103671. "memberName": "encodeWithSignature",
  103672. "nodeType": "MemberAccess",
  103673. "src": "64150:23:50",
  103674. "typeDescriptions": {
  103675. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  103676. "typeString": "function (string memory) pure returns (bytes memory)"
  103677. }
  103678. },
  103679. "id": 14775,
  103680. "isConstant": false,
  103681. "isLValue": false,
  103682. "isPure": false,
  103683. "kind": "functionCall",
  103684. "lValueRequested": false,
  103685. "nameLocations": [],
  103686. "names": [],
  103687. "nodeType": "FunctionCall",
  103688. "src": "64150:72:50",
  103689. "tryCall": false,
  103690. "typeDescriptions": {
  103691. "typeIdentifier": "t_bytes_memory_ptr",
  103692. "typeString": "bytes memory"
  103693. }
  103694. }
  103695. ],
  103696. "expression": {
  103697. "argumentTypes": [
  103698. {
  103699. "typeIdentifier": "t_bytes_memory_ptr",
  103700. "typeString": "bytes memory"
  103701. }
  103702. ],
  103703. "id": 14767,
  103704. "name": "_sendLogPayload",
  103705. "nodeType": "Identifier",
  103706. "overloadedDeclarations": [],
  103707. "referencedDeclaration": 7315,
  103708. "src": "64134:15:50",
  103709. "typeDescriptions": {
  103710. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  103711. "typeString": "function (bytes memory) pure"
  103712. }
  103713. },
  103714. "id": 14776,
  103715. "isConstant": false,
  103716. "isLValue": false,
  103717. "isPure": false,
  103718. "kind": "functionCall",
  103719. "lValueRequested": false,
  103720. "nameLocations": [],
  103721. "names": [],
  103722. "nodeType": "FunctionCall",
  103723. "src": "64134:89:50",
  103724. "tryCall": false,
  103725. "typeDescriptions": {
  103726. "typeIdentifier": "t_tuple$__$",
  103727. "typeString": "tuple()"
  103728. }
  103729. },
  103730. "id": 14777,
  103731. "nodeType": "ExpressionStatement",
  103732. "src": "64134:89:50"
  103733. }
  103734. ]
  103735. },
  103736. "implemented": true,
  103737. "kind": "function",
  103738. "modifiers": [],
  103739. "name": "log",
  103740. "nameLocation": "64058:3:50",
  103741. "parameters": {
  103742. "id": 14765,
  103743. "nodeType": "ParameterList",
  103744. "parameters": [
  103745. {
  103746. "constant": false,
  103747. "id": 14758,
  103748. "mutability": "mutable",
  103749. "name": "p0",
  103750. "nameLocation": "64070:2:50",
  103751. "nodeType": "VariableDeclaration",
  103752. "scope": 14779,
  103753. "src": "64062:10:50",
  103754. "stateVariable": false,
  103755. "storageLocation": "default",
  103756. "typeDescriptions": {
  103757. "typeIdentifier": "t_address",
  103758. "typeString": "address"
  103759. },
  103760. "typeName": {
  103761. "id": 14757,
  103762. "name": "address",
  103763. "nodeType": "ElementaryTypeName",
  103764. "src": "64062:7:50",
  103765. "stateMutability": "nonpayable",
  103766. "typeDescriptions": {
  103767. "typeIdentifier": "t_address",
  103768. "typeString": "address"
  103769. }
  103770. },
  103771. "visibility": "internal"
  103772. },
  103773. {
  103774. "constant": false,
  103775. "id": 14760,
  103776. "mutability": "mutable",
  103777. "name": "p1",
  103778. "nameLocation": "64079:2:50",
  103779. "nodeType": "VariableDeclaration",
  103780. "scope": 14779,
  103781. "src": "64074:7:50",
  103782. "stateVariable": false,
  103783. "storageLocation": "default",
  103784. "typeDescriptions": {
  103785. "typeIdentifier": "t_bool",
  103786. "typeString": "bool"
  103787. },
  103788. "typeName": {
  103789. "id": 14759,
  103790. "name": "bool",
  103791. "nodeType": "ElementaryTypeName",
  103792. "src": "64074:4:50",
  103793. "typeDescriptions": {
  103794. "typeIdentifier": "t_bool",
  103795. "typeString": "bool"
  103796. }
  103797. },
  103798. "visibility": "internal"
  103799. },
  103800. {
  103801. "constant": false,
  103802. "id": 14762,
  103803. "mutability": "mutable",
  103804. "name": "p2",
  103805. "nameLocation": "64097:2:50",
  103806. "nodeType": "VariableDeclaration",
  103807. "scope": 14779,
  103808. "src": "64083:16:50",
  103809. "stateVariable": false,
  103810. "storageLocation": "memory",
  103811. "typeDescriptions": {
  103812. "typeIdentifier": "t_string_memory_ptr",
  103813. "typeString": "string"
  103814. },
  103815. "typeName": {
  103816. "id": 14761,
  103817. "name": "string",
  103818. "nodeType": "ElementaryTypeName",
  103819. "src": "64083:6:50",
  103820. "typeDescriptions": {
  103821. "typeIdentifier": "t_string_storage_ptr",
  103822. "typeString": "string"
  103823. }
  103824. },
  103825. "visibility": "internal"
  103826. },
  103827. {
  103828. "constant": false,
  103829. "id": 14764,
  103830. "mutability": "mutable",
  103831. "name": "p3",
  103832. "nameLocation": "64106:2:50",
  103833. "nodeType": "VariableDeclaration",
  103834. "scope": 14779,
  103835. "src": "64101:7:50",
  103836. "stateVariable": false,
  103837. "storageLocation": "default",
  103838. "typeDescriptions": {
  103839. "typeIdentifier": "t_bool",
  103840. "typeString": "bool"
  103841. },
  103842. "typeName": {
  103843. "id": 14763,
  103844. "name": "bool",
  103845. "nodeType": "ElementaryTypeName",
  103846. "src": "64101:4:50",
  103847. "typeDescriptions": {
  103848. "typeIdentifier": "t_bool",
  103849. "typeString": "bool"
  103850. }
  103851. },
  103852. "visibility": "internal"
  103853. }
  103854. ],
  103855. "src": "64061:48:50"
  103856. },
  103857. "returnParameters": {
  103858. "id": 14766,
  103859. "nodeType": "ParameterList",
  103860. "parameters": [],
  103861. "src": "64124:0:50"
  103862. },
  103863. "scope": 15355,
  103864. "stateMutability": "pure",
  103865. "virtual": false,
  103866. "visibility": "internal"
  103867. },
  103868. {
  103869. "id": 14802,
  103870. "nodeType": "FunctionDefinition",
  103871. "src": "64236:187:50",
  103872. "nodes": [],
  103873. "body": {
  103874. "id": 14801,
  103875. "nodeType": "Block",
  103876. "src": "64314:109:50",
  103877. "nodes": [],
  103878. "statements": [
  103879. {
  103880. "expression": {
  103881. "arguments": [
  103882. {
  103883. "arguments": [
  103884. {
  103885. "hexValue": "6c6f6728616464726573732c626f6f6c2c737472696e672c6164647265737329",
  103886. "id": 14793,
  103887. "isConstant": false,
  103888. "isLValue": false,
  103889. "isPure": true,
  103890. "kind": "string",
  103891. "lValueRequested": false,
  103892. "nodeType": "Literal",
  103893. "src": "64364:34:50",
  103894. "typeDescriptions": {
  103895. "typeIdentifier": "t_stringliteral_19fd495659df511498cf8dde03672830bd109ef2d9b9bec18e72190917c328bc",
  103896. "typeString": "literal_string \"log(address,bool,string,address)\""
  103897. },
  103898. "value": "log(address,bool,string,address)"
  103899. },
  103900. {
  103901. "id": 14794,
  103902. "name": "p0",
  103903. "nodeType": "Identifier",
  103904. "overloadedDeclarations": [],
  103905. "referencedDeclaration": 14781,
  103906. "src": "64400:2:50",
  103907. "typeDescriptions": {
  103908. "typeIdentifier": "t_address",
  103909. "typeString": "address"
  103910. }
  103911. },
  103912. {
  103913. "id": 14795,
  103914. "name": "p1",
  103915. "nodeType": "Identifier",
  103916. "overloadedDeclarations": [],
  103917. "referencedDeclaration": 14783,
  103918. "src": "64404:2:50",
  103919. "typeDescriptions": {
  103920. "typeIdentifier": "t_bool",
  103921. "typeString": "bool"
  103922. }
  103923. },
  103924. {
  103925. "id": 14796,
  103926. "name": "p2",
  103927. "nodeType": "Identifier",
  103928. "overloadedDeclarations": [],
  103929. "referencedDeclaration": 14785,
  103930. "src": "64408:2:50",
  103931. "typeDescriptions": {
  103932. "typeIdentifier": "t_string_memory_ptr",
  103933. "typeString": "string memory"
  103934. }
  103935. },
  103936. {
  103937. "id": 14797,
  103938. "name": "p3",
  103939. "nodeType": "Identifier",
  103940. "overloadedDeclarations": [],
  103941. "referencedDeclaration": 14787,
  103942. "src": "64412:2:50",
  103943. "typeDescriptions": {
  103944. "typeIdentifier": "t_address",
  103945. "typeString": "address"
  103946. }
  103947. }
  103948. ],
  103949. "expression": {
  103950. "argumentTypes": [
  103951. {
  103952. "typeIdentifier": "t_stringliteral_19fd495659df511498cf8dde03672830bd109ef2d9b9bec18e72190917c328bc",
  103953. "typeString": "literal_string \"log(address,bool,string,address)\""
  103954. },
  103955. {
  103956. "typeIdentifier": "t_address",
  103957. "typeString": "address"
  103958. },
  103959. {
  103960. "typeIdentifier": "t_bool",
  103961. "typeString": "bool"
  103962. },
  103963. {
  103964. "typeIdentifier": "t_string_memory_ptr",
  103965. "typeString": "string memory"
  103966. },
  103967. {
  103968. "typeIdentifier": "t_address",
  103969. "typeString": "address"
  103970. }
  103971. ],
  103972. "expression": {
  103973. "id": 14791,
  103974. "name": "abi",
  103975. "nodeType": "Identifier",
  103976. "overloadedDeclarations": [],
  103977. "referencedDeclaration": -1,
  103978. "src": "64340:3:50",
  103979. "typeDescriptions": {
  103980. "typeIdentifier": "t_magic_abi",
  103981. "typeString": "abi"
  103982. }
  103983. },
  103984. "id": 14792,
  103985. "isConstant": false,
  103986. "isLValue": false,
  103987. "isPure": true,
  103988. "lValueRequested": false,
  103989. "memberLocation": "64344:19:50",
  103990. "memberName": "encodeWithSignature",
  103991. "nodeType": "MemberAccess",
  103992. "src": "64340:23:50",
  103993. "typeDescriptions": {
  103994. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  103995. "typeString": "function (string memory) pure returns (bytes memory)"
  103996. }
  103997. },
  103998. "id": 14798,
  103999. "isConstant": false,
  104000. "isLValue": false,
  104001. "isPure": false,
  104002. "kind": "functionCall",
  104003. "lValueRequested": false,
  104004. "nameLocations": [],
  104005. "names": [],
  104006. "nodeType": "FunctionCall",
  104007. "src": "64340:75:50",
  104008. "tryCall": false,
  104009. "typeDescriptions": {
  104010. "typeIdentifier": "t_bytes_memory_ptr",
  104011. "typeString": "bytes memory"
  104012. }
  104013. }
  104014. ],
  104015. "expression": {
  104016. "argumentTypes": [
  104017. {
  104018. "typeIdentifier": "t_bytes_memory_ptr",
  104019. "typeString": "bytes memory"
  104020. }
  104021. ],
  104022. "id": 14790,
  104023. "name": "_sendLogPayload",
  104024. "nodeType": "Identifier",
  104025. "overloadedDeclarations": [],
  104026. "referencedDeclaration": 7315,
  104027. "src": "64324:15:50",
  104028. "typeDescriptions": {
  104029. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  104030. "typeString": "function (bytes memory) pure"
  104031. }
  104032. },
  104033. "id": 14799,
  104034. "isConstant": false,
  104035. "isLValue": false,
  104036. "isPure": false,
  104037. "kind": "functionCall",
  104038. "lValueRequested": false,
  104039. "nameLocations": [],
  104040. "names": [],
  104041. "nodeType": "FunctionCall",
  104042. "src": "64324:92:50",
  104043. "tryCall": false,
  104044. "typeDescriptions": {
  104045. "typeIdentifier": "t_tuple$__$",
  104046. "typeString": "tuple()"
  104047. }
  104048. },
  104049. "id": 14800,
  104050. "nodeType": "ExpressionStatement",
  104051. "src": "64324:92:50"
  104052. }
  104053. ]
  104054. },
  104055. "implemented": true,
  104056. "kind": "function",
  104057. "modifiers": [],
  104058. "name": "log",
  104059. "nameLocation": "64245:3:50",
  104060. "parameters": {
  104061. "id": 14788,
  104062. "nodeType": "ParameterList",
  104063. "parameters": [
  104064. {
  104065. "constant": false,
  104066. "id": 14781,
  104067. "mutability": "mutable",
  104068. "name": "p0",
  104069. "nameLocation": "64257:2:50",
  104070. "nodeType": "VariableDeclaration",
  104071. "scope": 14802,
  104072. "src": "64249:10:50",
  104073. "stateVariable": false,
  104074. "storageLocation": "default",
  104075. "typeDescriptions": {
  104076. "typeIdentifier": "t_address",
  104077. "typeString": "address"
  104078. },
  104079. "typeName": {
  104080. "id": 14780,
  104081. "name": "address",
  104082. "nodeType": "ElementaryTypeName",
  104083. "src": "64249:7:50",
  104084. "stateMutability": "nonpayable",
  104085. "typeDescriptions": {
  104086. "typeIdentifier": "t_address",
  104087. "typeString": "address"
  104088. }
  104089. },
  104090. "visibility": "internal"
  104091. },
  104092. {
  104093. "constant": false,
  104094. "id": 14783,
  104095. "mutability": "mutable",
  104096. "name": "p1",
  104097. "nameLocation": "64266:2:50",
  104098. "nodeType": "VariableDeclaration",
  104099. "scope": 14802,
  104100. "src": "64261:7:50",
  104101. "stateVariable": false,
  104102. "storageLocation": "default",
  104103. "typeDescriptions": {
  104104. "typeIdentifier": "t_bool",
  104105. "typeString": "bool"
  104106. },
  104107. "typeName": {
  104108. "id": 14782,
  104109. "name": "bool",
  104110. "nodeType": "ElementaryTypeName",
  104111. "src": "64261:4:50",
  104112. "typeDescriptions": {
  104113. "typeIdentifier": "t_bool",
  104114. "typeString": "bool"
  104115. }
  104116. },
  104117. "visibility": "internal"
  104118. },
  104119. {
  104120. "constant": false,
  104121. "id": 14785,
  104122. "mutability": "mutable",
  104123. "name": "p2",
  104124. "nameLocation": "64284:2:50",
  104125. "nodeType": "VariableDeclaration",
  104126. "scope": 14802,
  104127. "src": "64270:16:50",
  104128. "stateVariable": false,
  104129. "storageLocation": "memory",
  104130. "typeDescriptions": {
  104131. "typeIdentifier": "t_string_memory_ptr",
  104132. "typeString": "string"
  104133. },
  104134. "typeName": {
  104135. "id": 14784,
  104136. "name": "string",
  104137. "nodeType": "ElementaryTypeName",
  104138. "src": "64270:6:50",
  104139. "typeDescriptions": {
  104140. "typeIdentifier": "t_string_storage_ptr",
  104141. "typeString": "string"
  104142. }
  104143. },
  104144. "visibility": "internal"
  104145. },
  104146. {
  104147. "constant": false,
  104148. "id": 14787,
  104149. "mutability": "mutable",
  104150. "name": "p3",
  104151. "nameLocation": "64296:2:50",
  104152. "nodeType": "VariableDeclaration",
  104153. "scope": 14802,
  104154. "src": "64288:10:50",
  104155. "stateVariable": false,
  104156. "storageLocation": "default",
  104157. "typeDescriptions": {
  104158. "typeIdentifier": "t_address",
  104159. "typeString": "address"
  104160. },
  104161. "typeName": {
  104162. "id": 14786,
  104163. "name": "address",
  104164. "nodeType": "ElementaryTypeName",
  104165. "src": "64288:7:50",
  104166. "stateMutability": "nonpayable",
  104167. "typeDescriptions": {
  104168. "typeIdentifier": "t_address",
  104169. "typeString": "address"
  104170. }
  104171. },
  104172. "visibility": "internal"
  104173. }
  104174. ],
  104175. "src": "64248:51:50"
  104176. },
  104177. "returnParameters": {
  104178. "id": 14789,
  104179. "nodeType": "ParameterList",
  104180. "parameters": [],
  104181. "src": "64314:0:50"
  104182. },
  104183. "scope": 15355,
  104184. "stateMutability": "pure",
  104185. "virtual": false,
  104186. "visibility": "internal"
  104187. },
  104188. {
  104189. "id": 14825,
  104190. "nodeType": "FunctionDefinition",
  104191. "src": "64429:176:50",
  104192. "nodes": [],
  104193. "body": {
  104194. "id": 14824,
  104195. "nodeType": "Block",
  104196. "src": "64498:107:50",
  104197. "nodes": [],
  104198. "statements": [
  104199. {
  104200. "expression": {
  104201. "arguments": [
  104202. {
  104203. "arguments": [
  104204. {
  104205. "hexValue": "6c6f6728616464726573732c626f6f6c2c626f6f6c2c75696e7432353629",
  104206. "id": 14816,
  104207. "isConstant": false,
  104208. "isLValue": false,
  104209. "isPure": true,
  104210. "kind": "string",
  104211. "lValueRequested": false,
  104212. "nodeType": "Literal",
  104213. "src": "64548:32:50",
  104214. "typeDescriptions": {
  104215. "typeIdentifier": "t_stringliteral_8c4e5de62881fec144fb423112f08d23c6aca116363a7b195024519470acf22e",
  104216. "typeString": "literal_string \"log(address,bool,bool,uint256)\""
  104217. },
  104218. "value": "log(address,bool,bool,uint256)"
  104219. },
  104220. {
  104221. "id": 14817,
  104222. "name": "p0",
  104223. "nodeType": "Identifier",
  104224. "overloadedDeclarations": [],
  104225. "referencedDeclaration": 14804,
  104226. "src": "64582:2:50",
  104227. "typeDescriptions": {
  104228. "typeIdentifier": "t_address",
  104229. "typeString": "address"
  104230. }
  104231. },
  104232. {
  104233. "id": 14818,
  104234. "name": "p1",
  104235. "nodeType": "Identifier",
  104236. "overloadedDeclarations": [],
  104237. "referencedDeclaration": 14806,
  104238. "src": "64586:2:50",
  104239. "typeDescriptions": {
  104240. "typeIdentifier": "t_bool",
  104241. "typeString": "bool"
  104242. }
  104243. },
  104244. {
  104245. "id": 14819,
  104246. "name": "p2",
  104247. "nodeType": "Identifier",
  104248. "overloadedDeclarations": [],
  104249. "referencedDeclaration": 14808,
  104250. "src": "64590:2:50",
  104251. "typeDescriptions": {
  104252. "typeIdentifier": "t_bool",
  104253. "typeString": "bool"
  104254. }
  104255. },
  104256. {
  104257. "id": 14820,
  104258. "name": "p3",
  104259. "nodeType": "Identifier",
  104260. "overloadedDeclarations": [],
  104261. "referencedDeclaration": 14810,
  104262. "src": "64594:2:50",
  104263. "typeDescriptions": {
  104264. "typeIdentifier": "t_uint256",
  104265. "typeString": "uint256"
  104266. }
  104267. }
  104268. ],
  104269. "expression": {
  104270. "argumentTypes": [
  104271. {
  104272. "typeIdentifier": "t_stringliteral_8c4e5de62881fec144fb423112f08d23c6aca116363a7b195024519470acf22e",
  104273. "typeString": "literal_string \"log(address,bool,bool,uint256)\""
  104274. },
  104275. {
  104276. "typeIdentifier": "t_address",
  104277. "typeString": "address"
  104278. },
  104279. {
  104280. "typeIdentifier": "t_bool",
  104281. "typeString": "bool"
  104282. },
  104283. {
  104284. "typeIdentifier": "t_bool",
  104285. "typeString": "bool"
  104286. },
  104287. {
  104288. "typeIdentifier": "t_uint256",
  104289. "typeString": "uint256"
  104290. }
  104291. ],
  104292. "expression": {
  104293. "id": 14814,
  104294. "name": "abi",
  104295. "nodeType": "Identifier",
  104296. "overloadedDeclarations": [],
  104297. "referencedDeclaration": -1,
  104298. "src": "64524:3:50",
  104299. "typeDescriptions": {
  104300. "typeIdentifier": "t_magic_abi",
  104301. "typeString": "abi"
  104302. }
  104303. },
  104304. "id": 14815,
  104305. "isConstant": false,
  104306. "isLValue": false,
  104307. "isPure": true,
  104308. "lValueRequested": false,
  104309. "memberLocation": "64528:19:50",
  104310. "memberName": "encodeWithSignature",
  104311. "nodeType": "MemberAccess",
  104312. "src": "64524:23:50",
  104313. "typeDescriptions": {
  104314. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  104315. "typeString": "function (string memory) pure returns (bytes memory)"
  104316. }
  104317. },
  104318. "id": 14821,
  104319. "isConstant": false,
  104320. "isLValue": false,
  104321. "isPure": false,
  104322. "kind": "functionCall",
  104323. "lValueRequested": false,
  104324. "nameLocations": [],
  104325. "names": [],
  104326. "nodeType": "FunctionCall",
  104327. "src": "64524:73:50",
  104328. "tryCall": false,
  104329. "typeDescriptions": {
  104330. "typeIdentifier": "t_bytes_memory_ptr",
  104331. "typeString": "bytes memory"
  104332. }
  104333. }
  104334. ],
  104335. "expression": {
  104336. "argumentTypes": [
  104337. {
  104338. "typeIdentifier": "t_bytes_memory_ptr",
  104339. "typeString": "bytes memory"
  104340. }
  104341. ],
  104342. "id": 14813,
  104343. "name": "_sendLogPayload",
  104344. "nodeType": "Identifier",
  104345. "overloadedDeclarations": [],
  104346. "referencedDeclaration": 7315,
  104347. "src": "64508:15:50",
  104348. "typeDescriptions": {
  104349. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  104350. "typeString": "function (bytes memory) pure"
  104351. }
  104352. },
  104353. "id": 14822,
  104354. "isConstant": false,
  104355. "isLValue": false,
  104356. "isPure": false,
  104357. "kind": "functionCall",
  104358. "lValueRequested": false,
  104359. "nameLocations": [],
  104360. "names": [],
  104361. "nodeType": "FunctionCall",
  104362. "src": "64508:90:50",
  104363. "tryCall": false,
  104364. "typeDescriptions": {
  104365. "typeIdentifier": "t_tuple$__$",
  104366. "typeString": "tuple()"
  104367. }
  104368. },
  104369. "id": 14823,
  104370. "nodeType": "ExpressionStatement",
  104371. "src": "64508:90:50"
  104372. }
  104373. ]
  104374. },
  104375. "implemented": true,
  104376. "kind": "function",
  104377. "modifiers": [],
  104378. "name": "log",
  104379. "nameLocation": "64438:3:50",
  104380. "parameters": {
  104381. "id": 14811,
  104382. "nodeType": "ParameterList",
  104383. "parameters": [
  104384. {
  104385. "constant": false,
  104386. "id": 14804,
  104387. "mutability": "mutable",
  104388. "name": "p0",
  104389. "nameLocation": "64450:2:50",
  104390. "nodeType": "VariableDeclaration",
  104391. "scope": 14825,
  104392. "src": "64442:10:50",
  104393. "stateVariable": false,
  104394. "storageLocation": "default",
  104395. "typeDescriptions": {
  104396. "typeIdentifier": "t_address",
  104397. "typeString": "address"
  104398. },
  104399. "typeName": {
  104400. "id": 14803,
  104401. "name": "address",
  104402. "nodeType": "ElementaryTypeName",
  104403. "src": "64442:7:50",
  104404. "stateMutability": "nonpayable",
  104405. "typeDescriptions": {
  104406. "typeIdentifier": "t_address",
  104407. "typeString": "address"
  104408. }
  104409. },
  104410. "visibility": "internal"
  104411. },
  104412. {
  104413. "constant": false,
  104414. "id": 14806,
  104415. "mutability": "mutable",
  104416. "name": "p1",
  104417. "nameLocation": "64459:2:50",
  104418. "nodeType": "VariableDeclaration",
  104419. "scope": 14825,
  104420. "src": "64454:7:50",
  104421. "stateVariable": false,
  104422. "storageLocation": "default",
  104423. "typeDescriptions": {
  104424. "typeIdentifier": "t_bool",
  104425. "typeString": "bool"
  104426. },
  104427. "typeName": {
  104428. "id": 14805,
  104429. "name": "bool",
  104430. "nodeType": "ElementaryTypeName",
  104431. "src": "64454:4:50",
  104432. "typeDescriptions": {
  104433. "typeIdentifier": "t_bool",
  104434. "typeString": "bool"
  104435. }
  104436. },
  104437. "visibility": "internal"
  104438. },
  104439. {
  104440. "constant": false,
  104441. "id": 14808,
  104442. "mutability": "mutable",
  104443. "name": "p2",
  104444. "nameLocation": "64468:2:50",
  104445. "nodeType": "VariableDeclaration",
  104446. "scope": 14825,
  104447. "src": "64463:7:50",
  104448. "stateVariable": false,
  104449. "storageLocation": "default",
  104450. "typeDescriptions": {
  104451. "typeIdentifier": "t_bool",
  104452. "typeString": "bool"
  104453. },
  104454. "typeName": {
  104455. "id": 14807,
  104456. "name": "bool",
  104457. "nodeType": "ElementaryTypeName",
  104458. "src": "64463:4:50",
  104459. "typeDescriptions": {
  104460. "typeIdentifier": "t_bool",
  104461. "typeString": "bool"
  104462. }
  104463. },
  104464. "visibility": "internal"
  104465. },
  104466. {
  104467. "constant": false,
  104468. "id": 14810,
  104469. "mutability": "mutable",
  104470. "name": "p3",
  104471. "nameLocation": "64480:2:50",
  104472. "nodeType": "VariableDeclaration",
  104473. "scope": 14825,
  104474. "src": "64472:10:50",
  104475. "stateVariable": false,
  104476. "storageLocation": "default",
  104477. "typeDescriptions": {
  104478. "typeIdentifier": "t_uint256",
  104479. "typeString": "uint256"
  104480. },
  104481. "typeName": {
  104482. "id": 14809,
  104483. "name": "uint256",
  104484. "nodeType": "ElementaryTypeName",
  104485. "src": "64472:7:50",
  104486. "typeDescriptions": {
  104487. "typeIdentifier": "t_uint256",
  104488. "typeString": "uint256"
  104489. }
  104490. },
  104491. "visibility": "internal"
  104492. }
  104493. ],
  104494. "src": "64441:42:50"
  104495. },
  104496. "returnParameters": {
  104497. "id": 14812,
  104498. "nodeType": "ParameterList",
  104499. "parameters": [],
  104500. "src": "64498:0:50"
  104501. },
  104502. "scope": 15355,
  104503. "stateMutability": "pure",
  104504. "virtual": false,
  104505. "visibility": "internal"
  104506. },
  104507. {
  104508. "id": 14848,
  104509. "nodeType": "FunctionDefinition",
  104510. "src": "64611:181:50",
  104511. "nodes": [],
  104512. "body": {
  104513. "id": 14847,
  104514. "nodeType": "Block",
  104515. "src": "64686:106:50",
  104516. "nodes": [],
  104517. "statements": [
  104518. {
  104519. "expression": {
  104520. "arguments": [
  104521. {
  104522. "arguments": [
  104523. {
  104524. "hexValue": "6c6f6728616464726573732c626f6f6c2c626f6f6c2c737472696e6729",
  104525. "id": 14839,
  104526. "isConstant": false,
  104527. "isLValue": false,
  104528. "isPure": true,
  104529. "kind": "string",
  104530. "lValueRequested": false,
  104531. "nodeType": "Literal",
  104532. "src": "64736:31:50",
  104533. "typeDescriptions": {
  104534. "typeIdentifier": "t_stringliteral_dfc4a2e8c56809b44edbbc6d92d0a8441e551ad5387596bf8b629c56d9a91300",
  104535. "typeString": "literal_string \"log(address,bool,bool,string)\""
  104536. },
  104537. "value": "log(address,bool,bool,string)"
  104538. },
  104539. {
  104540. "id": 14840,
  104541. "name": "p0",
  104542. "nodeType": "Identifier",
  104543. "overloadedDeclarations": [],
  104544. "referencedDeclaration": 14827,
  104545. "src": "64769:2:50",
  104546. "typeDescriptions": {
  104547. "typeIdentifier": "t_address",
  104548. "typeString": "address"
  104549. }
  104550. },
  104551. {
  104552. "id": 14841,
  104553. "name": "p1",
  104554. "nodeType": "Identifier",
  104555. "overloadedDeclarations": [],
  104556. "referencedDeclaration": 14829,
  104557. "src": "64773:2:50",
  104558. "typeDescriptions": {
  104559. "typeIdentifier": "t_bool",
  104560. "typeString": "bool"
  104561. }
  104562. },
  104563. {
  104564. "id": 14842,
  104565. "name": "p2",
  104566. "nodeType": "Identifier",
  104567. "overloadedDeclarations": [],
  104568. "referencedDeclaration": 14831,
  104569. "src": "64777:2:50",
  104570. "typeDescriptions": {
  104571. "typeIdentifier": "t_bool",
  104572. "typeString": "bool"
  104573. }
  104574. },
  104575. {
  104576. "id": 14843,
  104577. "name": "p3",
  104578. "nodeType": "Identifier",
  104579. "overloadedDeclarations": [],
  104580. "referencedDeclaration": 14833,
  104581. "src": "64781:2:50",
  104582. "typeDescriptions": {
  104583. "typeIdentifier": "t_string_memory_ptr",
  104584. "typeString": "string memory"
  104585. }
  104586. }
  104587. ],
  104588. "expression": {
  104589. "argumentTypes": [
  104590. {
  104591. "typeIdentifier": "t_stringliteral_dfc4a2e8c56809b44edbbc6d92d0a8441e551ad5387596bf8b629c56d9a91300",
  104592. "typeString": "literal_string \"log(address,bool,bool,string)\""
  104593. },
  104594. {
  104595. "typeIdentifier": "t_address",
  104596. "typeString": "address"
  104597. },
  104598. {
  104599. "typeIdentifier": "t_bool",
  104600. "typeString": "bool"
  104601. },
  104602. {
  104603. "typeIdentifier": "t_bool",
  104604. "typeString": "bool"
  104605. },
  104606. {
  104607. "typeIdentifier": "t_string_memory_ptr",
  104608. "typeString": "string memory"
  104609. }
  104610. ],
  104611. "expression": {
  104612. "id": 14837,
  104613. "name": "abi",
  104614. "nodeType": "Identifier",
  104615. "overloadedDeclarations": [],
  104616. "referencedDeclaration": -1,
  104617. "src": "64712:3:50",
  104618. "typeDescriptions": {
  104619. "typeIdentifier": "t_magic_abi",
  104620. "typeString": "abi"
  104621. }
  104622. },
  104623. "id": 14838,
  104624. "isConstant": false,
  104625. "isLValue": false,
  104626. "isPure": true,
  104627. "lValueRequested": false,
  104628. "memberLocation": "64716:19:50",
  104629. "memberName": "encodeWithSignature",
  104630. "nodeType": "MemberAccess",
  104631. "src": "64712:23:50",
  104632. "typeDescriptions": {
  104633. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  104634. "typeString": "function (string memory) pure returns (bytes memory)"
  104635. }
  104636. },
  104637. "id": 14844,
  104638. "isConstant": false,
  104639. "isLValue": false,
  104640. "isPure": false,
  104641. "kind": "functionCall",
  104642. "lValueRequested": false,
  104643. "nameLocations": [],
  104644. "names": [],
  104645. "nodeType": "FunctionCall",
  104646. "src": "64712:72:50",
  104647. "tryCall": false,
  104648. "typeDescriptions": {
  104649. "typeIdentifier": "t_bytes_memory_ptr",
  104650. "typeString": "bytes memory"
  104651. }
  104652. }
  104653. ],
  104654. "expression": {
  104655. "argumentTypes": [
  104656. {
  104657. "typeIdentifier": "t_bytes_memory_ptr",
  104658. "typeString": "bytes memory"
  104659. }
  104660. ],
  104661. "id": 14836,
  104662. "name": "_sendLogPayload",
  104663. "nodeType": "Identifier",
  104664. "overloadedDeclarations": [],
  104665. "referencedDeclaration": 7315,
  104666. "src": "64696:15:50",
  104667. "typeDescriptions": {
  104668. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  104669. "typeString": "function (bytes memory) pure"
  104670. }
  104671. },
  104672. "id": 14845,
  104673. "isConstant": false,
  104674. "isLValue": false,
  104675. "isPure": false,
  104676. "kind": "functionCall",
  104677. "lValueRequested": false,
  104678. "nameLocations": [],
  104679. "names": [],
  104680. "nodeType": "FunctionCall",
  104681. "src": "64696:89:50",
  104682. "tryCall": false,
  104683. "typeDescriptions": {
  104684. "typeIdentifier": "t_tuple$__$",
  104685. "typeString": "tuple()"
  104686. }
  104687. },
  104688. "id": 14846,
  104689. "nodeType": "ExpressionStatement",
  104690. "src": "64696:89:50"
  104691. }
  104692. ]
  104693. },
  104694. "implemented": true,
  104695. "kind": "function",
  104696. "modifiers": [],
  104697. "name": "log",
  104698. "nameLocation": "64620:3:50",
  104699. "parameters": {
  104700. "id": 14834,
  104701. "nodeType": "ParameterList",
  104702. "parameters": [
  104703. {
  104704. "constant": false,
  104705. "id": 14827,
  104706. "mutability": "mutable",
  104707. "name": "p0",
  104708. "nameLocation": "64632:2:50",
  104709. "nodeType": "VariableDeclaration",
  104710. "scope": 14848,
  104711. "src": "64624:10:50",
  104712. "stateVariable": false,
  104713. "storageLocation": "default",
  104714. "typeDescriptions": {
  104715. "typeIdentifier": "t_address",
  104716. "typeString": "address"
  104717. },
  104718. "typeName": {
  104719. "id": 14826,
  104720. "name": "address",
  104721. "nodeType": "ElementaryTypeName",
  104722. "src": "64624:7:50",
  104723. "stateMutability": "nonpayable",
  104724. "typeDescriptions": {
  104725. "typeIdentifier": "t_address",
  104726. "typeString": "address"
  104727. }
  104728. },
  104729. "visibility": "internal"
  104730. },
  104731. {
  104732. "constant": false,
  104733. "id": 14829,
  104734. "mutability": "mutable",
  104735. "name": "p1",
  104736. "nameLocation": "64641:2:50",
  104737. "nodeType": "VariableDeclaration",
  104738. "scope": 14848,
  104739. "src": "64636:7:50",
  104740. "stateVariable": false,
  104741. "storageLocation": "default",
  104742. "typeDescriptions": {
  104743. "typeIdentifier": "t_bool",
  104744. "typeString": "bool"
  104745. },
  104746. "typeName": {
  104747. "id": 14828,
  104748. "name": "bool",
  104749. "nodeType": "ElementaryTypeName",
  104750. "src": "64636:4:50",
  104751. "typeDescriptions": {
  104752. "typeIdentifier": "t_bool",
  104753. "typeString": "bool"
  104754. }
  104755. },
  104756. "visibility": "internal"
  104757. },
  104758. {
  104759. "constant": false,
  104760. "id": 14831,
  104761. "mutability": "mutable",
  104762. "name": "p2",
  104763. "nameLocation": "64650:2:50",
  104764. "nodeType": "VariableDeclaration",
  104765. "scope": 14848,
  104766. "src": "64645:7:50",
  104767. "stateVariable": false,
  104768. "storageLocation": "default",
  104769. "typeDescriptions": {
  104770. "typeIdentifier": "t_bool",
  104771. "typeString": "bool"
  104772. },
  104773. "typeName": {
  104774. "id": 14830,
  104775. "name": "bool",
  104776. "nodeType": "ElementaryTypeName",
  104777. "src": "64645:4:50",
  104778. "typeDescriptions": {
  104779. "typeIdentifier": "t_bool",
  104780. "typeString": "bool"
  104781. }
  104782. },
  104783. "visibility": "internal"
  104784. },
  104785. {
  104786. "constant": false,
  104787. "id": 14833,
  104788. "mutability": "mutable",
  104789. "name": "p3",
  104790. "nameLocation": "64668:2:50",
  104791. "nodeType": "VariableDeclaration",
  104792. "scope": 14848,
  104793. "src": "64654:16:50",
  104794. "stateVariable": false,
  104795. "storageLocation": "memory",
  104796. "typeDescriptions": {
  104797. "typeIdentifier": "t_string_memory_ptr",
  104798. "typeString": "string"
  104799. },
  104800. "typeName": {
  104801. "id": 14832,
  104802. "name": "string",
  104803. "nodeType": "ElementaryTypeName",
  104804. "src": "64654:6:50",
  104805. "typeDescriptions": {
  104806. "typeIdentifier": "t_string_storage_ptr",
  104807. "typeString": "string"
  104808. }
  104809. },
  104810. "visibility": "internal"
  104811. }
  104812. ],
  104813. "src": "64623:48:50"
  104814. },
  104815. "returnParameters": {
  104816. "id": 14835,
  104817. "nodeType": "ParameterList",
  104818. "parameters": [],
  104819. "src": "64686:0:50"
  104820. },
  104821. "scope": 15355,
  104822. "stateMutability": "pure",
  104823. "virtual": false,
  104824. "visibility": "internal"
  104825. },
  104826. {
  104827. "id": 14871,
  104828. "nodeType": "FunctionDefinition",
  104829. "src": "64798:170:50",
  104830. "nodes": [],
  104831. "body": {
  104832. "id": 14870,
  104833. "nodeType": "Block",
  104834. "src": "64864:104:50",
  104835. "nodes": [],
  104836. "statements": [
  104837. {
  104838. "expression": {
  104839. "arguments": [
  104840. {
  104841. "arguments": [
  104842. {
  104843. "hexValue": "6c6f6728616464726573732c626f6f6c2c626f6f6c2c626f6f6c29",
  104844. "id": 14862,
  104845. "isConstant": false,
  104846. "isLValue": false,
  104847. "isPure": true,
  104848. "kind": "string",
  104849. "lValueRequested": false,
  104850. "nodeType": "Literal",
  104851. "src": "64914:29:50",
  104852. "typeDescriptions": {
  104853. "typeIdentifier": "t_stringliteral_cac434792b973db16714db96d2aeda353b2253f27255abe42b9960b2dc550634",
  104854. "typeString": "literal_string \"log(address,bool,bool,bool)\""
  104855. },
  104856. "value": "log(address,bool,bool,bool)"
  104857. },
  104858. {
  104859. "id": 14863,
  104860. "name": "p0",
  104861. "nodeType": "Identifier",
  104862. "overloadedDeclarations": [],
  104863. "referencedDeclaration": 14850,
  104864. "src": "64945:2:50",
  104865. "typeDescriptions": {
  104866. "typeIdentifier": "t_address",
  104867. "typeString": "address"
  104868. }
  104869. },
  104870. {
  104871. "id": 14864,
  104872. "name": "p1",
  104873. "nodeType": "Identifier",
  104874. "overloadedDeclarations": [],
  104875. "referencedDeclaration": 14852,
  104876. "src": "64949:2:50",
  104877. "typeDescriptions": {
  104878. "typeIdentifier": "t_bool",
  104879. "typeString": "bool"
  104880. }
  104881. },
  104882. {
  104883. "id": 14865,
  104884. "name": "p2",
  104885. "nodeType": "Identifier",
  104886. "overloadedDeclarations": [],
  104887. "referencedDeclaration": 14854,
  104888. "src": "64953:2:50",
  104889. "typeDescriptions": {
  104890. "typeIdentifier": "t_bool",
  104891. "typeString": "bool"
  104892. }
  104893. },
  104894. {
  104895. "id": 14866,
  104896. "name": "p3",
  104897. "nodeType": "Identifier",
  104898. "overloadedDeclarations": [],
  104899. "referencedDeclaration": 14856,
  104900. "src": "64957:2:50",
  104901. "typeDescriptions": {
  104902. "typeIdentifier": "t_bool",
  104903. "typeString": "bool"
  104904. }
  104905. }
  104906. ],
  104907. "expression": {
  104908. "argumentTypes": [
  104909. {
  104910. "typeIdentifier": "t_stringliteral_cac434792b973db16714db96d2aeda353b2253f27255abe42b9960b2dc550634",
  104911. "typeString": "literal_string \"log(address,bool,bool,bool)\""
  104912. },
  104913. {
  104914. "typeIdentifier": "t_address",
  104915. "typeString": "address"
  104916. },
  104917. {
  104918. "typeIdentifier": "t_bool",
  104919. "typeString": "bool"
  104920. },
  104921. {
  104922. "typeIdentifier": "t_bool",
  104923. "typeString": "bool"
  104924. },
  104925. {
  104926. "typeIdentifier": "t_bool",
  104927. "typeString": "bool"
  104928. }
  104929. ],
  104930. "expression": {
  104931. "id": 14860,
  104932. "name": "abi",
  104933. "nodeType": "Identifier",
  104934. "overloadedDeclarations": [],
  104935. "referencedDeclaration": -1,
  104936. "src": "64890:3:50",
  104937. "typeDescriptions": {
  104938. "typeIdentifier": "t_magic_abi",
  104939. "typeString": "abi"
  104940. }
  104941. },
  104942. "id": 14861,
  104943. "isConstant": false,
  104944. "isLValue": false,
  104945. "isPure": true,
  104946. "lValueRequested": false,
  104947. "memberLocation": "64894:19:50",
  104948. "memberName": "encodeWithSignature",
  104949. "nodeType": "MemberAccess",
  104950. "src": "64890:23:50",
  104951. "typeDescriptions": {
  104952. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  104953. "typeString": "function (string memory) pure returns (bytes memory)"
  104954. }
  104955. },
  104956. "id": 14867,
  104957. "isConstant": false,
  104958. "isLValue": false,
  104959. "isPure": false,
  104960. "kind": "functionCall",
  104961. "lValueRequested": false,
  104962. "nameLocations": [],
  104963. "names": [],
  104964. "nodeType": "FunctionCall",
  104965. "src": "64890:70:50",
  104966. "tryCall": false,
  104967. "typeDescriptions": {
  104968. "typeIdentifier": "t_bytes_memory_ptr",
  104969. "typeString": "bytes memory"
  104970. }
  104971. }
  104972. ],
  104973. "expression": {
  104974. "argumentTypes": [
  104975. {
  104976. "typeIdentifier": "t_bytes_memory_ptr",
  104977. "typeString": "bytes memory"
  104978. }
  104979. ],
  104980. "id": 14859,
  104981. "name": "_sendLogPayload",
  104982. "nodeType": "Identifier",
  104983. "overloadedDeclarations": [],
  104984. "referencedDeclaration": 7315,
  104985. "src": "64874:15:50",
  104986. "typeDescriptions": {
  104987. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  104988. "typeString": "function (bytes memory) pure"
  104989. }
  104990. },
  104991. "id": 14868,
  104992. "isConstant": false,
  104993. "isLValue": false,
  104994. "isPure": false,
  104995. "kind": "functionCall",
  104996. "lValueRequested": false,
  104997. "nameLocations": [],
  104998. "names": [],
  104999. "nodeType": "FunctionCall",
  105000. "src": "64874:87:50",
  105001. "tryCall": false,
  105002. "typeDescriptions": {
  105003. "typeIdentifier": "t_tuple$__$",
  105004. "typeString": "tuple()"
  105005. }
  105006. },
  105007. "id": 14869,
  105008. "nodeType": "ExpressionStatement",
  105009. "src": "64874:87:50"
  105010. }
  105011. ]
  105012. },
  105013. "implemented": true,
  105014. "kind": "function",
  105015. "modifiers": [],
  105016. "name": "log",
  105017. "nameLocation": "64807:3:50",
  105018. "parameters": {
  105019. "id": 14857,
  105020. "nodeType": "ParameterList",
  105021. "parameters": [
  105022. {
  105023. "constant": false,
  105024. "id": 14850,
  105025. "mutability": "mutable",
  105026. "name": "p0",
  105027. "nameLocation": "64819:2:50",
  105028. "nodeType": "VariableDeclaration",
  105029. "scope": 14871,
  105030. "src": "64811:10:50",
  105031. "stateVariable": false,
  105032. "storageLocation": "default",
  105033. "typeDescriptions": {
  105034. "typeIdentifier": "t_address",
  105035. "typeString": "address"
  105036. },
  105037. "typeName": {
  105038. "id": 14849,
  105039. "name": "address",
  105040. "nodeType": "ElementaryTypeName",
  105041. "src": "64811:7:50",
  105042. "stateMutability": "nonpayable",
  105043. "typeDescriptions": {
  105044. "typeIdentifier": "t_address",
  105045. "typeString": "address"
  105046. }
  105047. },
  105048. "visibility": "internal"
  105049. },
  105050. {
  105051. "constant": false,
  105052. "id": 14852,
  105053. "mutability": "mutable",
  105054. "name": "p1",
  105055. "nameLocation": "64828:2:50",
  105056. "nodeType": "VariableDeclaration",
  105057. "scope": 14871,
  105058. "src": "64823:7:50",
  105059. "stateVariable": false,
  105060. "storageLocation": "default",
  105061. "typeDescriptions": {
  105062. "typeIdentifier": "t_bool",
  105063. "typeString": "bool"
  105064. },
  105065. "typeName": {
  105066. "id": 14851,
  105067. "name": "bool",
  105068. "nodeType": "ElementaryTypeName",
  105069. "src": "64823:4:50",
  105070. "typeDescriptions": {
  105071. "typeIdentifier": "t_bool",
  105072. "typeString": "bool"
  105073. }
  105074. },
  105075. "visibility": "internal"
  105076. },
  105077. {
  105078. "constant": false,
  105079. "id": 14854,
  105080. "mutability": "mutable",
  105081. "name": "p2",
  105082. "nameLocation": "64837:2:50",
  105083. "nodeType": "VariableDeclaration",
  105084. "scope": 14871,
  105085. "src": "64832:7:50",
  105086. "stateVariable": false,
  105087. "storageLocation": "default",
  105088. "typeDescriptions": {
  105089. "typeIdentifier": "t_bool",
  105090. "typeString": "bool"
  105091. },
  105092. "typeName": {
  105093. "id": 14853,
  105094. "name": "bool",
  105095. "nodeType": "ElementaryTypeName",
  105096. "src": "64832:4:50",
  105097. "typeDescriptions": {
  105098. "typeIdentifier": "t_bool",
  105099. "typeString": "bool"
  105100. }
  105101. },
  105102. "visibility": "internal"
  105103. },
  105104. {
  105105. "constant": false,
  105106. "id": 14856,
  105107. "mutability": "mutable",
  105108. "name": "p3",
  105109. "nameLocation": "64846:2:50",
  105110. "nodeType": "VariableDeclaration",
  105111. "scope": 14871,
  105112. "src": "64841:7:50",
  105113. "stateVariable": false,
  105114. "storageLocation": "default",
  105115. "typeDescriptions": {
  105116. "typeIdentifier": "t_bool",
  105117. "typeString": "bool"
  105118. },
  105119. "typeName": {
  105120. "id": 14855,
  105121. "name": "bool",
  105122. "nodeType": "ElementaryTypeName",
  105123. "src": "64841:4:50",
  105124. "typeDescriptions": {
  105125. "typeIdentifier": "t_bool",
  105126. "typeString": "bool"
  105127. }
  105128. },
  105129. "visibility": "internal"
  105130. }
  105131. ],
  105132. "src": "64810:39:50"
  105133. },
  105134. "returnParameters": {
  105135. "id": 14858,
  105136. "nodeType": "ParameterList",
  105137. "parameters": [],
  105138. "src": "64864:0:50"
  105139. },
  105140. "scope": 15355,
  105141. "stateMutability": "pure",
  105142. "virtual": false,
  105143. "visibility": "internal"
  105144. },
  105145. {
  105146. "id": 14894,
  105147. "nodeType": "FunctionDefinition",
  105148. "src": "64974:176:50",
  105149. "nodes": [],
  105150. "body": {
  105151. "id": 14893,
  105152. "nodeType": "Block",
  105153. "src": "65043:107:50",
  105154. "nodes": [],
  105155. "statements": [
  105156. {
  105157. "expression": {
  105158. "arguments": [
  105159. {
  105160. "arguments": [
  105161. {
  105162. "hexValue": "6c6f6728616464726573732c626f6f6c2c626f6f6c2c6164647265737329",
  105163. "id": 14885,
  105164. "isConstant": false,
  105165. "isLValue": false,
  105166. "isPure": true,
  105167. "kind": "string",
  105168. "lValueRequested": false,
  105169. "nodeType": "Literal",
  105170. "src": "65093:32:50",
  105171. "typeDescriptions": {
  105172. "typeIdentifier": "t_stringliteral_cf394485abbd1f04b85b0f2c1a2cfc07e3d51c1c6f28386bf16d9e45161e8953",
  105173. "typeString": "literal_string \"log(address,bool,bool,address)\""
  105174. },
  105175. "value": "log(address,bool,bool,address)"
  105176. },
  105177. {
  105178. "id": 14886,
  105179. "name": "p0",
  105180. "nodeType": "Identifier",
  105181. "overloadedDeclarations": [],
  105182. "referencedDeclaration": 14873,
  105183. "src": "65127:2:50",
  105184. "typeDescriptions": {
  105185. "typeIdentifier": "t_address",
  105186. "typeString": "address"
  105187. }
  105188. },
  105189. {
  105190. "id": 14887,
  105191. "name": "p1",
  105192. "nodeType": "Identifier",
  105193. "overloadedDeclarations": [],
  105194. "referencedDeclaration": 14875,
  105195. "src": "65131:2:50",
  105196. "typeDescriptions": {
  105197. "typeIdentifier": "t_bool",
  105198. "typeString": "bool"
  105199. }
  105200. },
  105201. {
  105202. "id": 14888,
  105203. "name": "p2",
  105204. "nodeType": "Identifier",
  105205. "overloadedDeclarations": [],
  105206. "referencedDeclaration": 14877,
  105207. "src": "65135:2:50",
  105208. "typeDescriptions": {
  105209. "typeIdentifier": "t_bool",
  105210. "typeString": "bool"
  105211. }
  105212. },
  105213. {
  105214. "id": 14889,
  105215. "name": "p3",
  105216. "nodeType": "Identifier",
  105217. "overloadedDeclarations": [],
  105218. "referencedDeclaration": 14879,
  105219. "src": "65139:2:50",
  105220. "typeDescriptions": {
  105221. "typeIdentifier": "t_address",
  105222. "typeString": "address"
  105223. }
  105224. }
  105225. ],
  105226. "expression": {
  105227. "argumentTypes": [
  105228. {
  105229. "typeIdentifier": "t_stringliteral_cf394485abbd1f04b85b0f2c1a2cfc07e3d51c1c6f28386bf16d9e45161e8953",
  105230. "typeString": "literal_string \"log(address,bool,bool,address)\""
  105231. },
  105232. {
  105233. "typeIdentifier": "t_address",
  105234. "typeString": "address"
  105235. },
  105236. {
  105237. "typeIdentifier": "t_bool",
  105238. "typeString": "bool"
  105239. },
  105240. {
  105241. "typeIdentifier": "t_bool",
  105242. "typeString": "bool"
  105243. },
  105244. {
  105245. "typeIdentifier": "t_address",
  105246. "typeString": "address"
  105247. }
  105248. ],
  105249. "expression": {
  105250. "id": 14883,
  105251. "name": "abi",
  105252. "nodeType": "Identifier",
  105253. "overloadedDeclarations": [],
  105254. "referencedDeclaration": -1,
  105255. "src": "65069:3:50",
  105256. "typeDescriptions": {
  105257. "typeIdentifier": "t_magic_abi",
  105258. "typeString": "abi"
  105259. }
  105260. },
  105261. "id": 14884,
  105262. "isConstant": false,
  105263. "isLValue": false,
  105264. "isPure": true,
  105265. "lValueRequested": false,
  105266. "memberLocation": "65073:19:50",
  105267. "memberName": "encodeWithSignature",
  105268. "nodeType": "MemberAccess",
  105269. "src": "65069:23:50",
  105270. "typeDescriptions": {
  105271. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  105272. "typeString": "function (string memory) pure returns (bytes memory)"
  105273. }
  105274. },
  105275. "id": 14890,
  105276. "isConstant": false,
  105277. "isLValue": false,
  105278. "isPure": false,
  105279. "kind": "functionCall",
  105280. "lValueRequested": false,
  105281. "nameLocations": [],
  105282. "names": [],
  105283. "nodeType": "FunctionCall",
  105284. "src": "65069:73:50",
  105285. "tryCall": false,
  105286. "typeDescriptions": {
  105287. "typeIdentifier": "t_bytes_memory_ptr",
  105288. "typeString": "bytes memory"
  105289. }
  105290. }
  105291. ],
  105292. "expression": {
  105293. "argumentTypes": [
  105294. {
  105295. "typeIdentifier": "t_bytes_memory_ptr",
  105296. "typeString": "bytes memory"
  105297. }
  105298. ],
  105299. "id": 14882,
  105300. "name": "_sendLogPayload",
  105301. "nodeType": "Identifier",
  105302. "overloadedDeclarations": [],
  105303. "referencedDeclaration": 7315,
  105304. "src": "65053:15:50",
  105305. "typeDescriptions": {
  105306. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  105307. "typeString": "function (bytes memory) pure"
  105308. }
  105309. },
  105310. "id": 14891,
  105311. "isConstant": false,
  105312. "isLValue": false,
  105313. "isPure": false,
  105314. "kind": "functionCall",
  105315. "lValueRequested": false,
  105316. "nameLocations": [],
  105317. "names": [],
  105318. "nodeType": "FunctionCall",
  105319. "src": "65053:90:50",
  105320. "tryCall": false,
  105321. "typeDescriptions": {
  105322. "typeIdentifier": "t_tuple$__$",
  105323. "typeString": "tuple()"
  105324. }
  105325. },
  105326. "id": 14892,
  105327. "nodeType": "ExpressionStatement",
  105328. "src": "65053:90:50"
  105329. }
  105330. ]
  105331. },
  105332. "implemented": true,
  105333. "kind": "function",
  105334. "modifiers": [],
  105335. "name": "log",
  105336. "nameLocation": "64983:3:50",
  105337. "parameters": {
  105338. "id": 14880,
  105339. "nodeType": "ParameterList",
  105340. "parameters": [
  105341. {
  105342. "constant": false,
  105343. "id": 14873,
  105344. "mutability": "mutable",
  105345. "name": "p0",
  105346. "nameLocation": "64995:2:50",
  105347. "nodeType": "VariableDeclaration",
  105348. "scope": 14894,
  105349. "src": "64987:10:50",
  105350. "stateVariable": false,
  105351. "storageLocation": "default",
  105352. "typeDescriptions": {
  105353. "typeIdentifier": "t_address",
  105354. "typeString": "address"
  105355. },
  105356. "typeName": {
  105357. "id": 14872,
  105358. "name": "address",
  105359. "nodeType": "ElementaryTypeName",
  105360. "src": "64987:7:50",
  105361. "stateMutability": "nonpayable",
  105362. "typeDescriptions": {
  105363. "typeIdentifier": "t_address",
  105364. "typeString": "address"
  105365. }
  105366. },
  105367. "visibility": "internal"
  105368. },
  105369. {
  105370. "constant": false,
  105371. "id": 14875,
  105372. "mutability": "mutable",
  105373. "name": "p1",
  105374. "nameLocation": "65004:2:50",
  105375. "nodeType": "VariableDeclaration",
  105376. "scope": 14894,
  105377. "src": "64999:7:50",
  105378. "stateVariable": false,
  105379. "storageLocation": "default",
  105380. "typeDescriptions": {
  105381. "typeIdentifier": "t_bool",
  105382. "typeString": "bool"
  105383. },
  105384. "typeName": {
  105385. "id": 14874,
  105386. "name": "bool",
  105387. "nodeType": "ElementaryTypeName",
  105388. "src": "64999:4:50",
  105389. "typeDescriptions": {
  105390. "typeIdentifier": "t_bool",
  105391. "typeString": "bool"
  105392. }
  105393. },
  105394. "visibility": "internal"
  105395. },
  105396. {
  105397. "constant": false,
  105398. "id": 14877,
  105399. "mutability": "mutable",
  105400. "name": "p2",
  105401. "nameLocation": "65013:2:50",
  105402. "nodeType": "VariableDeclaration",
  105403. "scope": 14894,
  105404. "src": "65008:7:50",
  105405. "stateVariable": false,
  105406. "storageLocation": "default",
  105407. "typeDescriptions": {
  105408. "typeIdentifier": "t_bool",
  105409. "typeString": "bool"
  105410. },
  105411. "typeName": {
  105412. "id": 14876,
  105413. "name": "bool",
  105414. "nodeType": "ElementaryTypeName",
  105415. "src": "65008:4:50",
  105416. "typeDescriptions": {
  105417. "typeIdentifier": "t_bool",
  105418. "typeString": "bool"
  105419. }
  105420. },
  105421. "visibility": "internal"
  105422. },
  105423. {
  105424. "constant": false,
  105425. "id": 14879,
  105426. "mutability": "mutable",
  105427. "name": "p3",
  105428. "nameLocation": "65025:2:50",
  105429. "nodeType": "VariableDeclaration",
  105430. "scope": 14894,
  105431. "src": "65017:10:50",
  105432. "stateVariable": false,
  105433. "storageLocation": "default",
  105434. "typeDescriptions": {
  105435. "typeIdentifier": "t_address",
  105436. "typeString": "address"
  105437. },
  105438. "typeName": {
  105439. "id": 14878,
  105440. "name": "address",
  105441. "nodeType": "ElementaryTypeName",
  105442. "src": "65017:7:50",
  105443. "stateMutability": "nonpayable",
  105444. "typeDescriptions": {
  105445. "typeIdentifier": "t_address",
  105446. "typeString": "address"
  105447. }
  105448. },
  105449. "visibility": "internal"
  105450. }
  105451. ],
  105452. "src": "64986:42:50"
  105453. },
  105454. "returnParameters": {
  105455. "id": 14881,
  105456. "nodeType": "ParameterList",
  105457. "parameters": [],
  105458. "src": "65043:0:50"
  105459. },
  105460. "scope": 15355,
  105461. "stateMutability": "pure",
  105462. "virtual": false,
  105463. "visibility": "internal"
  105464. },
  105465. {
  105466. "id": 14917,
  105467. "nodeType": "FunctionDefinition",
  105468. "src": "65156:182:50",
  105469. "nodes": [],
  105470. "body": {
  105471. "id": 14916,
  105472. "nodeType": "Block",
  105473. "src": "65228:110:50",
  105474. "nodes": [],
  105475. "statements": [
  105476. {
  105477. "expression": {
  105478. "arguments": [
  105479. {
  105480. "arguments": [
  105481. {
  105482. "hexValue": "6c6f6728616464726573732c626f6f6c2c616464726573732c75696e7432353629",
  105483. "id": 14908,
  105484. "isConstant": false,
  105485. "isLValue": false,
  105486. "isPure": true,
  105487. "kind": "string",
  105488. "lValueRequested": false,
  105489. "nodeType": "Literal",
  105490. "src": "65278:35:50",
  105491. "typeDescriptions": {
  105492. "typeIdentifier": "t_stringliteral_a75c59de36827f2596ade7bd79f668ae219518c12b79ebf06071586765c3e039",
  105493. "typeString": "literal_string \"log(address,bool,address,uint256)\""
  105494. },
  105495. "value": "log(address,bool,address,uint256)"
  105496. },
  105497. {
  105498. "id": 14909,
  105499. "name": "p0",
  105500. "nodeType": "Identifier",
  105501. "overloadedDeclarations": [],
  105502. "referencedDeclaration": 14896,
  105503. "src": "65315:2:50",
  105504. "typeDescriptions": {
  105505. "typeIdentifier": "t_address",
  105506. "typeString": "address"
  105507. }
  105508. },
  105509. {
  105510. "id": 14910,
  105511. "name": "p1",
  105512. "nodeType": "Identifier",
  105513. "overloadedDeclarations": [],
  105514. "referencedDeclaration": 14898,
  105515. "src": "65319:2:50",
  105516. "typeDescriptions": {
  105517. "typeIdentifier": "t_bool",
  105518. "typeString": "bool"
  105519. }
  105520. },
  105521. {
  105522. "id": 14911,
  105523. "name": "p2",
  105524. "nodeType": "Identifier",
  105525. "overloadedDeclarations": [],
  105526. "referencedDeclaration": 14900,
  105527. "src": "65323:2:50",
  105528. "typeDescriptions": {
  105529. "typeIdentifier": "t_address",
  105530. "typeString": "address"
  105531. }
  105532. },
  105533. {
  105534. "id": 14912,
  105535. "name": "p3",
  105536. "nodeType": "Identifier",
  105537. "overloadedDeclarations": [],
  105538. "referencedDeclaration": 14902,
  105539. "src": "65327:2:50",
  105540. "typeDescriptions": {
  105541. "typeIdentifier": "t_uint256",
  105542. "typeString": "uint256"
  105543. }
  105544. }
  105545. ],
  105546. "expression": {
  105547. "argumentTypes": [
  105548. {
  105549. "typeIdentifier": "t_stringliteral_a75c59de36827f2596ade7bd79f668ae219518c12b79ebf06071586765c3e039",
  105550. "typeString": "literal_string \"log(address,bool,address,uint256)\""
  105551. },
  105552. {
  105553. "typeIdentifier": "t_address",
  105554. "typeString": "address"
  105555. },
  105556. {
  105557. "typeIdentifier": "t_bool",
  105558. "typeString": "bool"
  105559. },
  105560. {
  105561. "typeIdentifier": "t_address",
  105562. "typeString": "address"
  105563. },
  105564. {
  105565. "typeIdentifier": "t_uint256",
  105566. "typeString": "uint256"
  105567. }
  105568. ],
  105569. "expression": {
  105570. "id": 14906,
  105571. "name": "abi",
  105572. "nodeType": "Identifier",
  105573. "overloadedDeclarations": [],
  105574. "referencedDeclaration": -1,
  105575. "src": "65254:3:50",
  105576. "typeDescriptions": {
  105577. "typeIdentifier": "t_magic_abi",
  105578. "typeString": "abi"
  105579. }
  105580. },
  105581. "id": 14907,
  105582. "isConstant": false,
  105583. "isLValue": false,
  105584. "isPure": true,
  105585. "lValueRequested": false,
  105586. "memberLocation": "65258:19:50",
  105587. "memberName": "encodeWithSignature",
  105588. "nodeType": "MemberAccess",
  105589. "src": "65254:23:50",
  105590. "typeDescriptions": {
  105591. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  105592. "typeString": "function (string memory) pure returns (bytes memory)"
  105593. }
  105594. },
  105595. "id": 14913,
  105596. "isConstant": false,
  105597. "isLValue": false,
  105598. "isPure": false,
  105599. "kind": "functionCall",
  105600. "lValueRequested": false,
  105601. "nameLocations": [],
  105602. "names": [],
  105603. "nodeType": "FunctionCall",
  105604. "src": "65254:76:50",
  105605. "tryCall": false,
  105606. "typeDescriptions": {
  105607. "typeIdentifier": "t_bytes_memory_ptr",
  105608. "typeString": "bytes memory"
  105609. }
  105610. }
  105611. ],
  105612. "expression": {
  105613. "argumentTypes": [
  105614. {
  105615. "typeIdentifier": "t_bytes_memory_ptr",
  105616. "typeString": "bytes memory"
  105617. }
  105618. ],
  105619. "id": 14905,
  105620. "name": "_sendLogPayload",
  105621. "nodeType": "Identifier",
  105622. "overloadedDeclarations": [],
  105623. "referencedDeclaration": 7315,
  105624. "src": "65238:15:50",
  105625. "typeDescriptions": {
  105626. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  105627. "typeString": "function (bytes memory) pure"
  105628. }
  105629. },
  105630. "id": 14914,
  105631. "isConstant": false,
  105632. "isLValue": false,
  105633. "isPure": false,
  105634. "kind": "functionCall",
  105635. "lValueRequested": false,
  105636. "nameLocations": [],
  105637. "names": [],
  105638. "nodeType": "FunctionCall",
  105639. "src": "65238:93:50",
  105640. "tryCall": false,
  105641. "typeDescriptions": {
  105642. "typeIdentifier": "t_tuple$__$",
  105643. "typeString": "tuple()"
  105644. }
  105645. },
  105646. "id": 14915,
  105647. "nodeType": "ExpressionStatement",
  105648. "src": "65238:93:50"
  105649. }
  105650. ]
  105651. },
  105652. "implemented": true,
  105653. "kind": "function",
  105654. "modifiers": [],
  105655. "name": "log",
  105656. "nameLocation": "65165:3:50",
  105657. "parameters": {
  105658. "id": 14903,
  105659. "nodeType": "ParameterList",
  105660. "parameters": [
  105661. {
  105662. "constant": false,
  105663. "id": 14896,
  105664. "mutability": "mutable",
  105665. "name": "p0",
  105666. "nameLocation": "65177:2:50",
  105667. "nodeType": "VariableDeclaration",
  105668. "scope": 14917,
  105669. "src": "65169:10:50",
  105670. "stateVariable": false,
  105671. "storageLocation": "default",
  105672. "typeDescriptions": {
  105673. "typeIdentifier": "t_address",
  105674. "typeString": "address"
  105675. },
  105676. "typeName": {
  105677. "id": 14895,
  105678. "name": "address",
  105679. "nodeType": "ElementaryTypeName",
  105680. "src": "65169:7:50",
  105681. "stateMutability": "nonpayable",
  105682. "typeDescriptions": {
  105683. "typeIdentifier": "t_address",
  105684. "typeString": "address"
  105685. }
  105686. },
  105687. "visibility": "internal"
  105688. },
  105689. {
  105690. "constant": false,
  105691. "id": 14898,
  105692. "mutability": "mutable",
  105693. "name": "p1",
  105694. "nameLocation": "65186:2:50",
  105695. "nodeType": "VariableDeclaration",
  105696. "scope": 14917,
  105697. "src": "65181:7:50",
  105698. "stateVariable": false,
  105699. "storageLocation": "default",
  105700. "typeDescriptions": {
  105701. "typeIdentifier": "t_bool",
  105702. "typeString": "bool"
  105703. },
  105704. "typeName": {
  105705. "id": 14897,
  105706. "name": "bool",
  105707. "nodeType": "ElementaryTypeName",
  105708. "src": "65181:4:50",
  105709. "typeDescriptions": {
  105710. "typeIdentifier": "t_bool",
  105711. "typeString": "bool"
  105712. }
  105713. },
  105714. "visibility": "internal"
  105715. },
  105716. {
  105717. "constant": false,
  105718. "id": 14900,
  105719. "mutability": "mutable",
  105720. "name": "p2",
  105721. "nameLocation": "65198:2:50",
  105722. "nodeType": "VariableDeclaration",
  105723. "scope": 14917,
  105724. "src": "65190:10:50",
  105725. "stateVariable": false,
  105726. "storageLocation": "default",
  105727. "typeDescriptions": {
  105728. "typeIdentifier": "t_address",
  105729. "typeString": "address"
  105730. },
  105731. "typeName": {
  105732. "id": 14899,
  105733. "name": "address",
  105734. "nodeType": "ElementaryTypeName",
  105735. "src": "65190:7:50",
  105736. "stateMutability": "nonpayable",
  105737. "typeDescriptions": {
  105738. "typeIdentifier": "t_address",
  105739. "typeString": "address"
  105740. }
  105741. },
  105742. "visibility": "internal"
  105743. },
  105744. {
  105745. "constant": false,
  105746. "id": 14902,
  105747. "mutability": "mutable",
  105748. "name": "p3",
  105749. "nameLocation": "65210:2:50",
  105750. "nodeType": "VariableDeclaration",
  105751. "scope": 14917,
  105752. "src": "65202:10:50",
  105753. "stateVariable": false,
  105754. "storageLocation": "default",
  105755. "typeDescriptions": {
  105756. "typeIdentifier": "t_uint256",
  105757. "typeString": "uint256"
  105758. },
  105759. "typeName": {
  105760. "id": 14901,
  105761. "name": "uint256",
  105762. "nodeType": "ElementaryTypeName",
  105763. "src": "65202:7:50",
  105764. "typeDescriptions": {
  105765. "typeIdentifier": "t_uint256",
  105766. "typeString": "uint256"
  105767. }
  105768. },
  105769. "visibility": "internal"
  105770. }
  105771. ],
  105772. "src": "65168:45:50"
  105773. },
  105774. "returnParameters": {
  105775. "id": 14904,
  105776. "nodeType": "ParameterList",
  105777. "parameters": [],
  105778. "src": "65228:0:50"
  105779. },
  105780. "scope": 15355,
  105781. "stateMutability": "pure",
  105782. "virtual": false,
  105783. "visibility": "internal"
  105784. },
  105785. {
  105786. "id": 14940,
  105787. "nodeType": "FunctionDefinition",
  105788. "src": "65344:187:50",
  105789. "nodes": [],
  105790. "body": {
  105791. "id": 14939,
  105792. "nodeType": "Block",
  105793. "src": "65422:109:50",
  105794. "nodes": [],
  105795. "statements": [
  105796. {
  105797. "expression": {
  105798. "arguments": [
  105799. {
  105800. "arguments": [
  105801. {
  105802. "hexValue": "6c6f6728616464726573732c626f6f6c2c616464726573732c737472696e6729",
  105803. "id": 14931,
  105804. "isConstant": false,
  105805. "isLValue": false,
  105806. "isPure": true,
  105807. "kind": "string",
  105808. "lValueRequested": false,
  105809. "nodeType": "Literal",
  105810. "src": "65472:34:50",
  105811. "typeDescriptions": {
  105812. "typeIdentifier": "t_stringliteral_2dd778e616be9386b5911da1a074bbaf979640681783fca6396ea75c8caf6453",
  105813. "typeString": "literal_string \"log(address,bool,address,string)\""
  105814. },
  105815. "value": "log(address,bool,address,string)"
  105816. },
  105817. {
  105818. "id": 14932,
  105819. "name": "p0",
  105820. "nodeType": "Identifier",
  105821. "overloadedDeclarations": [],
  105822. "referencedDeclaration": 14919,
  105823. "src": "65508:2:50",
  105824. "typeDescriptions": {
  105825. "typeIdentifier": "t_address",
  105826. "typeString": "address"
  105827. }
  105828. },
  105829. {
  105830. "id": 14933,
  105831. "name": "p1",
  105832. "nodeType": "Identifier",
  105833. "overloadedDeclarations": [],
  105834. "referencedDeclaration": 14921,
  105835. "src": "65512:2:50",
  105836. "typeDescriptions": {
  105837. "typeIdentifier": "t_bool",
  105838. "typeString": "bool"
  105839. }
  105840. },
  105841. {
  105842. "id": 14934,
  105843. "name": "p2",
  105844. "nodeType": "Identifier",
  105845. "overloadedDeclarations": [],
  105846. "referencedDeclaration": 14923,
  105847. "src": "65516:2:50",
  105848. "typeDescriptions": {
  105849. "typeIdentifier": "t_address",
  105850. "typeString": "address"
  105851. }
  105852. },
  105853. {
  105854. "id": 14935,
  105855. "name": "p3",
  105856. "nodeType": "Identifier",
  105857. "overloadedDeclarations": [],
  105858. "referencedDeclaration": 14925,
  105859. "src": "65520:2:50",
  105860. "typeDescriptions": {
  105861. "typeIdentifier": "t_string_memory_ptr",
  105862. "typeString": "string memory"
  105863. }
  105864. }
  105865. ],
  105866. "expression": {
  105867. "argumentTypes": [
  105868. {
  105869. "typeIdentifier": "t_stringliteral_2dd778e616be9386b5911da1a074bbaf979640681783fca6396ea75c8caf6453",
  105870. "typeString": "literal_string \"log(address,bool,address,string)\""
  105871. },
  105872. {
  105873. "typeIdentifier": "t_address",
  105874. "typeString": "address"
  105875. },
  105876. {
  105877. "typeIdentifier": "t_bool",
  105878. "typeString": "bool"
  105879. },
  105880. {
  105881. "typeIdentifier": "t_address",
  105882. "typeString": "address"
  105883. },
  105884. {
  105885. "typeIdentifier": "t_string_memory_ptr",
  105886. "typeString": "string memory"
  105887. }
  105888. ],
  105889. "expression": {
  105890. "id": 14929,
  105891. "name": "abi",
  105892. "nodeType": "Identifier",
  105893. "overloadedDeclarations": [],
  105894. "referencedDeclaration": -1,
  105895. "src": "65448:3:50",
  105896. "typeDescriptions": {
  105897. "typeIdentifier": "t_magic_abi",
  105898. "typeString": "abi"
  105899. }
  105900. },
  105901. "id": 14930,
  105902. "isConstant": false,
  105903. "isLValue": false,
  105904. "isPure": true,
  105905. "lValueRequested": false,
  105906. "memberLocation": "65452:19:50",
  105907. "memberName": "encodeWithSignature",
  105908. "nodeType": "MemberAccess",
  105909. "src": "65448:23:50",
  105910. "typeDescriptions": {
  105911. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  105912. "typeString": "function (string memory) pure returns (bytes memory)"
  105913. }
  105914. },
  105915. "id": 14936,
  105916. "isConstant": false,
  105917. "isLValue": false,
  105918. "isPure": false,
  105919. "kind": "functionCall",
  105920. "lValueRequested": false,
  105921. "nameLocations": [],
  105922. "names": [],
  105923. "nodeType": "FunctionCall",
  105924. "src": "65448:75:50",
  105925. "tryCall": false,
  105926. "typeDescriptions": {
  105927. "typeIdentifier": "t_bytes_memory_ptr",
  105928. "typeString": "bytes memory"
  105929. }
  105930. }
  105931. ],
  105932. "expression": {
  105933. "argumentTypes": [
  105934. {
  105935. "typeIdentifier": "t_bytes_memory_ptr",
  105936. "typeString": "bytes memory"
  105937. }
  105938. ],
  105939. "id": 14928,
  105940. "name": "_sendLogPayload",
  105941. "nodeType": "Identifier",
  105942. "overloadedDeclarations": [],
  105943. "referencedDeclaration": 7315,
  105944. "src": "65432:15:50",
  105945. "typeDescriptions": {
  105946. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  105947. "typeString": "function (bytes memory) pure"
  105948. }
  105949. },
  105950. "id": 14937,
  105951. "isConstant": false,
  105952. "isLValue": false,
  105953. "isPure": false,
  105954. "kind": "functionCall",
  105955. "lValueRequested": false,
  105956. "nameLocations": [],
  105957. "names": [],
  105958. "nodeType": "FunctionCall",
  105959. "src": "65432:92:50",
  105960. "tryCall": false,
  105961. "typeDescriptions": {
  105962. "typeIdentifier": "t_tuple$__$",
  105963. "typeString": "tuple()"
  105964. }
  105965. },
  105966. "id": 14938,
  105967. "nodeType": "ExpressionStatement",
  105968. "src": "65432:92:50"
  105969. }
  105970. ]
  105971. },
  105972. "implemented": true,
  105973. "kind": "function",
  105974. "modifiers": [],
  105975. "name": "log",
  105976. "nameLocation": "65353:3:50",
  105977. "parameters": {
  105978. "id": 14926,
  105979. "nodeType": "ParameterList",
  105980. "parameters": [
  105981. {
  105982. "constant": false,
  105983. "id": 14919,
  105984. "mutability": "mutable",
  105985. "name": "p0",
  105986. "nameLocation": "65365:2:50",
  105987. "nodeType": "VariableDeclaration",
  105988. "scope": 14940,
  105989. "src": "65357:10:50",
  105990. "stateVariable": false,
  105991. "storageLocation": "default",
  105992. "typeDescriptions": {
  105993. "typeIdentifier": "t_address",
  105994. "typeString": "address"
  105995. },
  105996. "typeName": {
  105997. "id": 14918,
  105998. "name": "address",
  105999. "nodeType": "ElementaryTypeName",
  106000. "src": "65357:7:50",
  106001. "stateMutability": "nonpayable",
  106002. "typeDescriptions": {
  106003. "typeIdentifier": "t_address",
  106004. "typeString": "address"
  106005. }
  106006. },
  106007. "visibility": "internal"
  106008. },
  106009. {
  106010. "constant": false,
  106011. "id": 14921,
  106012. "mutability": "mutable",
  106013. "name": "p1",
  106014. "nameLocation": "65374:2:50",
  106015. "nodeType": "VariableDeclaration",
  106016. "scope": 14940,
  106017. "src": "65369:7:50",
  106018. "stateVariable": false,
  106019. "storageLocation": "default",
  106020. "typeDescriptions": {
  106021. "typeIdentifier": "t_bool",
  106022. "typeString": "bool"
  106023. },
  106024. "typeName": {
  106025. "id": 14920,
  106026. "name": "bool",
  106027. "nodeType": "ElementaryTypeName",
  106028. "src": "65369:4:50",
  106029. "typeDescriptions": {
  106030. "typeIdentifier": "t_bool",
  106031. "typeString": "bool"
  106032. }
  106033. },
  106034. "visibility": "internal"
  106035. },
  106036. {
  106037. "constant": false,
  106038. "id": 14923,
  106039. "mutability": "mutable",
  106040. "name": "p2",
  106041. "nameLocation": "65386:2:50",
  106042. "nodeType": "VariableDeclaration",
  106043. "scope": 14940,
  106044. "src": "65378:10:50",
  106045. "stateVariable": false,
  106046. "storageLocation": "default",
  106047. "typeDescriptions": {
  106048. "typeIdentifier": "t_address",
  106049. "typeString": "address"
  106050. },
  106051. "typeName": {
  106052. "id": 14922,
  106053. "name": "address",
  106054. "nodeType": "ElementaryTypeName",
  106055. "src": "65378:7:50",
  106056. "stateMutability": "nonpayable",
  106057. "typeDescriptions": {
  106058. "typeIdentifier": "t_address",
  106059. "typeString": "address"
  106060. }
  106061. },
  106062. "visibility": "internal"
  106063. },
  106064. {
  106065. "constant": false,
  106066. "id": 14925,
  106067. "mutability": "mutable",
  106068. "name": "p3",
  106069. "nameLocation": "65404:2:50",
  106070. "nodeType": "VariableDeclaration",
  106071. "scope": 14940,
  106072. "src": "65390:16:50",
  106073. "stateVariable": false,
  106074. "storageLocation": "memory",
  106075. "typeDescriptions": {
  106076. "typeIdentifier": "t_string_memory_ptr",
  106077. "typeString": "string"
  106078. },
  106079. "typeName": {
  106080. "id": 14924,
  106081. "name": "string",
  106082. "nodeType": "ElementaryTypeName",
  106083. "src": "65390:6:50",
  106084. "typeDescriptions": {
  106085. "typeIdentifier": "t_string_storage_ptr",
  106086. "typeString": "string"
  106087. }
  106088. },
  106089. "visibility": "internal"
  106090. }
  106091. ],
  106092. "src": "65356:51:50"
  106093. },
  106094. "returnParameters": {
  106095. "id": 14927,
  106096. "nodeType": "ParameterList",
  106097. "parameters": [],
  106098. "src": "65422:0:50"
  106099. },
  106100. "scope": 15355,
  106101. "stateMutability": "pure",
  106102. "virtual": false,
  106103. "visibility": "internal"
  106104. },
  106105. {
  106106. "id": 14963,
  106107. "nodeType": "FunctionDefinition",
  106108. "src": "65537:176:50",
  106109. "nodes": [],
  106110. "body": {
  106111. "id": 14962,
  106112. "nodeType": "Block",
  106113. "src": "65606:107:50",
  106114. "nodes": [],
  106115. "statements": [
  106116. {
  106117. "expression": {
  106118. "arguments": [
  106119. {
  106120. "arguments": [
  106121. {
  106122. "hexValue": "6c6f6728616464726573732c626f6f6c2c616464726573732c626f6f6c29",
  106123. "id": 14954,
  106124. "isConstant": false,
  106125. "isLValue": false,
  106126. "isPure": true,
  106127. "kind": "string",
  106128. "lValueRequested": false,
  106129. "nodeType": "Literal",
  106130. "src": "65656:32:50",
  106131. "typeDescriptions": {
  106132. "typeIdentifier": "t_stringliteral_a6f50b0f122c916fe81861751b94bdddb5e453947768e8af206397bb510790b1",
  106133. "typeString": "literal_string \"log(address,bool,address,bool)\""
  106134. },
  106135. "value": "log(address,bool,address,bool)"
  106136. },
  106137. {
  106138. "id": 14955,
  106139. "name": "p0",
  106140. "nodeType": "Identifier",
  106141. "overloadedDeclarations": [],
  106142. "referencedDeclaration": 14942,
  106143. "src": "65690:2:50",
  106144. "typeDescriptions": {
  106145. "typeIdentifier": "t_address",
  106146. "typeString": "address"
  106147. }
  106148. },
  106149. {
  106150. "id": 14956,
  106151. "name": "p1",
  106152. "nodeType": "Identifier",
  106153. "overloadedDeclarations": [],
  106154. "referencedDeclaration": 14944,
  106155. "src": "65694:2:50",
  106156. "typeDescriptions": {
  106157. "typeIdentifier": "t_bool",
  106158. "typeString": "bool"
  106159. }
  106160. },
  106161. {
  106162. "id": 14957,
  106163. "name": "p2",
  106164. "nodeType": "Identifier",
  106165. "overloadedDeclarations": [],
  106166. "referencedDeclaration": 14946,
  106167. "src": "65698:2:50",
  106168. "typeDescriptions": {
  106169. "typeIdentifier": "t_address",
  106170. "typeString": "address"
  106171. }
  106172. },
  106173. {
  106174. "id": 14958,
  106175. "name": "p3",
  106176. "nodeType": "Identifier",
  106177. "overloadedDeclarations": [],
  106178. "referencedDeclaration": 14948,
  106179. "src": "65702:2:50",
  106180. "typeDescriptions": {
  106181. "typeIdentifier": "t_bool",
  106182. "typeString": "bool"
  106183. }
  106184. }
  106185. ],
  106186. "expression": {
  106187. "argumentTypes": [
  106188. {
  106189. "typeIdentifier": "t_stringliteral_a6f50b0f122c916fe81861751b94bdddb5e453947768e8af206397bb510790b1",
  106190. "typeString": "literal_string \"log(address,bool,address,bool)\""
  106191. },
  106192. {
  106193. "typeIdentifier": "t_address",
  106194. "typeString": "address"
  106195. },
  106196. {
  106197. "typeIdentifier": "t_bool",
  106198. "typeString": "bool"
  106199. },
  106200. {
  106201. "typeIdentifier": "t_address",
  106202. "typeString": "address"
  106203. },
  106204. {
  106205. "typeIdentifier": "t_bool",
  106206. "typeString": "bool"
  106207. }
  106208. ],
  106209. "expression": {
  106210. "id": 14952,
  106211. "name": "abi",
  106212. "nodeType": "Identifier",
  106213. "overloadedDeclarations": [],
  106214. "referencedDeclaration": -1,
  106215. "src": "65632:3:50",
  106216. "typeDescriptions": {
  106217. "typeIdentifier": "t_magic_abi",
  106218. "typeString": "abi"
  106219. }
  106220. },
  106221. "id": 14953,
  106222. "isConstant": false,
  106223. "isLValue": false,
  106224. "isPure": true,
  106225. "lValueRequested": false,
  106226. "memberLocation": "65636:19:50",
  106227. "memberName": "encodeWithSignature",
  106228. "nodeType": "MemberAccess",
  106229. "src": "65632:23:50",
  106230. "typeDescriptions": {
  106231. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  106232. "typeString": "function (string memory) pure returns (bytes memory)"
  106233. }
  106234. },
  106235. "id": 14959,
  106236. "isConstant": false,
  106237. "isLValue": false,
  106238. "isPure": false,
  106239. "kind": "functionCall",
  106240. "lValueRequested": false,
  106241. "nameLocations": [],
  106242. "names": [],
  106243. "nodeType": "FunctionCall",
  106244. "src": "65632:73:50",
  106245. "tryCall": false,
  106246. "typeDescriptions": {
  106247. "typeIdentifier": "t_bytes_memory_ptr",
  106248. "typeString": "bytes memory"
  106249. }
  106250. }
  106251. ],
  106252. "expression": {
  106253. "argumentTypes": [
  106254. {
  106255. "typeIdentifier": "t_bytes_memory_ptr",
  106256. "typeString": "bytes memory"
  106257. }
  106258. ],
  106259. "id": 14951,
  106260. "name": "_sendLogPayload",
  106261. "nodeType": "Identifier",
  106262. "overloadedDeclarations": [],
  106263. "referencedDeclaration": 7315,
  106264. "src": "65616:15:50",
  106265. "typeDescriptions": {
  106266. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  106267. "typeString": "function (bytes memory) pure"
  106268. }
  106269. },
  106270. "id": 14960,
  106271. "isConstant": false,
  106272. "isLValue": false,
  106273. "isPure": false,
  106274. "kind": "functionCall",
  106275. "lValueRequested": false,
  106276. "nameLocations": [],
  106277. "names": [],
  106278. "nodeType": "FunctionCall",
  106279. "src": "65616:90:50",
  106280. "tryCall": false,
  106281. "typeDescriptions": {
  106282. "typeIdentifier": "t_tuple$__$",
  106283. "typeString": "tuple()"
  106284. }
  106285. },
  106286. "id": 14961,
  106287. "nodeType": "ExpressionStatement",
  106288. "src": "65616:90:50"
  106289. }
  106290. ]
  106291. },
  106292. "implemented": true,
  106293. "kind": "function",
  106294. "modifiers": [],
  106295. "name": "log",
  106296. "nameLocation": "65546:3:50",
  106297. "parameters": {
  106298. "id": 14949,
  106299. "nodeType": "ParameterList",
  106300. "parameters": [
  106301. {
  106302. "constant": false,
  106303. "id": 14942,
  106304. "mutability": "mutable",
  106305. "name": "p0",
  106306. "nameLocation": "65558:2:50",
  106307. "nodeType": "VariableDeclaration",
  106308. "scope": 14963,
  106309. "src": "65550:10:50",
  106310. "stateVariable": false,
  106311. "storageLocation": "default",
  106312. "typeDescriptions": {
  106313. "typeIdentifier": "t_address",
  106314. "typeString": "address"
  106315. },
  106316. "typeName": {
  106317. "id": 14941,
  106318. "name": "address",
  106319. "nodeType": "ElementaryTypeName",
  106320. "src": "65550:7:50",
  106321. "stateMutability": "nonpayable",
  106322. "typeDescriptions": {
  106323. "typeIdentifier": "t_address",
  106324. "typeString": "address"
  106325. }
  106326. },
  106327. "visibility": "internal"
  106328. },
  106329. {
  106330. "constant": false,
  106331. "id": 14944,
  106332. "mutability": "mutable",
  106333. "name": "p1",
  106334. "nameLocation": "65567:2:50",
  106335. "nodeType": "VariableDeclaration",
  106336. "scope": 14963,
  106337. "src": "65562:7:50",
  106338. "stateVariable": false,
  106339. "storageLocation": "default",
  106340. "typeDescriptions": {
  106341. "typeIdentifier": "t_bool",
  106342. "typeString": "bool"
  106343. },
  106344. "typeName": {
  106345. "id": 14943,
  106346. "name": "bool",
  106347. "nodeType": "ElementaryTypeName",
  106348. "src": "65562:4:50",
  106349. "typeDescriptions": {
  106350. "typeIdentifier": "t_bool",
  106351. "typeString": "bool"
  106352. }
  106353. },
  106354. "visibility": "internal"
  106355. },
  106356. {
  106357. "constant": false,
  106358. "id": 14946,
  106359. "mutability": "mutable",
  106360. "name": "p2",
  106361. "nameLocation": "65579:2:50",
  106362. "nodeType": "VariableDeclaration",
  106363. "scope": 14963,
  106364. "src": "65571:10:50",
  106365. "stateVariable": false,
  106366. "storageLocation": "default",
  106367. "typeDescriptions": {
  106368. "typeIdentifier": "t_address",
  106369. "typeString": "address"
  106370. },
  106371. "typeName": {
  106372. "id": 14945,
  106373. "name": "address",
  106374. "nodeType": "ElementaryTypeName",
  106375. "src": "65571:7:50",
  106376. "stateMutability": "nonpayable",
  106377. "typeDescriptions": {
  106378. "typeIdentifier": "t_address",
  106379. "typeString": "address"
  106380. }
  106381. },
  106382. "visibility": "internal"
  106383. },
  106384. {
  106385. "constant": false,
  106386. "id": 14948,
  106387. "mutability": "mutable",
  106388. "name": "p3",
  106389. "nameLocation": "65588:2:50",
  106390. "nodeType": "VariableDeclaration",
  106391. "scope": 14963,
  106392. "src": "65583:7:50",
  106393. "stateVariable": false,
  106394. "storageLocation": "default",
  106395. "typeDescriptions": {
  106396. "typeIdentifier": "t_bool",
  106397. "typeString": "bool"
  106398. },
  106399. "typeName": {
  106400. "id": 14947,
  106401. "name": "bool",
  106402. "nodeType": "ElementaryTypeName",
  106403. "src": "65583:4:50",
  106404. "typeDescriptions": {
  106405. "typeIdentifier": "t_bool",
  106406. "typeString": "bool"
  106407. }
  106408. },
  106409. "visibility": "internal"
  106410. }
  106411. ],
  106412. "src": "65549:42:50"
  106413. },
  106414. "returnParameters": {
  106415. "id": 14950,
  106416. "nodeType": "ParameterList",
  106417. "parameters": [],
  106418. "src": "65606:0:50"
  106419. },
  106420. "scope": 15355,
  106421. "stateMutability": "pure",
  106422. "virtual": false,
  106423. "visibility": "internal"
  106424. },
  106425. {
  106426. "id": 14986,
  106427. "nodeType": "FunctionDefinition",
  106428. "src": "65719:182:50",
  106429. "nodes": [],
  106430. "body": {
  106431. "id": 14985,
  106432. "nodeType": "Block",
  106433. "src": "65791:110:50",
  106434. "nodes": [],
  106435. "statements": [
  106436. {
  106437. "expression": {
  106438. "arguments": [
  106439. {
  106440. "arguments": [
  106441. {
  106442. "hexValue": "6c6f6728616464726573732c626f6f6c2c616464726573732c6164647265737329",
  106443. "id": 14977,
  106444. "isConstant": false,
  106445. "isLValue": false,
  106446. "isPure": true,
  106447. "kind": "string",
  106448. "lValueRequested": false,
  106449. "nodeType": "Literal",
  106450. "src": "65841:35:50",
  106451. "typeDescriptions": {
  106452. "typeIdentifier": "t_stringliteral_660375ddb58761b4ce952ec7e1ae63efe9f8e9e69831fd72875968fec9046e35",
  106453. "typeString": "literal_string \"log(address,bool,address,address)\""
  106454. },
  106455. "value": "log(address,bool,address,address)"
  106456. },
  106457. {
  106458. "id": 14978,
  106459. "name": "p0",
  106460. "nodeType": "Identifier",
  106461. "overloadedDeclarations": [],
  106462. "referencedDeclaration": 14965,
  106463. "src": "65878:2:50",
  106464. "typeDescriptions": {
  106465. "typeIdentifier": "t_address",
  106466. "typeString": "address"
  106467. }
  106468. },
  106469. {
  106470. "id": 14979,
  106471. "name": "p1",
  106472. "nodeType": "Identifier",
  106473. "overloadedDeclarations": [],
  106474. "referencedDeclaration": 14967,
  106475. "src": "65882:2:50",
  106476. "typeDescriptions": {
  106477. "typeIdentifier": "t_bool",
  106478. "typeString": "bool"
  106479. }
  106480. },
  106481. {
  106482. "id": 14980,
  106483. "name": "p2",
  106484. "nodeType": "Identifier",
  106485. "overloadedDeclarations": [],
  106486. "referencedDeclaration": 14969,
  106487. "src": "65886:2:50",
  106488. "typeDescriptions": {
  106489. "typeIdentifier": "t_address",
  106490. "typeString": "address"
  106491. }
  106492. },
  106493. {
  106494. "id": 14981,
  106495. "name": "p3",
  106496. "nodeType": "Identifier",
  106497. "overloadedDeclarations": [],
  106498. "referencedDeclaration": 14971,
  106499. "src": "65890:2:50",
  106500. "typeDescriptions": {
  106501. "typeIdentifier": "t_address",
  106502. "typeString": "address"
  106503. }
  106504. }
  106505. ],
  106506. "expression": {
  106507. "argumentTypes": [
  106508. {
  106509. "typeIdentifier": "t_stringliteral_660375ddb58761b4ce952ec7e1ae63efe9f8e9e69831fd72875968fec9046e35",
  106510. "typeString": "literal_string \"log(address,bool,address,address)\""
  106511. },
  106512. {
  106513. "typeIdentifier": "t_address",
  106514. "typeString": "address"
  106515. },
  106516. {
  106517. "typeIdentifier": "t_bool",
  106518. "typeString": "bool"
  106519. },
  106520. {
  106521. "typeIdentifier": "t_address",
  106522. "typeString": "address"
  106523. },
  106524. {
  106525. "typeIdentifier": "t_address",
  106526. "typeString": "address"
  106527. }
  106528. ],
  106529. "expression": {
  106530. "id": 14975,
  106531. "name": "abi",
  106532. "nodeType": "Identifier",
  106533. "overloadedDeclarations": [],
  106534. "referencedDeclaration": -1,
  106535. "src": "65817:3:50",
  106536. "typeDescriptions": {
  106537. "typeIdentifier": "t_magic_abi",
  106538. "typeString": "abi"
  106539. }
  106540. },
  106541. "id": 14976,
  106542. "isConstant": false,
  106543. "isLValue": false,
  106544. "isPure": true,
  106545. "lValueRequested": false,
  106546. "memberLocation": "65821:19:50",
  106547. "memberName": "encodeWithSignature",
  106548. "nodeType": "MemberAccess",
  106549. "src": "65817:23:50",
  106550. "typeDescriptions": {
  106551. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  106552. "typeString": "function (string memory) pure returns (bytes memory)"
  106553. }
  106554. },
  106555. "id": 14982,
  106556. "isConstant": false,
  106557. "isLValue": false,
  106558. "isPure": false,
  106559. "kind": "functionCall",
  106560. "lValueRequested": false,
  106561. "nameLocations": [],
  106562. "names": [],
  106563. "nodeType": "FunctionCall",
  106564. "src": "65817:76:50",
  106565. "tryCall": false,
  106566. "typeDescriptions": {
  106567. "typeIdentifier": "t_bytes_memory_ptr",
  106568. "typeString": "bytes memory"
  106569. }
  106570. }
  106571. ],
  106572. "expression": {
  106573. "argumentTypes": [
  106574. {
  106575. "typeIdentifier": "t_bytes_memory_ptr",
  106576. "typeString": "bytes memory"
  106577. }
  106578. ],
  106579. "id": 14974,
  106580. "name": "_sendLogPayload",
  106581. "nodeType": "Identifier",
  106582. "overloadedDeclarations": [],
  106583. "referencedDeclaration": 7315,
  106584. "src": "65801:15:50",
  106585. "typeDescriptions": {
  106586. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  106587. "typeString": "function (bytes memory) pure"
  106588. }
  106589. },
  106590. "id": 14983,
  106591. "isConstant": false,
  106592. "isLValue": false,
  106593. "isPure": false,
  106594. "kind": "functionCall",
  106595. "lValueRequested": false,
  106596. "nameLocations": [],
  106597. "names": [],
  106598. "nodeType": "FunctionCall",
  106599. "src": "65801:93:50",
  106600. "tryCall": false,
  106601. "typeDescriptions": {
  106602. "typeIdentifier": "t_tuple$__$",
  106603. "typeString": "tuple()"
  106604. }
  106605. },
  106606. "id": 14984,
  106607. "nodeType": "ExpressionStatement",
  106608. "src": "65801:93:50"
  106609. }
  106610. ]
  106611. },
  106612. "implemented": true,
  106613. "kind": "function",
  106614. "modifiers": [],
  106615. "name": "log",
  106616. "nameLocation": "65728:3:50",
  106617. "parameters": {
  106618. "id": 14972,
  106619. "nodeType": "ParameterList",
  106620. "parameters": [
  106621. {
  106622. "constant": false,
  106623. "id": 14965,
  106624. "mutability": "mutable",
  106625. "name": "p0",
  106626. "nameLocation": "65740:2:50",
  106627. "nodeType": "VariableDeclaration",
  106628. "scope": 14986,
  106629. "src": "65732:10:50",
  106630. "stateVariable": false,
  106631. "storageLocation": "default",
  106632. "typeDescriptions": {
  106633. "typeIdentifier": "t_address",
  106634. "typeString": "address"
  106635. },
  106636. "typeName": {
  106637. "id": 14964,
  106638. "name": "address",
  106639. "nodeType": "ElementaryTypeName",
  106640. "src": "65732:7:50",
  106641. "stateMutability": "nonpayable",
  106642. "typeDescriptions": {
  106643. "typeIdentifier": "t_address",
  106644. "typeString": "address"
  106645. }
  106646. },
  106647. "visibility": "internal"
  106648. },
  106649. {
  106650. "constant": false,
  106651. "id": 14967,
  106652. "mutability": "mutable",
  106653. "name": "p1",
  106654. "nameLocation": "65749:2:50",
  106655. "nodeType": "VariableDeclaration",
  106656. "scope": 14986,
  106657. "src": "65744:7:50",
  106658. "stateVariable": false,
  106659. "storageLocation": "default",
  106660. "typeDescriptions": {
  106661. "typeIdentifier": "t_bool",
  106662. "typeString": "bool"
  106663. },
  106664. "typeName": {
  106665. "id": 14966,
  106666. "name": "bool",
  106667. "nodeType": "ElementaryTypeName",
  106668. "src": "65744:4:50",
  106669. "typeDescriptions": {
  106670. "typeIdentifier": "t_bool",
  106671. "typeString": "bool"
  106672. }
  106673. },
  106674. "visibility": "internal"
  106675. },
  106676. {
  106677. "constant": false,
  106678. "id": 14969,
  106679. "mutability": "mutable",
  106680. "name": "p2",
  106681. "nameLocation": "65761:2:50",
  106682. "nodeType": "VariableDeclaration",
  106683. "scope": 14986,
  106684. "src": "65753:10:50",
  106685. "stateVariable": false,
  106686. "storageLocation": "default",
  106687. "typeDescriptions": {
  106688. "typeIdentifier": "t_address",
  106689. "typeString": "address"
  106690. },
  106691. "typeName": {
  106692. "id": 14968,
  106693. "name": "address",
  106694. "nodeType": "ElementaryTypeName",
  106695. "src": "65753:7:50",
  106696. "stateMutability": "nonpayable",
  106697. "typeDescriptions": {
  106698. "typeIdentifier": "t_address",
  106699. "typeString": "address"
  106700. }
  106701. },
  106702. "visibility": "internal"
  106703. },
  106704. {
  106705. "constant": false,
  106706. "id": 14971,
  106707. "mutability": "mutable",
  106708. "name": "p3",
  106709. "nameLocation": "65773:2:50",
  106710. "nodeType": "VariableDeclaration",
  106711. "scope": 14986,
  106712. "src": "65765:10:50",
  106713. "stateVariable": false,
  106714. "storageLocation": "default",
  106715. "typeDescriptions": {
  106716. "typeIdentifier": "t_address",
  106717. "typeString": "address"
  106718. },
  106719. "typeName": {
  106720. "id": 14970,
  106721. "name": "address",
  106722. "nodeType": "ElementaryTypeName",
  106723. "src": "65765:7:50",
  106724. "stateMutability": "nonpayable",
  106725. "typeDescriptions": {
  106726. "typeIdentifier": "t_address",
  106727. "typeString": "address"
  106728. }
  106729. },
  106730. "visibility": "internal"
  106731. }
  106732. ],
  106733. "src": "65731:45:50"
  106734. },
  106735. "returnParameters": {
  106736. "id": 14973,
  106737. "nodeType": "ParameterList",
  106738. "parameters": [],
  106739. "src": "65791:0:50"
  106740. },
  106741. "scope": 15355,
  106742. "stateMutability": "pure",
  106743. "virtual": false,
  106744. "visibility": "internal"
  106745. },
  106746. {
  106747. "id": 15009,
  106748. "nodeType": "FunctionDefinition",
  106749. "src": "65907:188:50",
  106750. "nodes": [],
  106751. "body": {
  106752. "id": 15008,
  106753. "nodeType": "Block",
  106754. "src": "65982:113:50",
  106755. "nodes": [],
  106756. "statements": [
  106757. {
  106758. "expression": {
  106759. "arguments": [
  106760. {
  106761. "arguments": [
  106762. {
  106763. "hexValue": "6c6f6728616464726573732c616464726573732c75696e743235362c75696e7432353629",
  106764. "id": 15000,
  106765. "isConstant": false,
  106766. "isLValue": false,
  106767. "isPure": true,
  106768. "kind": "string",
  106769. "lValueRequested": false,
  106770. "nodeType": "Literal",
  106771. "src": "66032:38:50",
  106772. "typeDescriptions": {
  106773. "typeIdentifier": "t_stringliteral_be55348107f27daf63b48e87ab23840f2cbf20bdfa1dd4b92b4c2b337967fa25",
  106774. "typeString": "literal_string \"log(address,address,uint256,uint256)\""
  106775. },
  106776. "value": "log(address,address,uint256,uint256)"
  106777. },
  106778. {
  106779. "id": 15001,
  106780. "name": "p0",
  106781. "nodeType": "Identifier",
  106782. "overloadedDeclarations": [],
  106783. "referencedDeclaration": 14988,
  106784. "src": "66072:2:50",
  106785. "typeDescriptions": {
  106786. "typeIdentifier": "t_address",
  106787. "typeString": "address"
  106788. }
  106789. },
  106790. {
  106791. "id": 15002,
  106792. "name": "p1",
  106793. "nodeType": "Identifier",
  106794. "overloadedDeclarations": [],
  106795. "referencedDeclaration": 14990,
  106796. "src": "66076:2:50",
  106797. "typeDescriptions": {
  106798. "typeIdentifier": "t_address",
  106799. "typeString": "address"
  106800. }
  106801. },
  106802. {
  106803. "id": 15003,
  106804. "name": "p2",
  106805. "nodeType": "Identifier",
  106806. "overloadedDeclarations": [],
  106807. "referencedDeclaration": 14992,
  106808. "src": "66080:2:50",
  106809. "typeDescriptions": {
  106810. "typeIdentifier": "t_uint256",
  106811. "typeString": "uint256"
  106812. }
  106813. },
  106814. {
  106815. "id": 15004,
  106816. "name": "p3",
  106817. "nodeType": "Identifier",
  106818. "overloadedDeclarations": [],
  106819. "referencedDeclaration": 14994,
  106820. "src": "66084:2:50",
  106821. "typeDescriptions": {
  106822. "typeIdentifier": "t_uint256",
  106823. "typeString": "uint256"
  106824. }
  106825. }
  106826. ],
  106827. "expression": {
  106828. "argumentTypes": [
  106829. {
  106830. "typeIdentifier": "t_stringliteral_be55348107f27daf63b48e87ab23840f2cbf20bdfa1dd4b92b4c2b337967fa25",
  106831. "typeString": "literal_string \"log(address,address,uint256,uint256)\""
  106832. },
  106833. {
  106834. "typeIdentifier": "t_address",
  106835. "typeString": "address"
  106836. },
  106837. {
  106838. "typeIdentifier": "t_address",
  106839. "typeString": "address"
  106840. },
  106841. {
  106842. "typeIdentifier": "t_uint256",
  106843. "typeString": "uint256"
  106844. },
  106845. {
  106846. "typeIdentifier": "t_uint256",
  106847. "typeString": "uint256"
  106848. }
  106849. ],
  106850. "expression": {
  106851. "id": 14998,
  106852. "name": "abi",
  106853. "nodeType": "Identifier",
  106854. "overloadedDeclarations": [],
  106855. "referencedDeclaration": -1,
  106856. "src": "66008:3:50",
  106857. "typeDescriptions": {
  106858. "typeIdentifier": "t_magic_abi",
  106859. "typeString": "abi"
  106860. }
  106861. },
  106862. "id": 14999,
  106863. "isConstant": false,
  106864. "isLValue": false,
  106865. "isPure": true,
  106866. "lValueRequested": false,
  106867. "memberLocation": "66012:19:50",
  106868. "memberName": "encodeWithSignature",
  106869. "nodeType": "MemberAccess",
  106870. "src": "66008:23:50",
  106871. "typeDescriptions": {
  106872. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  106873. "typeString": "function (string memory) pure returns (bytes memory)"
  106874. }
  106875. },
  106876. "id": 15005,
  106877. "isConstant": false,
  106878. "isLValue": false,
  106879. "isPure": false,
  106880. "kind": "functionCall",
  106881. "lValueRequested": false,
  106882. "nameLocations": [],
  106883. "names": [],
  106884. "nodeType": "FunctionCall",
  106885. "src": "66008:79:50",
  106886. "tryCall": false,
  106887. "typeDescriptions": {
  106888. "typeIdentifier": "t_bytes_memory_ptr",
  106889. "typeString": "bytes memory"
  106890. }
  106891. }
  106892. ],
  106893. "expression": {
  106894. "argumentTypes": [
  106895. {
  106896. "typeIdentifier": "t_bytes_memory_ptr",
  106897. "typeString": "bytes memory"
  106898. }
  106899. ],
  106900. "id": 14997,
  106901. "name": "_sendLogPayload",
  106902. "nodeType": "Identifier",
  106903. "overloadedDeclarations": [],
  106904. "referencedDeclaration": 7315,
  106905. "src": "65992:15:50",
  106906. "typeDescriptions": {
  106907. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  106908. "typeString": "function (bytes memory) pure"
  106909. }
  106910. },
  106911. "id": 15006,
  106912. "isConstant": false,
  106913. "isLValue": false,
  106914. "isPure": false,
  106915. "kind": "functionCall",
  106916. "lValueRequested": false,
  106917. "nameLocations": [],
  106918. "names": [],
  106919. "nodeType": "FunctionCall",
  106920. "src": "65992:96:50",
  106921. "tryCall": false,
  106922. "typeDescriptions": {
  106923. "typeIdentifier": "t_tuple$__$",
  106924. "typeString": "tuple()"
  106925. }
  106926. },
  106927. "id": 15007,
  106928. "nodeType": "ExpressionStatement",
  106929. "src": "65992:96:50"
  106930. }
  106931. ]
  106932. },
  106933. "implemented": true,
  106934. "kind": "function",
  106935. "modifiers": [],
  106936. "name": "log",
  106937. "nameLocation": "65916:3:50",
  106938. "parameters": {
  106939. "id": 14995,
  106940. "nodeType": "ParameterList",
  106941. "parameters": [
  106942. {
  106943. "constant": false,
  106944. "id": 14988,
  106945. "mutability": "mutable",
  106946. "name": "p0",
  106947. "nameLocation": "65928:2:50",
  106948. "nodeType": "VariableDeclaration",
  106949. "scope": 15009,
  106950. "src": "65920:10:50",
  106951. "stateVariable": false,
  106952. "storageLocation": "default",
  106953. "typeDescriptions": {
  106954. "typeIdentifier": "t_address",
  106955. "typeString": "address"
  106956. },
  106957. "typeName": {
  106958. "id": 14987,
  106959. "name": "address",
  106960. "nodeType": "ElementaryTypeName",
  106961. "src": "65920:7:50",
  106962. "stateMutability": "nonpayable",
  106963. "typeDescriptions": {
  106964. "typeIdentifier": "t_address",
  106965. "typeString": "address"
  106966. }
  106967. },
  106968. "visibility": "internal"
  106969. },
  106970. {
  106971. "constant": false,
  106972. "id": 14990,
  106973. "mutability": "mutable",
  106974. "name": "p1",
  106975. "nameLocation": "65940:2:50",
  106976. "nodeType": "VariableDeclaration",
  106977. "scope": 15009,
  106978. "src": "65932:10:50",
  106979. "stateVariable": false,
  106980. "storageLocation": "default",
  106981. "typeDescriptions": {
  106982. "typeIdentifier": "t_address",
  106983. "typeString": "address"
  106984. },
  106985. "typeName": {
  106986. "id": 14989,
  106987. "name": "address",
  106988. "nodeType": "ElementaryTypeName",
  106989. "src": "65932:7:50",
  106990. "stateMutability": "nonpayable",
  106991. "typeDescriptions": {
  106992. "typeIdentifier": "t_address",
  106993. "typeString": "address"
  106994. }
  106995. },
  106996. "visibility": "internal"
  106997. },
  106998. {
  106999. "constant": false,
  107000. "id": 14992,
  107001. "mutability": "mutable",
  107002. "name": "p2",
  107003. "nameLocation": "65952:2:50",
  107004. "nodeType": "VariableDeclaration",
  107005. "scope": 15009,
  107006. "src": "65944:10:50",
  107007. "stateVariable": false,
  107008. "storageLocation": "default",
  107009. "typeDescriptions": {
  107010. "typeIdentifier": "t_uint256",
  107011. "typeString": "uint256"
  107012. },
  107013. "typeName": {
  107014. "id": 14991,
  107015. "name": "uint256",
  107016. "nodeType": "ElementaryTypeName",
  107017. "src": "65944:7:50",
  107018. "typeDescriptions": {
  107019. "typeIdentifier": "t_uint256",
  107020. "typeString": "uint256"
  107021. }
  107022. },
  107023. "visibility": "internal"
  107024. },
  107025. {
  107026. "constant": false,
  107027. "id": 14994,
  107028. "mutability": "mutable",
  107029. "name": "p3",
  107030. "nameLocation": "65964:2:50",
  107031. "nodeType": "VariableDeclaration",
  107032. "scope": 15009,
  107033. "src": "65956:10:50",
  107034. "stateVariable": false,
  107035. "storageLocation": "default",
  107036. "typeDescriptions": {
  107037. "typeIdentifier": "t_uint256",
  107038. "typeString": "uint256"
  107039. },
  107040. "typeName": {
  107041. "id": 14993,
  107042. "name": "uint256",
  107043. "nodeType": "ElementaryTypeName",
  107044. "src": "65956:7:50",
  107045. "typeDescriptions": {
  107046. "typeIdentifier": "t_uint256",
  107047. "typeString": "uint256"
  107048. }
  107049. },
  107050. "visibility": "internal"
  107051. }
  107052. ],
  107053. "src": "65919:48:50"
  107054. },
  107055. "returnParameters": {
  107056. "id": 14996,
  107057. "nodeType": "ParameterList",
  107058. "parameters": [],
  107059. "src": "65982:0:50"
  107060. },
  107061. "scope": 15355,
  107062. "stateMutability": "pure",
  107063. "virtual": false,
  107064. "visibility": "internal"
  107065. },
  107066. {
  107067. "id": 15032,
  107068. "nodeType": "FunctionDefinition",
  107069. "src": "66101:193:50",
  107070. "nodes": [],
  107071. "body": {
  107072. "id": 15031,
  107073. "nodeType": "Block",
  107074. "src": "66182:112:50",
  107075. "nodes": [],
  107076. "statements": [
  107077. {
  107078. "expression": {
  107079. "arguments": [
  107080. {
  107081. "arguments": [
  107082. {
  107083. "hexValue": "6c6f6728616464726573732c616464726573732c75696e743235362c737472696e6729",
  107084. "id": 15023,
  107085. "isConstant": false,
  107086. "isLValue": false,
  107087. "isPure": true,
  107088. "kind": "string",
  107089. "lValueRequested": false,
  107090. "nodeType": "Literal",
  107091. "src": "66232:37:50",
  107092. "typeDescriptions": {
  107093. "typeIdentifier": "t_stringliteral_fdb4f99053c71d9229026b69fabc5567b4324649a228ca0935bada4975f57343",
  107094. "typeString": "literal_string \"log(address,address,uint256,string)\""
  107095. },
  107096. "value": "log(address,address,uint256,string)"
  107097. },
  107098. {
  107099. "id": 15024,
  107100. "name": "p0",
  107101. "nodeType": "Identifier",
  107102. "overloadedDeclarations": [],
  107103. "referencedDeclaration": 15011,
  107104. "src": "66271:2:50",
  107105. "typeDescriptions": {
  107106. "typeIdentifier": "t_address",
  107107. "typeString": "address"
  107108. }
  107109. },
  107110. {
  107111. "id": 15025,
  107112. "name": "p1",
  107113. "nodeType": "Identifier",
  107114. "overloadedDeclarations": [],
  107115. "referencedDeclaration": 15013,
  107116. "src": "66275:2:50",
  107117. "typeDescriptions": {
  107118. "typeIdentifier": "t_address",
  107119. "typeString": "address"
  107120. }
  107121. },
  107122. {
  107123. "id": 15026,
  107124. "name": "p2",
  107125. "nodeType": "Identifier",
  107126. "overloadedDeclarations": [],
  107127. "referencedDeclaration": 15015,
  107128. "src": "66279:2:50",
  107129. "typeDescriptions": {
  107130. "typeIdentifier": "t_uint256",
  107131. "typeString": "uint256"
  107132. }
  107133. },
  107134. {
  107135. "id": 15027,
  107136. "name": "p3",
  107137. "nodeType": "Identifier",
  107138. "overloadedDeclarations": [],
  107139. "referencedDeclaration": 15017,
  107140. "src": "66283:2:50",
  107141. "typeDescriptions": {
  107142. "typeIdentifier": "t_string_memory_ptr",
  107143. "typeString": "string memory"
  107144. }
  107145. }
  107146. ],
  107147. "expression": {
  107148. "argumentTypes": [
  107149. {
  107150. "typeIdentifier": "t_stringliteral_fdb4f99053c71d9229026b69fabc5567b4324649a228ca0935bada4975f57343",
  107151. "typeString": "literal_string \"log(address,address,uint256,string)\""
  107152. },
  107153. {
  107154. "typeIdentifier": "t_address",
  107155. "typeString": "address"
  107156. },
  107157. {
  107158. "typeIdentifier": "t_address",
  107159. "typeString": "address"
  107160. },
  107161. {
  107162. "typeIdentifier": "t_uint256",
  107163. "typeString": "uint256"
  107164. },
  107165. {
  107166. "typeIdentifier": "t_string_memory_ptr",
  107167. "typeString": "string memory"
  107168. }
  107169. ],
  107170. "expression": {
  107171. "id": 15021,
  107172. "name": "abi",
  107173. "nodeType": "Identifier",
  107174. "overloadedDeclarations": [],
  107175. "referencedDeclaration": -1,
  107176. "src": "66208:3:50",
  107177. "typeDescriptions": {
  107178. "typeIdentifier": "t_magic_abi",
  107179. "typeString": "abi"
  107180. }
  107181. },
  107182. "id": 15022,
  107183. "isConstant": false,
  107184. "isLValue": false,
  107185. "isPure": true,
  107186. "lValueRequested": false,
  107187. "memberLocation": "66212:19:50",
  107188. "memberName": "encodeWithSignature",
  107189. "nodeType": "MemberAccess",
  107190. "src": "66208:23:50",
  107191. "typeDescriptions": {
  107192. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  107193. "typeString": "function (string memory) pure returns (bytes memory)"
  107194. }
  107195. },
  107196. "id": 15028,
  107197. "isConstant": false,
  107198. "isLValue": false,
  107199. "isPure": false,
  107200. "kind": "functionCall",
  107201. "lValueRequested": false,
  107202. "nameLocations": [],
  107203. "names": [],
  107204. "nodeType": "FunctionCall",
  107205. "src": "66208:78:50",
  107206. "tryCall": false,
  107207. "typeDescriptions": {
  107208. "typeIdentifier": "t_bytes_memory_ptr",
  107209. "typeString": "bytes memory"
  107210. }
  107211. }
  107212. ],
  107213. "expression": {
  107214. "argumentTypes": [
  107215. {
  107216. "typeIdentifier": "t_bytes_memory_ptr",
  107217. "typeString": "bytes memory"
  107218. }
  107219. ],
  107220. "id": 15020,
  107221. "name": "_sendLogPayload",
  107222. "nodeType": "Identifier",
  107223. "overloadedDeclarations": [],
  107224. "referencedDeclaration": 7315,
  107225. "src": "66192:15:50",
  107226. "typeDescriptions": {
  107227. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  107228. "typeString": "function (bytes memory) pure"
  107229. }
  107230. },
  107231. "id": 15029,
  107232. "isConstant": false,
  107233. "isLValue": false,
  107234. "isPure": false,
  107235. "kind": "functionCall",
  107236. "lValueRequested": false,
  107237. "nameLocations": [],
  107238. "names": [],
  107239. "nodeType": "FunctionCall",
  107240. "src": "66192:95:50",
  107241. "tryCall": false,
  107242. "typeDescriptions": {
  107243. "typeIdentifier": "t_tuple$__$",
  107244. "typeString": "tuple()"
  107245. }
  107246. },
  107247. "id": 15030,
  107248. "nodeType": "ExpressionStatement",
  107249. "src": "66192:95:50"
  107250. }
  107251. ]
  107252. },
  107253. "implemented": true,
  107254. "kind": "function",
  107255. "modifiers": [],
  107256. "name": "log",
  107257. "nameLocation": "66110:3:50",
  107258. "parameters": {
  107259. "id": 15018,
  107260. "nodeType": "ParameterList",
  107261. "parameters": [
  107262. {
  107263. "constant": false,
  107264. "id": 15011,
  107265. "mutability": "mutable",
  107266. "name": "p0",
  107267. "nameLocation": "66122:2:50",
  107268. "nodeType": "VariableDeclaration",
  107269. "scope": 15032,
  107270. "src": "66114:10:50",
  107271. "stateVariable": false,
  107272. "storageLocation": "default",
  107273. "typeDescriptions": {
  107274. "typeIdentifier": "t_address",
  107275. "typeString": "address"
  107276. },
  107277. "typeName": {
  107278. "id": 15010,
  107279. "name": "address",
  107280. "nodeType": "ElementaryTypeName",
  107281. "src": "66114:7:50",
  107282. "stateMutability": "nonpayable",
  107283. "typeDescriptions": {
  107284. "typeIdentifier": "t_address",
  107285. "typeString": "address"
  107286. }
  107287. },
  107288. "visibility": "internal"
  107289. },
  107290. {
  107291. "constant": false,
  107292. "id": 15013,
  107293. "mutability": "mutable",
  107294. "name": "p1",
  107295. "nameLocation": "66134:2:50",
  107296. "nodeType": "VariableDeclaration",
  107297. "scope": 15032,
  107298. "src": "66126:10:50",
  107299. "stateVariable": false,
  107300. "storageLocation": "default",
  107301. "typeDescriptions": {
  107302. "typeIdentifier": "t_address",
  107303. "typeString": "address"
  107304. },
  107305. "typeName": {
  107306. "id": 15012,
  107307. "name": "address",
  107308. "nodeType": "ElementaryTypeName",
  107309. "src": "66126:7:50",
  107310. "stateMutability": "nonpayable",
  107311. "typeDescriptions": {
  107312. "typeIdentifier": "t_address",
  107313. "typeString": "address"
  107314. }
  107315. },
  107316. "visibility": "internal"
  107317. },
  107318. {
  107319. "constant": false,
  107320. "id": 15015,
  107321. "mutability": "mutable",
  107322. "name": "p2",
  107323. "nameLocation": "66146:2:50",
  107324. "nodeType": "VariableDeclaration",
  107325. "scope": 15032,
  107326. "src": "66138:10:50",
  107327. "stateVariable": false,
  107328. "storageLocation": "default",
  107329. "typeDescriptions": {
  107330. "typeIdentifier": "t_uint256",
  107331. "typeString": "uint256"
  107332. },
  107333. "typeName": {
  107334. "id": 15014,
  107335. "name": "uint256",
  107336. "nodeType": "ElementaryTypeName",
  107337. "src": "66138:7:50",
  107338. "typeDescriptions": {
  107339. "typeIdentifier": "t_uint256",
  107340. "typeString": "uint256"
  107341. }
  107342. },
  107343. "visibility": "internal"
  107344. },
  107345. {
  107346. "constant": false,
  107347. "id": 15017,
  107348. "mutability": "mutable",
  107349. "name": "p3",
  107350. "nameLocation": "66164:2:50",
  107351. "nodeType": "VariableDeclaration",
  107352. "scope": 15032,
  107353. "src": "66150:16:50",
  107354. "stateVariable": false,
  107355. "storageLocation": "memory",
  107356. "typeDescriptions": {
  107357. "typeIdentifier": "t_string_memory_ptr",
  107358. "typeString": "string"
  107359. },
  107360. "typeName": {
  107361. "id": 15016,
  107362. "name": "string",
  107363. "nodeType": "ElementaryTypeName",
  107364. "src": "66150:6:50",
  107365. "typeDescriptions": {
  107366. "typeIdentifier": "t_string_storage_ptr",
  107367. "typeString": "string"
  107368. }
  107369. },
  107370. "visibility": "internal"
  107371. }
  107372. ],
  107373. "src": "66113:54:50"
  107374. },
  107375. "returnParameters": {
  107376. "id": 15019,
  107377. "nodeType": "ParameterList",
  107378. "parameters": [],
  107379. "src": "66182:0:50"
  107380. },
  107381. "scope": 15355,
  107382. "stateMutability": "pure",
  107383. "virtual": false,
  107384. "visibility": "internal"
  107385. },
  107386. {
  107387. "id": 15055,
  107388. "nodeType": "FunctionDefinition",
  107389. "src": "66300:182:50",
  107390. "nodes": [],
  107391. "body": {
  107392. "id": 15054,
  107393. "nodeType": "Block",
  107394. "src": "66372:110:50",
  107395. "nodes": [],
  107396. "statements": [
  107397. {
  107398. "expression": {
  107399. "arguments": [
  107400. {
  107401. "arguments": [
  107402. {
  107403. "hexValue": "6c6f6728616464726573732c616464726573732c75696e743235362c626f6f6c29",
  107404. "id": 15046,
  107405. "isConstant": false,
  107406. "isLValue": false,
  107407. "isPure": true,
  107408. "kind": "string",
  107409. "lValueRequested": false,
  107410. "nodeType": "Literal",
  107411. "src": "66422:35:50",
  107412. "typeDescriptions": {
  107413. "typeIdentifier": "t_stringliteral_9b4254e23753cb4c7d637e38638d109b03aeabf8705961d18d943c5bfa6672cd",
  107414. "typeString": "literal_string \"log(address,address,uint256,bool)\""
  107415. },
  107416. "value": "log(address,address,uint256,bool)"
  107417. },
  107418. {
  107419. "id": 15047,
  107420. "name": "p0",
  107421. "nodeType": "Identifier",
  107422. "overloadedDeclarations": [],
  107423. "referencedDeclaration": 15034,
  107424. "src": "66459:2:50",
  107425. "typeDescriptions": {
  107426. "typeIdentifier": "t_address",
  107427. "typeString": "address"
  107428. }
  107429. },
  107430. {
  107431. "id": 15048,
  107432. "name": "p1",
  107433. "nodeType": "Identifier",
  107434. "overloadedDeclarations": [],
  107435. "referencedDeclaration": 15036,
  107436. "src": "66463:2:50",
  107437. "typeDescriptions": {
  107438. "typeIdentifier": "t_address",
  107439. "typeString": "address"
  107440. }
  107441. },
  107442. {
  107443. "id": 15049,
  107444. "name": "p2",
  107445. "nodeType": "Identifier",
  107446. "overloadedDeclarations": [],
  107447. "referencedDeclaration": 15038,
  107448. "src": "66467:2:50",
  107449. "typeDescriptions": {
  107450. "typeIdentifier": "t_uint256",
  107451. "typeString": "uint256"
  107452. }
  107453. },
  107454. {
  107455. "id": 15050,
  107456. "name": "p3",
  107457. "nodeType": "Identifier",
  107458. "overloadedDeclarations": [],
  107459. "referencedDeclaration": 15040,
  107460. "src": "66471:2:50",
  107461. "typeDescriptions": {
  107462. "typeIdentifier": "t_bool",
  107463. "typeString": "bool"
  107464. }
  107465. }
  107466. ],
  107467. "expression": {
  107468. "argumentTypes": [
  107469. {
  107470. "typeIdentifier": "t_stringliteral_9b4254e23753cb4c7d637e38638d109b03aeabf8705961d18d943c5bfa6672cd",
  107471. "typeString": "literal_string \"log(address,address,uint256,bool)\""
  107472. },
  107473. {
  107474. "typeIdentifier": "t_address",
  107475. "typeString": "address"
  107476. },
  107477. {
  107478. "typeIdentifier": "t_address",
  107479. "typeString": "address"
  107480. },
  107481. {
  107482. "typeIdentifier": "t_uint256",
  107483. "typeString": "uint256"
  107484. },
  107485. {
  107486. "typeIdentifier": "t_bool",
  107487. "typeString": "bool"
  107488. }
  107489. ],
  107490. "expression": {
  107491. "id": 15044,
  107492. "name": "abi",
  107493. "nodeType": "Identifier",
  107494. "overloadedDeclarations": [],
  107495. "referencedDeclaration": -1,
  107496. "src": "66398:3:50",
  107497. "typeDescriptions": {
  107498. "typeIdentifier": "t_magic_abi",
  107499. "typeString": "abi"
  107500. }
  107501. },
  107502. "id": 15045,
  107503. "isConstant": false,
  107504. "isLValue": false,
  107505. "isPure": true,
  107506. "lValueRequested": false,
  107507. "memberLocation": "66402:19:50",
  107508. "memberName": "encodeWithSignature",
  107509. "nodeType": "MemberAccess",
  107510. "src": "66398:23:50",
  107511. "typeDescriptions": {
  107512. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  107513. "typeString": "function (string memory) pure returns (bytes memory)"
  107514. }
  107515. },
  107516. "id": 15051,
  107517. "isConstant": false,
  107518. "isLValue": false,
  107519. "isPure": false,
  107520. "kind": "functionCall",
  107521. "lValueRequested": false,
  107522. "nameLocations": [],
  107523. "names": [],
  107524. "nodeType": "FunctionCall",
  107525. "src": "66398:76:50",
  107526. "tryCall": false,
  107527. "typeDescriptions": {
  107528. "typeIdentifier": "t_bytes_memory_ptr",
  107529. "typeString": "bytes memory"
  107530. }
  107531. }
  107532. ],
  107533. "expression": {
  107534. "argumentTypes": [
  107535. {
  107536. "typeIdentifier": "t_bytes_memory_ptr",
  107537. "typeString": "bytes memory"
  107538. }
  107539. ],
  107540. "id": 15043,
  107541. "name": "_sendLogPayload",
  107542. "nodeType": "Identifier",
  107543. "overloadedDeclarations": [],
  107544. "referencedDeclaration": 7315,
  107545. "src": "66382:15:50",
  107546. "typeDescriptions": {
  107547. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  107548. "typeString": "function (bytes memory) pure"
  107549. }
  107550. },
  107551. "id": 15052,
  107552. "isConstant": false,
  107553. "isLValue": false,
  107554. "isPure": false,
  107555. "kind": "functionCall",
  107556. "lValueRequested": false,
  107557. "nameLocations": [],
  107558. "names": [],
  107559. "nodeType": "FunctionCall",
  107560. "src": "66382:93:50",
  107561. "tryCall": false,
  107562. "typeDescriptions": {
  107563. "typeIdentifier": "t_tuple$__$",
  107564. "typeString": "tuple()"
  107565. }
  107566. },
  107567. "id": 15053,
  107568. "nodeType": "ExpressionStatement",
  107569. "src": "66382:93:50"
  107570. }
  107571. ]
  107572. },
  107573. "implemented": true,
  107574. "kind": "function",
  107575. "modifiers": [],
  107576. "name": "log",
  107577. "nameLocation": "66309:3:50",
  107578. "parameters": {
  107579. "id": 15041,
  107580. "nodeType": "ParameterList",
  107581. "parameters": [
  107582. {
  107583. "constant": false,
  107584. "id": 15034,
  107585. "mutability": "mutable",
  107586. "name": "p0",
  107587. "nameLocation": "66321:2:50",
  107588. "nodeType": "VariableDeclaration",
  107589. "scope": 15055,
  107590. "src": "66313:10:50",
  107591. "stateVariable": false,
  107592. "storageLocation": "default",
  107593. "typeDescriptions": {
  107594. "typeIdentifier": "t_address",
  107595. "typeString": "address"
  107596. },
  107597. "typeName": {
  107598. "id": 15033,
  107599. "name": "address",
  107600. "nodeType": "ElementaryTypeName",
  107601. "src": "66313:7:50",
  107602. "stateMutability": "nonpayable",
  107603. "typeDescriptions": {
  107604. "typeIdentifier": "t_address",
  107605. "typeString": "address"
  107606. }
  107607. },
  107608. "visibility": "internal"
  107609. },
  107610. {
  107611. "constant": false,
  107612. "id": 15036,
  107613. "mutability": "mutable",
  107614. "name": "p1",
  107615. "nameLocation": "66333:2:50",
  107616. "nodeType": "VariableDeclaration",
  107617. "scope": 15055,
  107618. "src": "66325:10:50",
  107619. "stateVariable": false,
  107620. "storageLocation": "default",
  107621. "typeDescriptions": {
  107622. "typeIdentifier": "t_address",
  107623. "typeString": "address"
  107624. },
  107625. "typeName": {
  107626. "id": 15035,
  107627. "name": "address",
  107628. "nodeType": "ElementaryTypeName",
  107629. "src": "66325:7:50",
  107630. "stateMutability": "nonpayable",
  107631. "typeDescriptions": {
  107632. "typeIdentifier": "t_address",
  107633. "typeString": "address"
  107634. }
  107635. },
  107636. "visibility": "internal"
  107637. },
  107638. {
  107639. "constant": false,
  107640. "id": 15038,
  107641. "mutability": "mutable",
  107642. "name": "p2",
  107643. "nameLocation": "66345:2:50",
  107644. "nodeType": "VariableDeclaration",
  107645. "scope": 15055,
  107646. "src": "66337:10:50",
  107647. "stateVariable": false,
  107648. "storageLocation": "default",
  107649. "typeDescriptions": {
  107650. "typeIdentifier": "t_uint256",
  107651. "typeString": "uint256"
  107652. },
  107653. "typeName": {
  107654. "id": 15037,
  107655. "name": "uint256",
  107656. "nodeType": "ElementaryTypeName",
  107657. "src": "66337:7:50",
  107658. "typeDescriptions": {
  107659. "typeIdentifier": "t_uint256",
  107660. "typeString": "uint256"
  107661. }
  107662. },
  107663. "visibility": "internal"
  107664. },
  107665. {
  107666. "constant": false,
  107667. "id": 15040,
  107668. "mutability": "mutable",
  107669. "name": "p3",
  107670. "nameLocation": "66354:2:50",
  107671. "nodeType": "VariableDeclaration",
  107672. "scope": 15055,
  107673. "src": "66349:7:50",
  107674. "stateVariable": false,
  107675. "storageLocation": "default",
  107676. "typeDescriptions": {
  107677. "typeIdentifier": "t_bool",
  107678. "typeString": "bool"
  107679. },
  107680. "typeName": {
  107681. "id": 15039,
  107682. "name": "bool",
  107683. "nodeType": "ElementaryTypeName",
  107684. "src": "66349:4:50",
  107685. "typeDescriptions": {
  107686. "typeIdentifier": "t_bool",
  107687. "typeString": "bool"
  107688. }
  107689. },
  107690. "visibility": "internal"
  107691. }
  107692. ],
  107693. "src": "66312:45:50"
  107694. },
  107695. "returnParameters": {
  107696. "id": 15042,
  107697. "nodeType": "ParameterList",
  107698. "parameters": [],
  107699. "src": "66372:0:50"
  107700. },
  107701. "scope": 15355,
  107702. "stateMutability": "pure",
  107703. "virtual": false,
  107704. "visibility": "internal"
  107705. },
  107706. {
  107707. "id": 15078,
  107708. "nodeType": "FunctionDefinition",
  107709. "src": "66488:188:50",
  107710. "nodes": [],
  107711. "body": {
  107712. "id": 15077,
  107713. "nodeType": "Block",
  107714. "src": "66563:113:50",
  107715. "nodes": [],
  107716. "statements": [
  107717. {
  107718. "expression": {
  107719. "arguments": [
  107720. {
  107721. "arguments": [
  107722. {
  107723. "hexValue": "6c6f6728616464726573732c616464726573732c75696e743235362c6164647265737329",
  107724. "id": 15069,
  107725. "isConstant": false,
  107726. "isLValue": false,
  107727. "isPure": true,
  107728. "kind": "string",
  107729. "lValueRequested": false,
  107730. "nodeType": "Literal",
  107731. "src": "66613:38:50",
  107732. "typeDescriptions": {
  107733. "typeIdentifier": "t_stringliteral_8da6def55c582f2ce59d561e896a66e570478eda5169747a6ea3575cfa60d28b",
  107734. "typeString": "literal_string \"log(address,address,uint256,address)\""
  107735. },
  107736. "value": "log(address,address,uint256,address)"
  107737. },
  107738. {
  107739. "id": 15070,
  107740. "name": "p0",
  107741. "nodeType": "Identifier",
  107742. "overloadedDeclarations": [],
  107743. "referencedDeclaration": 15057,
  107744. "src": "66653:2:50",
  107745. "typeDescriptions": {
  107746. "typeIdentifier": "t_address",
  107747. "typeString": "address"
  107748. }
  107749. },
  107750. {
  107751. "id": 15071,
  107752. "name": "p1",
  107753. "nodeType": "Identifier",
  107754. "overloadedDeclarations": [],
  107755. "referencedDeclaration": 15059,
  107756. "src": "66657:2:50",
  107757. "typeDescriptions": {
  107758. "typeIdentifier": "t_address",
  107759. "typeString": "address"
  107760. }
  107761. },
  107762. {
  107763. "id": 15072,
  107764. "name": "p2",
  107765. "nodeType": "Identifier",
  107766. "overloadedDeclarations": [],
  107767. "referencedDeclaration": 15061,
  107768. "src": "66661:2:50",
  107769. "typeDescriptions": {
  107770. "typeIdentifier": "t_uint256",
  107771. "typeString": "uint256"
  107772. }
  107773. },
  107774. {
  107775. "id": 15073,
  107776. "name": "p3",
  107777. "nodeType": "Identifier",
  107778. "overloadedDeclarations": [],
  107779. "referencedDeclaration": 15063,
  107780. "src": "66665:2:50",
  107781. "typeDescriptions": {
  107782. "typeIdentifier": "t_address",
  107783. "typeString": "address"
  107784. }
  107785. }
  107786. ],
  107787. "expression": {
  107788. "argumentTypes": [
  107789. {
  107790. "typeIdentifier": "t_stringliteral_8da6def55c582f2ce59d561e896a66e570478eda5169747a6ea3575cfa60d28b",
  107791. "typeString": "literal_string \"log(address,address,uint256,address)\""
  107792. },
  107793. {
  107794. "typeIdentifier": "t_address",
  107795. "typeString": "address"
  107796. },
  107797. {
  107798. "typeIdentifier": "t_address",
  107799. "typeString": "address"
  107800. },
  107801. {
  107802. "typeIdentifier": "t_uint256",
  107803. "typeString": "uint256"
  107804. },
  107805. {
  107806. "typeIdentifier": "t_address",
  107807. "typeString": "address"
  107808. }
  107809. ],
  107810. "expression": {
  107811. "id": 15067,
  107812. "name": "abi",
  107813. "nodeType": "Identifier",
  107814. "overloadedDeclarations": [],
  107815. "referencedDeclaration": -1,
  107816. "src": "66589:3:50",
  107817. "typeDescriptions": {
  107818. "typeIdentifier": "t_magic_abi",
  107819. "typeString": "abi"
  107820. }
  107821. },
  107822. "id": 15068,
  107823. "isConstant": false,
  107824. "isLValue": false,
  107825. "isPure": true,
  107826. "lValueRequested": false,
  107827. "memberLocation": "66593:19:50",
  107828. "memberName": "encodeWithSignature",
  107829. "nodeType": "MemberAccess",
  107830. "src": "66589:23:50",
  107831. "typeDescriptions": {
  107832. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  107833. "typeString": "function (string memory) pure returns (bytes memory)"
  107834. }
  107835. },
  107836. "id": 15074,
  107837. "isConstant": false,
  107838. "isLValue": false,
  107839. "isPure": false,
  107840. "kind": "functionCall",
  107841. "lValueRequested": false,
  107842. "nameLocations": [],
  107843. "names": [],
  107844. "nodeType": "FunctionCall",
  107845. "src": "66589:79:50",
  107846. "tryCall": false,
  107847. "typeDescriptions": {
  107848. "typeIdentifier": "t_bytes_memory_ptr",
  107849. "typeString": "bytes memory"
  107850. }
  107851. }
  107852. ],
  107853. "expression": {
  107854. "argumentTypes": [
  107855. {
  107856. "typeIdentifier": "t_bytes_memory_ptr",
  107857. "typeString": "bytes memory"
  107858. }
  107859. ],
  107860. "id": 15066,
  107861. "name": "_sendLogPayload",
  107862. "nodeType": "Identifier",
  107863. "overloadedDeclarations": [],
  107864. "referencedDeclaration": 7315,
  107865. "src": "66573:15:50",
  107866. "typeDescriptions": {
  107867. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  107868. "typeString": "function (bytes memory) pure"
  107869. }
  107870. },
  107871. "id": 15075,
  107872. "isConstant": false,
  107873. "isLValue": false,
  107874. "isPure": false,
  107875. "kind": "functionCall",
  107876. "lValueRequested": false,
  107877. "nameLocations": [],
  107878. "names": [],
  107879. "nodeType": "FunctionCall",
  107880. "src": "66573:96:50",
  107881. "tryCall": false,
  107882. "typeDescriptions": {
  107883. "typeIdentifier": "t_tuple$__$",
  107884. "typeString": "tuple()"
  107885. }
  107886. },
  107887. "id": 15076,
  107888. "nodeType": "ExpressionStatement",
  107889. "src": "66573:96:50"
  107890. }
  107891. ]
  107892. },
  107893. "implemented": true,
  107894. "kind": "function",
  107895. "modifiers": [],
  107896. "name": "log",
  107897. "nameLocation": "66497:3:50",
  107898. "parameters": {
  107899. "id": 15064,
  107900. "nodeType": "ParameterList",
  107901. "parameters": [
  107902. {
  107903. "constant": false,
  107904. "id": 15057,
  107905. "mutability": "mutable",
  107906. "name": "p0",
  107907. "nameLocation": "66509:2:50",
  107908. "nodeType": "VariableDeclaration",
  107909. "scope": 15078,
  107910. "src": "66501:10:50",
  107911. "stateVariable": false,
  107912. "storageLocation": "default",
  107913. "typeDescriptions": {
  107914. "typeIdentifier": "t_address",
  107915. "typeString": "address"
  107916. },
  107917. "typeName": {
  107918. "id": 15056,
  107919. "name": "address",
  107920. "nodeType": "ElementaryTypeName",
  107921. "src": "66501:7:50",
  107922. "stateMutability": "nonpayable",
  107923. "typeDescriptions": {
  107924. "typeIdentifier": "t_address",
  107925. "typeString": "address"
  107926. }
  107927. },
  107928. "visibility": "internal"
  107929. },
  107930. {
  107931. "constant": false,
  107932. "id": 15059,
  107933. "mutability": "mutable",
  107934. "name": "p1",
  107935. "nameLocation": "66521:2:50",
  107936. "nodeType": "VariableDeclaration",
  107937. "scope": 15078,
  107938. "src": "66513:10:50",
  107939. "stateVariable": false,
  107940. "storageLocation": "default",
  107941. "typeDescriptions": {
  107942. "typeIdentifier": "t_address",
  107943. "typeString": "address"
  107944. },
  107945. "typeName": {
  107946. "id": 15058,
  107947. "name": "address",
  107948. "nodeType": "ElementaryTypeName",
  107949. "src": "66513:7:50",
  107950. "stateMutability": "nonpayable",
  107951. "typeDescriptions": {
  107952. "typeIdentifier": "t_address",
  107953. "typeString": "address"
  107954. }
  107955. },
  107956. "visibility": "internal"
  107957. },
  107958. {
  107959. "constant": false,
  107960. "id": 15061,
  107961. "mutability": "mutable",
  107962. "name": "p2",
  107963. "nameLocation": "66533:2:50",
  107964. "nodeType": "VariableDeclaration",
  107965. "scope": 15078,
  107966. "src": "66525:10:50",
  107967. "stateVariable": false,
  107968. "storageLocation": "default",
  107969. "typeDescriptions": {
  107970. "typeIdentifier": "t_uint256",
  107971. "typeString": "uint256"
  107972. },
  107973. "typeName": {
  107974. "id": 15060,
  107975. "name": "uint256",
  107976. "nodeType": "ElementaryTypeName",
  107977. "src": "66525:7:50",
  107978. "typeDescriptions": {
  107979. "typeIdentifier": "t_uint256",
  107980. "typeString": "uint256"
  107981. }
  107982. },
  107983. "visibility": "internal"
  107984. },
  107985. {
  107986. "constant": false,
  107987. "id": 15063,
  107988. "mutability": "mutable",
  107989. "name": "p3",
  107990. "nameLocation": "66545:2:50",
  107991. "nodeType": "VariableDeclaration",
  107992. "scope": 15078,
  107993. "src": "66537:10:50",
  107994. "stateVariable": false,
  107995. "storageLocation": "default",
  107996. "typeDescriptions": {
  107997. "typeIdentifier": "t_address",
  107998. "typeString": "address"
  107999. },
  108000. "typeName": {
  108001. "id": 15062,
  108002. "name": "address",
  108003. "nodeType": "ElementaryTypeName",
  108004. "src": "66537:7:50",
  108005. "stateMutability": "nonpayable",
  108006. "typeDescriptions": {
  108007. "typeIdentifier": "t_address",
  108008. "typeString": "address"
  108009. }
  108010. },
  108011. "visibility": "internal"
  108012. }
  108013. ],
  108014. "src": "66500:48:50"
  108015. },
  108016. "returnParameters": {
  108017. "id": 15065,
  108018. "nodeType": "ParameterList",
  108019. "parameters": [],
  108020. "src": "66563:0:50"
  108021. },
  108022. "scope": 15355,
  108023. "stateMutability": "pure",
  108024. "virtual": false,
  108025. "visibility": "internal"
  108026. },
  108027. {
  108028. "id": 15101,
  108029. "nodeType": "FunctionDefinition",
  108030. "src": "66682:193:50",
  108031. "nodes": [],
  108032. "body": {
  108033. "id": 15100,
  108034. "nodeType": "Block",
  108035. "src": "66763:112:50",
  108036. "nodes": [],
  108037. "statements": [
  108038. {
  108039. "expression": {
  108040. "arguments": [
  108041. {
  108042. "arguments": [
  108043. {
  108044. "hexValue": "6c6f6728616464726573732c616464726573732c737472696e672c75696e7432353629",
  108045. "id": 15092,
  108046. "isConstant": false,
  108047. "isLValue": false,
  108048. "isPure": true,
  108049. "kind": "string",
  108050. "lValueRequested": false,
  108051. "nodeType": "Literal",
  108052. "src": "66813:37:50",
  108053. "typeDescriptions": {
  108054. "typeIdentifier": "t_stringliteral_ef1cefe7e092dcc5b0ed6bc72a78756f9c352fc002139efb9b181c734d5d45d5",
  108055. "typeString": "literal_string \"log(address,address,string,uint256)\""
  108056. },
  108057. "value": "log(address,address,string,uint256)"
  108058. },
  108059. {
  108060. "id": 15093,
  108061. "name": "p0",
  108062. "nodeType": "Identifier",
  108063. "overloadedDeclarations": [],
  108064. "referencedDeclaration": 15080,
  108065. "src": "66852:2:50",
  108066. "typeDescriptions": {
  108067. "typeIdentifier": "t_address",
  108068. "typeString": "address"
  108069. }
  108070. },
  108071. {
  108072. "id": 15094,
  108073. "name": "p1",
  108074. "nodeType": "Identifier",
  108075. "overloadedDeclarations": [],
  108076. "referencedDeclaration": 15082,
  108077. "src": "66856:2:50",
  108078. "typeDescriptions": {
  108079. "typeIdentifier": "t_address",
  108080. "typeString": "address"
  108081. }
  108082. },
  108083. {
  108084. "id": 15095,
  108085. "name": "p2",
  108086. "nodeType": "Identifier",
  108087. "overloadedDeclarations": [],
  108088. "referencedDeclaration": 15084,
  108089. "src": "66860:2:50",
  108090. "typeDescriptions": {
  108091. "typeIdentifier": "t_string_memory_ptr",
  108092. "typeString": "string memory"
  108093. }
  108094. },
  108095. {
  108096. "id": 15096,
  108097. "name": "p3",
  108098. "nodeType": "Identifier",
  108099. "overloadedDeclarations": [],
  108100. "referencedDeclaration": 15086,
  108101. "src": "66864:2:50",
  108102. "typeDescriptions": {
  108103. "typeIdentifier": "t_uint256",
  108104. "typeString": "uint256"
  108105. }
  108106. }
  108107. ],
  108108. "expression": {
  108109. "argumentTypes": [
  108110. {
  108111. "typeIdentifier": "t_stringliteral_ef1cefe7e092dcc5b0ed6bc72a78756f9c352fc002139efb9b181c734d5d45d5",
  108112. "typeString": "literal_string \"log(address,address,string,uint256)\""
  108113. },
  108114. {
  108115. "typeIdentifier": "t_address",
  108116. "typeString": "address"
  108117. },
  108118. {
  108119. "typeIdentifier": "t_address",
  108120. "typeString": "address"
  108121. },
  108122. {
  108123. "typeIdentifier": "t_string_memory_ptr",
  108124. "typeString": "string memory"
  108125. },
  108126. {
  108127. "typeIdentifier": "t_uint256",
  108128. "typeString": "uint256"
  108129. }
  108130. ],
  108131. "expression": {
  108132. "id": 15090,
  108133. "name": "abi",
  108134. "nodeType": "Identifier",
  108135. "overloadedDeclarations": [],
  108136. "referencedDeclaration": -1,
  108137. "src": "66789:3:50",
  108138. "typeDescriptions": {
  108139. "typeIdentifier": "t_magic_abi",
  108140. "typeString": "abi"
  108141. }
  108142. },
  108143. "id": 15091,
  108144. "isConstant": false,
  108145. "isLValue": false,
  108146. "isPure": true,
  108147. "lValueRequested": false,
  108148. "memberLocation": "66793:19:50",
  108149. "memberName": "encodeWithSignature",
  108150. "nodeType": "MemberAccess",
  108151. "src": "66789:23:50",
  108152. "typeDescriptions": {
  108153. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  108154. "typeString": "function (string memory) pure returns (bytes memory)"
  108155. }
  108156. },
  108157. "id": 15097,
  108158. "isConstant": false,
  108159. "isLValue": false,
  108160. "isPure": false,
  108161. "kind": "functionCall",
  108162. "lValueRequested": false,
  108163. "nameLocations": [],
  108164. "names": [],
  108165. "nodeType": "FunctionCall",
  108166. "src": "66789:78:50",
  108167. "tryCall": false,
  108168. "typeDescriptions": {
  108169. "typeIdentifier": "t_bytes_memory_ptr",
  108170. "typeString": "bytes memory"
  108171. }
  108172. }
  108173. ],
  108174. "expression": {
  108175. "argumentTypes": [
  108176. {
  108177. "typeIdentifier": "t_bytes_memory_ptr",
  108178. "typeString": "bytes memory"
  108179. }
  108180. ],
  108181. "id": 15089,
  108182. "name": "_sendLogPayload",
  108183. "nodeType": "Identifier",
  108184. "overloadedDeclarations": [],
  108185. "referencedDeclaration": 7315,
  108186. "src": "66773:15:50",
  108187. "typeDescriptions": {
  108188. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  108189. "typeString": "function (bytes memory) pure"
  108190. }
  108191. },
  108192. "id": 15098,
  108193. "isConstant": false,
  108194. "isLValue": false,
  108195. "isPure": false,
  108196. "kind": "functionCall",
  108197. "lValueRequested": false,
  108198. "nameLocations": [],
  108199. "names": [],
  108200. "nodeType": "FunctionCall",
  108201. "src": "66773:95:50",
  108202. "tryCall": false,
  108203. "typeDescriptions": {
  108204. "typeIdentifier": "t_tuple$__$",
  108205. "typeString": "tuple()"
  108206. }
  108207. },
  108208. "id": 15099,
  108209. "nodeType": "ExpressionStatement",
  108210. "src": "66773:95:50"
  108211. }
  108212. ]
  108213. },
  108214. "implemented": true,
  108215. "kind": "function",
  108216. "modifiers": [],
  108217. "name": "log",
  108218. "nameLocation": "66691:3:50",
  108219. "parameters": {
  108220. "id": 15087,
  108221. "nodeType": "ParameterList",
  108222. "parameters": [
  108223. {
  108224. "constant": false,
  108225. "id": 15080,
  108226. "mutability": "mutable",
  108227. "name": "p0",
  108228. "nameLocation": "66703:2:50",
  108229. "nodeType": "VariableDeclaration",
  108230. "scope": 15101,
  108231. "src": "66695:10:50",
  108232. "stateVariable": false,
  108233. "storageLocation": "default",
  108234. "typeDescriptions": {
  108235. "typeIdentifier": "t_address",
  108236. "typeString": "address"
  108237. },
  108238. "typeName": {
  108239. "id": 15079,
  108240. "name": "address",
  108241. "nodeType": "ElementaryTypeName",
  108242. "src": "66695:7:50",
  108243. "stateMutability": "nonpayable",
  108244. "typeDescriptions": {
  108245. "typeIdentifier": "t_address",
  108246. "typeString": "address"
  108247. }
  108248. },
  108249. "visibility": "internal"
  108250. },
  108251. {
  108252. "constant": false,
  108253. "id": 15082,
  108254. "mutability": "mutable",
  108255. "name": "p1",
  108256. "nameLocation": "66715:2:50",
  108257. "nodeType": "VariableDeclaration",
  108258. "scope": 15101,
  108259. "src": "66707:10:50",
  108260. "stateVariable": false,
  108261. "storageLocation": "default",
  108262. "typeDescriptions": {
  108263. "typeIdentifier": "t_address",
  108264. "typeString": "address"
  108265. },
  108266. "typeName": {
  108267. "id": 15081,
  108268. "name": "address",
  108269. "nodeType": "ElementaryTypeName",
  108270. "src": "66707:7:50",
  108271. "stateMutability": "nonpayable",
  108272. "typeDescriptions": {
  108273. "typeIdentifier": "t_address",
  108274. "typeString": "address"
  108275. }
  108276. },
  108277. "visibility": "internal"
  108278. },
  108279. {
  108280. "constant": false,
  108281. "id": 15084,
  108282. "mutability": "mutable",
  108283. "name": "p2",
  108284. "nameLocation": "66733:2:50",
  108285. "nodeType": "VariableDeclaration",
  108286. "scope": 15101,
  108287. "src": "66719:16:50",
  108288. "stateVariable": false,
  108289. "storageLocation": "memory",
  108290. "typeDescriptions": {
  108291. "typeIdentifier": "t_string_memory_ptr",
  108292. "typeString": "string"
  108293. },
  108294. "typeName": {
  108295. "id": 15083,
  108296. "name": "string",
  108297. "nodeType": "ElementaryTypeName",
  108298. "src": "66719:6:50",
  108299. "typeDescriptions": {
  108300. "typeIdentifier": "t_string_storage_ptr",
  108301. "typeString": "string"
  108302. }
  108303. },
  108304. "visibility": "internal"
  108305. },
  108306. {
  108307. "constant": false,
  108308. "id": 15086,
  108309. "mutability": "mutable",
  108310. "name": "p3",
  108311. "nameLocation": "66745:2:50",
  108312. "nodeType": "VariableDeclaration",
  108313. "scope": 15101,
  108314. "src": "66737:10:50",
  108315. "stateVariable": false,
  108316. "storageLocation": "default",
  108317. "typeDescriptions": {
  108318. "typeIdentifier": "t_uint256",
  108319. "typeString": "uint256"
  108320. },
  108321. "typeName": {
  108322. "id": 15085,
  108323. "name": "uint256",
  108324. "nodeType": "ElementaryTypeName",
  108325. "src": "66737:7:50",
  108326. "typeDescriptions": {
  108327. "typeIdentifier": "t_uint256",
  108328. "typeString": "uint256"
  108329. }
  108330. },
  108331. "visibility": "internal"
  108332. }
  108333. ],
  108334. "src": "66694:54:50"
  108335. },
  108336. "returnParameters": {
  108337. "id": 15088,
  108338. "nodeType": "ParameterList",
  108339. "parameters": [],
  108340. "src": "66763:0:50"
  108341. },
  108342. "scope": 15355,
  108343. "stateMutability": "pure",
  108344. "virtual": false,
  108345. "visibility": "internal"
  108346. },
  108347. {
  108348. "id": 15124,
  108349. "nodeType": "FunctionDefinition",
  108350. "src": "66881:198:50",
  108351. "nodes": [],
  108352. "body": {
  108353. "id": 15123,
  108354. "nodeType": "Block",
  108355. "src": "66968:111:50",
  108356. "nodes": [],
  108357. "statements": [
  108358. {
  108359. "expression": {
  108360. "arguments": [
  108361. {
  108362. "arguments": [
  108363. {
  108364. "hexValue": "6c6f6728616464726573732c616464726573732c737472696e672c737472696e6729",
  108365. "id": 15115,
  108366. "isConstant": false,
  108367. "isLValue": false,
  108368. "isPure": true,
  108369. "kind": "string",
  108370. "lValueRequested": false,
  108371. "nodeType": "Literal",
  108372. "src": "67018:36:50",
  108373. "typeDescriptions": {
  108374. "typeIdentifier": "t_stringliteral_21bdaf25c85279ffda21e4e2b9f685ff585c62a37c0ebe7ae25670fd06df3aa1",
  108375. "typeString": "literal_string \"log(address,address,string,string)\""
  108376. },
  108377. "value": "log(address,address,string,string)"
  108378. },
  108379. {
  108380. "id": 15116,
  108381. "name": "p0",
  108382. "nodeType": "Identifier",
  108383. "overloadedDeclarations": [],
  108384. "referencedDeclaration": 15103,
  108385. "src": "67056:2:50",
  108386. "typeDescriptions": {
  108387. "typeIdentifier": "t_address",
  108388. "typeString": "address"
  108389. }
  108390. },
  108391. {
  108392. "id": 15117,
  108393. "name": "p1",
  108394. "nodeType": "Identifier",
  108395. "overloadedDeclarations": [],
  108396. "referencedDeclaration": 15105,
  108397. "src": "67060:2:50",
  108398. "typeDescriptions": {
  108399. "typeIdentifier": "t_address",
  108400. "typeString": "address"
  108401. }
  108402. },
  108403. {
  108404. "id": 15118,
  108405. "name": "p2",
  108406. "nodeType": "Identifier",
  108407. "overloadedDeclarations": [],
  108408. "referencedDeclaration": 15107,
  108409. "src": "67064:2:50",
  108410. "typeDescriptions": {
  108411. "typeIdentifier": "t_string_memory_ptr",
  108412. "typeString": "string memory"
  108413. }
  108414. },
  108415. {
  108416. "id": 15119,
  108417. "name": "p3",
  108418. "nodeType": "Identifier",
  108419. "overloadedDeclarations": [],
  108420. "referencedDeclaration": 15109,
  108421. "src": "67068:2:50",
  108422. "typeDescriptions": {
  108423. "typeIdentifier": "t_string_memory_ptr",
  108424. "typeString": "string memory"
  108425. }
  108426. }
  108427. ],
  108428. "expression": {
  108429. "argumentTypes": [
  108430. {
  108431. "typeIdentifier": "t_stringliteral_21bdaf25c85279ffda21e4e2b9f685ff585c62a37c0ebe7ae25670fd06df3aa1",
  108432. "typeString": "literal_string \"log(address,address,string,string)\""
  108433. },
  108434. {
  108435. "typeIdentifier": "t_address",
  108436. "typeString": "address"
  108437. },
  108438. {
  108439. "typeIdentifier": "t_address",
  108440. "typeString": "address"
  108441. },
  108442. {
  108443. "typeIdentifier": "t_string_memory_ptr",
  108444. "typeString": "string memory"
  108445. },
  108446. {
  108447. "typeIdentifier": "t_string_memory_ptr",
  108448. "typeString": "string memory"
  108449. }
  108450. ],
  108451. "expression": {
  108452. "id": 15113,
  108453. "name": "abi",
  108454. "nodeType": "Identifier",
  108455. "overloadedDeclarations": [],
  108456. "referencedDeclaration": -1,
  108457. "src": "66994:3:50",
  108458. "typeDescriptions": {
  108459. "typeIdentifier": "t_magic_abi",
  108460. "typeString": "abi"
  108461. }
  108462. },
  108463. "id": 15114,
  108464. "isConstant": false,
  108465. "isLValue": false,
  108466. "isPure": true,
  108467. "lValueRequested": false,
  108468. "memberLocation": "66998:19:50",
  108469. "memberName": "encodeWithSignature",
  108470. "nodeType": "MemberAccess",
  108471. "src": "66994:23:50",
  108472. "typeDescriptions": {
  108473. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  108474. "typeString": "function (string memory) pure returns (bytes memory)"
  108475. }
  108476. },
  108477. "id": 15120,
  108478. "isConstant": false,
  108479. "isLValue": false,
  108480. "isPure": false,
  108481. "kind": "functionCall",
  108482. "lValueRequested": false,
  108483. "nameLocations": [],
  108484. "names": [],
  108485. "nodeType": "FunctionCall",
  108486. "src": "66994:77:50",
  108487. "tryCall": false,
  108488. "typeDescriptions": {
  108489. "typeIdentifier": "t_bytes_memory_ptr",
  108490. "typeString": "bytes memory"
  108491. }
  108492. }
  108493. ],
  108494. "expression": {
  108495. "argumentTypes": [
  108496. {
  108497. "typeIdentifier": "t_bytes_memory_ptr",
  108498. "typeString": "bytes memory"
  108499. }
  108500. ],
  108501. "id": 15112,
  108502. "name": "_sendLogPayload",
  108503. "nodeType": "Identifier",
  108504. "overloadedDeclarations": [],
  108505. "referencedDeclaration": 7315,
  108506. "src": "66978:15:50",
  108507. "typeDescriptions": {
  108508. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  108509. "typeString": "function (bytes memory) pure"
  108510. }
  108511. },
  108512. "id": 15121,
  108513. "isConstant": false,
  108514. "isLValue": false,
  108515. "isPure": false,
  108516. "kind": "functionCall",
  108517. "lValueRequested": false,
  108518. "nameLocations": [],
  108519. "names": [],
  108520. "nodeType": "FunctionCall",
  108521. "src": "66978:94:50",
  108522. "tryCall": false,
  108523. "typeDescriptions": {
  108524. "typeIdentifier": "t_tuple$__$",
  108525. "typeString": "tuple()"
  108526. }
  108527. },
  108528. "id": 15122,
  108529. "nodeType": "ExpressionStatement",
  108530. "src": "66978:94:50"
  108531. }
  108532. ]
  108533. },
  108534. "implemented": true,
  108535. "kind": "function",
  108536. "modifiers": [],
  108537. "name": "log",
  108538. "nameLocation": "66890:3:50",
  108539. "parameters": {
  108540. "id": 15110,
  108541. "nodeType": "ParameterList",
  108542. "parameters": [
  108543. {
  108544. "constant": false,
  108545. "id": 15103,
  108546. "mutability": "mutable",
  108547. "name": "p0",
  108548. "nameLocation": "66902:2:50",
  108549. "nodeType": "VariableDeclaration",
  108550. "scope": 15124,
  108551. "src": "66894:10:50",
  108552. "stateVariable": false,
  108553. "storageLocation": "default",
  108554. "typeDescriptions": {
  108555. "typeIdentifier": "t_address",
  108556. "typeString": "address"
  108557. },
  108558. "typeName": {
  108559. "id": 15102,
  108560. "name": "address",
  108561. "nodeType": "ElementaryTypeName",
  108562. "src": "66894:7:50",
  108563. "stateMutability": "nonpayable",
  108564. "typeDescriptions": {
  108565. "typeIdentifier": "t_address",
  108566. "typeString": "address"
  108567. }
  108568. },
  108569. "visibility": "internal"
  108570. },
  108571. {
  108572. "constant": false,
  108573. "id": 15105,
  108574. "mutability": "mutable",
  108575. "name": "p1",
  108576. "nameLocation": "66914:2:50",
  108577. "nodeType": "VariableDeclaration",
  108578. "scope": 15124,
  108579. "src": "66906:10:50",
  108580. "stateVariable": false,
  108581. "storageLocation": "default",
  108582. "typeDescriptions": {
  108583. "typeIdentifier": "t_address",
  108584. "typeString": "address"
  108585. },
  108586. "typeName": {
  108587. "id": 15104,
  108588. "name": "address",
  108589. "nodeType": "ElementaryTypeName",
  108590. "src": "66906:7:50",
  108591. "stateMutability": "nonpayable",
  108592. "typeDescriptions": {
  108593. "typeIdentifier": "t_address",
  108594. "typeString": "address"
  108595. }
  108596. },
  108597. "visibility": "internal"
  108598. },
  108599. {
  108600. "constant": false,
  108601. "id": 15107,
  108602. "mutability": "mutable",
  108603. "name": "p2",
  108604. "nameLocation": "66932:2:50",
  108605. "nodeType": "VariableDeclaration",
  108606. "scope": 15124,
  108607. "src": "66918:16:50",
  108608. "stateVariable": false,
  108609. "storageLocation": "memory",
  108610. "typeDescriptions": {
  108611. "typeIdentifier": "t_string_memory_ptr",
  108612. "typeString": "string"
  108613. },
  108614. "typeName": {
  108615. "id": 15106,
  108616. "name": "string",
  108617. "nodeType": "ElementaryTypeName",
  108618. "src": "66918:6:50",
  108619. "typeDescriptions": {
  108620. "typeIdentifier": "t_string_storage_ptr",
  108621. "typeString": "string"
  108622. }
  108623. },
  108624. "visibility": "internal"
  108625. },
  108626. {
  108627. "constant": false,
  108628. "id": 15109,
  108629. "mutability": "mutable",
  108630. "name": "p3",
  108631. "nameLocation": "66950:2:50",
  108632. "nodeType": "VariableDeclaration",
  108633. "scope": 15124,
  108634. "src": "66936:16:50",
  108635. "stateVariable": false,
  108636. "storageLocation": "memory",
  108637. "typeDescriptions": {
  108638. "typeIdentifier": "t_string_memory_ptr",
  108639. "typeString": "string"
  108640. },
  108641. "typeName": {
  108642. "id": 15108,
  108643. "name": "string",
  108644. "nodeType": "ElementaryTypeName",
  108645. "src": "66936:6:50",
  108646. "typeDescriptions": {
  108647. "typeIdentifier": "t_string_storage_ptr",
  108648. "typeString": "string"
  108649. }
  108650. },
  108651. "visibility": "internal"
  108652. }
  108653. ],
  108654. "src": "66893:60:50"
  108655. },
  108656. "returnParameters": {
  108657. "id": 15111,
  108658. "nodeType": "ParameterList",
  108659. "parameters": [],
  108660. "src": "66968:0:50"
  108661. },
  108662. "scope": 15355,
  108663. "stateMutability": "pure",
  108664. "virtual": false,
  108665. "visibility": "internal"
  108666. },
  108667. {
  108668. "id": 15147,
  108669. "nodeType": "FunctionDefinition",
  108670. "src": "67085:187:50",
  108671. "nodes": [],
  108672. "body": {
  108673. "id": 15146,
  108674. "nodeType": "Block",
  108675. "src": "67163:109:50",
  108676. "nodes": [],
  108677. "statements": [
  108678. {
  108679. "expression": {
  108680. "arguments": [
  108681. {
  108682. "arguments": [
  108683. {
  108684. "hexValue": "6c6f6728616464726573732c616464726573732c737472696e672c626f6f6c29",
  108685. "id": 15138,
  108686. "isConstant": false,
  108687. "isLValue": false,
  108688. "isPure": true,
  108689. "kind": "string",
  108690. "lValueRequested": false,
  108691. "nodeType": "Literal",
  108692. "src": "67213:34:50",
  108693. "typeDescriptions": {
  108694. "typeIdentifier": "t_stringliteral_6f1a594e70810560eaae5bbc82bc991f1120ac326ec142f6fb212682169447fd",
  108695. "typeString": "literal_string \"log(address,address,string,bool)\""
  108696. },
  108697. "value": "log(address,address,string,bool)"
  108698. },
  108699. {
  108700. "id": 15139,
  108701. "name": "p0",
  108702. "nodeType": "Identifier",
  108703. "overloadedDeclarations": [],
  108704. "referencedDeclaration": 15126,
  108705. "src": "67249:2:50",
  108706. "typeDescriptions": {
  108707. "typeIdentifier": "t_address",
  108708. "typeString": "address"
  108709. }
  108710. },
  108711. {
  108712. "id": 15140,
  108713. "name": "p1",
  108714. "nodeType": "Identifier",
  108715. "overloadedDeclarations": [],
  108716. "referencedDeclaration": 15128,
  108717. "src": "67253:2:50",
  108718. "typeDescriptions": {
  108719. "typeIdentifier": "t_address",
  108720. "typeString": "address"
  108721. }
  108722. },
  108723. {
  108724. "id": 15141,
  108725. "name": "p2",
  108726. "nodeType": "Identifier",
  108727. "overloadedDeclarations": [],
  108728. "referencedDeclaration": 15130,
  108729. "src": "67257:2:50",
  108730. "typeDescriptions": {
  108731. "typeIdentifier": "t_string_memory_ptr",
  108732. "typeString": "string memory"
  108733. }
  108734. },
  108735. {
  108736. "id": 15142,
  108737. "name": "p3",
  108738. "nodeType": "Identifier",
  108739. "overloadedDeclarations": [],
  108740. "referencedDeclaration": 15132,
  108741. "src": "67261:2:50",
  108742. "typeDescriptions": {
  108743. "typeIdentifier": "t_bool",
  108744. "typeString": "bool"
  108745. }
  108746. }
  108747. ],
  108748. "expression": {
  108749. "argumentTypes": [
  108750. {
  108751. "typeIdentifier": "t_stringliteral_6f1a594e70810560eaae5bbc82bc991f1120ac326ec142f6fb212682169447fd",
  108752. "typeString": "literal_string \"log(address,address,string,bool)\""
  108753. },
  108754. {
  108755. "typeIdentifier": "t_address",
  108756. "typeString": "address"
  108757. },
  108758. {
  108759. "typeIdentifier": "t_address",
  108760. "typeString": "address"
  108761. },
  108762. {
  108763. "typeIdentifier": "t_string_memory_ptr",
  108764. "typeString": "string memory"
  108765. },
  108766. {
  108767. "typeIdentifier": "t_bool",
  108768. "typeString": "bool"
  108769. }
  108770. ],
  108771. "expression": {
  108772. "id": 15136,
  108773. "name": "abi",
  108774. "nodeType": "Identifier",
  108775. "overloadedDeclarations": [],
  108776. "referencedDeclaration": -1,
  108777. "src": "67189:3:50",
  108778. "typeDescriptions": {
  108779. "typeIdentifier": "t_magic_abi",
  108780. "typeString": "abi"
  108781. }
  108782. },
  108783. "id": 15137,
  108784. "isConstant": false,
  108785. "isLValue": false,
  108786. "isPure": true,
  108787. "lValueRequested": false,
  108788. "memberLocation": "67193:19:50",
  108789. "memberName": "encodeWithSignature",
  108790. "nodeType": "MemberAccess",
  108791. "src": "67189:23:50",
  108792. "typeDescriptions": {
  108793. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  108794. "typeString": "function (string memory) pure returns (bytes memory)"
  108795. }
  108796. },
  108797. "id": 15143,
  108798. "isConstant": false,
  108799. "isLValue": false,
  108800. "isPure": false,
  108801. "kind": "functionCall",
  108802. "lValueRequested": false,
  108803. "nameLocations": [],
  108804. "names": [],
  108805. "nodeType": "FunctionCall",
  108806. "src": "67189:75:50",
  108807. "tryCall": false,
  108808. "typeDescriptions": {
  108809. "typeIdentifier": "t_bytes_memory_ptr",
  108810. "typeString": "bytes memory"
  108811. }
  108812. }
  108813. ],
  108814. "expression": {
  108815. "argumentTypes": [
  108816. {
  108817. "typeIdentifier": "t_bytes_memory_ptr",
  108818. "typeString": "bytes memory"
  108819. }
  108820. ],
  108821. "id": 15135,
  108822. "name": "_sendLogPayload",
  108823. "nodeType": "Identifier",
  108824. "overloadedDeclarations": [],
  108825. "referencedDeclaration": 7315,
  108826. "src": "67173:15:50",
  108827. "typeDescriptions": {
  108828. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  108829. "typeString": "function (bytes memory) pure"
  108830. }
  108831. },
  108832. "id": 15144,
  108833. "isConstant": false,
  108834. "isLValue": false,
  108835. "isPure": false,
  108836. "kind": "functionCall",
  108837. "lValueRequested": false,
  108838. "nameLocations": [],
  108839. "names": [],
  108840. "nodeType": "FunctionCall",
  108841. "src": "67173:92:50",
  108842. "tryCall": false,
  108843. "typeDescriptions": {
  108844. "typeIdentifier": "t_tuple$__$",
  108845. "typeString": "tuple()"
  108846. }
  108847. },
  108848. "id": 15145,
  108849. "nodeType": "ExpressionStatement",
  108850. "src": "67173:92:50"
  108851. }
  108852. ]
  108853. },
  108854. "implemented": true,
  108855. "kind": "function",
  108856. "modifiers": [],
  108857. "name": "log",
  108858. "nameLocation": "67094:3:50",
  108859. "parameters": {
  108860. "id": 15133,
  108861. "nodeType": "ParameterList",
  108862. "parameters": [
  108863. {
  108864. "constant": false,
  108865. "id": 15126,
  108866. "mutability": "mutable",
  108867. "name": "p0",
  108868. "nameLocation": "67106:2:50",
  108869. "nodeType": "VariableDeclaration",
  108870. "scope": 15147,
  108871. "src": "67098:10:50",
  108872. "stateVariable": false,
  108873. "storageLocation": "default",
  108874. "typeDescriptions": {
  108875. "typeIdentifier": "t_address",
  108876. "typeString": "address"
  108877. },
  108878. "typeName": {
  108879. "id": 15125,
  108880. "name": "address",
  108881. "nodeType": "ElementaryTypeName",
  108882. "src": "67098:7:50",
  108883. "stateMutability": "nonpayable",
  108884. "typeDescriptions": {
  108885. "typeIdentifier": "t_address",
  108886. "typeString": "address"
  108887. }
  108888. },
  108889. "visibility": "internal"
  108890. },
  108891. {
  108892. "constant": false,
  108893. "id": 15128,
  108894. "mutability": "mutable",
  108895. "name": "p1",
  108896. "nameLocation": "67118:2:50",
  108897. "nodeType": "VariableDeclaration",
  108898. "scope": 15147,
  108899. "src": "67110:10:50",
  108900. "stateVariable": false,
  108901. "storageLocation": "default",
  108902. "typeDescriptions": {
  108903. "typeIdentifier": "t_address",
  108904. "typeString": "address"
  108905. },
  108906. "typeName": {
  108907. "id": 15127,
  108908. "name": "address",
  108909. "nodeType": "ElementaryTypeName",
  108910. "src": "67110:7:50",
  108911. "stateMutability": "nonpayable",
  108912. "typeDescriptions": {
  108913. "typeIdentifier": "t_address",
  108914. "typeString": "address"
  108915. }
  108916. },
  108917. "visibility": "internal"
  108918. },
  108919. {
  108920. "constant": false,
  108921. "id": 15130,
  108922. "mutability": "mutable",
  108923. "name": "p2",
  108924. "nameLocation": "67136:2:50",
  108925. "nodeType": "VariableDeclaration",
  108926. "scope": 15147,
  108927. "src": "67122:16:50",
  108928. "stateVariable": false,
  108929. "storageLocation": "memory",
  108930. "typeDescriptions": {
  108931. "typeIdentifier": "t_string_memory_ptr",
  108932. "typeString": "string"
  108933. },
  108934. "typeName": {
  108935. "id": 15129,
  108936. "name": "string",
  108937. "nodeType": "ElementaryTypeName",
  108938. "src": "67122:6:50",
  108939. "typeDescriptions": {
  108940. "typeIdentifier": "t_string_storage_ptr",
  108941. "typeString": "string"
  108942. }
  108943. },
  108944. "visibility": "internal"
  108945. },
  108946. {
  108947. "constant": false,
  108948. "id": 15132,
  108949. "mutability": "mutable",
  108950. "name": "p3",
  108951. "nameLocation": "67145:2:50",
  108952. "nodeType": "VariableDeclaration",
  108953. "scope": 15147,
  108954. "src": "67140:7:50",
  108955. "stateVariable": false,
  108956. "storageLocation": "default",
  108957. "typeDescriptions": {
  108958. "typeIdentifier": "t_bool",
  108959. "typeString": "bool"
  108960. },
  108961. "typeName": {
  108962. "id": 15131,
  108963. "name": "bool",
  108964. "nodeType": "ElementaryTypeName",
  108965. "src": "67140:4:50",
  108966. "typeDescriptions": {
  108967. "typeIdentifier": "t_bool",
  108968. "typeString": "bool"
  108969. }
  108970. },
  108971. "visibility": "internal"
  108972. }
  108973. ],
  108974. "src": "67097:51:50"
  108975. },
  108976. "returnParameters": {
  108977. "id": 15134,
  108978. "nodeType": "ParameterList",
  108979. "parameters": [],
  108980. "src": "67163:0:50"
  108981. },
  108982. "scope": 15355,
  108983. "stateMutability": "pure",
  108984. "virtual": false,
  108985. "visibility": "internal"
  108986. },
  108987. {
  108988. "id": 15170,
  108989. "nodeType": "FunctionDefinition",
  108990. "src": "67278:193:50",
  108991. "nodes": [],
  108992. "body": {
  108993. "id": 15169,
  108994. "nodeType": "Block",
  108995. "src": "67359:112:50",
  108996. "nodes": [],
  108997. "statements": [
  108998. {
  108999. "expression": {
  109000. "arguments": [
  109001. {
  109002. "arguments": [
  109003. {
  109004. "hexValue": "6c6f6728616464726573732c616464726573732c737472696e672c6164647265737329",
  109005. "id": 15161,
  109006. "isConstant": false,
  109007. "isLValue": false,
  109008. "isPure": true,
  109009. "kind": "string",
  109010. "lValueRequested": false,
  109011. "nodeType": "Literal",
  109012. "src": "67409:37:50",
  109013. "typeDescriptions": {
  109014. "typeIdentifier": "t_stringliteral_8f736d1685010d3a1ac02ed96109cdd5141fd92077c14203bc63442ad9b6a687",
  109015. "typeString": "literal_string \"log(address,address,string,address)\""
  109016. },
  109017. "value": "log(address,address,string,address)"
  109018. },
  109019. {
  109020. "id": 15162,
  109021. "name": "p0",
  109022. "nodeType": "Identifier",
  109023. "overloadedDeclarations": [],
  109024. "referencedDeclaration": 15149,
  109025. "src": "67448:2:50",
  109026. "typeDescriptions": {
  109027. "typeIdentifier": "t_address",
  109028. "typeString": "address"
  109029. }
  109030. },
  109031. {
  109032. "id": 15163,
  109033. "name": "p1",
  109034. "nodeType": "Identifier",
  109035. "overloadedDeclarations": [],
  109036. "referencedDeclaration": 15151,
  109037. "src": "67452:2:50",
  109038. "typeDescriptions": {
  109039. "typeIdentifier": "t_address",
  109040. "typeString": "address"
  109041. }
  109042. },
  109043. {
  109044. "id": 15164,
  109045. "name": "p2",
  109046. "nodeType": "Identifier",
  109047. "overloadedDeclarations": [],
  109048. "referencedDeclaration": 15153,
  109049. "src": "67456:2:50",
  109050. "typeDescriptions": {
  109051. "typeIdentifier": "t_string_memory_ptr",
  109052. "typeString": "string memory"
  109053. }
  109054. },
  109055. {
  109056. "id": 15165,
  109057. "name": "p3",
  109058. "nodeType": "Identifier",
  109059. "overloadedDeclarations": [],
  109060. "referencedDeclaration": 15155,
  109061. "src": "67460:2:50",
  109062. "typeDescriptions": {
  109063. "typeIdentifier": "t_address",
  109064. "typeString": "address"
  109065. }
  109066. }
  109067. ],
  109068. "expression": {
  109069. "argumentTypes": [
  109070. {
  109071. "typeIdentifier": "t_stringliteral_8f736d1685010d3a1ac02ed96109cdd5141fd92077c14203bc63442ad9b6a687",
  109072. "typeString": "literal_string \"log(address,address,string,address)\""
  109073. },
  109074. {
  109075. "typeIdentifier": "t_address",
  109076. "typeString": "address"
  109077. },
  109078. {
  109079. "typeIdentifier": "t_address",
  109080. "typeString": "address"
  109081. },
  109082. {
  109083. "typeIdentifier": "t_string_memory_ptr",
  109084. "typeString": "string memory"
  109085. },
  109086. {
  109087. "typeIdentifier": "t_address",
  109088. "typeString": "address"
  109089. }
  109090. ],
  109091. "expression": {
  109092. "id": 15159,
  109093. "name": "abi",
  109094. "nodeType": "Identifier",
  109095. "overloadedDeclarations": [],
  109096. "referencedDeclaration": -1,
  109097. "src": "67385:3:50",
  109098. "typeDescriptions": {
  109099. "typeIdentifier": "t_magic_abi",
  109100. "typeString": "abi"
  109101. }
  109102. },
  109103. "id": 15160,
  109104. "isConstant": false,
  109105. "isLValue": false,
  109106. "isPure": true,
  109107. "lValueRequested": false,
  109108. "memberLocation": "67389:19:50",
  109109. "memberName": "encodeWithSignature",
  109110. "nodeType": "MemberAccess",
  109111. "src": "67385:23:50",
  109112. "typeDescriptions": {
  109113. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  109114. "typeString": "function (string memory) pure returns (bytes memory)"
  109115. }
  109116. },
  109117. "id": 15166,
  109118. "isConstant": false,
  109119. "isLValue": false,
  109120. "isPure": false,
  109121. "kind": "functionCall",
  109122. "lValueRequested": false,
  109123. "nameLocations": [],
  109124. "names": [],
  109125. "nodeType": "FunctionCall",
  109126. "src": "67385:78:50",
  109127. "tryCall": false,
  109128. "typeDescriptions": {
  109129. "typeIdentifier": "t_bytes_memory_ptr",
  109130. "typeString": "bytes memory"
  109131. }
  109132. }
  109133. ],
  109134. "expression": {
  109135. "argumentTypes": [
  109136. {
  109137. "typeIdentifier": "t_bytes_memory_ptr",
  109138. "typeString": "bytes memory"
  109139. }
  109140. ],
  109141. "id": 15158,
  109142. "name": "_sendLogPayload",
  109143. "nodeType": "Identifier",
  109144. "overloadedDeclarations": [],
  109145. "referencedDeclaration": 7315,
  109146. "src": "67369:15:50",
  109147. "typeDescriptions": {
  109148. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  109149. "typeString": "function (bytes memory) pure"
  109150. }
  109151. },
  109152. "id": 15167,
  109153. "isConstant": false,
  109154. "isLValue": false,
  109155. "isPure": false,
  109156. "kind": "functionCall",
  109157. "lValueRequested": false,
  109158. "nameLocations": [],
  109159. "names": [],
  109160. "nodeType": "FunctionCall",
  109161. "src": "67369:95:50",
  109162. "tryCall": false,
  109163. "typeDescriptions": {
  109164. "typeIdentifier": "t_tuple$__$",
  109165. "typeString": "tuple()"
  109166. }
  109167. },
  109168. "id": 15168,
  109169. "nodeType": "ExpressionStatement",
  109170. "src": "67369:95:50"
  109171. }
  109172. ]
  109173. },
  109174. "implemented": true,
  109175. "kind": "function",
  109176. "modifiers": [],
  109177. "name": "log",
  109178. "nameLocation": "67287:3:50",
  109179. "parameters": {
  109180. "id": 15156,
  109181. "nodeType": "ParameterList",
  109182. "parameters": [
  109183. {
  109184. "constant": false,
  109185. "id": 15149,
  109186. "mutability": "mutable",
  109187. "name": "p0",
  109188. "nameLocation": "67299:2:50",
  109189. "nodeType": "VariableDeclaration",
  109190. "scope": 15170,
  109191. "src": "67291:10:50",
  109192. "stateVariable": false,
  109193. "storageLocation": "default",
  109194. "typeDescriptions": {
  109195. "typeIdentifier": "t_address",
  109196. "typeString": "address"
  109197. },
  109198. "typeName": {
  109199. "id": 15148,
  109200. "name": "address",
  109201. "nodeType": "ElementaryTypeName",
  109202. "src": "67291:7:50",
  109203. "stateMutability": "nonpayable",
  109204. "typeDescriptions": {
  109205. "typeIdentifier": "t_address",
  109206. "typeString": "address"
  109207. }
  109208. },
  109209. "visibility": "internal"
  109210. },
  109211. {
  109212. "constant": false,
  109213. "id": 15151,
  109214. "mutability": "mutable",
  109215. "name": "p1",
  109216. "nameLocation": "67311:2:50",
  109217. "nodeType": "VariableDeclaration",
  109218. "scope": 15170,
  109219. "src": "67303:10:50",
  109220. "stateVariable": false,
  109221. "storageLocation": "default",
  109222. "typeDescriptions": {
  109223. "typeIdentifier": "t_address",
  109224. "typeString": "address"
  109225. },
  109226. "typeName": {
  109227. "id": 15150,
  109228. "name": "address",
  109229. "nodeType": "ElementaryTypeName",
  109230. "src": "67303:7:50",
  109231. "stateMutability": "nonpayable",
  109232. "typeDescriptions": {
  109233. "typeIdentifier": "t_address",
  109234. "typeString": "address"
  109235. }
  109236. },
  109237. "visibility": "internal"
  109238. },
  109239. {
  109240. "constant": false,
  109241. "id": 15153,
  109242. "mutability": "mutable",
  109243. "name": "p2",
  109244. "nameLocation": "67329:2:50",
  109245. "nodeType": "VariableDeclaration",
  109246. "scope": 15170,
  109247. "src": "67315:16:50",
  109248. "stateVariable": false,
  109249. "storageLocation": "memory",
  109250. "typeDescriptions": {
  109251. "typeIdentifier": "t_string_memory_ptr",
  109252. "typeString": "string"
  109253. },
  109254. "typeName": {
  109255. "id": 15152,
  109256. "name": "string",
  109257. "nodeType": "ElementaryTypeName",
  109258. "src": "67315:6:50",
  109259. "typeDescriptions": {
  109260. "typeIdentifier": "t_string_storage_ptr",
  109261. "typeString": "string"
  109262. }
  109263. },
  109264. "visibility": "internal"
  109265. },
  109266. {
  109267. "constant": false,
  109268. "id": 15155,
  109269. "mutability": "mutable",
  109270. "name": "p3",
  109271. "nameLocation": "67341:2:50",
  109272. "nodeType": "VariableDeclaration",
  109273. "scope": 15170,
  109274. "src": "67333:10:50",
  109275. "stateVariable": false,
  109276. "storageLocation": "default",
  109277. "typeDescriptions": {
  109278. "typeIdentifier": "t_address",
  109279. "typeString": "address"
  109280. },
  109281. "typeName": {
  109282. "id": 15154,
  109283. "name": "address",
  109284. "nodeType": "ElementaryTypeName",
  109285. "src": "67333:7:50",
  109286. "stateMutability": "nonpayable",
  109287. "typeDescriptions": {
  109288. "typeIdentifier": "t_address",
  109289. "typeString": "address"
  109290. }
  109291. },
  109292. "visibility": "internal"
  109293. }
  109294. ],
  109295. "src": "67290:54:50"
  109296. },
  109297. "returnParameters": {
  109298. "id": 15157,
  109299. "nodeType": "ParameterList",
  109300. "parameters": [],
  109301. "src": "67359:0:50"
  109302. },
  109303. "scope": 15355,
  109304. "stateMutability": "pure",
  109305. "virtual": false,
  109306. "visibility": "internal"
  109307. },
  109308. {
  109309. "id": 15193,
  109310. "nodeType": "FunctionDefinition",
  109311. "src": "67477:182:50",
  109312. "nodes": [],
  109313. "body": {
  109314. "id": 15192,
  109315. "nodeType": "Block",
  109316. "src": "67549:110:50",
  109317. "nodes": [],
  109318. "statements": [
  109319. {
  109320. "expression": {
  109321. "arguments": [
  109322. {
  109323. "arguments": [
  109324. {
  109325. "hexValue": "6c6f6728616464726573732c616464726573732c626f6f6c2c75696e7432353629",
  109326. "id": 15184,
  109327. "isConstant": false,
  109328. "isLValue": false,
  109329. "isPure": true,
  109330. "kind": "string",
  109331. "lValueRequested": false,
  109332. "nodeType": "Literal",
  109333. "src": "67599:35:50",
  109334. "typeDescriptions": {
  109335. "typeIdentifier": "t_stringliteral_3971e78c267e3c99a8d143ab93f96daa498ed164b55c7e4c2a5439320fbc2671",
  109336. "typeString": "literal_string \"log(address,address,bool,uint256)\""
  109337. },
  109338. "value": "log(address,address,bool,uint256)"
  109339. },
  109340. {
  109341. "id": 15185,
  109342. "name": "p0",
  109343. "nodeType": "Identifier",
  109344. "overloadedDeclarations": [],
  109345. "referencedDeclaration": 15172,
  109346. "src": "67636:2:50",
  109347. "typeDescriptions": {
  109348. "typeIdentifier": "t_address",
  109349. "typeString": "address"
  109350. }
  109351. },
  109352. {
  109353. "id": 15186,
  109354. "name": "p1",
  109355. "nodeType": "Identifier",
  109356. "overloadedDeclarations": [],
  109357. "referencedDeclaration": 15174,
  109358. "src": "67640:2:50",
  109359. "typeDescriptions": {
  109360. "typeIdentifier": "t_address",
  109361. "typeString": "address"
  109362. }
  109363. },
  109364. {
  109365. "id": 15187,
  109366. "name": "p2",
  109367. "nodeType": "Identifier",
  109368. "overloadedDeclarations": [],
  109369. "referencedDeclaration": 15176,
  109370. "src": "67644:2:50",
  109371. "typeDescriptions": {
  109372. "typeIdentifier": "t_bool",
  109373. "typeString": "bool"
  109374. }
  109375. },
  109376. {
  109377. "id": 15188,
  109378. "name": "p3",
  109379. "nodeType": "Identifier",
  109380. "overloadedDeclarations": [],
  109381. "referencedDeclaration": 15178,
  109382. "src": "67648:2:50",
  109383. "typeDescriptions": {
  109384. "typeIdentifier": "t_uint256",
  109385. "typeString": "uint256"
  109386. }
  109387. }
  109388. ],
  109389. "expression": {
  109390. "argumentTypes": [
  109391. {
  109392. "typeIdentifier": "t_stringliteral_3971e78c267e3c99a8d143ab93f96daa498ed164b55c7e4c2a5439320fbc2671",
  109393. "typeString": "literal_string \"log(address,address,bool,uint256)\""
  109394. },
  109395. {
  109396. "typeIdentifier": "t_address",
  109397. "typeString": "address"
  109398. },
  109399. {
  109400. "typeIdentifier": "t_address",
  109401. "typeString": "address"
  109402. },
  109403. {
  109404. "typeIdentifier": "t_bool",
  109405. "typeString": "bool"
  109406. },
  109407. {
  109408. "typeIdentifier": "t_uint256",
  109409. "typeString": "uint256"
  109410. }
  109411. ],
  109412. "expression": {
  109413. "id": 15182,
  109414. "name": "abi",
  109415. "nodeType": "Identifier",
  109416. "overloadedDeclarations": [],
  109417. "referencedDeclaration": -1,
  109418. "src": "67575:3:50",
  109419. "typeDescriptions": {
  109420. "typeIdentifier": "t_magic_abi",
  109421. "typeString": "abi"
  109422. }
  109423. },
  109424. "id": 15183,
  109425. "isConstant": false,
  109426. "isLValue": false,
  109427. "isPure": true,
  109428. "lValueRequested": false,
  109429. "memberLocation": "67579:19:50",
  109430. "memberName": "encodeWithSignature",
  109431. "nodeType": "MemberAccess",
  109432. "src": "67575:23:50",
  109433. "typeDescriptions": {
  109434. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  109435. "typeString": "function (string memory) pure returns (bytes memory)"
  109436. }
  109437. },
  109438. "id": 15189,
  109439. "isConstant": false,
  109440. "isLValue": false,
  109441. "isPure": false,
  109442. "kind": "functionCall",
  109443. "lValueRequested": false,
  109444. "nameLocations": [],
  109445. "names": [],
  109446. "nodeType": "FunctionCall",
  109447. "src": "67575:76:50",
  109448. "tryCall": false,
  109449. "typeDescriptions": {
  109450. "typeIdentifier": "t_bytes_memory_ptr",
  109451. "typeString": "bytes memory"
  109452. }
  109453. }
  109454. ],
  109455. "expression": {
  109456. "argumentTypes": [
  109457. {
  109458. "typeIdentifier": "t_bytes_memory_ptr",
  109459. "typeString": "bytes memory"
  109460. }
  109461. ],
  109462. "id": 15181,
  109463. "name": "_sendLogPayload",
  109464. "nodeType": "Identifier",
  109465. "overloadedDeclarations": [],
  109466. "referencedDeclaration": 7315,
  109467. "src": "67559:15:50",
  109468. "typeDescriptions": {
  109469. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  109470. "typeString": "function (bytes memory) pure"
  109471. }
  109472. },
  109473. "id": 15190,
  109474. "isConstant": false,
  109475. "isLValue": false,
  109476. "isPure": false,
  109477. "kind": "functionCall",
  109478. "lValueRequested": false,
  109479. "nameLocations": [],
  109480. "names": [],
  109481. "nodeType": "FunctionCall",
  109482. "src": "67559:93:50",
  109483. "tryCall": false,
  109484. "typeDescriptions": {
  109485. "typeIdentifier": "t_tuple$__$",
  109486. "typeString": "tuple()"
  109487. }
  109488. },
  109489. "id": 15191,
  109490. "nodeType": "ExpressionStatement",
  109491. "src": "67559:93:50"
  109492. }
  109493. ]
  109494. },
  109495. "implemented": true,
  109496. "kind": "function",
  109497. "modifiers": [],
  109498. "name": "log",
  109499. "nameLocation": "67486:3:50",
  109500. "parameters": {
  109501. "id": 15179,
  109502. "nodeType": "ParameterList",
  109503. "parameters": [
  109504. {
  109505. "constant": false,
  109506. "id": 15172,
  109507. "mutability": "mutable",
  109508. "name": "p0",
  109509. "nameLocation": "67498:2:50",
  109510. "nodeType": "VariableDeclaration",
  109511. "scope": 15193,
  109512. "src": "67490:10:50",
  109513. "stateVariable": false,
  109514. "storageLocation": "default",
  109515. "typeDescriptions": {
  109516. "typeIdentifier": "t_address",
  109517. "typeString": "address"
  109518. },
  109519. "typeName": {
  109520. "id": 15171,
  109521. "name": "address",
  109522. "nodeType": "ElementaryTypeName",
  109523. "src": "67490:7:50",
  109524. "stateMutability": "nonpayable",
  109525. "typeDescriptions": {
  109526. "typeIdentifier": "t_address",
  109527. "typeString": "address"
  109528. }
  109529. },
  109530. "visibility": "internal"
  109531. },
  109532. {
  109533. "constant": false,
  109534. "id": 15174,
  109535. "mutability": "mutable",
  109536. "name": "p1",
  109537. "nameLocation": "67510:2:50",
  109538. "nodeType": "VariableDeclaration",
  109539. "scope": 15193,
  109540. "src": "67502:10:50",
  109541. "stateVariable": false,
  109542. "storageLocation": "default",
  109543. "typeDescriptions": {
  109544. "typeIdentifier": "t_address",
  109545. "typeString": "address"
  109546. },
  109547. "typeName": {
  109548. "id": 15173,
  109549. "name": "address",
  109550. "nodeType": "ElementaryTypeName",
  109551. "src": "67502:7:50",
  109552. "stateMutability": "nonpayable",
  109553. "typeDescriptions": {
  109554. "typeIdentifier": "t_address",
  109555. "typeString": "address"
  109556. }
  109557. },
  109558. "visibility": "internal"
  109559. },
  109560. {
  109561. "constant": false,
  109562. "id": 15176,
  109563. "mutability": "mutable",
  109564. "name": "p2",
  109565. "nameLocation": "67519:2:50",
  109566. "nodeType": "VariableDeclaration",
  109567. "scope": 15193,
  109568. "src": "67514:7:50",
  109569. "stateVariable": false,
  109570. "storageLocation": "default",
  109571. "typeDescriptions": {
  109572. "typeIdentifier": "t_bool",
  109573. "typeString": "bool"
  109574. },
  109575. "typeName": {
  109576. "id": 15175,
  109577. "name": "bool",
  109578. "nodeType": "ElementaryTypeName",
  109579. "src": "67514:4:50",
  109580. "typeDescriptions": {
  109581. "typeIdentifier": "t_bool",
  109582. "typeString": "bool"
  109583. }
  109584. },
  109585. "visibility": "internal"
  109586. },
  109587. {
  109588. "constant": false,
  109589. "id": 15178,
  109590. "mutability": "mutable",
  109591. "name": "p3",
  109592. "nameLocation": "67531:2:50",
  109593. "nodeType": "VariableDeclaration",
  109594. "scope": 15193,
  109595. "src": "67523:10:50",
  109596. "stateVariable": false,
  109597. "storageLocation": "default",
  109598. "typeDescriptions": {
  109599. "typeIdentifier": "t_uint256",
  109600. "typeString": "uint256"
  109601. },
  109602. "typeName": {
  109603. "id": 15177,
  109604. "name": "uint256",
  109605. "nodeType": "ElementaryTypeName",
  109606. "src": "67523:7:50",
  109607. "typeDescriptions": {
  109608. "typeIdentifier": "t_uint256",
  109609. "typeString": "uint256"
  109610. }
  109611. },
  109612. "visibility": "internal"
  109613. }
  109614. ],
  109615. "src": "67489:45:50"
  109616. },
  109617. "returnParameters": {
  109618. "id": 15180,
  109619. "nodeType": "ParameterList",
  109620. "parameters": [],
  109621. "src": "67549:0:50"
  109622. },
  109623. "scope": 15355,
  109624. "stateMutability": "pure",
  109625. "virtual": false,
  109626. "visibility": "internal"
  109627. },
  109628. {
  109629. "id": 15216,
  109630. "nodeType": "FunctionDefinition",
  109631. "src": "67665:187:50",
  109632. "nodes": [],
  109633. "body": {
  109634. "id": 15215,
  109635. "nodeType": "Block",
  109636. "src": "67743:109:50",
  109637. "nodes": [],
  109638. "statements": [
  109639. {
  109640. "expression": {
  109641. "arguments": [
  109642. {
  109643. "arguments": [
  109644. {
  109645. "hexValue": "6c6f6728616464726573732c616464726573732c626f6f6c2c737472696e6729",
  109646. "id": 15207,
  109647. "isConstant": false,
  109648. "isLValue": false,
  109649. "isPure": true,
  109650. "kind": "string",
  109651. "lValueRequested": false,
  109652. "nodeType": "Literal",
  109653. "src": "67793:34:50",
  109654. "typeDescriptions": {
  109655. "typeIdentifier": "t_stringliteral_aa6540c8e9a40f69e022e01a14ab22c94aae4999f1d7a246236f464d7c933b88",
  109656. "typeString": "literal_string \"log(address,address,bool,string)\""
  109657. },
  109658. "value": "log(address,address,bool,string)"
  109659. },
  109660. {
  109661. "id": 15208,
  109662. "name": "p0",
  109663. "nodeType": "Identifier",
  109664. "overloadedDeclarations": [],
  109665. "referencedDeclaration": 15195,
  109666. "src": "67829:2:50",
  109667. "typeDescriptions": {
  109668. "typeIdentifier": "t_address",
  109669. "typeString": "address"
  109670. }
  109671. },
  109672. {
  109673. "id": 15209,
  109674. "name": "p1",
  109675. "nodeType": "Identifier",
  109676. "overloadedDeclarations": [],
  109677. "referencedDeclaration": 15197,
  109678. "src": "67833:2:50",
  109679. "typeDescriptions": {
  109680. "typeIdentifier": "t_address",
  109681. "typeString": "address"
  109682. }
  109683. },
  109684. {
  109685. "id": 15210,
  109686. "name": "p2",
  109687. "nodeType": "Identifier",
  109688. "overloadedDeclarations": [],
  109689. "referencedDeclaration": 15199,
  109690. "src": "67837:2:50",
  109691. "typeDescriptions": {
  109692. "typeIdentifier": "t_bool",
  109693. "typeString": "bool"
  109694. }
  109695. },
  109696. {
  109697. "id": 15211,
  109698. "name": "p3",
  109699. "nodeType": "Identifier",
  109700. "overloadedDeclarations": [],
  109701. "referencedDeclaration": 15201,
  109702. "src": "67841:2:50",
  109703. "typeDescriptions": {
  109704. "typeIdentifier": "t_string_memory_ptr",
  109705. "typeString": "string memory"
  109706. }
  109707. }
  109708. ],
  109709. "expression": {
  109710. "argumentTypes": [
  109711. {
  109712. "typeIdentifier": "t_stringliteral_aa6540c8e9a40f69e022e01a14ab22c94aae4999f1d7a246236f464d7c933b88",
  109713. "typeString": "literal_string \"log(address,address,bool,string)\""
  109714. },
  109715. {
  109716. "typeIdentifier": "t_address",
  109717. "typeString": "address"
  109718. },
  109719. {
  109720. "typeIdentifier": "t_address",
  109721. "typeString": "address"
  109722. },
  109723. {
  109724. "typeIdentifier": "t_bool",
  109725. "typeString": "bool"
  109726. },
  109727. {
  109728. "typeIdentifier": "t_string_memory_ptr",
  109729. "typeString": "string memory"
  109730. }
  109731. ],
  109732. "expression": {
  109733. "id": 15205,
  109734. "name": "abi",
  109735. "nodeType": "Identifier",
  109736. "overloadedDeclarations": [],
  109737. "referencedDeclaration": -1,
  109738. "src": "67769:3:50",
  109739. "typeDescriptions": {
  109740. "typeIdentifier": "t_magic_abi",
  109741. "typeString": "abi"
  109742. }
  109743. },
  109744. "id": 15206,
  109745. "isConstant": false,
  109746. "isLValue": false,
  109747. "isPure": true,
  109748. "lValueRequested": false,
  109749. "memberLocation": "67773:19:50",
  109750. "memberName": "encodeWithSignature",
  109751. "nodeType": "MemberAccess",
  109752. "src": "67769:23:50",
  109753. "typeDescriptions": {
  109754. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  109755. "typeString": "function (string memory) pure returns (bytes memory)"
  109756. }
  109757. },
  109758. "id": 15212,
  109759. "isConstant": false,
  109760. "isLValue": false,
  109761. "isPure": false,
  109762. "kind": "functionCall",
  109763. "lValueRequested": false,
  109764. "nameLocations": [],
  109765. "names": [],
  109766. "nodeType": "FunctionCall",
  109767. "src": "67769:75:50",
  109768. "tryCall": false,
  109769. "typeDescriptions": {
  109770. "typeIdentifier": "t_bytes_memory_ptr",
  109771. "typeString": "bytes memory"
  109772. }
  109773. }
  109774. ],
  109775. "expression": {
  109776. "argumentTypes": [
  109777. {
  109778. "typeIdentifier": "t_bytes_memory_ptr",
  109779. "typeString": "bytes memory"
  109780. }
  109781. ],
  109782. "id": 15204,
  109783. "name": "_sendLogPayload",
  109784. "nodeType": "Identifier",
  109785. "overloadedDeclarations": [],
  109786. "referencedDeclaration": 7315,
  109787. "src": "67753:15:50",
  109788. "typeDescriptions": {
  109789. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  109790. "typeString": "function (bytes memory) pure"
  109791. }
  109792. },
  109793. "id": 15213,
  109794. "isConstant": false,
  109795. "isLValue": false,
  109796. "isPure": false,
  109797. "kind": "functionCall",
  109798. "lValueRequested": false,
  109799. "nameLocations": [],
  109800. "names": [],
  109801. "nodeType": "FunctionCall",
  109802. "src": "67753:92:50",
  109803. "tryCall": false,
  109804. "typeDescriptions": {
  109805. "typeIdentifier": "t_tuple$__$",
  109806. "typeString": "tuple()"
  109807. }
  109808. },
  109809. "id": 15214,
  109810. "nodeType": "ExpressionStatement",
  109811. "src": "67753:92:50"
  109812. }
  109813. ]
  109814. },
  109815. "implemented": true,
  109816. "kind": "function",
  109817. "modifiers": [],
  109818. "name": "log",
  109819. "nameLocation": "67674:3:50",
  109820. "parameters": {
  109821. "id": 15202,
  109822. "nodeType": "ParameterList",
  109823. "parameters": [
  109824. {
  109825. "constant": false,
  109826. "id": 15195,
  109827. "mutability": "mutable",
  109828. "name": "p0",
  109829. "nameLocation": "67686:2:50",
  109830. "nodeType": "VariableDeclaration",
  109831. "scope": 15216,
  109832. "src": "67678:10:50",
  109833. "stateVariable": false,
  109834. "storageLocation": "default",
  109835. "typeDescriptions": {
  109836. "typeIdentifier": "t_address",
  109837. "typeString": "address"
  109838. },
  109839. "typeName": {
  109840. "id": 15194,
  109841. "name": "address",
  109842. "nodeType": "ElementaryTypeName",
  109843. "src": "67678:7:50",
  109844. "stateMutability": "nonpayable",
  109845. "typeDescriptions": {
  109846. "typeIdentifier": "t_address",
  109847. "typeString": "address"
  109848. }
  109849. },
  109850. "visibility": "internal"
  109851. },
  109852. {
  109853. "constant": false,
  109854. "id": 15197,
  109855. "mutability": "mutable",
  109856. "name": "p1",
  109857. "nameLocation": "67698:2:50",
  109858. "nodeType": "VariableDeclaration",
  109859. "scope": 15216,
  109860. "src": "67690:10:50",
  109861. "stateVariable": false,
  109862. "storageLocation": "default",
  109863. "typeDescriptions": {
  109864. "typeIdentifier": "t_address",
  109865. "typeString": "address"
  109866. },
  109867. "typeName": {
  109868. "id": 15196,
  109869. "name": "address",
  109870. "nodeType": "ElementaryTypeName",
  109871. "src": "67690:7:50",
  109872. "stateMutability": "nonpayable",
  109873. "typeDescriptions": {
  109874. "typeIdentifier": "t_address",
  109875. "typeString": "address"
  109876. }
  109877. },
  109878. "visibility": "internal"
  109879. },
  109880. {
  109881. "constant": false,
  109882. "id": 15199,
  109883. "mutability": "mutable",
  109884. "name": "p2",
  109885. "nameLocation": "67707:2:50",
  109886. "nodeType": "VariableDeclaration",
  109887. "scope": 15216,
  109888. "src": "67702:7:50",
  109889. "stateVariable": false,
  109890. "storageLocation": "default",
  109891. "typeDescriptions": {
  109892. "typeIdentifier": "t_bool",
  109893. "typeString": "bool"
  109894. },
  109895. "typeName": {
  109896. "id": 15198,
  109897. "name": "bool",
  109898. "nodeType": "ElementaryTypeName",
  109899. "src": "67702:4:50",
  109900. "typeDescriptions": {
  109901. "typeIdentifier": "t_bool",
  109902. "typeString": "bool"
  109903. }
  109904. },
  109905. "visibility": "internal"
  109906. },
  109907. {
  109908. "constant": false,
  109909. "id": 15201,
  109910. "mutability": "mutable",
  109911. "name": "p3",
  109912. "nameLocation": "67725:2:50",
  109913. "nodeType": "VariableDeclaration",
  109914. "scope": 15216,
  109915. "src": "67711:16:50",
  109916. "stateVariable": false,
  109917. "storageLocation": "memory",
  109918. "typeDescriptions": {
  109919. "typeIdentifier": "t_string_memory_ptr",
  109920. "typeString": "string"
  109921. },
  109922. "typeName": {
  109923. "id": 15200,
  109924. "name": "string",
  109925. "nodeType": "ElementaryTypeName",
  109926. "src": "67711:6:50",
  109927. "typeDescriptions": {
  109928. "typeIdentifier": "t_string_storage_ptr",
  109929. "typeString": "string"
  109930. }
  109931. },
  109932. "visibility": "internal"
  109933. }
  109934. ],
  109935. "src": "67677:51:50"
  109936. },
  109937. "returnParameters": {
  109938. "id": 15203,
  109939. "nodeType": "ParameterList",
  109940. "parameters": [],
  109941. "src": "67743:0:50"
  109942. },
  109943. "scope": 15355,
  109944. "stateMutability": "pure",
  109945. "virtual": false,
  109946. "visibility": "internal"
  109947. },
  109948. {
  109949. "id": 15239,
  109950. "nodeType": "FunctionDefinition",
  109951. "src": "67858:176:50",
  109952. "nodes": [],
  109953. "body": {
  109954. "id": 15238,
  109955. "nodeType": "Block",
  109956. "src": "67927:107:50",
  109957. "nodes": [],
  109958. "statements": [
  109959. {
  109960. "expression": {
  109961. "arguments": [
  109962. {
  109963. "arguments": [
  109964. {
  109965. "hexValue": "6c6f6728616464726573732c616464726573732c626f6f6c2c626f6f6c29",
  109966. "id": 15230,
  109967. "isConstant": false,
  109968. "isLValue": false,
  109969. "isPure": true,
  109970. "kind": "string",
  109971. "lValueRequested": false,
  109972. "nodeType": "Literal",
  109973. "src": "67977:32:50",
  109974. "typeDescriptions": {
  109975. "typeIdentifier": "t_stringliteral_2cd4134aedbc2cd722f2b9715dc3acb74b16b253590361dd98a4d6cb66119b65",
  109976. "typeString": "literal_string \"log(address,address,bool,bool)\""
  109977. },
  109978. "value": "log(address,address,bool,bool)"
  109979. },
  109980. {
  109981. "id": 15231,
  109982. "name": "p0",
  109983. "nodeType": "Identifier",
  109984. "overloadedDeclarations": [],
  109985. "referencedDeclaration": 15218,
  109986. "src": "68011:2:50",
  109987. "typeDescriptions": {
  109988. "typeIdentifier": "t_address",
  109989. "typeString": "address"
  109990. }
  109991. },
  109992. {
  109993. "id": 15232,
  109994. "name": "p1",
  109995. "nodeType": "Identifier",
  109996. "overloadedDeclarations": [],
  109997. "referencedDeclaration": 15220,
  109998. "src": "68015:2:50",
  109999. "typeDescriptions": {
  110000. "typeIdentifier": "t_address",
  110001. "typeString": "address"
  110002. }
  110003. },
  110004. {
  110005. "id": 15233,
  110006. "name": "p2",
  110007. "nodeType": "Identifier",
  110008. "overloadedDeclarations": [],
  110009. "referencedDeclaration": 15222,
  110010. "src": "68019:2:50",
  110011. "typeDescriptions": {
  110012. "typeIdentifier": "t_bool",
  110013. "typeString": "bool"
  110014. }
  110015. },
  110016. {
  110017. "id": 15234,
  110018. "name": "p3",
  110019. "nodeType": "Identifier",
  110020. "overloadedDeclarations": [],
  110021. "referencedDeclaration": 15224,
  110022. "src": "68023:2:50",
  110023. "typeDescriptions": {
  110024. "typeIdentifier": "t_bool",
  110025. "typeString": "bool"
  110026. }
  110027. }
  110028. ],
  110029. "expression": {
  110030. "argumentTypes": [
  110031. {
  110032. "typeIdentifier": "t_stringliteral_2cd4134aedbc2cd722f2b9715dc3acb74b16b253590361dd98a4d6cb66119b65",
  110033. "typeString": "literal_string \"log(address,address,bool,bool)\""
  110034. },
  110035. {
  110036. "typeIdentifier": "t_address",
  110037. "typeString": "address"
  110038. },
  110039. {
  110040. "typeIdentifier": "t_address",
  110041. "typeString": "address"
  110042. },
  110043. {
  110044. "typeIdentifier": "t_bool",
  110045. "typeString": "bool"
  110046. },
  110047. {
  110048. "typeIdentifier": "t_bool",
  110049. "typeString": "bool"
  110050. }
  110051. ],
  110052. "expression": {
  110053. "id": 15228,
  110054. "name": "abi",
  110055. "nodeType": "Identifier",
  110056. "overloadedDeclarations": [],
  110057. "referencedDeclaration": -1,
  110058. "src": "67953:3:50",
  110059. "typeDescriptions": {
  110060. "typeIdentifier": "t_magic_abi",
  110061. "typeString": "abi"
  110062. }
  110063. },
  110064. "id": 15229,
  110065. "isConstant": false,
  110066. "isLValue": false,
  110067. "isPure": true,
  110068. "lValueRequested": false,
  110069. "memberLocation": "67957:19:50",
  110070. "memberName": "encodeWithSignature",
  110071. "nodeType": "MemberAccess",
  110072. "src": "67953:23:50",
  110073. "typeDescriptions": {
  110074. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  110075. "typeString": "function (string memory) pure returns (bytes memory)"
  110076. }
  110077. },
  110078. "id": 15235,
  110079. "isConstant": false,
  110080. "isLValue": false,
  110081. "isPure": false,
  110082. "kind": "functionCall",
  110083. "lValueRequested": false,
  110084. "nameLocations": [],
  110085. "names": [],
  110086. "nodeType": "FunctionCall",
  110087. "src": "67953:73:50",
  110088. "tryCall": false,
  110089. "typeDescriptions": {
  110090. "typeIdentifier": "t_bytes_memory_ptr",
  110091. "typeString": "bytes memory"
  110092. }
  110093. }
  110094. ],
  110095. "expression": {
  110096. "argumentTypes": [
  110097. {
  110098. "typeIdentifier": "t_bytes_memory_ptr",
  110099. "typeString": "bytes memory"
  110100. }
  110101. ],
  110102. "id": 15227,
  110103. "name": "_sendLogPayload",
  110104. "nodeType": "Identifier",
  110105. "overloadedDeclarations": [],
  110106. "referencedDeclaration": 7315,
  110107. "src": "67937:15:50",
  110108. "typeDescriptions": {
  110109. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  110110. "typeString": "function (bytes memory) pure"
  110111. }
  110112. },
  110113. "id": 15236,
  110114. "isConstant": false,
  110115. "isLValue": false,
  110116. "isPure": false,
  110117. "kind": "functionCall",
  110118. "lValueRequested": false,
  110119. "nameLocations": [],
  110120. "names": [],
  110121. "nodeType": "FunctionCall",
  110122. "src": "67937:90:50",
  110123. "tryCall": false,
  110124. "typeDescriptions": {
  110125. "typeIdentifier": "t_tuple$__$",
  110126. "typeString": "tuple()"
  110127. }
  110128. },
  110129. "id": 15237,
  110130. "nodeType": "ExpressionStatement",
  110131. "src": "67937:90:50"
  110132. }
  110133. ]
  110134. },
  110135. "implemented": true,
  110136. "kind": "function",
  110137. "modifiers": [],
  110138. "name": "log",
  110139. "nameLocation": "67867:3:50",
  110140. "parameters": {
  110141. "id": 15225,
  110142. "nodeType": "ParameterList",
  110143. "parameters": [
  110144. {
  110145. "constant": false,
  110146. "id": 15218,
  110147. "mutability": "mutable",
  110148. "name": "p0",
  110149. "nameLocation": "67879:2:50",
  110150. "nodeType": "VariableDeclaration",
  110151. "scope": 15239,
  110152. "src": "67871:10:50",
  110153. "stateVariable": false,
  110154. "storageLocation": "default",
  110155. "typeDescriptions": {
  110156. "typeIdentifier": "t_address",
  110157. "typeString": "address"
  110158. },
  110159. "typeName": {
  110160. "id": 15217,
  110161. "name": "address",
  110162. "nodeType": "ElementaryTypeName",
  110163. "src": "67871:7:50",
  110164. "stateMutability": "nonpayable",
  110165. "typeDescriptions": {
  110166. "typeIdentifier": "t_address",
  110167. "typeString": "address"
  110168. }
  110169. },
  110170. "visibility": "internal"
  110171. },
  110172. {
  110173. "constant": false,
  110174. "id": 15220,
  110175. "mutability": "mutable",
  110176. "name": "p1",
  110177. "nameLocation": "67891:2:50",
  110178. "nodeType": "VariableDeclaration",
  110179. "scope": 15239,
  110180. "src": "67883:10:50",
  110181. "stateVariable": false,
  110182. "storageLocation": "default",
  110183. "typeDescriptions": {
  110184. "typeIdentifier": "t_address",
  110185. "typeString": "address"
  110186. },
  110187. "typeName": {
  110188. "id": 15219,
  110189. "name": "address",
  110190. "nodeType": "ElementaryTypeName",
  110191. "src": "67883:7:50",
  110192. "stateMutability": "nonpayable",
  110193. "typeDescriptions": {
  110194. "typeIdentifier": "t_address",
  110195. "typeString": "address"
  110196. }
  110197. },
  110198. "visibility": "internal"
  110199. },
  110200. {
  110201. "constant": false,
  110202. "id": 15222,
  110203. "mutability": "mutable",
  110204. "name": "p2",
  110205. "nameLocation": "67900:2:50",
  110206. "nodeType": "VariableDeclaration",
  110207. "scope": 15239,
  110208. "src": "67895:7:50",
  110209. "stateVariable": false,
  110210. "storageLocation": "default",
  110211. "typeDescriptions": {
  110212. "typeIdentifier": "t_bool",
  110213. "typeString": "bool"
  110214. },
  110215. "typeName": {
  110216. "id": 15221,
  110217. "name": "bool",
  110218. "nodeType": "ElementaryTypeName",
  110219. "src": "67895:4:50",
  110220. "typeDescriptions": {
  110221. "typeIdentifier": "t_bool",
  110222. "typeString": "bool"
  110223. }
  110224. },
  110225. "visibility": "internal"
  110226. },
  110227. {
  110228. "constant": false,
  110229. "id": 15224,
  110230. "mutability": "mutable",
  110231. "name": "p3",
  110232. "nameLocation": "67909:2:50",
  110233. "nodeType": "VariableDeclaration",
  110234. "scope": 15239,
  110235. "src": "67904:7:50",
  110236. "stateVariable": false,
  110237. "storageLocation": "default",
  110238. "typeDescriptions": {
  110239. "typeIdentifier": "t_bool",
  110240. "typeString": "bool"
  110241. },
  110242. "typeName": {
  110243. "id": 15223,
  110244. "name": "bool",
  110245. "nodeType": "ElementaryTypeName",
  110246. "src": "67904:4:50",
  110247. "typeDescriptions": {
  110248. "typeIdentifier": "t_bool",
  110249. "typeString": "bool"
  110250. }
  110251. },
  110252. "visibility": "internal"
  110253. }
  110254. ],
  110255. "src": "67870:42:50"
  110256. },
  110257. "returnParameters": {
  110258. "id": 15226,
  110259. "nodeType": "ParameterList",
  110260. "parameters": [],
  110261. "src": "67927:0:50"
  110262. },
  110263. "scope": 15355,
  110264. "stateMutability": "pure",
  110265. "virtual": false,
  110266. "visibility": "internal"
  110267. },
  110268. {
  110269. "id": 15262,
  110270. "nodeType": "FunctionDefinition",
  110271. "src": "68040:182:50",
  110272. "nodes": [],
  110273. "body": {
  110274. "id": 15261,
  110275. "nodeType": "Block",
  110276. "src": "68112:110:50",
  110277. "nodes": [],
  110278. "statements": [
  110279. {
  110280. "expression": {
  110281. "arguments": [
  110282. {
  110283. "arguments": [
  110284. {
  110285. "hexValue": "6c6f6728616464726573732c616464726573732c626f6f6c2c6164647265737329",
  110286. "id": 15253,
  110287. "isConstant": false,
  110288. "isLValue": false,
  110289. "isPure": true,
  110290. "kind": "string",
  110291. "lValueRequested": false,
  110292. "nodeType": "Literal",
  110293. "src": "68162:35:50",
  110294. "typeDescriptions": {
  110295. "typeIdentifier": "t_stringliteral_9f1bc36e6c1a1385bfe3a230338e478ee5447b81d25d35962aff021b2c578b9c",
  110296. "typeString": "literal_string \"log(address,address,bool,address)\""
  110297. },
  110298. "value": "log(address,address,bool,address)"
  110299. },
  110300. {
  110301. "id": 15254,
  110302. "name": "p0",
  110303. "nodeType": "Identifier",
  110304. "overloadedDeclarations": [],
  110305. "referencedDeclaration": 15241,
  110306. "src": "68199:2:50",
  110307. "typeDescriptions": {
  110308. "typeIdentifier": "t_address",
  110309. "typeString": "address"
  110310. }
  110311. },
  110312. {
  110313. "id": 15255,
  110314. "name": "p1",
  110315. "nodeType": "Identifier",
  110316. "overloadedDeclarations": [],
  110317. "referencedDeclaration": 15243,
  110318. "src": "68203:2:50",
  110319. "typeDescriptions": {
  110320. "typeIdentifier": "t_address",
  110321. "typeString": "address"
  110322. }
  110323. },
  110324. {
  110325. "id": 15256,
  110326. "name": "p2",
  110327. "nodeType": "Identifier",
  110328. "overloadedDeclarations": [],
  110329. "referencedDeclaration": 15245,
  110330. "src": "68207:2:50",
  110331. "typeDescriptions": {
  110332. "typeIdentifier": "t_bool",
  110333. "typeString": "bool"
  110334. }
  110335. },
  110336. {
  110337. "id": 15257,
  110338. "name": "p3",
  110339. "nodeType": "Identifier",
  110340. "overloadedDeclarations": [],
  110341. "referencedDeclaration": 15247,
  110342. "src": "68211:2:50",
  110343. "typeDescriptions": {
  110344. "typeIdentifier": "t_address",
  110345. "typeString": "address"
  110346. }
  110347. }
  110348. ],
  110349. "expression": {
  110350. "argumentTypes": [
  110351. {
  110352. "typeIdentifier": "t_stringliteral_9f1bc36e6c1a1385bfe3a230338e478ee5447b81d25d35962aff021b2c578b9c",
  110353. "typeString": "literal_string \"log(address,address,bool,address)\""
  110354. },
  110355. {
  110356. "typeIdentifier": "t_address",
  110357. "typeString": "address"
  110358. },
  110359. {
  110360. "typeIdentifier": "t_address",
  110361. "typeString": "address"
  110362. },
  110363. {
  110364. "typeIdentifier": "t_bool",
  110365. "typeString": "bool"
  110366. },
  110367. {
  110368. "typeIdentifier": "t_address",
  110369. "typeString": "address"
  110370. }
  110371. ],
  110372. "expression": {
  110373. "id": 15251,
  110374. "name": "abi",
  110375. "nodeType": "Identifier",
  110376. "overloadedDeclarations": [],
  110377. "referencedDeclaration": -1,
  110378. "src": "68138:3:50",
  110379. "typeDescriptions": {
  110380. "typeIdentifier": "t_magic_abi",
  110381. "typeString": "abi"
  110382. }
  110383. },
  110384. "id": 15252,
  110385. "isConstant": false,
  110386. "isLValue": false,
  110387. "isPure": true,
  110388. "lValueRequested": false,
  110389. "memberLocation": "68142:19:50",
  110390. "memberName": "encodeWithSignature",
  110391. "nodeType": "MemberAccess",
  110392. "src": "68138:23:50",
  110393. "typeDescriptions": {
  110394. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  110395. "typeString": "function (string memory) pure returns (bytes memory)"
  110396. }
  110397. },
  110398. "id": 15258,
  110399. "isConstant": false,
  110400. "isLValue": false,
  110401. "isPure": false,
  110402. "kind": "functionCall",
  110403. "lValueRequested": false,
  110404. "nameLocations": [],
  110405. "names": [],
  110406. "nodeType": "FunctionCall",
  110407. "src": "68138:76:50",
  110408. "tryCall": false,
  110409. "typeDescriptions": {
  110410. "typeIdentifier": "t_bytes_memory_ptr",
  110411. "typeString": "bytes memory"
  110412. }
  110413. }
  110414. ],
  110415. "expression": {
  110416. "argumentTypes": [
  110417. {
  110418. "typeIdentifier": "t_bytes_memory_ptr",
  110419. "typeString": "bytes memory"
  110420. }
  110421. ],
  110422. "id": 15250,
  110423. "name": "_sendLogPayload",
  110424. "nodeType": "Identifier",
  110425. "overloadedDeclarations": [],
  110426. "referencedDeclaration": 7315,
  110427. "src": "68122:15:50",
  110428. "typeDescriptions": {
  110429. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  110430. "typeString": "function (bytes memory) pure"
  110431. }
  110432. },
  110433. "id": 15259,
  110434. "isConstant": false,
  110435. "isLValue": false,
  110436. "isPure": false,
  110437. "kind": "functionCall",
  110438. "lValueRequested": false,
  110439. "nameLocations": [],
  110440. "names": [],
  110441. "nodeType": "FunctionCall",
  110442. "src": "68122:93:50",
  110443. "tryCall": false,
  110444. "typeDescriptions": {
  110445. "typeIdentifier": "t_tuple$__$",
  110446. "typeString": "tuple()"
  110447. }
  110448. },
  110449. "id": 15260,
  110450. "nodeType": "ExpressionStatement",
  110451. "src": "68122:93:50"
  110452. }
  110453. ]
  110454. },
  110455. "implemented": true,
  110456. "kind": "function",
  110457. "modifiers": [],
  110458. "name": "log",
  110459. "nameLocation": "68049:3:50",
  110460. "parameters": {
  110461. "id": 15248,
  110462. "nodeType": "ParameterList",
  110463. "parameters": [
  110464. {
  110465. "constant": false,
  110466. "id": 15241,
  110467. "mutability": "mutable",
  110468. "name": "p0",
  110469. "nameLocation": "68061:2:50",
  110470. "nodeType": "VariableDeclaration",
  110471. "scope": 15262,
  110472. "src": "68053:10:50",
  110473. "stateVariable": false,
  110474. "storageLocation": "default",
  110475. "typeDescriptions": {
  110476. "typeIdentifier": "t_address",
  110477. "typeString": "address"
  110478. },
  110479. "typeName": {
  110480. "id": 15240,
  110481. "name": "address",
  110482. "nodeType": "ElementaryTypeName",
  110483. "src": "68053:7:50",
  110484. "stateMutability": "nonpayable",
  110485. "typeDescriptions": {
  110486. "typeIdentifier": "t_address",
  110487. "typeString": "address"
  110488. }
  110489. },
  110490. "visibility": "internal"
  110491. },
  110492. {
  110493. "constant": false,
  110494. "id": 15243,
  110495. "mutability": "mutable",
  110496. "name": "p1",
  110497. "nameLocation": "68073:2:50",
  110498. "nodeType": "VariableDeclaration",
  110499. "scope": 15262,
  110500. "src": "68065:10:50",
  110501. "stateVariable": false,
  110502. "storageLocation": "default",
  110503. "typeDescriptions": {
  110504. "typeIdentifier": "t_address",
  110505. "typeString": "address"
  110506. },
  110507. "typeName": {
  110508. "id": 15242,
  110509. "name": "address",
  110510. "nodeType": "ElementaryTypeName",
  110511. "src": "68065:7:50",
  110512. "stateMutability": "nonpayable",
  110513. "typeDescriptions": {
  110514. "typeIdentifier": "t_address",
  110515. "typeString": "address"
  110516. }
  110517. },
  110518. "visibility": "internal"
  110519. },
  110520. {
  110521. "constant": false,
  110522. "id": 15245,
  110523. "mutability": "mutable",
  110524. "name": "p2",
  110525. "nameLocation": "68082:2:50",
  110526. "nodeType": "VariableDeclaration",
  110527. "scope": 15262,
  110528. "src": "68077:7:50",
  110529. "stateVariable": false,
  110530. "storageLocation": "default",
  110531. "typeDescriptions": {
  110532. "typeIdentifier": "t_bool",
  110533. "typeString": "bool"
  110534. },
  110535. "typeName": {
  110536. "id": 15244,
  110537. "name": "bool",
  110538. "nodeType": "ElementaryTypeName",
  110539. "src": "68077:4:50",
  110540. "typeDescriptions": {
  110541. "typeIdentifier": "t_bool",
  110542. "typeString": "bool"
  110543. }
  110544. },
  110545. "visibility": "internal"
  110546. },
  110547. {
  110548. "constant": false,
  110549. "id": 15247,
  110550. "mutability": "mutable",
  110551. "name": "p3",
  110552. "nameLocation": "68094:2:50",
  110553. "nodeType": "VariableDeclaration",
  110554. "scope": 15262,
  110555. "src": "68086:10:50",
  110556. "stateVariable": false,
  110557. "storageLocation": "default",
  110558. "typeDescriptions": {
  110559. "typeIdentifier": "t_address",
  110560. "typeString": "address"
  110561. },
  110562. "typeName": {
  110563. "id": 15246,
  110564. "name": "address",
  110565. "nodeType": "ElementaryTypeName",
  110566. "src": "68086:7:50",
  110567. "stateMutability": "nonpayable",
  110568. "typeDescriptions": {
  110569. "typeIdentifier": "t_address",
  110570. "typeString": "address"
  110571. }
  110572. },
  110573. "visibility": "internal"
  110574. }
  110575. ],
  110576. "src": "68052:45:50"
  110577. },
  110578. "returnParameters": {
  110579. "id": 15249,
  110580. "nodeType": "ParameterList",
  110581. "parameters": [],
  110582. "src": "68112:0:50"
  110583. },
  110584. "scope": 15355,
  110585. "stateMutability": "pure",
  110586. "virtual": false,
  110587. "visibility": "internal"
  110588. },
  110589. {
  110590. "id": 15285,
  110591. "nodeType": "FunctionDefinition",
  110592. "src": "68228:188:50",
  110593. "nodes": [],
  110594. "body": {
  110595. "id": 15284,
  110596. "nodeType": "Block",
  110597. "src": "68303:113:50",
  110598. "nodes": [],
  110599. "statements": [
  110600. {
  110601. "expression": {
  110602. "arguments": [
  110603. {
  110604. "arguments": [
  110605. {
  110606. "hexValue": "6c6f6728616464726573732c616464726573732c616464726573732c75696e7432353629",
  110607. "id": 15276,
  110608. "isConstant": false,
  110609. "isLValue": false,
  110610. "isPure": true,
  110611. "kind": "string",
  110612. "lValueRequested": false,
  110613. "nodeType": "Literal",
  110614. "src": "68353:38:50",
  110615. "typeDescriptions": {
  110616. "typeIdentifier": "t_stringliteral_94250d77556167cb7a7fd3eb9433101f8af8848163edfced0c46147ba10a2577",
  110617. "typeString": "literal_string \"log(address,address,address,uint256)\""
  110618. },
  110619. "value": "log(address,address,address,uint256)"
  110620. },
  110621. {
  110622. "id": 15277,
  110623. "name": "p0",
  110624. "nodeType": "Identifier",
  110625. "overloadedDeclarations": [],
  110626. "referencedDeclaration": 15264,
  110627. "src": "68393:2:50",
  110628. "typeDescriptions": {
  110629. "typeIdentifier": "t_address",
  110630. "typeString": "address"
  110631. }
  110632. },
  110633. {
  110634. "id": 15278,
  110635. "name": "p1",
  110636. "nodeType": "Identifier",
  110637. "overloadedDeclarations": [],
  110638. "referencedDeclaration": 15266,
  110639. "src": "68397:2:50",
  110640. "typeDescriptions": {
  110641. "typeIdentifier": "t_address",
  110642. "typeString": "address"
  110643. }
  110644. },
  110645. {
  110646. "id": 15279,
  110647. "name": "p2",
  110648. "nodeType": "Identifier",
  110649. "overloadedDeclarations": [],
  110650. "referencedDeclaration": 15268,
  110651. "src": "68401:2:50",
  110652. "typeDescriptions": {
  110653. "typeIdentifier": "t_address",
  110654. "typeString": "address"
  110655. }
  110656. },
  110657. {
  110658. "id": 15280,
  110659. "name": "p3",
  110660. "nodeType": "Identifier",
  110661. "overloadedDeclarations": [],
  110662. "referencedDeclaration": 15270,
  110663. "src": "68405:2:50",
  110664. "typeDescriptions": {
  110665. "typeIdentifier": "t_uint256",
  110666. "typeString": "uint256"
  110667. }
  110668. }
  110669. ],
  110670. "expression": {
  110671. "argumentTypes": [
  110672. {
  110673. "typeIdentifier": "t_stringliteral_94250d77556167cb7a7fd3eb9433101f8af8848163edfced0c46147ba10a2577",
  110674. "typeString": "literal_string \"log(address,address,address,uint256)\""
  110675. },
  110676. {
  110677. "typeIdentifier": "t_address",
  110678. "typeString": "address"
  110679. },
  110680. {
  110681. "typeIdentifier": "t_address",
  110682. "typeString": "address"
  110683. },
  110684. {
  110685. "typeIdentifier": "t_address",
  110686. "typeString": "address"
  110687. },
  110688. {
  110689. "typeIdentifier": "t_uint256",
  110690. "typeString": "uint256"
  110691. }
  110692. ],
  110693. "expression": {
  110694. "id": 15274,
  110695. "name": "abi",
  110696. "nodeType": "Identifier",
  110697. "overloadedDeclarations": [],
  110698. "referencedDeclaration": -1,
  110699. "src": "68329:3:50",
  110700. "typeDescriptions": {
  110701. "typeIdentifier": "t_magic_abi",
  110702. "typeString": "abi"
  110703. }
  110704. },
  110705. "id": 15275,
  110706. "isConstant": false,
  110707. "isLValue": false,
  110708. "isPure": true,
  110709. "lValueRequested": false,
  110710. "memberLocation": "68333:19:50",
  110711. "memberName": "encodeWithSignature",
  110712. "nodeType": "MemberAccess",
  110713. "src": "68329:23:50",
  110714. "typeDescriptions": {
  110715. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  110716. "typeString": "function (string memory) pure returns (bytes memory)"
  110717. }
  110718. },
  110719. "id": 15281,
  110720. "isConstant": false,
  110721. "isLValue": false,
  110722. "isPure": false,
  110723. "kind": "functionCall",
  110724. "lValueRequested": false,
  110725. "nameLocations": [],
  110726. "names": [],
  110727. "nodeType": "FunctionCall",
  110728. "src": "68329:79:50",
  110729. "tryCall": false,
  110730. "typeDescriptions": {
  110731. "typeIdentifier": "t_bytes_memory_ptr",
  110732. "typeString": "bytes memory"
  110733. }
  110734. }
  110735. ],
  110736. "expression": {
  110737. "argumentTypes": [
  110738. {
  110739. "typeIdentifier": "t_bytes_memory_ptr",
  110740. "typeString": "bytes memory"
  110741. }
  110742. ],
  110743. "id": 15273,
  110744. "name": "_sendLogPayload",
  110745. "nodeType": "Identifier",
  110746. "overloadedDeclarations": [],
  110747. "referencedDeclaration": 7315,
  110748. "src": "68313:15:50",
  110749. "typeDescriptions": {
  110750. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  110751. "typeString": "function (bytes memory) pure"
  110752. }
  110753. },
  110754. "id": 15282,
  110755. "isConstant": false,
  110756. "isLValue": false,
  110757. "isPure": false,
  110758. "kind": "functionCall",
  110759. "lValueRequested": false,
  110760. "nameLocations": [],
  110761. "names": [],
  110762. "nodeType": "FunctionCall",
  110763. "src": "68313:96:50",
  110764. "tryCall": false,
  110765. "typeDescriptions": {
  110766. "typeIdentifier": "t_tuple$__$",
  110767. "typeString": "tuple()"
  110768. }
  110769. },
  110770. "id": 15283,
  110771. "nodeType": "ExpressionStatement",
  110772. "src": "68313:96:50"
  110773. }
  110774. ]
  110775. },
  110776. "implemented": true,
  110777. "kind": "function",
  110778. "modifiers": [],
  110779. "name": "log",
  110780. "nameLocation": "68237:3:50",
  110781. "parameters": {
  110782. "id": 15271,
  110783. "nodeType": "ParameterList",
  110784. "parameters": [
  110785. {
  110786. "constant": false,
  110787. "id": 15264,
  110788. "mutability": "mutable",
  110789. "name": "p0",
  110790. "nameLocation": "68249:2:50",
  110791. "nodeType": "VariableDeclaration",
  110792. "scope": 15285,
  110793. "src": "68241:10:50",
  110794. "stateVariable": false,
  110795. "storageLocation": "default",
  110796. "typeDescriptions": {
  110797. "typeIdentifier": "t_address",
  110798. "typeString": "address"
  110799. },
  110800. "typeName": {
  110801. "id": 15263,
  110802. "name": "address",
  110803. "nodeType": "ElementaryTypeName",
  110804. "src": "68241:7:50",
  110805. "stateMutability": "nonpayable",
  110806. "typeDescriptions": {
  110807. "typeIdentifier": "t_address",
  110808. "typeString": "address"
  110809. }
  110810. },
  110811. "visibility": "internal"
  110812. },
  110813. {
  110814. "constant": false,
  110815. "id": 15266,
  110816. "mutability": "mutable",
  110817. "name": "p1",
  110818. "nameLocation": "68261:2:50",
  110819. "nodeType": "VariableDeclaration",
  110820. "scope": 15285,
  110821. "src": "68253:10:50",
  110822. "stateVariable": false,
  110823. "storageLocation": "default",
  110824. "typeDescriptions": {
  110825. "typeIdentifier": "t_address",
  110826. "typeString": "address"
  110827. },
  110828. "typeName": {
  110829. "id": 15265,
  110830. "name": "address",
  110831. "nodeType": "ElementaryTypeName",
  110832. "src": "68253:7:50",
  110833. "stateMutability": "nonpayable",
  110834. "typeDescriptions": {
  110835. "typeIdentifier": "t_address",
  110836. "typeString": "address"
  110837. }
  110838. },
  110839. "visibility": "internal"
  110840. },
  110841. {
  110842. "constant": false,
  110843. "id": 15268,
  110844. "mutability": "mutable",
  110845. "name": "p2",
  110846. "nameLocation": "68273:2:50",
  110847. "nodeType": "VariableDeclaration",
  110848. "scope": 15285,
  110849. "src": "68265:10:50",
  110850. "stateVariable": false,
  110851. "storageLocation": "default",
  110852. "typeDescriptions": {
  110853. "typeIdentifier": "t_address",
  110854. "typeString": "address"
  110855. },
  110856. "typeName": {
  110857. "id": 15267,
  110858. "name": "address",
  110859. "nodeType": "ElementaryTypeName",
  110860. "src": "68265:7:50",
  110861. "stateMutability": "nonpayable",
  110862. "typeDescriptions": {
  110863. "typeIdentifier": "t_address",
  110864. "typeString": "address"
  110865. }
  110866. },
  110867. "visibility": "internal"
  110868. },
  110869. {
  110870. "constant": false,
  110871. "id": 15270,
  110872. "mutability": "mutable",
  110873. "name": "p3",
  110874. "nameLocation": "68285:2:50",
  110875. "nodeType": "VariableDeclaration",
  110876. "scope": 15285,
  110877. "src": "68277:10:50",
  110878. "stateVariable": false,
  110879. "storageLocation": "default",
  110880. "typeDescriptions": {
  110881. "typeIdentifier": "t_uint256",
  110882. "typeString": "uint256"
  110883. },
  110884. "typeName": {
  110885. "id": 15269,
  110886. "name": "uint256",
  110887. "nodeType": "ElementaryTypeName",
  110888. "src": "68277:7:50",
  110889. "typeDescriptions": {
  110890. "typeIdentifier": "t_uint256",
  110891. "typeString": "uint256"
  110892. }
  110893. },
  110894. "visibility": "internal"
  110895. }
  110896. ],
  110897. "src": "68240:48:50"
  110898. },
  110899. "returnParameters": {
  110900. "id": 15272,
  110901. "nodeType": "ParameterList",
  110902. "parameters": [],
  110903. "src": "68303:0:50"
  110904. },
  110905. "scope": 15355,
  110906. "stateMutability": "pure",
  110907. "virtual": false,
  110908. "visibility": "internal"
  110909. },
  110910. {
  110911. "id": 15308,
  110912. "nodeType": "FunctionDefinition",
  110913. "src": "68422:193:50",
  110914. "nodes": [],
  110915. "body": {
  110916. "id": 15307,
  110917. "nodeType": "Block",
  110918. "src": "68503:112:50",
  110919. "nodes": [],
  110920. "statements": [
  110921. {
  110922. "expression": {
  110923. "arguments": [
  110924. {
  110925. "arguments": [
  110926. {
  110927. "hexValue": "6c6f6728616464726573732c616464726573732c616464726573732c737472696e6729",
  110928. "id": 15299,
  110929. "isConstant": false,
  110930. "isLValue": false,
  110931. "isPure": true,
  110932. "kind": "string",
  110933. "lValueRequested": false,
  110934. "nodeType": "Literal",
  110935. "src": "68553:37:50",
  110936. "typeDescriptions": {
  110937. "typeIdentifier": "t_stringliteral_f808da2086fed855c3e15d9dbfed3b17a93ed9a59947aae6ab05b7e18576f025",
  110938. "typeString": "literal_string \"log(address,address,address,string)\""
  110939. },
  110940. "value": "log(address,address,address,string)"
  110941. },
  110942. {
  110943. "id": 15300,
  110944. "name": "p0",
  110945. "nodeType": "Identifier",
  110946. "overloadedDeclarations": [],
  110947. "referencedDeclaration": 15287,
  110948. "src": "68592:2:50",
  110949. "typeDescriptions": {
  110950. "typeIdentifier": "t_address",
  110951. "typeString": "address"
  110952. }
  110953. },
  110954. {
  110955. "id": 15301,
  110956. "name": "p1",
  110957. "nodeType": "Identifier",
  110958. "overloadedDeclarations": [],
  110959. "referencedDeclaration": 15289,
  110960. "src": "68596:2:50",
  110961. "typeDescriptions": {
  110962. "typeIdentifier": "t_address",
  110963. "typeString": "address"
  110964. }
  110965. },
  110966. {
  110967. "id": 15302,
  110968. "name": "p2",
  110969. "nodeType": "Identifier",
  110970. "overloadedDeclarations": [],
  110971. "referencedDeclaration": 15291,
  110972. "src": "68600:2:50",
  110973. "typeDescriptions": {
  110974. "typeIdentifier": "t_address",
  110975. "typeString": "address"
  110976. }
  110977. },
  110978. {
  110979. "id": 15303,
  110980. "name": "p3",
  110981. "nodeType": "Identifier",
  110982. "overloadedDeclarations": [],
  110983. "referencedDeclaration": 15293,
  110984. "src": "68604:2:50",
  110985. "typeDescriptions": {
  110986. "typeIdentifier": "t_string_memory_ptr",
  110987. "typeString": "string memory"
  110988. }
  110989. }
  110990. ],
  110991. "expression": {
  110992. "argumentTypes": [
  110993. {
  110994. "typeIdentifier": "t_stringliteral_f808da2086fed855c3e15d9dbfed3b17a93ed9a59947aae6ab05b7e18576f025",
  110995. "typeString": "literal_string \"log(address,address,address,string)\""
  110996. },
  110997. {
  110998. "typeIdentifier": "t_address",
  110999. "typeString": "address"
  111000. },
  111001. {
  111002. "typeIdentifier": "t_address",
  111003. "typeString": "address"
  111004. },
  111005. {
  111006. "typeIdentifier": "t_address",
  111007. "typeString": "address"
  111008. },
  111009. {
  111010. "typeIdentifier": "t_string_memory_ptr",
  111011. "typeString": "string memory"
  111012. }
  111013. ],
  111014. "expression": {
  111015. "id": 15297,
  111016. "name": "abi",
  111017. "nodeType": "Identifier",
  111018. "overloadedDeclarations": [],
  111019. "referencedDeclaration": -1,
  111020. "src": "68529:3:50",
  111021. "typeDescriptions": {
  111022. "typeIdentifier": "t_magic_abi",
  111023. "typeString": "abi"
  111024. }
  111025. },
  111026. "id": 15298,
  111027. "isConstant": false,
  111028. "isLValue": false,
  111029. "isPure": true,
  111030. "lValueRequested": false,
  111031. "memberLocation": "68533:19:50",
  111032. "memberName": "encodeWithSignature",
  111033. "nodeType": "MemberAccess",
  111034. "src": "68529:23:50",
  111035. "typeDescriptions": {
  111036. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  111037. "typeString": "function (string memory) pure returns (bytes memory)"
  111038. }
  111039. },
  111040. "id": 15304,
  111041. "isConstant": false,
  111042. "isLValue": false,
  111043. "isPure": false,
  111044. "kind": "functionCall",
  111045. "lValueRequested": false,
  111046. "nameLocations": [],
  111047. "names": [],
  111048. "nodeType": "FunctionCall",
  111049. "src": "68529:78:50",
  111050. "tryCall": false,
  111051. "typeDescriptions": {
  111052. "typeIdentifier": "t_bytes_memory_ptr",
  111053. "typeString": "bytes memory"
  111054. }
  111055. }
  111056. ],
  111057. "expression": {
  111058. "argumentTypes": [
  111059. {
  111060. "typeIdentifier": "t_bytes_memory_ptr",
  111061. "typeString": "bytes memory"
  111062. }
  111063. ],
  111064. "id": 15296,
  111065. "name": "_sendLogPayload",
  111066. "nodeType": "Identifier",
  111067. "overloadedDeclarations": [],
  111068. "referencedDeclaration": 7315,
  111069. "src": "68513:15:50",
  111070. "typeDescriptions": {
  111071. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  111072. "typeString": "function (bytes memory) pure"
  111073. }
  111074. },
  111075. "id": 15305,
  111076. "isConstant": false,
  111077. "isLValue": false,
  111078. "isPure": false,
  111079. "kind": "functionCall",
  111080. "lValueRequested": false,
  111081. "nameLocations": [],
  111082. "names": [],
  111083. "nodeType": "FunctionCall",
  111084. "src": "68513:95:50",
  111085. "tryCall": false,
  111086. "typeDescriptions": {
  111087. "typeIdentifier": "t_tuple$__$",
  111088. "typeString": "tuple()"
  111089. }
  111090. },
  111091. "id": 15306,
  111092. "nodeType": "ExpressionStatement",
  111093. "src": "68513:95:50"
  111094. }
  111095. ]
  111096. },
  111097. "implemented": true,
  111098. "kind": "function",
  111099. "modifiers": [],
  111100. "name": "log",
  111101. "nameLocation": "68431:3:50",
  111102. "parameters": {
  111103. "id": 15294,
  111104. "nodeType": "ParameterList",
  111105. "parameters": [
  111106. {
  111107. "constant": false,
  111108. "id": 15287,
  111109. "mutability": "mutable",
  111110. "name": "p0",
  111111. "nameLocation": "68443:2:50",
  111112. "nodeType": "VariableDeclaration",
  111113. "scope": 15308,
  111114. "src": "68435:10:50",
  111115. "stateVariable": false,
  111116. "storageLocation": "default",
  111117. "typeDescriptions": {
  111118. "typeIdentifier": "t_address",
  111119. "typeString": "address"
  111120. },
  111121. "typeName": {
  111122. "id": 15286,
  111123. "name": "address",
  111124. "nodeType": "ElementaryTypeName",
  111125. "src": "68435:7:50",
  111126. "stateMutability": "nonpayable",
  111127. "typeDescriptions": {
  111128. "typeIdentifier": "t_address",
  111129. "typeString": "address"
  111130. }
  111131. },
  111132. "visibility": "internal"
  111133. },
  111134. {
  111135. "constant": false,
  111136. "id": 15289,
  111137. "mutability": "mutable",
  111138. "name": "p1",
  111139. "nameLocation": "68455:2:50",
  111140. "nodeType": "VariableDeclaration",
  111141. "scope": 15308,
  111142. "src": "68447:10:50",
  111143. "stateVariable": false,
  111144. "storageLocation": "default",
  111145. "typeDescriptions": {
  111146. "typeIdentifier": "t_address",
  111147. "typeString": "address"
  111148. },
  111149. "typeName": {
  111150. "id": 15288,
  111151. "name": "address",
  111152. "nodeType": "ElementaryTypeName",
  111153. "src": "68447:7:50",
  111154. "stateMutability": "nonpayable",
  111155. "typeDescriptions": {
  111156. "typeIdentifier": "t_address",
  111157. "typeString": "address"
  111158. }
  111159. },
  111160. "visibility": "internal"
  111161. },
  111162. {
  111163. "constant": false,
  111164. "id": 15291,
  111165. "mutability": "mutable",
  111166. "name": "p2",
  111167. "nameLocation": "68467:2:50",
  111168. "nodeType": "VariableDeclaration",
  111169. "scope": 15308,
  111170. "src": "68459:10:50",
  111171. "stateVariable": false,
  111172. "storageLocation": "default",
  111173. "typeDescriptions": {
  111174. "typeIdentifier": "t_address",
  111175. "typeString": "address"
  111176. },
  111177. "typeName": {
  111178. "id": 15290,
  111179. "name": "address",
  111180. "nodeType": "ElementaryTypeName",
  111181. "src": "68459:7:50",
  111182. "stateMutability": "nonpayable",
  111183. "typeDescriptions": {
  111184. "typeIdentifier": "t_address",
  111185. "typeString": "address"
  111186. }
  111187. },
  111188. "visibility": "internal"
  111189. },
  111190. {
  111191. "constant": false,
  111192. "id": 15293,
  111193. "mutability": "mutable",
  111194. "name": "p3",
  111195. "nameLocation": "68485:2:50",
  111196. "nodeType": "VariableDeclaration",
  111197. "scope": 15308,
  111198. "src": "68471:16:50",
  111199. "stateVariable": false,
  111200. "storageLocation": "memory",
  111201. "typeDescriptions": {
  111202. "typeIdentifier": "t_string_memory_ptr",
  111203. "typeString": "string"
  111204. },
  111205. "typeName": {
  111206. "id": 15292,
  111207. "name": "string",
  111208. "nodeType": "ElementaryTypeName",
  111209. "src": "68471:6:50",
  111210. "typeDescriptions": {
  111211. "typeIdentifier": "t_string_storage_ptr",
  111212. "typeString": "string"
  111213. }
  111214. },
  111215. "visibility": "internal"
  111216. }
  111217. ],
  111218. "src": "68434:54:50"
  111219. },
  111220. "returnParameters": {
  111221. "id": 15295,
  111222. "nodeType": "ParameterList",
  111223. "parameters": [],
  111224. "src": "68503:0:50"
  111225. },
  111226. "scope": 15355,
  111227. "stateMutability": "pure",
  111228. "virtual": false,
  111229. "visibility": "internal"
  111230. },
  111231. {
  111232. "id": 15331,
  111233. "nodeType": "FunctionDefinition",
  111234. "src": "68621:182:50",
  111235. "nodes": [],
  111236. "body": {
  111237. "id": 15330,
  111238. "nodeType": "Block",
  111239. "src": "68693:110:50",
  111240. "nodes": [],
  111241. "statements": [
  111242. {
  111243. "expression": {
  111244. "arguments": [
  111245. {
  111246. "arguments": [
  111247. {
  111248. "hexValue": "6c6f6728616464726573732c616464726573732c616464726573732c626f6f6c29",
  111249. "id": 15322,
  111250. "isConstant": false,
  111251. "isLValue": false,
  111252. "isPure": true,
  111253. "kind": "string",
  111254. "lValueRequested": false,
  111255. "nodeType": "Literal",
  111256. "src": "68743:35:50",
  111257. "typeDescriptions": {
  111258. "typeIdentifier": "t_stringliteral_0e378994a4cd2663acfd73a7ad4e09d196e4fb7ee05b7cdf0708eb30271e2afb",
  111259. "typeString": "literal_string \"log(address,address,address,bool)\""
  111260. },
  111261. "value": "log(address,address,address,bool)"
  111262. },
  111263. {
  111264. "id": 15323,
  111265. "name": "p0",
  111266. "nodeType": "Identifier",
  111267. "overloadedDeclarations": [],
  111268. "referencedDeclaration": 15310,
  111269. "src": "68780:2:50",
  111270. "typeDescriptions": {
  111271. "typeIdentifier": "t_address",
  111272. "typeString": "address"
  111273. }
  111274. },
  111275. {
  111276. "id": 15324,
  111277. "name": "p1",
  111278. "nodeType": "Identifier",
  111279. "overloadedDeclarations": [],
  111280. "referencedDeclaration": 15312,
  111281. "src": "68784:2:50",
  111282. "typeDescriptions": {
  111283. "typeIdentifier": "t_address",
  111284. "typeString": "address"
  111285. }
  111286. },
  111287. {
  111288. "id": 15325,
  111289. "name": "p2",
  111290. "nodeType": "Identifier",
  111291. "overloadedDeclarations": [],
  111292. "referencedDeclaration": 15314,
  111293. "src": "68788:2:50",
  111294. "typeDescriptions": {
  111295. "typeIdentifier": "t_address",
  111296. "typeString": "address"
  111297. }
  111298. },
  111299. {
  111300. "id": 15326,
  111301. "name": "p3",
  111302. "nodeType": "Identifier",
  111303. "overloadedDeclarations": [],
  111304. "referencedDeclaration": 15316,
  111305. "src": "68792:2:50",
  111306. "typeDescriptions": {
  111307. "typeIdentifier": "t_bool",
  111308. "typeString": "bool"
  111309. }
  111310. }
  111311. ],
  111312. "expression": {
  111313. "argumentTypes": [
  111314. {
  111315. "typeIdentifier": "t_stringliteral_0e378994a4cd2663acfd73a7ad4e09d196e4fb7ee05b7cdf0708eb30271e2afb",
  111316. "typeString": "literal_string \"log(address,address,address,bool)\""
  111317. },
  111318. {
  111319. "typeIdentifier": "t_address",
  111320. "typeString": "address"
  111321. },
  111322. {
  111323. "typeIdentifier": "t_address",
  111324. "typeString": "address"
  111325. },
  111326. {
  111327. "typeIdentifier": "t_address",
  111328. "typeString": "address"
  111329. },
  111330. {
  111331. "typeIdentifier": "t_bool",
  111332. "typeString": "bool"
  111333. }
  111334. ],
  111335. "expression": {
  111336. "id": 15320,
  111337. "name": "abi",
  111338. "nodeType": "Identifier",
  111339. "overloadedDeclarations": [],
  111340. "referencedDeclaration": -1,
  111341. "src": "68719:3:50",
  111342. "typeDescriptions": {
  111343. "typeIdentifier": "t_magic_abi",
  111344. "typeString": "abi"
  111345. }
  111346. },
  111347. "id": 15321,
  111348. "isConstant": false,
  111349. "isLValue": false,
  111350. "isPure": true,
  111351. "lValueRequested": false,
  111352. "memberLocation": "68723:19:50",
  111353. "memberName": "encodeWithSignature",
  111354. "nodeType": "MemberAccess",
  111355. "src": "68719:23:50",
  111356. "typeDescriptions": {
  111357. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  111358. "typeString": "function (string memory) pure returns (bytes memory)"
  111359. }
  111360. },
  111361. "id": 15327,
  111362. "isConstant": false,
  111363. "isLValue": false,
  111364. "isPure": false,
  111365. "kind": "functionCall",
  111366. "lValueRequested": false,
  111367. "nameLocations": [],
  111368. "names": [],
  111369. "nodeType": "FunctionCall",
  111370. "src": "68719:76:50",
  111371. "tryCall": false,
  111372. "typeDescriptions": {
  111373. "typeIdentifier": "t_bytes_memory_ptr",
  111374. "typeString": "bytes memory"
  111375. }
  111376. }
  111377. ],
  111378. "expression": {
  111379. "argumentTypes": [
  111380. {
  111381. "typeIdentifier": "t_bytes_memory_ptr",
  111382. "typeString": "bytes memory"
  111383. }
  111384. ],
  111385. "id": 15319,
  111386. "name": "_sendLogPayload",
  111387. "nodeType": "Identifier",
  111388. "overloadedDeclarations": [],
  111389. "referencedDeclaration": 7315,
  111390. "src": "68703:15:50",
  111391. "typeDescriptions": {
  111392. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  111393. "typeString": "function (bytes memory) pure"
  111394. }
  111395. },
  111396. "id": 15328,
  111397. "isConstant": false,
  111398. "isLValue": false,
  111399. "isPure": false,
  111400. "kind": "functionCall",
  111401. "lValueRequested": false,
  111402. "nameLocations": [],
  111403. "names": [],
  111404. "nodeType": "FunctionCall",
  111405. "src": "68703:93:50",
  111406. "tryCall": false,
  111407. "typeDescriptions": {
  111408. "typeIdentifier": "t_tuple$__$",
  111409. "typeString": "tuple()"
  111410. }
  111411. },
  111412. "id": 15329,
  111413. "nodeType": "ExpressionStatement",
  111414. "src": "68703:93:50"
  111415. }
  111416. ]
  111417. },
  111418. "implemented": true,
  111419. "kind": "function",
  111420. "modifiers": [],
  111421. "name": "log",
  111422. "nameLocation": "68630:3:50",
  111423. "parameters": {
  111424. "id": 15317,
  111425. "nodeType": "ParameterList",
  111426. "parameters": [
  111427. {
  111428. "constant": false,
  111429. "id": 15310,
  111430. "mutability": "mutable",
  111431. "name": "p0",
  111432. "nameLocation": "68642:2:50",
  111433. "nodeType": "VariableDeclaration",
  111434. "scope": 15331,
  111435. "src": "68634:10:50",
  111436. "stateVariable": false,
  111437. "storageLocation": "default",
  111438. "typeDescriptions": {
  111439. "typeIdentifier": "t_address",
  111440. "typeString": "address"
  111441. },
  111442. "typeName": {
  111443. "id": 15309,
  111444. "name": "address",
  111445. "nodeType": "ElementaryTypeName",
  111446. "src": "68634:7:50",
  111447. "stateMutability": "nonpayable",
  111448. "typeDescriptions": {
  111449. "typeIdentifier": "t_address",
  111450. "typeString": "address"
  111451. }
  111452. },
  111453. "visibility": "internal"
  111454. },
  111455. {
  111456. "constant": false,
  111457. "id": 15312,
  111458. "mutability": "mutable",
  111459. "name": "p1",
  111460. "nameLocation": "68654:2:50",
  111461. "nodeType": "VariableDeclaration",
  111462. "scope": 15331,
  111463. "src": "68646:10:50",
  111464. "stateVariable": false,
  111465. "storageLocation": "default",
  111466. "typeDescriptions": {
  111467. "typeIdentifier": "t_address",
  111468. "typeString": "address"
  111469. },
  111470. "typeName": {
  111471. "id": 15311,
  111472. "name": "address",
  111473. "nodeType": "ElementaryTypeName",
  111474. "src": "68646:7:50",
  111475. "stateMutability": "nonpayable",
  111476. "typeDescriptions": {
  111477. "typeIdentifier": "t_address",
  111478. "typeString": "address"
  111479. }
  111480. },
  111481. "visibility": "internal"
  111482. },
  111483. {
  111484. "constant": false,
  111485. "id": 15314,
  111486. "mutability": "mutable",
  111487. "name": "p2",
  111488. "nameLocation": "68666:2:50",
  111489. "nodeType": "VariableDeclaration",
  111490. "scope": 15331,
  111491. "src": "68658:10:50",
  111492. "stateVariable": false,
  111493. "storageLocation": "default",
  111494. "typeDescriptions": {
  111495. "typeIdentifier": "t_address",
  111496. "typeString": "address"
  111497. },
  111498. "typeName": {
  111499. "id": 15313,
  111500. "name": "address",
  111501. "nodeType": "ElementaryTypeName",
  111502. "src": "68658:7:50",
  111503. "stateMutability": "nonpayable",
  111504. "typeDescriptions": {
  111505. "typeIdentifier": "t_address",
  111506. "typeString": "address"
  111507. }
  111508. },
  111509. "visibility": "internal"
  111510. },
  111511. {
  111512. "constant": false,
  111513. "id": 15316,
  111514. "mutability": "mutable",
  111515. "name": "p3",
  111516. "nameLocation": "68675:2:50",
  111517. "nodeType": "VariableDeclaration",
  111518. "scope": 15331,
  111519. "src": "68670:7:50",
  111520. "stateVariable": false,
  111521. "storageLocation": "default",
  111522. "typeDescriptions": {
  111523. "typeIdentifier": "t_bool",
  111524. "typeString": "bool"
  111525. },
  111526. "typeName": {
  111527. "id": 15315,
  111528. "name": "bool",
  111529. "nodeType": "ElementaryTypeName",
  111530. "src": "68670:4:50",
  111531. "typeDescriptions": {
  111532. "typeIdentifier": "t_bool",
  111533. "typeString": "bool"
  111534. }
  111535. },
  111536. "visibility": "internal"
  111537. }
  111538. ],
  111539. "src": "68633:45:50"
  111540. },
  111541. "returnParameters": {
  111542. "id": 15318,
  111543. "nodeType": "ParameterList",
  111544. "parameters": [],
  111545. "src": "68693:0:50"
  111546. },
  111547. "scope": 15355,
  111548. "stateMutability": "pure",
  111549. "virtual": false,
  111550. "visibility": "internal"
  111551. },
  111552. {
  111553. "id": 15354,
  111554. "nodeType": "FunctionDefinition",
  111555. "src": "68809:188:50",
  111556. "nodes": [],
  111557. "body": {
  111558. "id": 15353,
  111559. "nodeType": "Block",
  111560. "src": "68884:113:50",
  111561. "nodes": [],
  111562. "statements": [
  111563. {
  111564. "expression": {
  111565. "arguments": [
  111566. {
  111567. "arguments": [
  111568. {
  111569. "hexValue": "6c6f6728616464726573732c616464726573732c616464726573732c6164647265737329",
  111570. "id": 15345,
  111571. "isConstant": false,
  111572. "isLValue": false,
  111573. "isPure": true,
  111574. "kind": "string",
  111575. "lValueRequested": false,
  111576. "nodeType": "Literal",
  111577. "src": "68934:38:50",
  111578. "typeDescriptions": {
  111579. "typeIdentifier": "t_stringliteral_665bf1345e006aa321c0b6b71bed55ce0d6cdd812632f8c43114f62c55ffa0b5",
  111580. "typeString": "literal_string \"log(address,address,address,address)\""
  111581. },
  111582. "value": "log(address,address,address,address)"
  111583. },
  111584. {
  111585. "id": 15346,
  111586. "name": "p0",
  111587. "nodeType": "Identifier",
  111588. "overloadedDeclarations": [],
  111589. "referencedDeclaration": 15333,
  111590. "src": "68974:2:50",
  111591. "typeDescriptions": {
  111592. "typeIdentifier": "t_address",
  111593. "typeString": "address"
  111594. }
  111595. },
  111596. {
  111597. "id": 15347,
  111598. "name": "p1",
  111599. "nodeType": "Identifier",
  111600. "overloadedDeclarations": [],
  111601. "referencedDeclaration": 15335,
  111602. "src": "68978:2:50",
  111603. "typeDescriptions": {
  111604. "typeIdentifier": "t_address",
  111605. "typeString": "address"
  111606. }
  111607. },
  111608. {
  111609. "id": 15348,
  111610. "name": "p2",
  111611. "nodeType": "Identifier",
  111612. "overloadedDeclarations": [],
  111613. "referencedDeclaration": 15337,
  111614. "src": "68982:2:50",
  111615. "typeDescriptions": {
  111616. "typeIdentifier": "t_address",
  111617. "typeString": "address"
  111618. }
  111619. },
  111620. {
  111621. "id": 15349,
  111622. "name": "p3",
  111623. "nodeType": "Identifier",
  111624. "overloadedDeclarations": [],
  111625. "referencedDeclaration": 15339,
  111626. "src": "68986:2:50",
  111627. "typeDescriptions": {
  111628. "typeIdentifier": "t_address",
  111629. "typeString": "address"
  111630. }
  111631. }
  111632. ],
  111633. "expression": {
  111634. "argumentTypes": [
  111635. {
  111636. "typeIdentifier": "t_stringliteral_665bf1345e006aa321c0b6b71bed55ce0d6cdd812632f8c43114f62c55ffa0b5",
  111637. "typeString": "literal_string \"log(address,address,address,address)\""
  111638. },
  111639. {
  111640. "typeIdentifier": "t_address",
  111641. "typeString": "address"
  111642. },
  111643. {
  111644. "typeIdentifier": "t_address",
  111645. "typeString": "address"
  111646. },
  111647. {
  111648. "typeIdentifier": "t_address",
  111649. "typeString": "address"
  111650. },
  111651. {
  111652. "typeIdentifier": "t_address",
  111653. "typeString": "address"
  111654. }
  111655. ],
  111656. "expression": {
  111657. "id": 15343,
  111658. "name": "abi",
  111659. "nodeType": "Identifier",
  111660. "overloadedDeclarations": [],
  111661. "referencedDeclaration": -1,
  111662. "src": "68910:3:50",
  111663. "typeDescriptions": {
  111664. "typeIdentifier": "t_magic_abi",
  111665. "typeString": "abi"
  111666. }
  111667. },
  111668. "id": 15344,
  111669. "isConstant": false,
  111670. "isLValue": false,
  111671. "isPure": true,
  111672. "lValueRequested": false,
  111673. "memberLocation": "68914:19:50",
  111674. "memberName": "encodeWithSignature",
  111675. "nodeType": "MemberAccess",
  111676. "src": "68910:23:50",
  111677. "typeDescriptions": {
  111678. "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
  111679. "typeString": "function (string memory) pure returns (bytes memory)"
  111680. }
  111681. },
  111682. "id": 15350,
  111683. "isConstant": false,
  111684. "isLValue": false,
  111685. "isPure": false,
  111686. "kind": "functionCall",
  111687. "lValueRequested": false,
  111688. "nameLocations": [],
  111689. "names": [],
  111690. "nodeType": "FunctionCall",
  111691. "src": "68910:79:50",
  111692. "tryCall": false,
  111693. "typeDescriptions": {
  111694. "typeIdentifier": "t_bytes_memory_ptr",
  111695. "typeString": "bytes memory"
  111696. }
  111697. }
  111698. ],
  111699. "expression": {
  111700. "argumentTypes": [
  111701. {
  111702. "typeIdentifier": "t_bytes_memory_ptr",
  111703. "typeString": "bytes memory"
  111704. }
  111705. ],
  111706. "id": 15342,
  111707. "name": "_sendLogPayload",
  111708. "nodeType": "Identifier",
  111709. "overloadedDeclarations": [],
  111710. "referencedDeclaration": 7315,
  111711. "src": "68894:15:50",
  111712. "typeDescriptions": {
  111713. "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
  111714. "typeString": "function (bytes memory) pure"
  111715. }
  111716. },
  111717. "id": 15351,
  111718. "isConstant": false,
  111719. "isLValue": false,
  111720. "isPure": false,
  111721. "kind": "functionCall",
  111722. "lValueRequested": false,
  111723. "nameLocations": [],
  111724. "names": [],
  111725. "nodeType": "FunctionCall",
  111726. "src": "68894:96:50",
  111727. "tryCall": false,
  111728. "typeDescriptions": {
  111729. "typeIdentifier": "t_tuple$__$",
  111730. "typeString": "tuple()"
  111731. }
  111732. },
  111733. "id": 15352,
  111734. "nodeType": "ExpressionStatement",
  111735. "src": "68894:96:50"
  111736. }
  111737. ]
  111738. },
  111739. "implemented": true,
  111740. "kind": "function",
  111741. "modifiers": [],
  111742. "name": "log",
  111743. "nameLocation": "68818:3:50",
  111744. "parameters": {
  111745. "id": 15340,
  111746. "nodeType": "ParameterList",
  111747. "parameters": [
  111748. {
  111749. "constant": false,
  111750. "id": 15333,
  111751. "mutability": "mutable",
  111752. "name": "p0",
  111753. "nameLocation": "68830:2:50",
  111754. "nodeType": "VariableDeclaration",
  111755. "scope": 15354,
  111756. "src": "68822:10:50",
  111757. "stateVariable": false,
  111758. "storageLocation": "default",
  111759. "typeDescriptions": {
  111760. "typeIdentifier": "t_address",
  111761. "typeString": "address"
  111762. },
  111763. "typeName": {
  111764. "id": 15332,
  111765. "name": "address",
  111766. "nodeType": "ElementaryTypeName",
  111767. "src": "68822:7:50",
  111768. "stateMutability": "nonpayable",
  111769. "typeDescriptions": {
  111770. "typeIdentifier": "t_address",
  111771. "typeString": "address"
  111772. }
  111773. },
  111774. "visibility": "internal"
  111775. },
  111776. {
  111777. "constant": false,
  111778. "id": 15335,
  111779. "mutability": "mutable",
  111780. "name": "p1",
  111781. "nameLocation": "68842:2:50",
  111782. "nodeType": "VariableDeclaration",
  111783. "scope": 15354,
  111784. "src": "68834:10:50",
  111785. "stateVariable": false,
  111786. "storageLocation": "default",
  111787. "typeDescriptions": {
  111788. "typeIdentifier": "t_address",
  111789. "typeString": "address"
  111790. },
  111791. "typeName": {
  111792. "id": 15334,
  111793. "name": "address",
  111794. "nodeType": "ElementaryTypeName",
  111795. "src": "68834:7:50",
  111796. "stateMutability": "nonpayable",
  111797. "typeDescriptions": {
  111798. "typeIdentifier": "t_address",
  111799. "typeString": "address"
  111800. }
  111801. },
  111802. "visibility": "internal"
  111803. },
  111804. {
  111805. "constant": false,
  111806. "id": 15337,
  111807. "mutability": "mutable",
  111808. "name": "p2",
  111809. "nameLocation": "68854:2:50",
  111810. "nodeType": "VariableDeclaration",
  111811. "scope": 15354,
  111812. "src": "68846:10:50",
  111813. "stateVariable": false,
  111814. "storageLocation": "default",
  111815. "typeDescriptions": {
  111816. "typeIdentifier": "t_address",
  111817. "typeString": "address"
  111818. },
  111819. "typeName": {
  111820. "id": 15336,
  111821. "name": "address",
  111822. "nodeType": "ElementaryTypeName",
  111823. "src": "68846:7:50",
  111824. "stateMutability": "nonpayable",
  111825. "typeDescriptions": {
  111826. "typeIdentifier": "t_address",
  111827. "typeString": "address"
  111828. }
  111829. },
  111830. "visibility": "internal"
  111831. },
  111832. {
  111833. "constant": false,
  111834. "id": 15339,
  111835. "mutability": "mutable",
  111836. "name": "p3",
  111837. "nameLocation": "68866:2:50",
  111838. "nodeType": "VariableDeclaration",
  111839. "scope": 15354,
  111840. "src": "68858:10:50",
  111841. "stateVariable": false,
  111842. "storageLocation": "default",
  111843. "typeDescriptions": {
  111844. "typeIdentifier": "t_address",
  111845. "typeString": "address"
  111846. },
  111847. "typeName": {
  111848. "id": 15338,
  111849. "name": "address",
  111850. "nodeType": "ElementaryTypeName",
  111851. "src": "68858:7:50",
  111852. "stateMutability": "nonpayable",
  111853. "typeDescriptions": {
  111854. "typeIdentifier": "t_address",
  111855. "typeString": "address"
  111856. }
  111857. },
  111858. "visibility": "internal"
  111859. }
  111860. ],
  111861. "src": "68821:48:50"
  111862. },
  111863. "returnParameters": {
  111864. "id": 15341,
  111865. "nodeType": "ParameterList",
  111866. "parameters": [],
  111867. "src": "68884:0:50"
  111868. },
  111869. "scope": 15355,
  111870. "stateMutability": "pure",
  111871. "virtual": false,
  111872. "visibility": "internal"
  111873. }
  111874. ],
  111875. "abstract": false,
  111876. "baseContracts": [],
  111877. "canonicalName": "console",
  111878. "contractDependencies": [],
  111879. "contractKind": "library",
  111880. "fullyImplemented": true,
  111881. "linearizedBaseContracts": [
  111882. 15355
  111883. ],
  111884. "name": "console",
  111885. "nameLocation": "74:7:50",
  111886. "scope": 15356,
  111887. "usedErrors": []
  111888. }
  111889. ],
  111890. "license": "MIT"
  111891. },
  111892. "id": 50
  111893. }