MetarareCollectionFactory.go 997 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861986298639864986598669867986898699870987198729873987498759876987798789879988098819882988398849885988698879888988998909891989298939894989598969897989898999900990199029903990499059906990799089909991099119912991399149915991699179918991999209921992299239924992599269927992899299930993199329933993499359936993799389939994099419942994399449945994699479948994999509951995299539954995599569957995899599960996199629963996499659966996799689969997099719972997399749975997699779978997999809981998299839984998599869987998899899990999199929993999499959996999799989999100001000110002100031000410005100061000710008100091001010011100121001310014100151001610017100181001910020100211002210023100241002510026100271002810029100301003110032100331003410035100361003710038100391004010041100421004310044100451004610047100481004910050100511005210053100541005510056100571005810059100601006110062100631006410065100661006710068100691007010071100721007310074100751007610077100781007910080100811008210083100841008510086100871008810089100901009110092100931009410095100961009710098100991010010101101021010310104101051010610107101081010910110101111011210113101141011510116101171011810119101201012110122101231012410125101261012710128101291013010131101321013310134101351013610137101381013910140101411014210143101441014510146101471014810149101501015110152101531015410155101561015710158101591016010161101621016310164101651016610167101681016910170101711017210173101741017510176101771017810179101801018110182101831018410185101861018710188101891019010191101921019310194101951019610197101981019910200102011020210203102041020510206102071020810209102101021110212102131021410215102161021710218102191022010221102221022310224102251022610227102281022910230102311023210233102341023510236102371023810239102401024110242102431024410245102461024710248102491025010251102521025310254102551025610257102581025910260102611026210263102641026510266102671026810269102701027110272102731027410275102761027710278102791028010281102821028310284102851028610287102881028910290102911029210293102941029510296102971029810299103001030110302103031030410305103061030710308103091031010311103121031310314103151031610317103181031910320103211032210323103241032510326103271032810329103301033110332103331033410335103361033710338103391034010341103421034310344103451034610347103481034910350103511035210353103541035510356103571035810359103601036110362103631036410365103661036710368103691037010371103721037310374103751037610377103781037910380103811038210383103841038510386103871038810389103901039110392103931039410395103961039710398103991040010401104021040310404104051040610407104081040910410104111041210413104141041510416104171041810419104201042110422104231042410425104261042710428104291043010431104321043310434104351043610437104381043910440104411044210443104441044510446104471044810449104501045110452104531045410455104561045710458104591046010461104621046310464104651046610467104681046910470104711047210473104741047510476104771047810479104801048110482104831048410485104861048710488104891049010491104921049310494104951049610497104981049910500105011050210503105041050510506105071050810509105101051110512105131051410515105161051710518105191052010521105221052310524105251052610527105281052910530105311053210533105341053510536105371053810539105401054110542105431054410545105461054710548105491055010551105521055310554105551055610557105581055910560105611056210563105641056510566105671056810569105701057110572105731057410575105761057710578105791058010581105821058310584105851058610587105881058910590105911059210593105941059510596105971059810599106001060110602106031060410605106061060710608106091061010611106121061310614106151061610617106181061910620106211062210623106241062510626106271062810629106301063110632106331063410635106361063710638106391064010641106421064310644106451064610647106481064910650106511065210653106541065510656106571065810659106601066110662106631066410665106661066710668106691067010671106721067310674106751067610677106781067910680106811068210683106841068510686106871068810689106901069110692106931069410695106961069710698106991070010701107021070310704107051070610707107081070910710107111071210713107141071510716107171071810719107201072110722107231072410725107261072710728107291073010731107321073310734107351073610737107381073910740107411074210743107441074510746107471074810749107501075110752107531075410755107561075710758107591076010761107621076310764107651076610767107681076910770107711077210773107741077510776107771077810779107801078110782107831078410785107861078710788107891079010791107921079310794107951079610797107981079910800108011080210803108041080510806108071080810809108101081110812108131081410815108161081710818108191082010821108221082310824108251082610827108281082910830108311083210833108341083510836108371083810839108401084110842108431084410845108461084710848108491085010851108521085310854108551085610857108581085910860108611086210863108641086510866108671086810869108701087110872108731087410875108761087710878108791088010881108821088310884108851088610887108881088910890108911089210893108941089510896108971089810899109001090110902109031090410905109061090710908109091091010911109121091310914109151091610917109181091910920109211092210923109241092510926109271092810929109301093110932109331093410935109361093710938109391094010941109421094310944109451094610947109481094910950109511095210953109541095510956109571095810959109601096110962109631096410965109661096710968109691097010971109721097310974109751097610977109781097910980109811098210983109841098510986109871098810989109901099110992109931099410995109961099710998109991100011001110021100311004110051100611007110081100911010110111101211013110141101511016110171101811019110201102111022110231102411025110261102711028110291103011031110321103311034110351103611037110381103911040110411104211043110441104511046110471104811049110501105111052110531105411055110561105711058110591106011061110621106311064110651106611067110681106911070110711107211073110741107511076110771107811079110801108111082110831108411085110861108711088110891109011091110921109311094110951109611097110981109911100111011110211103111041110511106111071110811109111101111111112111131111411115111161111711118111191112011121111221112311124111251112611127111281112911130111311113211133111341113511136111371113811139111401114111142111431114411145111461114711148111491115011151111521115311154111551115611157111581115911160111611116211163111641116511166111671116811169111701117111172111731117411175111761117711178111791118011181111821118311184111851118611187111881118911190111911119211193111941119511196111971119811199112001120111202112031120411205112061120711208112091121011211112121121311214112151121611217112181121911220112211122211223112241122511226112271122811229112301123111232112331123411235112361123711238112391124011241112421124311244112451124611247112481124911250112511125211253112541125511256112571125811259112601126111262112631126411265112661126711268112691127011271112721127311274112751127611277112781127911280112811128211283112841128511286112871128811289112901129111292112931129411295112961129711298112991130011301113021130311304113051130611307113081130911310113111131211313113141131511316113171131811319113201132111322113231132411325113261132711328113291133011331113321133311334113351133611337113381133911340113411134211343113441134511346113471134811349113501135111352113531135411355113561135711358113591136011361113621136311364113651136611367113681136911370113711137211373113741137511376113771137811379113801138111382113831138411385113861138711388113891139011391113921139311394113951139611397113981139911400114011140211403114041140511406114071140811409114101141111412114131141411415114161141711418114191142011421114221142311424114251142611427114281142911430114311143211433114341143511436114371143811439114401144111442114431144411445114461144711448114491145011451114521145311454114551145611457114581145911460114611146211463114641146511466114671146811469114701147111472114731147411475114761147711478114791148011481114821148311484114851148611487114881148911490114911149211493114941149511496114971149811499115001150111502115031150411505115061150711508115091151011511115121151311514115151151611517115181151911520115211152211523115241152511526115271152811529115301153111532115331153411535115361153711538115391154011541115421154311544115451154611547115481154911550115511155211553115541155511556115571155811559115601156111562115631156411565115661156711568115691157011571115721157311574115751157611577115781157911580115811158211583115841158511586115871158811589115901159111592115931159411595115961159711598115991160011601116021160311604116051160611607116081160911610116111161211613116141161511616116171161811619116201162111622116231162411625116261162711628116291163011631116321163311634116351163611637116381163911640116411164211643116441164511646116471164811649116501165111652116531165411655116561165711658116591166011661116621166311664116651166611667116681166911670116711167211673116741167511676116771167811679116801168111682116831168411685116861168711688116891169011691116921169311694116951169611697116981169911700117011170211703117041170511706117071170811709117101171111712117131171411715117161171711718117191172011721117221172311724117251172611727117281172911730117311173211733117341173511736117371173811739117401174111742117431174411745117461174711748117491175011751117521175311754117551175611757117581175911760117611176211763117641176511766117671176811769117701177111772117731177411775117761177711778117791178011781117821178311784117851178611787117881178911790117911179211793117941179511796117971179811799118001180111802118031180411805118061180711808118091181011811118121181311814118151181611817118181181911820118211182211823118241182511826118271182811829118301183111832118331183411835118361183711838118391184011841118421184311844118451184611847118481184911850118511185211853118541185511856118571185811859118601186111862118631186411865118661186711868118691187011871118721187311874118751187611877118781187911880118811188211883118841188511886118871188811889118901189111892118931189411895118961189711898118991190011901119021190311904119051190611907119081190911910119111191211913119141191511916119171191811919119201192111922119231192411925119261192711928119291193011931119321193311934119351193611937119381193911940119411194211943119441194511946119471194811949119501195111952119531195411955119561195711958119591196011961119621196311964119651196611967119681196911970119711197211973119741197511976119771197811979119801198111982119831198411985119861198711988119891199011991119921199311994119951199611997119981199912000120011200212003120041200512006120071200812009120101201112012120131201412015120161201712018120191202012021120221202312024120251202612027120281202912030120311203212033120341203512036120371203812039120401204112042120431204412045120461204712048120491205012051120521205312054120551205612057120581205912060120611206212063120641206512066120671206812069120701207112072120731207412075120761207712078120791208012081120821208312084120851208612087120881208912090120911209212093120941209512096120971209812099121001210112102121031210412105121061210712108121091211012111121121211312114121151211612117121181211912120121211212212123121241212512126121271212812129121301213112132121331213412135121361213712138121391214012141121421214312144121451214612147121481214912150121511215212153121541215512156121571215812159121601216112162121631216412165121661216712168121691217012171121721217312174121751217612177121781217912180121811218212183121841218512186121871218812189121901219112192121931219412195121961219712198121991220012201122021220312204122051220612207122081220912210122111221212213122141221512216122171221812219122201222112222122231222412225122261222712228122291223012231122321223312234122351223612237122381223912240122411224212243122441224512246122471224812249122501225112252122531225412255122561225712258122591226012261122621226312264122651226612267122681226912270122711227212273122741227512276122771227812279122801228112282122831228412285122861228712288122891229012291122921229312294122951229612297122981229912300123011230212303123041230512306123071230812309123101231112312123131231412315123161231712318123191232012321123221232312324123251232612327123281232912330123311233212333123341233512336123371233812339123401234112342123431234412345123461234712348123491235012351123521235312354123551235612357123581235912360123611236212363123641236512366123671236812369123701237112372123731237412375123761237712378123791238012381123821238312384123851238612387123881238912390123911239212393123941239512396123971239812399124001240112402124031240412405124061240712408124091241012411124121241312414124151241612417124181241912420124211242212423124241242512426124271242812429124301243112432124331243412435124361243712438124391244012441124421244312444124451244612447124481244912450124511245212453124541245512456124571245812459124601246112462124631246412465124661246712468124691247012471124721247312474124751247612477124781247912480124811248212483124841248512486124871248812489124901249112492124931249412495124961249712498124991250012501125021250312504125051250612507125081250912510125111251212513125141251512516125171251812519125201252112522125231252412525125261252712528125291253012531125321253312534125351253612537125381253912540125411254212543125441254512546125471254812549125501255112552125531255412555125561255712558125591256012561125621256312564125651256612567125681256912570125711257212573125741257512576125771257812579125801258112582125831258412585125861258712588125891259012591125921259312594125951259612597125981259912600126011260212603126041260512606126071260812609126101261112612126131261412615126161261712618126191262012621126221262312624126251262612627126281262912630126311263212633126341263512636126371263812639126401264112642126431264412645126461264712648126491265012651126521265312654126551265612657126581265912660126611266212663126641266512666126671266812669126701267112672126731267412675126761267712678126791268012681126821268312684126851268612687126881268912690126911269212693126941269512696126971269812699127001270112702127031270412705127061270712708127091271012711127121271312714127151271612717127181271912720127211272212723127241272512726127271272812729127301273112732127331273412735127361273712738127391274012741127421274312744127451274612747127481274912750127511275212753127541275512756127571275812759127601276112762127631276412765127661276712768127691277012771127721277312774127751277612777127781277912780127811278212783127841278512786127871278812789127901279112792127931279412795127961279712798127991280012801128021280312804128051280612807128081280912810128111281212813128141281512816128171281812819128201282112822128231282412825128261282712828128291283012831128321283312834128351283612837128381283912840128411284212843128441284512846128471284812849128501285112852128531285412855128561285712858128591286012861128621286312864128651286612867128681286912870128711287212873128741287512876128771287812879128801288112882128831288412885128861288712888128891289012891128921289312894128951289612897128981289912900129011290212903129041290512906129071290812909129101291112912129131291412915129161291712918129191292012921129221292312924129251292612927129281292912930129311293212933129341293512936129371293812939129401294112942129431294412945129461294712948129491295012951129521295312954129551295612957129581295912960129611296212963129641296512966129671296812969129701297112972129731297412975129761297712978129791298012981129821298312984129851298612987129881298912990129911299212993129941299512996129971299812999130001300113002130031300413005130061300713008130091301013011130121301313014130151301613017130181301913020130211302213023130241302513026130271302813029130301303113032130331303413035130361303713038130391304013041130421304313044130451304613047130481304913050130511305213053130541305513056130571305813059130601306113062130631306413065130661306713068130691307013071130721307313074130751307613077130781307913080130811308213083130841308513086130871308813089130901309113092130931309413095130961309713098130991310013101131021310313104131051310613107131081310913110131111311213113131141311513116131171311813119131201312113122131231312413125131261312713128131291313013131131321313313134131351313613137131381313913140131411314213143131441314513146131471314813149131501315113152131531315413155131561315713158131591316013161131621316313164131651316613167131681316913170131711317213173131741317513176131771317813179131801318113182131831318413185131861318713188131891319013191131921319313194131951319613197131981319913200132011320213203132041320513206132071320813209132101321113212132131321413215132161321713218132191322013221132221322313224132251322613227132281322913230132311323213233132341323513236132371323813239132401324113242132431324413245132461324713248132491325013251132521325313254132551325613257132581325913260132611326213263132641326513266132671326813269132701327113272132731327413275132761327713278132791328013281132821328313284132851328613287132881328913290132911329213293132941329513296132971329813299133001330113302133031330413305133061330713308133091331013311133121331313314133151331613317133181331913320133211332213323133241332513326133271332813329133301333113332133331333413335133361333713338133391334013341133421334313344133451334613347133481334913350133511335213353133541335513356133571335813359133601336113362133631336413365133661336713368133691337013371133721337313374133751337613377133781337913380133811338213383133841338513386133871338813389133901339113392133931339413395133961339713398133991340013401134021340313404134051340613407134081340913410134111341213413134141341513416134171341813419134201342113422134231342413425134261342713428134291343013431134321343313434134351343613437134381343913440134411344213443134441344513446134471344813449134501345113452134531345413455134561345713458134591346013461134621346313464134651346613467134681346913470134711347213473134741347513476134771347813479134801348113482134831348413485134861348713488134891349013491134921349313494134951349613497134981349913500135011350213503135041350513506135071350813509135101351113512135131351413515135161351713518135191352013521135221352313524135251352613527135281352913530135311353213533135341353513536135371353813539135401354113542135431354413545135461354713548135491355013551135521355313554135551355613557135581355913560135611356213563135641356513566135671356813569135701357113572135731357413575135761357713578135791358013581135821358313584135851358613587135881358913590135911359213593135941359513596135971359813599136001360113602136031360413605136061360713608136091361013611136121361313614136151361613617136181361913620136211362213623136241362513626136271362813629136301363113632136331363413635136361363713638136391364013641136421364313644136451364613647136481364913650136511365213653136541365513656136571365813659136601366113662136631366413665136661366713668136691367013671136721367313674136751367613677136781367913680136811368213683136841368513686136871368813689136901369113692136931369413695136961369713698136991370013701137021370313704137051370613707137081370913710137111371213713137141371513716137171371813719137201372113722137231372413725137261372713728137291373013731137321373313734137351373613737137381373913740137411374213743137441374513746137471374813749137501375113752137531375413755137561375713758137591376013761137621376313764137651376613767137681376913770137711377213773137741377513776137771377813779137801378113782137831378413785137861378713788137891379013791137921379313794137951379613797137981379913800138011380213803138041380513806138071380813809138101381113812138131381413815138161381713818138191382013821138221382313824138251382613827138281382913830138311383213833138341383513836138371383813839138401384113842138431384413845138461384713848138491385013851138521385313854138551385613857138581385913860138611386213863138641386513866138671386813869138701387113872138731387413875138761387713878138791388013881138821388313884138851388613887138881388913890138911389213893138941389513896138971389813899139001390113902139031390413905139061390713908139091391013911139121391313914139151391613917139181391913920139211392213923139241392513926139271392813929139301393113932139331393413935139361393713938139391394013941139421394313944139451394613947139481394913950139511395213953139541395513956139571395813959139601396113962139631396413965139661396713968139691397013971139721397313974139751397613977139781397913980139811398213983139841398513986139871398813989139901399113992139931399413995139961399713998139991400014001140021400314004140051400614007140081400914010140111401214013140141401514016140171401814019140201402114022140231402414025140261402714028140291403014031140321403314034140351403614037140381403914040140411404214043140441404514046140471404814049140501405114052140531405414055140561405714058140591406014061140621406314064140651406614067140681406914070140711407214073140741407514076140771407814079140801408114082140831408414085140861408714088140891409014091140921409314094140951409614097140981409914100141011410214103141041410514106141071410814109141101411114112141131411414115141161411714118141191412014121141221412314124141251412614127141281412914130141311413214133141341413514136141371413814139141401414114142141431414414145141461414714148141491415014151141521415314154141551415614157141581415914160141611416214163141641416514166141671416814169141701417114172141731417414175141761417714178141791418014181141821418314184141851418614187141881418914190141911419214193141941419514196141971419814199142001420114202142031420414205142061420714208142091421014211142121421314214142151421614217142181421914220142211422214223142241422514226142271422814229142301423114232142331423414235142361423714238142391424014241142421424314244142451424614247142481424914250142511425214253142541425514256142571425814259142601426114262142631426414265142661426714268142691427014271142721427314274142751427614277142781427914280142811428214283142841428514286142871428814289142901429114292142931429414295142961429714298142991430014301143021430314304143051430614307143081430914310143111431214313143141431514316143171431814319143201432114322143231432414325143261432714328143291433014331143321433314334143351433614337143381433914340143411434214343143441434514346143471434814349143501435114352143531435414355143561435714358143591436014361143621436314364143651436614367143681436914370143711437214373143741437514376143771437814379143801438114382143831438414385143861438714388143891439014391143921439314394143951439614397143981439914400144011440214403144041440514406144071440814409144101441114412144131441414415144161441714418144191442014421144221442314424144251442614427144281442914430144311443214433144341443514436144371443814439144401444114442144431444414445144461444714448144491445014451144521445314454144551445614457144581445914460144611446214463144641446514466144671446814469144701447114472144731447414475144761447714478144791448014481144821448314484144851448614487144881448914490144911449214493144941449514496144971449814499145001450114502145031450414505145061450714508145091451014511145121451314514145151451614517145181451914520145211452214523145241452514526145271452814529145301453114532145331453414535145361453714538145391454014541145421454314544145451454614547145481454914550145511455214553145541455514556145571455814559145601456114562145631456414565145661456714568145691457014571145721457314574145751457614577145781457914580145811458214583145841458514586145871458814589145901459114592145931459414595145961459714598145991460014601146021460314604146051460614607146081460914610146111461214613146141461514616146171461814619146201462114622146231462414625146261462714628146291463014631146321463314634146351463614637146381463914640146411464214643146441464514646146471464814649146501465114652146531465414655146561465714658146591466014661146621466314664146651466614667146681466914670146711467214673146741467514676146771467814679146801468114682146831468414685146861468714688146891469014691146921469314694146951469614697146981469914700147011470214703147041470514706147071470814709147101471114712147131471414715147161471714718147191472014721147221472314724147251472614727147281472914730147311473214733147341473514736147371473814739147401474114742147431474414745147461474714748147491475014751147521475314754147551475614757147581475914760147611476214763147641476514766147671476814769147701477114772147731477414775147761477714778147791478014781147821478314784147851478614787147881478914790147911479214793147941479514796147971479814799148001480114802148031480414805148061480714808148091481014811148121481314814148151481614817148181481914820148211482214823148241482514826148271482814829148301483114832148331483414835148361483714838148391484014841148421484314844148451484614847148481484914850148511485214853148541485514856148571485814859148601486114862148631486414865148661486714868148691487014871148721487314874148751487614877148781487914880148811488214883148841488514886148871488814889148901489114892148931489414895148961489714898148991490014901149021490314904149051490614907149081490914910149111491214913149141491514916149171491814919149201492114922149231492414925149261492714928149291493014931149321493314934149351493614937149381493914940149411494214943149441494514946149471494814949149501495114952149531495414955149561495714958149591496014961149621496314964149651496614967149681496914970149711497214973149741497514976149771497814979149801498114982149831498414985149861498714988149891499014991149921499314994149951499614997149981499915000150011500215003150041500515006150071500815009150101501115012150131501415015150161501715018150191502015021150221502315024150251502615027150281502915030150311503215033150341503515036150371503815039150401504115042150431504415045150461504715048150491505015051150521505315054150551505615057150581505915060150611506215063150641506515066150671506815069150701507115072150731507415075150761507715078150791508015081150821508315084150851508615087150881508915090150911509215093150941509515096150971509815099151001510115102151031510415105151061510715108151091511015111151121511315114151151511615117151181511915120151211512215123151241512515126151271512815129151301513115132151331513415135151361513715138151391514015141151421514315144151451514615147151481514915150151511515215153151541515515156151571515815159151601516115162151631516415165151661516715168151691517015171151721517315174151751517615177151781517915180151811518215183151841518515186151871518815189151901519115192151931519415195151961519715198151991520015201152021520315204152051520615207152081520915210152111521215213152141521515216152171521815219152201522115222152231522415225152261522715228152291523015231152321523315234152351523615237152381523915240152411524215243152441524515246152471524815249152501525115252152531525415255152561525715258152591526015261152621526315264152651526615267152681526915270152711527215273152741527515276152771527815279152801528115282152831528415285152861528715288152891529015291152921529315294152951529615297152981529915300153011530215303153041530515306153071530815309153101531115312153131531415315153161531715318153191532015321153221532315324153251532615327153281532915330153311533215333153341533515336153371533815339153401534115342153431534415345153461534715348153491535015351153521535315354153551535615357153581535915360153611536215363153641536515366153671536815369153701537115372153731537415375153761537715378153791538015381153821538315384153851538615387153881538915390153911539215393153941539515396153971539815399154001540115402154031540415405154061540715408154091541015411154121541315414154151541615417154181541915420154211542215423154241542515426154271542815429154301543115432154331543415435154361543715438154391544015441154421544315444154451544615447154481544915450154511545215453154541545515456154571545815459154601546115462154631546415465154661546715468154691547015471154721547315474154751547615477154781547915480154811548215483154841548515486154871548815489154901549115492154931549415495154961549715498154991550015501155021550315504155051550615507155081550915510155111551215513155141551515516155171551815519155201552115522155231552415525155261552715528155291553015531155321553315534155351553615537155381553915540155411554215543155441554515546155471554815549155501555115552155531555415555155561555715558155591556015561155621556315564155651556615567155681556915570155711557215573155741557515576155771557815579155801558115582155831558415585155861558715588155891559015591155921559315594155951559615597155981559915600156011560215603156041560515606156071560815609156101561115612156131561415615156161561715618156191562015621156221562315624156251562615627156281562915630156311563215633156341563515636156371563815639156401564115642156431564415645156461564715648156491565015651156521565315654156551565615657156581565915660156611566215663156641566515666156671566815669156701567115672156731567415675156761567715678156791568015681156821568315684156851568615687156881568915690156911569215693156941569515696156971569815699157001570115702157031570415705157061570715708157091571015711157121571315714157151571615717157181571915720157211572215723157241572515726157271572815729157301573115732157331573415735157361573715738157391574015741157421574315744157451574615747157481574915750157511575215753157541575515756157571575815759157601576115762157631576415765157661576715768157691577015771157721577315774157751577615777157781577915780157811578215783157841578515786157871578815789157901579115792157931579415795157961579715798157991580015801158021580315804158051580615807158081580915810158111581215813158141581515816158171581815819158201582115822158231582415825158261582715828158291583015831158321583315834158351583615837158381583915840158411584215843158441584515846158471584815849158501585115852158531585415855158561585715858158591586015861158621586315864158651586615867158681586915870158711587215873158741587515876158771587815879158801588115882158831588415885158861588715888158891589015891158921589315894158951589615897158981589915900159011590215903159041590515906159071590815909159101591115912159131591415915159161591715918159191592015921159221592315924159251592615927159281592915930159311593215933159341593515936159371593815939159401594115942159431594415945159461594715948159491595015951159521595315954159551595615957159581595915960159611596215963159641596515966159671596815969159701597115972159731597415975159761597715978159791598015981159821598315984159851598615987159881598915990159911599215993159941599515996159971599815999160001600116002160031600416005160061600716008160091601016011160121601316014160151601616017160181601916020160211602216023160241602516026160271602816029160301603116032160331603416035160361603716038160391604016041160421604316044160451604616047160481604916050160511605216053160541605516056160571605816059160601606116062160631606416065160661606716068160691607016071160721607316074160751607616077160781607916080160811608216083160841608516086160871608816089160901609116092160931609416095160961609716098160991610016101161021610316104161051610616107161081610916110161111611216113161141611516116161171611816119161201612116122161231612416125161261612716128161291613016131161321613316134161351613616137161381613916140161411614216143161441614516146161471614816149161501615116152161531615416155161561615716158161591616016161161621616316164161651616616167161681616916170161711617216173161741617516176161771617816179161801618116182161831618416185161861618716188161891619016191161921619316194161951619616197161981619916200162011620216203162041620516206162071620816209162101621116212162131621416215162161621716218162191622016221162221622316224162251622616227162281622916230162311623216233162341623516236162371623816239162401624116242162431624416245162461624716248162491625016251162521625316254162551625616257162581625916260162611626216263162641626516266162671626816269162701627116272162731627416275162761627716278162791628016281162821628316284162851628616287162881628916290162911629216293162941629516296162971629816299163001630116302163031630416305163061630716308163091631016311163121631316314163151631616317163181631916320163211632216323163241632516326163271632816329163301633116332163331633416335163361633716338163391634016341163421634316344163451634616347163481634916350163511635216353163541635516356163571635816359163601636116362163631636416365163661636716368163691637016371163721637316374163751637616377163781637916380163811638216383163841638516386163871638816389163901639116392163931639416395163961639716398163991640016401164021640316404164051640616407164081640916410164111641216413164141641516416164171641816419164201642116422164231642416425164261642716428164291643016431164321643316434164351643616437164381643916440164411644216443164441644516446164471644816449164501645116452164531645416455164561645716458164591646016461164621646316464164651646616467164681646916470164711647216473164741647516476164771647816479164801648116482164831648416485164861648716488164891649016491164921649316494164951649616497164981649916500165011650216503165041650516506165071650816509165101651116512165131651416515165161651716518165191652016521165221652316524165251652616527165281652916530165311653216533165341653516536165371653816539165401654116542165431654416545165461654716548165491655016551165521655316554165551655616557165581655916560165611656216563165641656516566165671656816569165701657116572165731657416575165761657716578165791658016581165821658316584165851658616587165881658916590165911659216593165941659516596165971659816599166001660116602166031660416605166061660716608166091661016611166121661316614166151661616617166181661916620166211662216623166241662516626166271662816629166301663116632166331663416635166361663716638166391664016641166421664316644166451664616647166481664916650166511665216653166541665516656166571665816659166601666116662166631666416665166661666716668166691667016671166721667316674166751667616677166781667916680166811668216683166841668516686166871668816689166901669116692166931669416695166961669716698166991670016701167021670316704167051670616707167081670916710167111671216713167141671516716167171671816719167201672116722167231672416725167261672716728167291673016731167321673316734167351673616737167381673916740167411674216743167441674516746167471674816749167501675116752167531675416755167561675716758167591676016761167621676316764167651676616767167681676916770167711677216773167741677516776167771677816779167801678116782167831678416785167861678716788167891679016791167921679316794167951679616797167981679916800168011680216803168041680516806168071680816809168101681116812168131681416815168161681716818168191682016821168221682316824168251682616827168281682916830168311683216833168341683516836168371683816839168401684116842168431684416845168461684716848168491685016851168521685316854168551685616857168581685916860168611686216863168641686516866168671686816869168701687116872168731687416875168761687716878168791688016881168821688316884168851688616887168881688916890168911689216893168941689516896168971689816899169001690116902169031690416905169061690716908169091691016911169121691316914169151691616917169181691916920169211692216923169241692516926169271692816929169301693116932169331693416935169361693716938169391694016941169421694316944169451694616947169481694916950169511695216953169541695516956169571695816959169601696116962169631696416965169661696716968169691697016971169721697316974169751697616977169781697916980169811698216983169841698516986169871698816989169901699116992169931699416995169961699716998169991700017001170021700317004170051700617007170081700917010170111701217013170141701517016170171701817019170201702117022170231702417025170261702717028170291703017031170321703317034170351703617037170381703917040170411704217043170441704517046170471704817049170501705117052170531705417055170561705717058170591706017061170621706317064170651706617067170681706917070170711707217073170741707517076170771707817079170801708117082170831708417085170861708717088170891709017091170921709317094170951709617097170981709917100171011710217103171041710517106171071710817109171101711117112171131711417115171161711717118171191712017121171221712317124171251712617127171281712917130171311713217133171341713517136171371713817139171401714117142171431714417145171461714717148171491715017151171521715317154171551715617157171581715917160171611716217163171641716517166171671716817169171701717117172171731717417175171761717717178171791718017181171821718317184171851718617187171881718917190171911719217193171941719517196171971719817199172001720117202172031720417205172061720717208172091721017211172121721317214172151721617217172181721917220172211722217223172241722517226172271722817229172301723117232172331723417235172361723717238172391724017241172421724317244172451724617247172481724917250172511725217253172541725517256172571725817259172601726117262172631726417265172661726717268172691727017271172721727317274172751727617277172781727917280172811728217283172841728517286172871728817289172901729117292172931729417295172961729717298172991730017301173021730317304173051730617307173081730917310173111731217313173141731517316173171731817319173201732117322173231732417325173261732717328173291733017331173321733317334173351733617337173381733917340173411734217343173441734517346173471734817349173501735117352173531735417355173561735717358173591736017361173621736317364173651736617367173681736917370173711737217373173741737517376173771737817379173801738117382173831738417385173861738717388173891739017391173921739317394173951739617397173981739917400174011740217403174041740517406174071740817409174101741117412174131741417415174161741717418174191742017421174221742317424174251742617427174281742917430174311743217433174341743517436174371743817439174401744117442174431744417445174461744717448174491745017451174521745317454174551745617457174581745917460174611746217463174641746517466174671746817469174701747117472174731747417475174761747717478174791748017481174821748317484174851748617487174881748917490174911749217493174941749517496174971749817499175001750117502175031750417505175061750717508175091751017511175121751317514175151751617517175181751917520175211752217523175241752517526175271752817529175301753117532175331753417535175361753717538175391754017541175421754317544175451754617547175481754917550175511755217553175541755517556175571755817559175601756117562175631756417565175661756717568175691757017571175721757317574175751757617577175781757917580175811758217583175841758517586175871758817589175901759117592175931759417595175961759717598175991760017601176021760317604176051760617607176081760917610176111761217613176141761517616176171761817619176201762117622176231762417625176261762717628176291763017631176321763317634176351763617637176381763917640176411764217643176441764517646176471764817649176501765117652176531765417655176561765717658176591766017661176621766317664176651766617667176681766917670176711767217673176741767517676176771767817679176801768117682176831768417685176861768717688176891769017691176921769317694176951769617697176981769917700177011770217703177041770517706177071770817709177101771117712177131771417715177161771717718177191772017721177221772317724177251772617727177281772917730177311773217733177341773517736177371773817739177401774117742177431774417745177461774717748177491775017751177521775317754177551775617757177581775917760177611776217763177641776517766177671776817769177701777117772177731777417775177761777717778177791778017781177821778317784177851778617787177881778917790177911779217793177941779517796177971779817799178001780117802178031780417805178061780717808178091781017811178121781317814178151781617817178181781917820178211782217823178241782517826178271782817829178301783117832178331783417835178361783717838178391784017841178421784317844178451784617847178481784917850178511785217853178541785517856178571785817859178601786117862178631786417865178661786717868178691787017871178721787317874178751787617877178781787917880178811788217883178841788517886178871788817889178901789117892178931789417895178961789717898178991790017901179021790317904179051790617907179081790917910179111791217913179141791517916179171791817919179201792117922179231792417925179261792717928179291793017931179321793317934179351793617937179381793917940179411794217943179441794517946179471794817949179501795117952179531795417955179561795717958179591796017961179621796317964179651796617967179681796917970179711797217973179741797517976179771797817979179801798117982179831798417985179861798717988179891799017991179921799317994179951799617997179981799918000180011800218003180041800518006180071800818009180101801118012180131801418015180161801718018180191802018021180221802318024180251802618027180281802918030180311803218033180341803518036180371803818039180401804118042180431804418045180461804718048180491805018051180521805318054180551805618057180581805918060180611806218063180641806518066180671806818069180701807118072180731807418075180761807718078180791808018081180821808318084180851808618087180881808918090180911809218093180941809518096180971809818099181001810118102181031810418105181061810718108181091811018111181121811318114181151811618117181181811918120181211812218123181241812518126181271812818129181301813118132181331813418135181361813718138181391814018141181421814318144181451814618147181481814918150181511815218153181541815518156181571815818159181601816118162181631816418165181661816718168181691817018171181721817318174181751817618177181781817918180181811818218183181841818518186181871818818189181901819118192181931819418195181961819718198181991820018201182021820318204182051820618207182081820918210182111821218213182141821518216182171821818219182201822118222182231822418225182261822718228182291823018231182321823318234182351823618237182381823918240182411824218243182441824518246182471824818249182501825118252182531825418255182561825718258182591826018261182621826318264182651826618267182681826918270182711827218273182741827518276182771827818279182801828118282182831828418285182861828718288182891829018291182921829318294182951829618297182981829918300183011830218303183041830518306183071830818309183101831118312183131831418315183161831718318183191832018321183221832318324183251832618327183281832918330183311833218333183341833518336183371833818339183401834118342183431834418345183461834718348183491835018351183521835318354183551835618357183581835918360183611836218363183641836518366183671836818369183701837118372183731837418375183761837718378183791838018381183821838318384183851838618387183881838918390183911839218393183941839518396183971839818399184001840118402184031840418405184061840718408184091841018411184121841318414184151841618417184181841918420184211842218423184241842518426184271842818429184301843118432184331843418435184361843718438184391844018441184421844318444184451844618447184481844918450184511845218453184541845518456184571845818459184601846118462184631846418465184661846718468184691847018471184721847318474184751847618477184781847918480184811848218483184841848518486184871848818489184901849118492184931849418495184961849718498184991850018501185021850318504185051850618507185081850918510185111851218513185141851518516185171851818519185201852118522185231852418525185261852718528185291853018531185321853318534185351853618537185381853918540185411854218543185441854518546185471854818549185501855118552185531855418555185561855718558185591856018561185621856318564185651856618567185681856918570185711857218573185741857518576185771857818579185801858118582185831858418585185861858718588185891859018591185921859318594185951859618597185981859918600186011860218603186041860518606186071860818609186101861118612186131861418615186161861718618186191862018621186221862318624186251862618627186281862918630186311863218633186341863518636186371863818639186401864118642186431864418645186461864718648186491865018651186521865318654186551865618657186581865918660186611866218663186641866518666186671866818669186701867118672186731867418675186761867718678186791868018681186821868318684186851868618687186881868918690186911869218693186941869518696186971869818699187001870118702187031870418705187061870718708187091871018711187121871318714187151871618717187181871918720187211872218723187241872518726187271872818729187301873118732187331873418735187361873718738187391874018741187421874318744187451874618747187481874918750187511875218753187541875518756187571875818759187601876118762187631876418765187661876718768187691877018771187721877318774187751877618777187781877918780187811878218783187841878518786187871878818789187901879118792187931879418795187961879718798187991880018801188021880318804188051880618807188081880918810188111881218813188141881518816188171881818819188201882118822188231882418825188261882718828188291883018831188321883318834188351883618837188381883918840188411884218843188441884518846188471884818849188501885118852188531885418855188561885718858188591886018861188621886318864188651886618867188681886918870188711887218873188741887518876188771887818879188801888118882188831888418885188861888718888188891889018891188921889318894188951889618897188981889918900189011890218903189041890518906189071890818909189101891118912189131891418915189161891718918189191892018921189221892318924189251892618927189281892918930189311893218933189341893518936189371893818939189401894118942189431894418945189461894718948189491895018951189521895318954189551895618957189581895918960189611896218963189641896518966189671896818969189701897118972189731897418975189761897718978189791898018981189821898318984189851898618987189881898918990189911899218993189941899518996189971899818999190001900119002190031900419005190061900719008190091901019011190121901319014190151901619017190181901919020190211902219023190241902519026190271902819029190301903119032190331903419035190361903719038190391904019041190421904319044190451904619047190481904919050190511905219053190541905519056190571905819059190601906119062190631906419065190661906719068190691907019071190721907319074190751907619077190781907919080190811908219083190841908519086190871908819089190901909119092190931909419095190961909719098190991910019101191021910319104191051910619107191081910919110191111911219113191141911519116191171911819119191201912119122191231912419125191261912719128191291913019131191321913319134191351913619137191381913919140191411914219143
  1. // Code generated - DO NOT EDIT.
  2. // This file is a generated binding and any manual changes will be lost.
  3. package collectionFactory
  4. import (
  5. "errors"
  6. "math/big"
  7. "strings"
  8. ethereum "github.com/ethereum/go-ethereum"
  9. "github.com/ethereum/go-ethereum/accounts/abi"
  10. "github.com/ethereum/go-ethereum/accounts/abi/bind"
  11. "github.com/ethereum/go-ethereum/common"
  12. "github.com/ethereum/go-ethereum/core/types"
  13. "github.com/ethereum/go-ethereum/event"
  14. )
  15. // Reference imports to suppress errors if they are not otherwise used.
  16. var (
  17. _ = errors.New
  18. _ = big.NewInt
  19. _ = strings.NewReader
  20. _ = ethereum.NotFound
  21. _ = bind.Bind
  22. _ = common.Big1
  23. _ = types.BloomLookup
  24. _ = event.NewSubscription
  25. )
  26. // AccessControlMetaData contains all meta data concerning the AccessControl contract.
  27. var AccessControlMetaData = &bind.MetaData{
  28. ABI: "[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]",
  29. Sigs: map[string]string{
  30. "a217fddf": "DEFAULT_ADMIN_ROLE()",
  31. "248a9ca3": "getRoleAdmin(bytes32)",
  32. "2f2ff15d": "grantRole(bytes32,address)",
  33. "91d14854": "hasRole(bytes32,address)",
  34. "36568abe": "renounceRole(bytes32,address)",
  35. "d547741f": "revokeRole(bytes32,address)",
  36. "01ffc9a7": "supportsInterface(bytes4)",
  37. },
  38. }
  39. // AccessControlABI is the input ABI used to generate the binding from.
  40. // Deprecated: Use AccessControlMetaData.ABI instead.
  41. var AccessControlABI = AccessControlMetaData.ABI
  42. // Deprecated: Use AccessControlMetaData.Sigs instead.
  43. // AccessControlFuncSigs maps the 4-byte function signature to its string representation.
  44. var AccessControlFuncSigs = AccessControlMetaData.Sigs
  45. // AccessControl is an auto generated Go binding around an Ethereum contract.
  46. type AccessControl struct {
  47. AccessControlCaller // Read-only binding to the contract
  48. AccessControlTransactor // Write-only binding to the contract
  49. AccessControlFilterer // Log filterer for contract events
  50. }
  51. // AccessControlCaller is an auto generated read-only Go binding around an Ethereum contract.
  52. type AccessControlCaller struct {
  53. contract *bind.BoundContract // Generic contract wrapper for the low level calls
  54. }
  55. // AccessControlTransactor is an auto generated write-only Go binding around an Ethereum contract.
  56. type AccessControlTransactor struct {
  57. contract *bind.BoundContract // Generic contract wrapper for the low level calls
  58. }
  59. // AccessControlFilterer is an auto generated log filtering Go binding around an Ethereum contract events.
  60. type AccessControlFilterer struct {
  61. contract *bind.BoundContract // Generic contract wrapper for the low level calls
  62. }
  63. // AccessControlSession is an auto generated Go binding around an Ethereum contract,
  64. // with pre-set call and transact options.
  65. type AccessControlSession struct {
  66. Contract *AccessControl // Generic contract binding to set the session for
  67. CallOpts bind.CallOpts // Call options to use throughout this session
  68. TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
  69. }
  70. // AccessControlCallerSession is an auto generated read-only Go binding around an Ethereum contract,
  71. // with pre-set call options.
  72. type AccessControlCallerSession struct {
  73. Contract *AccessControlCaller // Generic contract caller binding to set the session for
  74. CallOpts bind.CallOpts // Call options to use throughout this session
  75. }
  76. // AccessControlTransactorSession is an auto generated write-only Go binding around an Ethereum contract,
  77. // with pre-set transact options.
  78. type AccessControlTransactorSession struct {
  79. Contract *AccessControlTransactor // Generic contract transactor binding to set the session for
  80. TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
  81. }
  82. // AccessControlRaw is an auto generated low-level Go binding around an Ethereum contract.
  83. type AccessControlRaw struct {
  84. Contract *AccessControl // Generic contract binding to access the raw methods on
  85. }
  86. // AccessControlCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
  87. type AccessControlCallerRaw struct {
  88. Contract *AccessControlCaller // Generic read-only contract binding to access the raw methods on
  89. }
  90. // AccessControlTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
  91. type AccessControlTransactorRaw struct {
  92. Contract *AccessControlTransactor // Generic write-only contract binding to access the raw methods on
  93. }
  94. // NewAccessControl creates a new instance of AccessControl, bound to a specific deployed contract.
  95. func NewAccessControl(address common.Address, backend bind.ContractBackend) (*AccessControl, error) {
  96. contract, err := bindAccessControl(address, backend, backend, backend)
  97. if err != nil {
  98. return nil, err
  99. }
  100. return &AccessControl{AccessControlCaller: AccessControlCaller{contract: contract}, AccessControlTransactor: AccessControlTransactor{contract: contract}, AccessControlFilterer: AccessControlFilterer{contract: contract}}, nil
  101. }
  102. // NewAccessControlCaller creates a new read-only instance of AccessControl, bound to a specific deployed contract.
  103. func NewAccessControlCaller(address common.Address, caller bind.ContractCaller) (*AccessControlCaller, error) {
  104. contract, err := bindAccessControl(address, caller, nil, nil)
  105. if err != nil {
  106. return nil, err
  107. }
  108. return &AccessControlCaller{contract: contract}, nil
  109. }
  110. // NewAccessControlTransactor creates a new write-only instance of AccessControl, bound to a specific deployed contract.
  111. func NewAccessControlTransactor(address common.Address, transactor bind.ContractTransactor) (*AccessControlTransactor, error) {
  112. contract, err := bindAccessControl(address, nil, transactor, nil)
  113. if err != nil {
  114. return nil, err
  115. }
  116. return &AccessControlTransactor{contract: contract}, nil
  117. }
  118. // NewAccessControlFilterer creates a new log filterer instance of AccessControl, bound to a specific deployed contract.
  119. func NewAccessControlFilterer(address common.Address, filterer bind.ContractFilterer) (*AccessControlFilterer, error) {
  120. contract, err := bindAccessControl(address, nil, nil, filterer)
  121. if err != nil {
  122. return nil, err
  123. }
  124. return &AccessControlFilterer{contract: contract}, nil
  125. }
  126. // bindAccessControl binds a generic wrapper to an already deployed contract.
  127. func bindAccessControl(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
  128. parsed, err := abi.JSON(strings.NewReader(AccessControlABI))
  129. if err != nil {
  130. return nil, err
  131. }
  132. return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil
  133. }
  134. // Call invokes the (constant) contract method with params as input values and
  135. // sets the output to result. The result type might be a single field for simple
  136. // returns, a slice of interfaces for anonymous returns and a struct for named
  137. // returns.
  138. func (_AccessControl *AccessControlRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
  139. return _AccessControl.Contract.AccessControlCaller.contract.Call(opts, result, method, params...)
  140. }
  141. // Transfer initiates a plain transaction to move funds to the contract, calling
  142. // its default method if one is available.
  143. func (_AccessControl *AccessControlRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
  144. return _AccessControl.Contract.AccessControlTransactor.contract.Transfer(opts)
  145. }
  146. // Transact invokes the (paid) contract method with params as input values.
  147. func (_AccessControl *AccessControlRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
  148. return _AccessControl.Contract.AccessControlTransactor.contract.Transact(opts, method, params...)
  149. }
  150. // Call invokes the (constant) contract method with params as input values and
  151. // sets the output to result. The result type might be a single field for simple
  152. // returns, a slice of interfaces for anonymous returns and a struct for named
  153. // returns.
  154. func (_AccessControl *AccessControlCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
  155. return _AccessControl.Contract.contract.Call(opts, result, method, params...)
  156. }
  157. // Transfer initiates a plain transaction to move funds to the contract, calling
  158. // its default method if one is available.
  159. func (_AccessControl *AccessControlTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
  160. return _AccessControl.Contract.contract.Transfer(opts)
  161. }
  162. // Transact invokes the (paid) contract method with params as input values.
  163. func (_AccessControl *AccessControlTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
  164. return _AccessControl.Contract.contract.Transact(opts, method, params...)
  165. }
  166. // DEFAULTADMINROLE is a free data retrieval call binding the contract method 0xa217fddf.
  167. //
  168. // Solidity: function DEFAULT_ADMIN_ROLE() view returns(bytes32)
  169. func (_AccessControl *AccessControlCaller) DEFAULTADMINROLE(opts *bind.CallOpts) ([32]byte, error) {
  170. var out []interface{}
  171. err := _AccessControl.contract.Call(opts, &out, "DEFAULT_ADMIN_ROLE")
  172. if err != nil {
  173. return *new([32]byte), err
  174. }
  175. out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte)
  176. return out0, err
  177. }
  178. // DEFAULTADMINROLE is a free data retrieval call binding the contract method 0xa217fddf.
  179. //
  180. // Solidity: function DEFAULT_ADMIN_ROLE() view returns(bytes32)
  181. func (_AccessControl *AccessControlSession) DEFAULTADMINROLE() ([32]byte, error) {
  182. return _AccessControl.Contract.DEFAULTADMINROLE(&_AccessControl.CallOpts)
  183. }
  184. // DEFAULTADMINROLE is a free data retrieval call binding the contract method 0xa217fddf.
  185. //
  186. // Solidity: function DEFAULT_ADMIN_ROLE() view returns(bytes32)
  187. func (_AccessControl *AccessControlCallerSession) DEFAULTADMINROLE() ([32]byte, error) {
  188. return _AccessControl.Contract.DEFAULTADMINROLE(&_AccessControl.CallOpts)
  189. }
  190. // GetRoleAdmin is a free data retrieval call binding the contract method 0x248a9ca3.
  191. //
  192. // Solidity: function getRoleAdmin(bytes32 role) view returns(bytes32)
  193. func (_AccessControl *AccessControlCaller) GetRoleAdmin(opts *bind.CallOpts, role [32]byte) ([32]byte, error) {
  194. var out []interface{}
  195. err := _AccessControl.contract.Call(opts, &out, "getRoleAdmin", role)
  196. if err != nil {
  197. return *new([32]byte), err
  198. }
  199. out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte)
  200. return out0, err
  201. }
  202. // GetRoleAdmin is a free data retrieval call binding the contract method 0x248a9ca3.
  203. //
  204. // Solidity: function getRoleAdmin(bytes32 role) view returns(bytes32)
  205. func (_AccessControl *AccessControlSession) GetRoleAdmin(role [32]byte) ([32]byte, error) {
  206. return _AccessControl.Contract.GetRoleAdmin(&_AccessControl.CallOpts, role)
  207. }
  208. // GetRoleAdmin is a free data retrieval call binding the contract method 0x248a9ca3.
  209. //
  210. // Solidity: function getRoleAdmin(bytes32 role) view returns(bytes32)
  211. func (_AccessControl *AccessControlCallerSession) GetRoleAdmin(role [32]byte) ([32]byte, error) {
  212. return _AccessControl.Contract.GetRoleAdmin(&_AccessControl.CallOpts, role)
  213. }
  214. // HasRole is a free data retrieval call binding the contract method 0x91d14854.
  215. //
  216. // Solidity: function hasRole(bytes32 role, address account) view returns(bool)
  217. func (_AccessControl *AccessControlCaller) HasRole(opts *bind.CallOpts, role [32]byte, account common.Address) (bool, error) {
  218. var out []interface{}
  219. err := _AccessControl.contract.Call(opts, &out, "hasRole", role, account)
  220. if err != nil {
  221. return *new(bool), err
  222. }
  223. out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
  224. return out0, err
  225. }
  226. // HasRole is a free data retrieval call binding the contract method 0x91d14854.
  227. //
  228. // Solidity: function hasRole(bytes32 role, address account) view returns(bool)
  229. func (_AccessControl *AccessControlSession) HasRole(role [32]byte, account common.Address) (bool, error) {
  230. return _AccessControl.Contract.HasRole(&_AccessControl.CallOpts, role, account)
  231. }
  232. // HasRole is a free data retrieval call binding the contract method 0x91d14854.
  233. //
  234. // Solidity: function hasRole(bytes32 role, address account) view returns(bool)
  235. func (_AccessControl *AccessControlCallerSession) HasRole(role [32]byte, account common.Address) (bool, error) {
  236. return _AccessControl.Contract.HasRole(&_AccessControl.CallOpts, role, account)
  237. }
  238. // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
  239. //
  240. // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
  241. func (_AccessControl *AccessControlCaller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) {
  242. var out []interface{}
  243. err := _AccessControl.contract.Call(opts, &out, "supportsInterface", interfaceId)
  244. if err != nil {
  245. return *new(bool), err
  246. }
  247. out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
  248. return out0, err
  249. }
  250. // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
  251. //
  252. // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
  253. func (_AccessControl *AccessControlSession) SupportsInterface(interfaceId [4]byte) (bool, error) {
  254. return _AccessControl.Contract.SupportsInterface(&_AccessControl.CallOpts, interfaceId)
  255. }
  256. // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
  257. //
  258. // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
  259. func (_AccessControl *AccessControlCallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) {
  260. return _AccessControl.Contract.SupportsInterface(&_AccessControl.CallOpts, interfaceId)
  261. }
  262. // GrantRole is a paid mutator transaction binding the contract method 0x2f2ff15d.
  263. //
  264. // Solidity: function grantRole(bytes32 role, address account) returns()
  265. func (_AccessControl *AccessControlTransactor) GrantRole(opts *bind.TransactOpts, role [32]byte, account common.Address) (*types.Transaction, error) {
  266. return _AccessControl.contract.Transact(opts, "grantRole", role, account)
  267. }
  268. // GrantRole is a paid mutator transaction binding the contract method 0x2f2ff15d.
  269. //
  270. // Solidity: function grantRole(bytes32 role, address account) returns()
  271. func (_AccessControl *AccessControlSession) GrantRole(role [32]byte, account common.Address) (*types.Transaction, error) {
  272. return _AccessControl.Contract.GrantRole(&_AccessControl.TransactOpts, role, account)
  273. }
  274. // GrantRole is a paid mutator transaction binding the contract method 0x2f2ff15d.
  275. //
  276. // Solidity: function grantRole(bytes32 role, address account) returns()
  277. func (_AccessControl *AccessControlTransactorSession) GrantRole(role [32]byte, account common.Address) (*types.Transaction, error) {
  278. return _AccessControl.Contract.GrantRole(&_AccessControl.TransactOpts, role, account)
  279. }
  280. // RenounceRole is a paid mutator transaction binding the contract method 0x36568abe.
  281. //
  282. // Solidity: function renounceRole(bytes32 role, address account) returns()
  283. func (_AccessControl *AccessControlTransactor) RenounceRole(opts *bind.TransactOpts, role [32]byte, account common.Address) (*types.Transaction, error) {
  284. return _AccessControl.contract.Transact(opts, "renounceRole", role, account)
  285. }
  286. // RenounceRole is a paid mutator transaction binding the contract method 0x36568abe.
  287. //
  288. // Solidity: function renounceRole(bytes32 role, address account) returns()
  289. func (_AccessControl *AccessControlSession) RenounceRole(role [32]byte, account common.Address) (*types.Transaction, error) {
  290. return _AccessControl.Contract.RenounceRole(&_AccessControl.TransactOpts, role, account)
  291. }
  292. // RenounceRole is a paid mutator transaction binding the contract method 0x36568abe.
  293. //
  294. // Solidity: function renounceRole(bytes32 role, address account) returns()
  295. func (_AccessControl *AccessControlTransactorSession) RenounceRole(role [32]byte, account common.Address) (*types.Transaction, error) {
  296. return _AccessControl.Contract.RenounceRole(&_AccessControl.TransactOpts, role, account)
  297. }
  298. // RevokeRole is a paid mutator transaction binding the contract method 0xd547741f.
  299. //
  300. // Solidity: function revokeRole(bytes32 role, address account) returns()
  301. func (_AccessControl *AccessControlTransactor) RevokeRole(opts *bind.TransactOpts, role [32]byte, account common.Address) (*types.Transaction, error) {
  302. return _AccessControl.contract.Transact(opts, "revokeRole", role, account)
  303. }
  304. // RevokeRole is a paid mutator transaction binding the contract method 0xd547741f.
  305. //
  306. // Solidity: function revokeRole(bytes32 role, address account) returns()
  307. func (_AccessControl *AccessControlSession) RevokeRole(role [32]byte, account common.Address) (*types.Transaction, error) {
  308. return _AccessControl.Contract.RevokeRole(&_AccessControl.TransactOpts, role, account)
  309. }
  310. // RevokeRole is a paid mutator transaction binding the contract method 0xd547741f.
  311. //
  312. // Solidity: function revokeRole(bytes32 role, address account) returns()
  313. func (_AccessControl *AccessControlTransactorSession) RevokeRole(role [32]byte, account common.Address) (*types.Transaction, error) {
  314. return _AccessControl.Contract.RevokeRole(&_AccessControl.TransactOpts, role, account)
  315. }
  316. // AccessControlRoleAdminChangedIterator is returned from FilterRoleAdminChanged and is used to iterate over the raw logs and unpacked data for RoleAdminChanged events raised by the AccessControl contract.
  317. type AccessControlRoleAdminChangedIterator struct {
  318. Event *AccessControlRoleAdminChanged // Event containing the contract specifics and raw log
  319. contract *bind.BoundContract // Generic contract to use for unpacking event data
  320. event string // Event name to use for unpacking event data
  321. logs chan types.Log // Log channel receiving the found contract events
  322. sub ethereum.Subscription // Subscription for errors, completion and termination
  323. done bool // Whether the subscription completed delivering logs
  324. fail error // Occurred error to stop iteration
  325. }
  326. // Next advances the iterator to the subsequent event, returning whether there
  327. // are any more events found. In case of a retrieval or parsing error, false is
  328. // returned and Error() can be queried for the exact failure.
  329. func (it *AccessControlRoleAdminChangedIterator) Next() bool {
  330. // If the iterator failed, stop iterating
  331. if it.fail != nil {
  332. return false
  333. }
  334. // If the iterator completed, deliver directly whatever's available
  335. if it.done {
  336. select {
  337. case log := <-it.logs:
  338. it.Event = new(AccessControlRoleAdminChanged)
  339. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  340. it.fail = err
  341. return false
  342. }
  343. it.Event.Raw = log
  344. return true
  345. default:
  346. return false
  347. }
  348. }
  349. // Iterator still in progress, wait for either a data or an error event
  350. select {
  351. case log := <-it.logs:
  352. it.Event = new(AccessControlRoleAdminChanged)
  353. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  354. it.fail = err
  355. return false
  356. }
  357. it.Event.Raw = log
  358. return true
  359. case err := <-it.sub.Err():
  360. it.done = true
  361. it.fail = err
  362. return it.Next()
  363. }
  364. }
  365. // Error returns any retrieval or parsing error occurred during filtering.
  366. func (it *AccessControlRoleAdminChangedIterator) Error() error {
  367. return it.fail
  368. }
  369. // Close terminates the iteration process, releasing any pending underlying
  370. // resources.
  371. func (it *AccessControlRoleAdminChangedIterator) Close() error {
  372. it.sub.Unsubscribe()
  373. return nil
  374. }
  375. // AccessControlRoleAdminChanged represents a RoleAdminChanged event raised by the AccessControl contract.
  376. type AccessControlRoleAdminChanged struct {
  377. Role [32]byte
  378. PreviousAdminRole [32]byte
  379. NewAdminRole [32]byte
  380. Raw types.Log // Blockchain specific contextual infos
  381. }
  382. // FilterRoleAdminChanged is a free log retrieval operation binding the contract event 0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff.
  383. //
  384. // Solidity: event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)
  385. func (_AccessControl *AccessControlFilterer) FilterRoleAdminChanged(opts *bind.FilterOpts, role [][32]byte, previousAdminRole [][32]byte, newAdminRole [][32]byte) (*AccessControlRoleAdminChangedIterator, error) {
  386. var roleRule []interface{}
  387. for _, roleItem := range role {
  388. roleRule = append(roleRule, roleItem)
  389. }
  390. var previousAdminRoleRule []interface{}
  391. for _, previousAdminRoleItem := range previousAdminRole {
  392. previousAdminRoleRule = append(previousAdminRoleRule, previousAdminRoleItem)
  393. }
  394. var newAdminRoleRule []interface{}
  395. for _, newAdminRoleItem := range newAdminRole {
  396. newAdminRoleRule = append(newAdminRoleRule, newAdminRoleItem)
  397. }
  398. logs, sub, err := _AccessControl.contract.FilterLogs(opts, "RoleAdminChanged", roleRule, previousAdminRoleRule, newAdminRoleRule)
  399. if err != nil {
  400. return nil, err
  401. }
  402. return &AccessControlRoleAdminChangedIterator{contract: _AccessControl.contract, event: "RoleAdminChanged", logs: logs, sub: sub}, nil
  403. }
  404. // WatchRoleAdminChanged is a free log subscription operation binding the contract event 0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff.
  405. //
  406. // Solidity: event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)
  407. func (_AccessControl *AccessControlFilterer) WatchRoleAdminChanged(opts *bind.WatchOpts, sink chan<- *AccessControlRoleAdminChanged, role [][32]byte, previousAdminRole [][32]byte, newAdminRole [][32]byte) (event.Subscription, error) {
  408. var roleRule []interface{}
  409. for _, roleItem := range role {
  410. roleRule = append(roleRule, roleItem)
  411. }
  412. var previousAdminRoleRule []interface{}
  413. for _, previousAdminRoleItem := range previousAdminRole {
  414. previousAdminRoleRule = append(previousAdminRoleRule, previousAdminRoleItem)
  415. }
  416. var newAdminRoleRule []interface{}
  417. for _, newAdminRoleItem := range newAdminRole {
  418. newAdminRoleRule = append(newAdminRoleRule, newAdminRoleItem)
  419. }
  420. logs, sub, err := _AccessControl.contract.WatchLogs(opts, "RoleAdminChanged", roleRule, previousAdminRoleRule, newAdminRoleRule)
  421. if err != nil {
  422. return nil, err
  423. }
  424. return event.NewSubscription(func(quit <-chan struct{}) error {
  425. defer sub.Unsubscribe()
  426. for {
  427. select {
  428. case log := <-logs:
  429. // New log arrived, parse the event and forward to the user
  430. event := new(AccessControlRoleAdminChanged)
  431. if err := _AccessControl.contract.UnpackLog(event, "RoleAdminChanged", log); err != nil {
  432. return err
  433. }
  434. event.Raw = log
  435. select {
  436. case sink <- event:
  437. case err := <-sub.Err():
  438. return err
  439. case <-quit:
  440. return nil
  441. }
  442. case err := <-sub.Err():
  443. return err
  444. case <-quit:
  445. return nil
  446. }
  447. }
  448. }), nil
  449. }
  450. // ParseRoleAdminChanged is a log parse operation binding the contract event 0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff.
  451. //
  452. // Solidity: event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)
  453. func (_AccessControl *AccessControlFilterer) ParseRoleAdminChanged(log types.Log) (*AccessControlRoleAdminChanged, error) {
  454. event := new(AccessControlRoleAdminChanged)
  455. if err := _AccessControl.contract.UnpackLog(event, "RoleAdminChanged", log); err != nil {
  456. return nil, err
  457. }
  458. event.Raw = log
  459. return event, nil
  460. }
  461. // AccessControlRoleGrantedIterator is returned from FilterRoleGranted and is used to iterate over the raw logs and unpacked data for RoleGranted events raised by the AccessControl contract.
  462. type AccessControlRoleGrantedIterator struct {
  463. Event *AccessControlRoleGranted // Event containing the contract specifics and raw log
  464. contract *bind.BoundContract // Generic contract to use for unpacking event data
  465. event string // Event name to use for unpacking event data
  466. logs chan types.Log // Log channel receiving the found contract events
  467. sub ethereum.Subscription // Subscription for errors, completion and termination
  468. done bool // Whether the subscription completed delivering logs
  469. fail error // Occurred error to stop iteration
  470. }
  471. // Next advances the iterator to the subsequent event, returning whether there
  472. // are any more events found. In case of a retrieval or parsing error, false is
  473. // returned and Error() can be queried for the exact failure.
  474. func (it *AccessControlRoleGrantedIterator) Next() bool {
  475. // If the iterator failed, stop iterating
  476. if it.fail != nil {
  477. return false
  478. }
  479. // If the iterator completed, deliver directly whatever's available
  480. if it.done {
  481. select {
  482. case log := <-it.logs:
  483. it.Event = new(AccessControlRoleGranted)
  484. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  485. it.fail = err
  486. return false
  487. }
  488. it.Event.Raw = log
  489. return true
  490. default:
  491. return false
  492. }
  493. }
  494. // Iterator still in progress, wait for either a data or an error event
  495. select {
  496. case log := <-it.logs:
  497. it.Event = new(AccessControlRoleGranted)
  498. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  499. it.fail = err
  500. return false
  501. }
  502. it.Event.Raw = log
  503. return true
  504. case err := <-it.sub.Err():
  505. it.done = true
  506. it.fail = err
  507. return it.Next()
  508. }
  509. }
  510. // Error returns any retrieval or parsing error occurred during filtering.
  511. func (it *AccessControlRoleGrantedIterator) Error() error {
  512. return it.fail
  513. }
  514. // Close terminates the iteration process, releasing any pending underlying
  515. // resources.
  516. func (it *AccessControlRoleGrantedIterator) Close() error {
  517. it.sub.Unsubscribe()
  518. return nil
  519. }
  520. // AccessControlRoleGranted represents a RoleGranted event raised by the AccessControl contract.
  521. type AccessControlRoleGranted struct {
  522. Role [32]byte
  523. Account common.Address
  524. Sender common.Address
  525. Raw types.Log // Blockchain specific contextual infos
  526. }
  527. // FilterRoleGranted is a free log retrieval operation binding the contract event 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d.
  528. //
  529. // Solidity: event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)
  530. func (_AccessControl *AccessControlFilterer) FilterRoleGranted(opts *bind.FilterOpts, role [][32]byte, account []common.Address, sender []common.Address) (*AccessControlRoleGrantedIterator, error) {
  531. var roleRule []interface{}
  532. for _, roleItem := range role {
  533. roleRule = append(roleRule, roleItem)
  534. }
  535. var accountRule []interface{}
  536. for _, accountItem := range account {
  537. accountRule = append(accountRule, accountItem)
  538. }
  539. var senderRule []interface{}
  540. for _, senderItem := range sender {
  541. senderRule = append(senderRule, senderItem)
  542. }
  543. logs, sub, err := _AccessControl.contract.FilterLogs(opts, "RoleGranted", roleRule, accountRule, senderRule)
  544. if err != nil {
  545. return nil, err
  546. }
  547. return &AccessControlRoleGrantedIterator{contract: _AccessControl.contract, event: "RoleGranted", logs: logs, sub: sub}, nil
  548. }
  549. // WatchRoleGranted is a free log subscription operation binding the contract event 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d.
  550. //
  551. // Solidity: event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)
  552. func (_AccessControl *AccessControlFilterer) WatchRoleGranted(opts *bind.WatchOpts, sink chan<- *AccessControlRoleGranted, role [][32]byte, account []common.Address, sender []common.Address) (event.Subscription, error) {
  553. var roleRule []interface{}
  554. for _, roleItem := range role {
  555. roleRule = append(roleRule, roleItem)
  556. }
  557. var accountRule []interface{}
  558. for _, accountItem := range account {
  559. accountRule = append(accountRule, accountItem)
  560. }
  561. var senderRule []interface{}
  562. for _, senderItem := range sender {
  563. senderRule = append(senderRule, senderItem)
  564. }
  565. logs, sub, err := _AccessControl.contract.WatchLogs(opts, "RoleGranted", roleRule, accountRule, senderRule)
  566. if err != nil {
  567. return nil, err
  568. }
  569. return event.NewSubscription(func(quit <-chan struct{}) error {
  570. defer sub.Unsubscribe()
  571. for {
  572. select {
  573. case log := <-logs:
  574. // New log arrived, parse the event and forward to the user
  575. event := new(AccessControlRoleGranted)
  576. if err := _AccessControl.contract.UnpackLog(event, "RoleGranted", log); err != nil {
  577. return err
  578. }
  579. event.Raw = log
  580. select {
  581. case sink <- event:
  582. case err := <-sub.Err():
  583. return err
  584. case <-quit:
  585. return nil
  586. }
  587. case err := <-sub.Err():
  588. return err
  589. case <-quit:
  590. return nil
  591. }
  592. }
  593. }), nil
  594. }
  595. // ParseRoleGranted is a log parse operation binding the contract event 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d.
  596. //
  597. // Solidity: event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)
  598. func (_AccessControl *AccessControlFilterer) ParseRoleGranted(log types.Log) (*AccessControlRoleGranted, error) {
  599. event := new(AccessControlRoleGranted)
  600. if err := _AccessControl.contract.UnpackLog(event, "RoleGranted", log); err != nil {
  601. return nil, err
  602. }
  603. event.Raw = log
  604. return event, nil
  605. }
  606. // AccessControlRoleRevokedIterator is returned from FilterRoleRevoked and is used to iterate over the raw logs and unpacked data for RoleRevoked events raised by the AccessControl contract.
  607. type AccessControlRoleRevokedIterator struct {
  608. Event *AccessControlRoleRevoked // Event containing the contract specifics and raw log
  609. contract *bind.BoundContract // Generic contract to use for unpacking event data
  610. event string // Event name to use for unpacking event data
  611. logs chan types.Log // Log channel receiving the found contract events
  612. sub ethereum.Subscription // Subscription for errors, completion and termination
  613. done bool // Whether the subscription completed delivering logs
  614. fail error // Occurred error to stop iteration
  615. }
  616. // Next advances the iterator to the subsequent event, returning whether there
  617. // are any more events found. In case of a retrieval or parsing error, false is
  618. // returned and Error() can be queried for the exact failure.
  619. func (it *AccessControlRoleRevokedIterator) Next() bool {
  620. // If the iterator failed, stop iterating
  621. if it.fail != nil {
  622. return false
  623. }
  624. // If the iterator completed, deliver directly whatever's available
  625. if it.done {
  626. select {
  627. case log := <-it.logs:
  628. it.Event = new(AccessControlRoleRevoked)
  629. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  630. it.fail = err
  631. return false
  632. }
  633. it.Event.Raw = log
  634. return true
  635. default:
  636. return false
  637. }
  638. }
  639. // Iterator still in progress, wait for either a data or an error event
  640. select {
  641. case log := <-it.logs:
  642. it.Event = new(AccessControlRoleRevoked)
  643. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  644. it.fail = err
  645. return false
  646. }
  647. it.Event.Raw = log
  648. return true
  649. case err := <-it.sub.Err():
  650. it.done = true
  651. it.fail = err
  652. return it.Next()
  653. }
  654. }
  655. // Error returns any retrieval or parsing error occurred during filtering.
  656. func (it *AccessControlRoleRevokedIterator) Error() error {
  657. return it.fail
  658. }
  659. // Close terminates the iteration process, releasing any pending underlying
  660. // resources.
  661. func (it *AccessControlRoleRevokedIterator) Close() error {
  662. it.sub.Unsubscribe()
  663. return nil
  664. }
  665. // AccessControlRoleRevoked represents a RoleRevoked event raised by the AccessControl contract.
  666. type AccessControlRoleRevoked struct {
  667. Role [32]byte
  668. Account common.Address
  669. Sender common.Address
  670. Raw types.Log // Blockchain specific contextual infos
  671. }
  672. // FilterRoleRevoked is a free log retrieval operation binding the contract event 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b.
  673. //
  674. // Solidity: event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)
  675. func (_AccessControl *AccessControlFilterer) FilterRoleRevoked(opts *bind.FilterOpts, role [][32]byte, account []common.Address, sender []common.Address) (*AccessControlRoleRevokedIterator, error) {
  676. var roleRule []interface{}
  677. for _, roleItem := range role {
  678. roleRule = append(roleRule, roleItem)
  679. }
  680. var accountRule []interface{}
  681. for _, accountItem := range account {
  682. accountRule = append(accountRule, accountItem)
  683. }
  684. var senderRule []interface{}
  685. for _, senderItem := range sender {
  686. senderRule = append(senderRule, senderItem)
  687. }
  688. logs, sub, err := _AccessControl.contract.FilterLogs(opts, "RoleRevoked", roleRule, accountRule, senderRule)
  689. if err != nil {
  690. return nil, err
  691. }
  692. return &AccessControlRoleRevokedIterator{contract: _AccessControl.contract, event: "RoleRevoked", logs: logs, sub: sub}, nil
  693. }
  694. // WatchRoleRevoked is a free log subscription operation binding the contract event 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b.
  695. //
  696. // Solidity: event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)
  697. func (_AccessControl *AccessControlFilterer) WatchRoleRevoked(opts *bind.WatchOpts, sink chan<- *AccessControlRoleRevoked, role [][32]byte, account []common.Address, sender []common.Address) (event.Subscription, error) {
  698. var roleRule []interface{}
  699. for _, roleItem := range role {
  700. roleRule = append(roleRule, roleItem)
  701. }
  702. var accountRule []interface{}
  703. for _, accountItem := range account {
  704. accountRule = append(accountRule, accountItem)
  705. }
  706. var senderRule []interface{}
  707. for _, senderItem := range sender {
  708. senderRule = append(senderRule, senderItem)
  709. }
  710. logs, sub, err := _AccessControl.contract.WatchLogs(opts, "RoleRevoked", roleRule, accountRule, senderRule)
  711. if err != nil {
  712. return nil, err
  713. }
  714. return event.NewSubscription(func(quit <-chan struct{}) error {
  715. defer sub.Unsubscribe()
  716. for {
  717. select {
  718. case log := <-logs:
  719. // New log arrived, parse the event and forward to the user
  720. event := new(AccessControlRoleRevoked)
  721. if err := _AccessControl.contract.UnpackLog(event, "RoleRevoked", log); err != nil {
  722. return err
  723. }
  724. event.Raw = log
  725. select {
  726. case sink <- event:
  727. case err := <-sub.Err():
  728. return err
  729. case <-quit:
  730. return nil
  731. }
  732. case err := <-sub.Err():
  733. return err
  734. case <-quit:
  735. return nil
  736. }
  737. }
  738. }), nil
  739. }
  740. // ParseRoleRevoked is a log parse operation binding the contract event 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b.
  741. //
  742. // Solidity: event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)
  743. func (_AccessControl *AccessControlFilterer) ParseRoleRevoked(log types.Log) (*AccessControlRoleRevoked, error) {
  744. event := new(AccessControlRoleRevoked)
  745. if err := _AccessControl.contract.UnpackLog(event, "RoleRevoked", log); err != nil {
  746. return nil, err
  747. }
  748. event.Raw = log
  749. return event, nil
  750. }
  751. // AccessControlEnumerableMetaData contains all meta data concerning the AccessControlEnumerable contract.
  752. var AccessControlEnumerableMetaData = &bind.MetaData{
  753. ABI: "[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"getRoleMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleMemberCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]",
  754. Sigs: map[string]string{
  755. "a217fddf": "DEFAULT_ADMIN_ROLE()",
  756. "248a9ca3": "getRoleAdmin(bytes32)",
  757. "9010d07c": "getRoleMember(bytes32,uint256)",
  758. "ca15c873": "getRoleMemberCount(bytes32)",
  759. "2f2ff15d": "grantRole(bytes32,address)",
  760. "91d14854": "hasRole(bytes32,address)",
  761. "36568abe": "renounceRole(bytes32,address)",
  762. "d547741f": "revokeRole(bytes32,address)",
  763. "01ffc9a7": "supportsInterface(bytes4)",
  764. },
  765. }
  766. // AccessControlEnumerableABI is the input ABI used to generate the binding from.
  767. // Deprecated: Use AccessControlEnumerableMetaData.ABI instead.
  768. var AccessControlEnumerableABI = AccessControlEnumerableMetaData.ABI
  769. // Deprecated: Use AccessControlEnumerableMetaData.Sigs instead.
  770. // AccessControlEnumerableFuncSigs maps the 4-byte function signature to its string representation.
  771. var AccessControlEnumerableFuncSigs = AccessControlEnumerableMetaData.Sigs
  772. // AccessControlEnumerable is an auto generated Go binding around an Ethereum contract.
  773. type AccessControlEnumerable struct {
  774. AccessControlEnumerableCaller // Read-only binding to the contract
  775. AccessControlEnumerableTransactor // Write-only binding to the contract
  776. AccessControlEnumerableFilterer // Log filterer for contract events
  777. }
  778. // AccessControlEnumerableCaller is an auto generated read-only Go binding around an Ethereum contract.
  779. type AccessControlEnumerableCaller struct {
  780. contract *bind.BoundContract // Generic contract wrapper for the low level calls
  781. }
  782. // AccessControlEnumerableTransactor is an auto generated write-only Go binding around an Ethereum contract.
  783. type AccessControlEnumerableTransactor struct {
  784. contract *bind.BoundContract // Generic contract wrapper for the low level calls
  785. }
  786. // AccessControlEnumerableFilterer is an auto generated log filtering Go binding around an Ethereum contract events.
  787. type AccessControlEnumerableFilterer struct {
  788. contract *bind.BoundContract // Generic contract wrapper for the low level calls
  789. }
  790. // AccessControlEnumerableSession is an auto generated Go binding around an Ethereum contract,
  791. // with pre-set call and transact options.
  792. type AccessControlEnumerableSession struct {
  793. Contract *AccessControlEnumerable // Generic contract binding to set the session for
  794. CallOpts bind.CallOpts // Call options to use throughout this session
  795. TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
  796. }
  797. // AccessControlEnumerableCallerSession is an auto generated read-only Go binding around an Ethereum contract,
  798. // with pre-set call options.
  799. type AccessControlEnumerableCallerSession struct {
  800. Contract *AccessControlEnumerableCaller // Generic contract caller binding to set the session for
  801. CallOpts bind.CallOpts // Call options to use throughout this session
  802. }
  803. // AccessControlEnumerableTransactorSession is an auto generated write-only Go binding around an Ethereum contract,
  804. // with pre-set transact options.
  805. type AccessControlEnumerableTransactorSession struct {
  806. Contract *AccessControlEnumerableTransactor // Generic contract transactor binding to set the session for
  807. TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
  808. }
  809. // AccessControlEnumerableRaw is an auto generated low-level Go binding around an Ethereum contract.
  810. type AccessControlEnumerableRaw struct {
  811. Contract *AccessControlEnumerable // Generic contract binding to access the raw methods on
  812. }
  813. // AccessControlEnumerableCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
  814. type AccessControlEnumerableCallerRaw struct {
  815. Contract *AccessControlEnumerableCaller // Generic read-only contract binding to access the raw methods on
  816. }
  817. // AccessControlEnumerableTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
  818. type AccessControlEnumerableTransactorRaw struct {
  819. Contract *AccessControlEnumerableTransactor // Generic write-only contract binding to access the raw methods on
  820. }
  821. // NewAccessControlEnumerable creates a new instance of AccessControlEnumerable, bound to a specific deployed contract.
  822. func NewAccessControlEnumerable(address common.Address, backend bind.ContractBackend) (*AccessControlEnumerable, error) {
  823. contract, err := bindAccessControlEnumerable(address, backend, backend, backend)
  824. if err != nil {
  825. return nil, err
  826. }
  827. return &AccessControlEnumerable{AccessControlEnumerableCaller: AccessControlEnumerableCaller{contract: contract}, AccessControlEnumerableTransactor: AccessControlEnumerableTransactor{contract: contract}, AccessControlEnumerableFilterer: AccessControlEnumerableFilterer{contract: contract}}, nil
  828. }
  829. // NewAccessControlEnumerableCaller creates a new read-only instance of AccessControlEnumerable, bound to a specific deployed contract.
  830. func NewAccessControlEnumerableCaller(address common.Address, caller bind.ContractCaller) (*AccessControlEnumerableCaller, error) {
  831. contract, err := bindAccessControlEnumerable(address, caller, nil, nil)
  832. if err != nil {
  833. return nil, err
  834. }
  835. return &AccessControlEnumerableCaller{contract: contract}, nil
  836. }
  837. // NewAccessControlEnumerableTransactor creates a new write-only instance of AccessControlEnumerable, bound to a specific deployed contract.
  838. func NewAccessControlEnumerableTransactor(address common.Address, transactor bind.ContractTransactor) (*AccessControlEnumerableTransactor, error) {
  839. contract, err := bindAccessControlEnumerable(address, nil, transactor, nil)
  840. if err != nil {
  841. return nil, err
  842. }
  843. return &AccessControlEnumerableTransactor{contract: contract}, nil
  844. }
  845. // NewAccessControlEnumerableFilterer creates a new log filterer instance of AccessControlEnumerable, bound to a specific deployed contract.
  846. func NewAccessControlEnumerableFilterer(address common.Address, filterer bind.ContractFilterer) (*AccessControlEnumerableFilterer, error) {
  847. contract, err := bindAccessControlEnumerable(address, nil, nil, filterer)
  848. if err != nil {
  849. return nil, err
  850. }
  851. return &AccessControlEnumerableFilterer{contract: contract}, nil
  852. }
  853. // bindAccessControlEnumerable binds a generic wrapper to an already deployed contract.
  854. func bindAccessControlEnumerable(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
  855. parsed, err := abi.JSON(strings.NewReader(AccessControlEnumerableABI))
  856. if err != nil {
  857. return nil, err
  858. }
  859. return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil
  860. }
  861. // Call invokes the (constant) contract method with params as input values and
  862. // sets the output to result. The result type might be a single field for simple
  863. // returns, a slice of interfaces for anonymous returns and a struct for named
  864. // returns.
  865. func (_AccessControlEnumerable *AccessControlEnumerableRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
  866. return _AccessControlEnumerable.Contract.AccessControlEnumerableCaller.contract.Call(opts, result, method, params...)
  867. }
  868. // Transfer initiates a plain transaction to move funds to the contract, calling
  869. // its default method if one is available.
  870. func (_AccessControlEnumerable *AccessControlEnumerableRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
  871. return _AccessControlEnumerable.Contract.AccessControlEnumerableTransactor.contract.Transfer(opts)
  872. }
  873. // Transact invokes the (paid) contract method with params as input values.
  874. func (_AccessControlEnumerable *AccessControlEnumerableRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
  875. return _AccessControlEnumerable.Contract.AccessControlEnumerableTransactor.contract.Transact(opts, method, params...)
  876. }
  877. // Call invokes the (constant) contract method with params as input values and
  878. // sets the output to result. The result type might be a single field for simple
  879. // returns, a slice of interfaces for anonymous returns and a struct for named
  880. // returns.
  881. func (_AccessControlEnumerable *AccessControlEnumerableCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
  882. return _AccessControlEnumerable.Contract.contract.Call(opts, result, method, params...)
  883. }
  884. // Transfer initiates a plain transaction to move funds to the contract, calling
  885. // its default method if one is available.
  886. func (_AccessControlEnumerable *AccessControlEnumerableTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
  887. return _AccessControlEnumerable.Contract.contract.Transfer(opts)
  888. }
  889. // Transact invokes the (paid) contract method with params as input values.
  890. func (_AccessControlEnumerable *AccessControlEnumerableTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
  891. return _AccessControlEnumerable.Contract.contract.Transact(opts, method, params...)
  892. }
  893. // DEFAULTADMINROLE is a free data retrieval call binding the contract method 0xa217fddf.
  894. //
  895. // Solidity: function DEFAULT_ADMIN_ROLE() view returns(bytes32)
  896. func (_AccessControlEnumerable *AccessControlEnumerableCaller) DEFAULTADMINROLE(opts *bind.CallOpts) ([32]byte, error) {
  897. var out []interface{}
  898. err := _AccessControlEnumerable.contract.Call(opts, &out, "DEFAULT_ADMIN_ROLE")
  899. if err != nil {
  900. return *new([32]byte), err
  901. }
  902. out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte)
  903. return out0, err
  904. }
  905. // DEFAULTADMINROLE is a free data retrieval call binding the contract method 0xa217fddf.
  906. //
  907. // Solidity: function DEFAULT_ADMIN_ROLE() view returns(bytes32)
  908. func (_AccessControlEnumerable *AccessControlEnumerableSession) DEFAULTADMINROLE() ([32]byte, error) {
  909. return _AccessControlEnumerable.Contract.DEFAULTADMINROLE(&_AccessControlEnumerable.CallOpts)
  910. }
  911. // DEFAULTADMINROLE is a free data retrieval call binding the contract method 0xa217fddf.
  912. //
  913. // Solidity: function DEFAULT_ADMIN_ROLE() view returns(bytes32)
  914. func (_AccessControlEnumerable *AccessControlEnumerableCallerSession) DEFAULTADMINROLE() ([32]byte, error) {
  915. return _AccessControlEnumerable.Contract.DEFAULTADMINROLE(&_AccessControlEnumerable.CallOpts)
  916. }
  917. // GetRoleAdmin is a free data retrieval call binding the contract method 0x248a9ca3.
  918. //
  919. // Solidity: function getRoleAdmin(bytes32 role) view returns(bytes32)
  920. func (_AccessControlEnumerable *AccessControlEnumerableCaller) GetRoleAdmin(opts *bind.CallOpts, role [32]byte) ([32]byte, error) {
  921. var out []interface{}
  922. err := _AccessControlEnumerable.contract.Call(opts, &out, "getRoleAdmin", role)
  923. if err != nil {
  924. return *new([32]byte), err
  925. }
  926. out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte)
  927. return out0, err
  928. }
  929. // GetRoleAdmin is a free data retrieval call binding the contract method 0x248a9ca3.
  930. //
  931. // Solidity: function getRoleAdmin(bytes32 role) view returns(bytes32)
  932. func (_AccessControlEnumerable *AccessControlEnumerableSession) GetRoleAdmin(role [32]byte) ([32]byte, error) {
  933. return _AccessControlEnumerable.Contract.GetRoleAdmin(&_AccessControlEnumerable.CallOpts, role)
  934. }
  935. // GetRoleAdmin is a free data retrieval call binding the contract method 0x248a9ca3.
  936. //
  937. // Solidity: function getRoleAdmin(bytes32 role) view returns(bytes32)
  938. func (_AccessControlEnumerable *AccessControlEnumerableCallerSession) GetRoleAdmin(role [32]byte) ([32]byte, error) {
  939. return _AccessControlEnumerable.Contract.GetRoleAdmin(&_AccessControlEnumerable.CallOpts, role)
  940. }
  941. // GetRoleMember is a free data retrieval call binding the contract method 0x9010d07c.
  942. //
  943. // Solidity: function getRoleMember(bytes32 role, uint256 index) view returns(address)
  944. func (_AccessControlEnumerable *AccessControlEnumerableCaller) GetRoleMember(opts *bind.CallOpts, role [32]byte, index *big.Int) (common.Address, error) {
  945. var out []interface{}
  946. err := _AccessControlEnumerable.contract.Call(opts, &out, "getRoleMember", role, index)
  947. if err != nil {
  948. return *new(common.Address), err
  949. }
  950. out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
  951. return out0, err
  952. }
  953. // GetRoleMember is a free data retrieval call binding the contract method 0x9010d07c.
  954. //
  955. // Solidity: function getRoleMember(bytes32 role, uint256 index) view returns(address)
  956. func (_AccessControlEnumerable *AccessControlEnumerableSession) GetRoleMember(role [32]byte, index *big.Int) (common.Address, error) {
  957. return _AccessControlEnumerable.Contract.GetRoleMember(&_AccessControlEnumerable.CallOpts, role, index)
  958. }
  959. // GetRoleMember is a free data retrieval call binding the contract method 0x9010d07c.
  960. //
  961. // Solidity: function getRoleMember(bytes32 role, uint256 index) view returns(address)
  962. func (_AccessControlEnumerable *AccessControlEnumerableCallerSession) GetRoleMember(role [32]byte, index *big.Int) (common.Address, error) {
  963. return _AccessControlEnumerable.Contract.GetRoleMember(&_AccessControlEnumerable.CallOpts, role, index)
  964. }
  965. // GetRoleMemberCount is a free data retrieval call binding the contract method 0xca15c873.
  966. //
  967. // Solidity: function getRoleMemberCount(bytes32 role) view returns(uint256)
  968. func (_AccessControlEnumerable *AccessControlEnumerableCaller) GetRoleMemberCount(opts *bind.CallOpts, role [32]byte) (*big.Int, error) {
  969. var out []interface{}
  970. err := _AccessControlEnumerable.contract.Call(opts, &out, "getRoleMemberCount", role)
  971. if err != nil {
  972. return *new(*big.Int), err
  973. }
  974. out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
  975. return out0, err
  976. }
  977. // GetRoleMemberCount is a free data retrieval call binding the contract method 0xca15c873.
  978. //
  979. // Solidity: function getRoleMemberCount(bytes32 role) view returns(uint256)
  980. func (_AccessControlEnumerable *AccessControlEnumerableSession) GetRoleMemberCount(role [32]byte) (*big.Int, error) {
  981. return _AccessControlEnumerable.Contract.GetRoleMemberCount(&_AccessControlEnumerable.CallOpts, role)
  982. }
  983. // GetRoleMemberCount is a free data retrieval call binding the contract method 0xca15c873.
  984. //
  985. // Solidity: function getRoleMemberCount(bytes32 role) view returns(uint256)
  986. func (_AccessControlEnumerable *AccessControlEnumerableCallerSession) GetRoleMemberCount(role [32]byte) (*big.Int, error) {
  987. return _AccessControlEnumerable.Contract.GetRoleMemberCount(&_AccessControlEnumerable.CallOpts, role)
  988. }
  989. // HasRole is a free data retrieval call binding the contract method 0x91d14854.
  990. //
  991. // Solidity: function hasRole(bytes32 role, address account) view returns(bool)
  992. func (_AccessControlEnumerable *AccessControlEnumerableCaller) HasRole(opts *bind.CallOpts, role [32]byte, account common.Address) (bool, error) {
  993. var out []interface{}
  994. err := _AccessControlEnumerable.contract.Call(opts, &out, "hasRole", role, account)
  995. if err != nil {
  996. return *new(bool), err
  997. }
  998. out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
  999. return out0, err
  1000. }
  1001. // HasRole is a free data retrieval call binding the contract method 0x91d14854.
  1002. //
  1003. // Solidity: function hasRole(bytes32 role, address account) view returns(bool)
  1004. func (_AccessControlEnumerable *AccessControlEnumerableSession) HasRole(role [32]byte, account common.Address) (bool, error) {
  1005. return _AccessControlEnumerable.Contract.HasRole(&_AccessControlEnumerable.CallOpts, role, account)
  1006. }
  1007. // HasRole is a free data retrieval call binding the contract method 0x91d14854.
  1008. //
  1009. // Solidity: function hasRole(bytes32 role, address account) view returns(bool)
  1010. func (_AccessControlEnumerable *AccessControlEnumerableCallerSession) HasRole(role [32]byte, account common.Address) (bool, error) {
  1011. return _AccessControlEnumerable.Contract.HasRole(&_AccessControlEnumerable.CallOpts, role, account)
  1012. }
  1013. // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
  1014. //
  1015. // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
  1016. func (_AccessControlEnumerable *AccessControlEnumerableCaller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) {
  1017. var out []interface{}
  1018. err := _AccessControlEnumerable.contract.Call(opts, &out, "supportsInterface", interfaceId)
  1019. if err != nil {
  1020. return *new(bool), err
  1021. }
  1022. out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
  1023. return out0, err
  1024. }
  1025. // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
  1026. //
  1027. // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
  1028. func (_AccessControlEnumerable *AccessControlEnumerableSession) SupportsInterface(interfaceId [4]byte) (bool, error) {
  1029. return _AccessControlEnumerable.Contract.SupportsInterface(&_AccessControlEnumerable.CallOpts, interfaceId)
  1030. }
  1031. // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
  1032. //
  1033. // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
  1034. func (_AccessControlEnumerable *AccessControlEnumerableCallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) {
  1035. return _AccessControlEnumerable.Contract.SupportsInterface(&_AccessControlEnumerable.CallOpts, interfaceId)
  1036. }
  1037. // GrantRole is a paid mutator transaction binding the contract method 0x2f2ff15d.
  1038. //
  1039. // Solidity: function grantRole(bytes32 role, address account) returns()
  1040. func (_AccessControlEnumerable *AccessControlEnumerableTransactor) GrantRole(opts *bind.TransactOpts, role [32]byte, account common.Address) (*types.Transaction, error) {
  1041. return _AccessControlEnumerable.contract.Transact(opts, "grantRole", role, account)
  1042. }
  1043. // GrantRole is a paid mutator transaction binding the contract method 0x2f2ff15d.
  1044. //
  1045. // Solidity: function grantRole(bytes32 role, address account) returns()
  1046. func (_AccessControlEnumerable *AccessControlEnumerableSession) GrantRole(role [32]byte, account common.Address) (*types.Transaction, error) {
  1047. return _AccessControlEnumerable.Contract.GrantRole(&_AccessControlEnumerable.TransactOpts, role, account)
  1048. }
  1049. // GrantRole is a paid mutator transaction binding the contract method 0x2f2ff15d.
  1050. //
  1051. // Solidity: function grantRole(bytes32 role, address account) returns()
  1052. func (_AccessControlEnumerable *AccessControlEnumerableTransactorSession) GrantRole(role [32]byte, account common.Address) (*types.Transaction, error) {
  1053. return _AccessControlEnumerable.Contract.GrantRole(&_AccessControlEnumerable.TransactOpts, role, account)
  1054. }
  1055. // RenounceRole is a paid mutator transaction binding the contract method 0x36568abe.
  1056. //
  1057. // Solidity: function renounceRole(bytes32 role, address account) returns()
  1058. func (_AccessControlEnumerable *AccessControlEnumerableTransactor) RenounceRole(opts *bind.TransactOpts, role [32]byte, account common.Address) (*types.Transaction, error) {
  1059. return _AccessControlEnumerable.contract.Transact(opts, "renounceRole", role, account)
  1060. }
  1061. // RenounceRole is a paid mutator transaction binding the contract method 0x36568abe.
  1062. //
  1063. // Solidity: function renounceRole(bytes32 role, address account) returns()
  1064. func (_AccessControlEnumerable *AccessControlEnumerableSession) RenounceRole(role [32]byte, account common.Address) (*types.Transaction, error) {
  1065. return _AccessControlEnumerable.Contract.RenounceRole(&_AccessControlEnumerable.TransactOpts, role, account)
  1066. }
  1067. // RenounceRole is a paid mutator transaction binding the contract method 0x36568abe.
  1068. //
  1069. // Solidity: function renounceRole(bytes32 role, address account) returns()
  1070. func (_AccessControlEnumerable *AccessControlEnumerableTransactorSession) RenounceRole(role [32]byte, account common.Address) (*types.Transaction, error) {
  1071. return _AccessControlEnumerable.Contract.RenounceRole(&_AccessControlEnumerable.TransactOpts, role, account)
  1072. }
  1073. // RevokeRole is a paid mutator transaction binding the contract method 0xd547741f.
  1074. //
  1075. // Solidity: function revokeRole(bytes32 role, address account) returns()
  1076. func (_AccessControlEnumerable *AccessControlEnumerableTransactor) RevokeRole(opts *bind.TransactOpts, role [32]byte, account common.Address) (*types.Transaction, error) {
  1077. return _AccessControlEnumerable.contract.Transact(opts, "revokeRole", role, account)
  1078. }
  1079. // RevokeRole is a paid mutator transaction binding the contract method 0xd547741f.
  1080. //
  1081. // Solidity: function revokeRole(bytes32 role, address account) returns()
  1082. func (_AccessControlEnumerable *AccessControlEnumerableSession) RevokeRole(role [32]byte, account common.Address) (*types.Transaction, error) {
  1083. return _AccessControlEnumerable.Contract.RevokeRole(&_AccessControlEnumerable.TransactOpts, role, account)
  1084. }
  1085. // RevokeRole is a paid mutator transaction binding the contract method 0xd547741f.
  1086. //
  1087. // Solidity: function revokeRole(bytes32 role, address account) returns()
  1088. func (_AccessControlEnumerable *AccessControlEnumerableTransactorSession) RevokeRole(role [32]byte, account common.Address) (*types.Transaction, error) {
  1089. return _AccessControlEnumerable.Contract.RevokeRole(&_AccessControlEnumerable.TransactOpts, role, account)
  1090. }
  1091. // AccessControlEnumerableRoleAdminChangedIterator is returned from FilterRoleAdminChanged and is used to iterate over the raw logs and unpacked data for RoleAdminChanged events raised by the AccessControlEnumerable contract.
  1092. type AccessControlEnumerableRoleAdminChangedIterator struct {
  1093. Event *AccessControlEnumerableRoleAdminChanged // Event containing the contract specifics and raw log
  1094. contract *bind.BoundContract // Generic contract to use for unpacking event data
  1095. event string // Event name to use for unpacking event data
  1096. logs chan types.Log // Log channel receiving the found contract events
  1097. sub ethereum.Subscription // Subscription for errors, completion and termination
  1098. done bool // Whether the subscription completed delivering logs
  1099. fail error // Occurred error to stop iteration
  1100. }
  1101. // Next advances the iterator to the subsequent event, returning whether there
  1102. // are any more events found. In case of a retrieval or parsing error, false is
  1103. // returned and Error() can be queried for the exact failure.
  1104. func (it *AccessControlEnumerableRoleAdminChangedIterator) Next() bool {
  1105. // If the iterator failed, stop iterating
  1106. if it.fail != nil {
  1107. return false
  1108. }
  1109. // If the iterator completed, deliver directly whatever's available
  1110. if it.done {
  1111. select {
  1112. case log := <-it.logs:
  1113. it.Event = new(AccessControlEnumerableRoleAdminChanged)
  1114. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1115. it.fail = err
  1116. return false
  1117. }
  1118. it.Event.Raw = log
  1119. return true
  1120. default:
  1121. return false
  1122. }
  1123. }
  1124. // Iterator still in progress, wait for either a data or an error event
  1125. select {
  1126. case log := <-it.logs:
  1127. it.Event = new(AccessControlEnumerableRoleAdminChanged)
  1128. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1129. it.fail = err
  1130. return false
  1131. }
  1132. it.Event.Raw = log
  1133. return true
  1134. case err := <-it.sub.Err():
  1135. it.done = true
  1136. it.fail = err
  1137. return it.Next()
  1138. }
  1139. }
  1140. // Error returns any retrieval or parsing error occurred during filtering.
  1141. func (it *AccessControlEnumerableRoleAdminChangedIterator) Error() error {
  1142. return it.fail
  1143. }
  1144. // Close terminates the iteration process, releasing any pending underlying
  1145. // resources.
  1146. func (it *AccessControlEnumerableRoleAdminChangedIterator) Close() error {
  1147. it.sub.Unsubscribe()
  1148. return nil
  1149. }
  1150. // AccessControlEnumerableRoleAdminChanged represents a RoleAdminChanged event raised by the AccessControlEnumerable contract.
  1151. type AccessControlEnumerableRoleAdminChanged struct {
  1152. Role [32]byte
  1153. PreviousAdminRole [32]byte
  1154. NewAdminRole [32]byte
  1155. Raw types.Log // Blockchain specific contextual infos
  1156. }
  1157. // FilterRoleAdminChanged is a free log retrieval operation binding the contract event 0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff.
  1158. //
  1159. // Solidity: event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)
  1160. func (_AccessControlEnumerable *AccessControlEnumerableFilterer) FilterRoleAdminChanged(opts *bind.FilterOpts, role [][32]byte, previousAdminRole [][32]byte, newAdminRole [][32]byte) (*AccessControlEnumerableRoleAdminChangedIterator, error) {
  1161. var roleRule []interface{}
  1162. for _, roleItem := range role {
  1163. roleRule = append(roleRule, roleItem)
  1164. }
  1165. var previousAdminRoleRule []interface{}
  1166. for _, previousAdminRoleItem := range previousAdminRole {
  1167. previousAdminRoleRule = append(previousAdminRoleRule, previousAdminRoleItem)
  1168. }
  1169. var newAdminRoleRule []interface{}
  1170. for _, newAdminRoleItem := range newAdminRole {
  1171. newAdminRoleRule = append(newAdminRoleRule, newAdminRoleItem)
  1172. }
  1173. logs, sub, err := _AccessControlEnumerable.contract.FilterLogs(opts, "RoleAdminChanged", roleRule, previousAdminRoleRule, newAdminRoleRule)
  1174. if err != nil {
  1175. return nil, err
  1176. }
  1177. return &AccessControlEnumerableRoleAdminChangedIterator{contract: _AccessControlEnumerable.contract, event: "RoleAdminChanged", logs: logs, sub: sub}, nil
  1178. }
  1179. // WatchRoleAdminChanged is a free log subscription operation binding the contract event 0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff.
  1180. //
  1181. // Solidity: event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)
  1182. func (_AccessControlEnumerable *AccessControlEnumerableFilterer) WatchRoleAdminChanged(opts *bind.WatchOpts, sink chan<- *AccessControlEnumerableRoleAdminChanged, role [][32]byte, previousAdminRole [][32]byte, newAdminRole [][32]byte) (event.Subscription, error) {
  1183. var roleRule []interface{}
  1184. for _, roleItem := range role {
  1185. roleRule = append(roleRule, roleItem)
  1186. }
  1187. var previousAdminRoleRule []interface{}
  1188. for _, previousAdminRoleItem := range previousAdminRole {
  1189. previousAdminRoleRule = append(previousAdminRoleRule, previousAdminRoleItem)
  1190. }
  1191. var newAdminRoleRule []interface{}
  1192. for _, newAdminRoleItem := range newAdminRole {
  1193. newAdminRoleRule = append(newAdminRoleRule, newAdminRoleItem)
  1194. }
  1195. logs, sub, err := _AccessControlEnumerable.contract.WatchLogs(opts, "RoleAdminChanged", roleRule, previousAdminRoleRule, newAdminRoleRule)
  1196. if err != nil {
  1197. return nil, err
  1198. }
  1199. return event.NewSubscription(func(quit <-chan struct{}) error {
  1200. defer sub.Unsubscribe()
  1201. for {
  1202. select {
  1203. case log := <-logs:
  1204. // New log arrived, parse the event and forward to the user
  1205. event := new(AccessControlEnumerableRoleAdminChanged)
  1206. if err := _AccessControlEnumerable.contract.UnpackLog(event, "RoleAdminChanged", log); err != nil {
  1207. return err
  1208. }
  1209. event.Raw = log
  1210. select {
  1211. case sink <- event:
  1212. case err := <-sub.Err():
  1213. return err
  1214. case <-quit:
  1215. return nil
  1216. }
  1217. case err := <-sub.Err():
  1218. return err
  1219. case <-quit:
  1220. return nil
  1221. }
  1222. }
  1223. }), nil
  1224. }
  1225. // ParseRoleAdminChanged is a log parse operation binding the contract event 0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff.
  1226. //
  1227. // Solidity: event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)
  1228. func (_AccessControlEnumerable *AccessControlEnumerableFilterer) ParseRoleAdminChanged(log types.Log) (*AccessControlEnumerableRoleAdminChanged, error) {
  1229. event := new(AccessControlEnumerableRoleAdminChanged)
  1230. if err := _AccessControlEnumerable.contract.UnpackLog(event, "RoleAdminChanged", log); err != nil {
  1231. return nil, err
  1232. }
  1233. event.Raw = log
  1234. return event, nil
  1235. }
  1236. // AccessControlEnumerableRoleGrantedIterator is returned from FilterRoleGranted and is used to iterate over the raw logs and unpacked data for RoleGranted events raised by the AccessControlEnumerable contract.
  1237. type AccessControlEnumerableRoleGrantedIterator struct {
  1238. Event *AccessControlEnumerableRoleGranted // Event containing the contract specifics and raw log
  1239. contract *bind.BoundContract // Generic contract to use for unpacking event data
  1240. event string // Event name to use for unpacking event data
  1241. logs chan types.Log // Log channel receiving the found contract events
  1242. sub ethereum.Subscription // Subscription for errors, completion and termination
  1243. done bool // Whether the subscription completed delivering logs
  1244. fail error // Occurred error to stop iteration
  1245. }
  1246. // Next advances the iterator to the subsequent event, returning whether there
  1247. // are any more events found. In case of a retrieval or parsing error, false is
  1248. // returned and Error() can be queried for the exact failure.
  1249. func (it *AccessControlEnumerableRoleGrantedIterator) Next() bool {
  1250. // If the iterator failed, stop iterating
  1251. if it.fail != nil {
  1252. return false
  1253. }
  1254. // If the iterator completed, deliver directly whatever's available
  1255. if it.done {
  1256. select {
  1257. case log := <-it.logs:
  1258. it.Event = new(AccessControlEnumerableRoleGranted)
  1259. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1260. it.fail = err
  1261. return false
  1262. }
  1263. it.Event.Raw = log
  1264. return true
  1265. default:
  1266. return false
  1267. }
  1268. }
  1269. // Iterator still in progress, wait for either a data or an error event
  1270. select {
  1271. case log := <-it.logs:
  1272. it.Event = new(AccessControlEnumerableRoleGranted)
  1273. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1274. it.fail = err
  1275. return false
  1276. }
  1277. it.Event.Raw = log
  1278. return true
  1279. case err := <-it.sub.Err():
  1280. it.done = true
  1281. it.fail = err
  1282. return it.Next()
  1283. }
  1284. }
  1285. // Error returns any retrieval or parsing error occurred during filtering.
  1286. func (it *AccessControlEnumerableRoleGrantedIterator) Error() error {
  1287. return it.fail
  1288. }
  1289. // Close terminates the iteration process, releasing any pending underlying
  1290. // resources.
  1291. func (it *AccessControlEnumerableRoleGrantedIterator) Close() error {
  1292. it.sub.Unsubscribe()
  1293. return nil
  1294. }
  1295. // AccessControlEnumerableRoleGranted represents a RoleGranted event raised by the AccessControlEnumerable contract.
  1296. type AccessControlEnumerableRoleGranted struct {
  1297. Role [32]byte
  1298. Account common.Address
  1299. Sender common.Address
  1300. Raw types.Log // Blockchain specific contextual infos
  1301. }
  1302. // FilterRoleGranted is a free log retrieval operation binding the contract event 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d.
  1303. //
  1304. // Solidity: event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)
  1305. func (_AccessControlEnumerable *AccessControlEnumerableFilterer) FilterRoleGranted(opts *bind.FilterOpts, role [][32]byte, account []common.Address, sender []common.Address) (*AccessControlEnumerableRoleGrantedIterator, error) {
  1306. var roleRule []interface{}
  1307. for _, roleItem := range role {
  1308. roleRule = append(roleRule, roleItem)
  1309. }
  1310. var accountRule []interface{}
  1311. for _, accountItem := range account {
  1312. accountRule = append(accountRule, accountItem)
  1313. }
  1314. var senderRule []interface{}
  1315. for _, senderItem := range sender {
  1316. senderRule = append(senderRule, senderItem)
  1317. }
  1318. logs, sub, err := _AccessControlEnumerable.contract.FilterLogs(opts, "RoleGranted", roleRule, accountRule, senderRule)
  1319. if err != nil {
  1320. return nil, err
  1321. }
  1322. return &AccessControlEnumerableRoleGrantedIterator{contract: _AccessControlEnumerable.contract, event: "RoleGranted", logs: logs, sub: sub}, nil
  1323. }
  1324. // WatchRoleGranted is a free log subscription operation binding the contract event 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d.
  1325. //
  1326. // Solidity: event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)
  1327. func (_AccessControlEnumerable *AccessControlEnumerableFilterer) WatchRoleGranted(opts *bind.WatchOpts, sink chan<- *AccessControlEnumerableRoleGranted, role [][32]byte, account []common.Address, sender []common.Address) (event.Subscription, error) {
  1328. var roleRule []interface{}
  1329. for _, roleItem := range role {
  1330. roleRule = append(roleRule, roleItem)
  1331. }
  1332. var accountRule []interface{}
  1333. for _, accountItem := range account {
  1334. accountRule = append(accountRule, accountItem)
  1335. }
  1336. var senderRule []interface{}
  1337. for _, senderItem := range sender {
  1338. senderRule = append(senderRule, senderItem)
  1339. }
  1340. logs, sub, err := _AccessControlEnumerable.contract.WatchLogs(opts, "RoleGranted", roleRule, accountRule, senderRule)
  1341. if err != nil {
  1342. return nil, err
  1343. }
  1344. return event.NewSubscription(func(quit <-chan struct{}) error {
  1345. defer sub.Unsubscribe()
  1346. for {
  1347. select {
  1348. case log := <-logs:
  1349. // New log arrived, parse the event and forward to the user
  1350. event := new(AccessControlEnumerableRoleGranted)
  1351. if err := _AccessControlEnumerable.contract.UnpackLog(event, "RoleGranted", log); err != nil {
  1352. return err
  1353. }
  1354. event.Raw = log
  1355. select {
  1356. case sink <- event:
  1357. case err := <-sub.Err():
  1358. return err
  1359. case <-quit:
  1360. return nil
  1361. }
  1362. case err := <-sub.Err():
  1363. return err
  1364. case <-quit:
  1365. return nil
  1366. }
  1367. }
  1368. }), nil
  1369. }
  1370. // ParseRoleGranted is a log parse operation binding the contract event 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d.
  1371. //
  1372. // Solidity: event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)
  1373. func (_AccessControlEnumerable *AccessControlEnumerableFilterer) ParseRoleGranted(log types.Log) (*AccessControlEnumerableRoleGranted, error) {
  1374. event := new(AccessControlEnumerableRoleGranted)
  1375. if err := _AccessControlEnumerable.contract.UnpackLog(event, "RoleGranted", log); err != nil {
  1376. return nil, err
  1377. }
  1378. event.Raw = log
  1379. return event, nil
  1380. }
  1381. // AccessControlEnumerableRoleRevokedIterator is returned from FilterRoleRevoked and is used to iterate over the raw logs and unpacked data for RoleRevoked events raised by the AccessControlEnumerable contract.
  1382. type AccessControlEnumerableRoleRevokedIterator struct {
  1383. Event *AccessControlEnumerableRoleRevoked // Event containing the contract specifics and raw log
  1384. contract *bind.BoundContract // Generic contract to use for unpacking event data
  1385. event string // Event name to use for unpacking event data
  1386. logs chan types.Log // Log channel receiving the found contract events
  1387. sub ethereum.Subscription // Subscription for errors, completion and termination
  1388. done bool // Whether the subscription completed delivering logs
  1389. fail error // Occurred error to stop iteration
  1390. }
  1391. // Next advances the iterator to the subsequent event, returning whether there
  1392. // are any more events found. In case of a retrieval or parsing error, false is
  1393. // returned and Error() can be queried for the exact failure.
  1394. func (it *AccessControlEnumerableRoleRevokedIterator) Next() bool {
  1395. // If the iterator failed, stop iterating
  1396. if it.fail != nil {
  1397. return false
  1398. }
  1399. // If the iterator completed, deliver directly whatever's available
  1400. if it.done {
  1401. select {
  1402. case log := <-it.logs:
  1403. it.Event = new(AccessControlEnumerableRoleRevoked)
  1404. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1405. it.fail = err
  1406. return false
  1407. }
  1408. it.Event.Raw = log
  1409. return true
  1410. default:
  1411. return false
  1412. }
  1413. }
  1414. // Iterator still in progress, wait for either a data or an error event
  1415. select {
  1416. case log := <-it.logs:
  1417. it.Event = new(AccessControlEnumerableRoleRevoked)
  1418. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1419. it.fail = err
  1420. return false
  1421. }
  1422. it.Event.Raw = log
  1423. return true
  1424. case err := <-it.sub.Err():
  1425. it.done = true
  1426. it.fail = err
  1427. return it.Next()
  1428. }
  1429. }
  1430. // Error returns any retrieval or parsing error occurred during filtering.
  1431. func (it *AccessControlEnumerableRoleRevokedIterator) Error() error {
  1432. return it.fail
  1433. }
  1434. // Close terminates the iteration process, releasing any pending underlying
  1435. // resources.
  1436. func (it *AccessControlEnumerableRoleRevokedIterator) Close() error {
  1437. it.sub.Unsubscribe()
  1438. return nil
  1439. }
  1440. // AccessControlEnumerableRoleRevoked represents a RoleRevoked event raised by the AccessControlEnumerable contract.
  1441. type AccessControlEnumerableRoleRevoked struct {
  1442. Role [32]byte
  1443. Account common.Address
  1444. Sender common.Address
  1445. Raw types.Log // Blockchain specific contextual infos
  1446. }
  1447. // FilterRoleRevoked is a free log retrieval operation binding the contract event 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b.
  1448. //
  1449. // Solidity: event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)
  1450. func (_AccessControlEnumerable *AccessControlEnumerableFilterer) FilterRoleRevoked(opts *bind.FilterOpts, role [][32]byte, account []common.Address, sender []common.Address) (*AccessControlEnumerableRoleRevokedIterator, error) {
  1451. var roleRule []interface{}
  1452. for _, roleItem := range role {
  1453. roleRule = append(roleRule, roleItem)
  1454. }
  1455. var accountRule []interface{}
  1456. for _, accountItem := range account {
  1457. accountRule = append(accountRule, accountItem)
  1458. }
  1459. var senderRule []interface{}
  1460. for _, senderItem := range sender {
  1461. senderRule = append(senderRule, senderItem)
  1462. }
  1463. logs, sub, err := _AccessControlEnumerable.contract.FilterLogs(opts, "RoleRevoked", roleRule, accountRule, senderRule)
  1464. if err != nil {
  1465. return nil, err
  1466. }
  1467. return &AccessControlEnumerableRoleRevokedIterator{contract: _AccessControlEnumerable.contract, event: "RoleRevoked", logs: logs, sub: sub}, nil
  1468. }
  1469. // WatchRoleRevoked is a free log subscription operation binding the contract event 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b.
  1470. //
  1471. // Solidity: event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)
  1472. func (_AccessControlEnumerable *AccessControlEnumerableFilterer) WatchRoleRevoked(opts *bind.WatchOpts, sink chan<- *AccessControlEnumerableRoleRevoked, role [][32]byte, account []common.Address, sender []common.Address) (event.Subscription, error) {
  1473. var roleRule []interface{}
  1474. for _, roleItem := range role {
  1475. roleRule = append(roleRule, roleItem)
  1476. }
  1477. var accountRule []interface{}
  1478. for _, accountItem := range account {
  1479. accountRule = append(accountRule, accountItem)
  1480. }
  1481. var senderRule []interface{}
  1482. for _, senderItem := range sender {
  1483. senderRule = append(senderRule, senderItem)
  1484. }
  1485. logs, sub, err := _AccessControlEnumerable.contract.WatchLogs(opts, "RoleRevoked", roleRule, accountRule, senderRule)
  1486. if err != nil {
  1487. return nil, err
  1488. }
  1489. return event.NewSubscription(func(quit <-chan struct{}) error {
  1490. defer sub.Unsubscribe()
  1491. for {
  1492. select {
  1493. case log := <-logs:
  1494. // New log arrived, parse the event and forward to the user
  1495. event := new(AccessControlEnumerableRoleRevoked)
  1496. if err := _AccessControlEnumerable.contract.UnpackLog(event, "RoleRevoked", log); err != nil {
  1497. return err
  1498. }
  1499. event.Raw = log
  1500. select {
  1501. case sink <- event:
  1502. case err := <-sub.Err():
  1503. return err
  1504. case <-quit:
  1505. return nil
  1506. }
  1507. case err := <-sub.Err():
  1508. return err
  1509. case <-quit:
  1510. return nil
  1511. }
  1512. }
  1513. }), nil
  1514. }
  1515. // ParseRoleRevoked is a log parse operation binding the contract event 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b.
  1516. //
  1517. // Solidity: event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)
  1518. func (_AccessControlEnumerable *AccessControlEnumerableFilterer) ParseRoleRevoked(log types.Log) (*AccessControlEnumerableRoleRevoked, error) {
  1519. event := new(AccessControlEnumerableRoleRevoked)
  1520. if err := _AccessControlEnumerable.contract.UnpackLog(event, "RoleRevoked", log); err != nil {
  1521. return nil, err
  1522. }
  1523. event.Raw = log
  1524. return event, nil
  1525. }
  1526. // AddressMetaData contains all meta data concerning the Address contract.
  1527. var AddressMetaData = &bind.MetaData{
  1528. ABI: "[]",
  1529. Bin: "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220974843254cf8569e354f7abfc84d67e8842033f54611688a73ae56434ff6c20b64736f6c63430008010033",
  1530. }
  1531. // AddressABI is the input ABI used to generate the binding from.
  1532. // Deprecated: Use AddressMetaData.ABI instead.
  1533. var AddressABI = AddressMetaData.ABI
  1534. // AddressBin is the compiled bytecode used for deploying new contracts.
  1535. // Deprecated: Use AddressMetaData.Bin instead.
  1536. var AddressBin = AddressMetaData.Bin
  1537. // DeployAddress deploys a new Ethereum contract, binding an instance of Address to it.
  1538. func DeployAddress(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *Address, error) {
  1539. parsed, err := AddressMetaData.GetAbi()
  1540. if err != nil {
  1541. return common.Address{}, nil, nil, err
  1542. }
  1543. if parsed == nil {
  1544. return common.Address{}, nil, nil, errors.New("GetABI returned nil")
  1545. }
  1546. address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(AddressBin), backend)
  1547. if err != nil {
  1548. return common.Address{}, nil, nil, err
  1549. }
  1550. return address, tx, &Address{AddressCaller: AddressCaller{contract: contract}, AddressTransactor: AddressTransactor{contract: contract}, AddressFilterer: AddressFilterer{contract: contract}}, nil
  1551. }
  1552. // Address is an auto generated Go binding around an Ethereum contract.
  1553. type Address struct {
  1554. AddressCaller // Read-only binding to the contract
  1555. AddressTransactor // Write-only binding to the contract
  1556. AddressFilterer // Log filterer for contract events
  1557. }
  1558. // AddressCaller is an auto generated read-only Go binding around an Ethereum contract.
  1559. type AddressCaller struct {
  1560. contract *bind.BoundContract // Generic contract wrapper for the low level calls
  1561. }
  1562. // AddressTransactor is an auto generated write-only Go binding around an Ethereum contract.
  1563. type AddressTransactor struct {
  1564. contract *bind.BoundContract // Generic contract wrapper for the low level calls
  1565. }
  1566. // AddressFilterer is an auto generated log filtering Go binding around an Ethereum contract events.
  1567. type AddressFilterer struct {
  1568. contract *bind.BoundContract // Generic contract wrapper for the low level calls
  1569. }
  1570. // AddressSession is an auto generated Go binding around an Ethereum contract,
  1571. // with pre-set call and transact options.
  1572. type AddressSession struct {
  1573. Contract *Address // Generic contract binding to set the session for
  1574. CallOpts bind.CallOpts // Call options to use throughout this session
  1575. TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
  1576. }
  1577. // AddressCallerSession is an auto generated read-only Go binding around an Ethereum contract,
  1578. // with pre-set call options.
  1579. type AddressCallerSession struct {
  1580. Contract *AddressCaller // Generic contract caller binding to set the session for
  1581. CallOpts bind.CallOpts // Call options to use throughout this session
  1582. }
  1583. // AddressTransactorSession is an auto generated write-only Go binding around an Ethereum contract,
  1584. // with pre-set transact options.
  1585. type AddressTransactorSession struct {
  1586. Contract *AddressTransactor // Generic contract transactor binding to set the session for
  1587. TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
  1588. }
  1589. // AddressRaw is an auto generated low-level Go binding around an Ethereum contract.
  1590. type AddressRaw struct {
  1591. Contract *Address // Generic contract binding to access the raw methods on
  1592. }
  1593. // AddressCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
  1594. type AddressCallerRaw struct {
  1595. Contract *AddressCaller // Generic read-only contract binding to access the raw methods on
  1596. }
  1597. // AddressTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
  1598. type AddressTransactorRaw struct {
  1599. Contract *AddressTransactor // Generic write-only contract binding to access the raw methods on
  1600. }
  1601. // NewAddress creates a new instance of Address, bound to a specific deployed contract.
  1602. func NewAddress(address common.Address, backend bind.ContractBackend) (*Address, error) {
  1603. contract, err := bindAddress(address, backend, backend, backend)
  1604. if err != nil {
  1605. return nil, err
  1606. }
  1607. return &Address{AddressCaller: AddressCaller{contract: contract}, AddressTransactor: AddressTransactor{contract: contract}, AddressFilterer: AddressFilterer{contract: contract}}, nil
  1608. }
  1609. // NewAddressCaller creates a new read-only instance of Address, bound to a specific deployed contract.
  1610. func NewAddressCaller(address common.Address, caller bind.ContractCaller) (*AddressCaller, error) {
  1611. contract, err := bindAddress(address, caller, nil, nil)
  1612. if err != nil {
  1613. return nil, err
  1614. }
  1615. return &AddressCaller{contract: contract}, nil
  1616. }
  1617. // NewAddressTransactor creates a new write-only instance of Address, bound to a specific deployed contract.
  1618. func NewAddressTransactor(address common.Address, transactor bind.ContractTransactor) (*AddressTransactor, error) {
  1619. contract, err := bindAddress(address, nil, transactor, nil)
  1620. if err != nil {
  1621. return nil, err
  1622. }
  1623. return &AddressTransactor{contract: contract}, nil
  1624. }
  1625. // NewAddressFilterer creates a new log filterer instance of Address, bound to a specific deployed contract.
  1626. func NewAddressFilterer(address common.Address, filterer bind.ContractFilterer) (*AddressFilterer, error) {
  1627. contract, err := bindAddress(address, nil, nil, filterer)
  1628. if err != nil {
  1629. return nil, err
  1630. }
  1631. return &AddressFilterer{contract: contract}, nil
  1632. }
  1633. // bindAddress binds a generic wrapper to an already deployed contract.
  1634. func bindAddress(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
  1635. parsed, err := abi.JSON(strings.NewReader(AddressABI))
  1636. if err != nil {
  1637. return nil, err
  1638. }
  1639. return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil
  1640. }
  1641. // Call invokes the (constant) contract method with params as input values and
  1642. // sets the output to result. The result type might be a single field for simple
  1643. // returns, a slice of interfaces for anonymous returns and a struct for named
  1644. // returns.
  1645. func (_Address *AddressRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
  1646. return _Address.Contract.AddressCaller.contract.Call(opts, result, method, params...)
  1647. }
  1648. // Transfer initiates a plain transaction to move funds to the contract, calling
  1649. // its default method if one is available.
  1650. func (_Address *AddressRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
  1651. return _Address.Contract.AddressTransactor.contract.Transfer(opts)
  1652. }
  1653. // Transact invokes the (paid) contract method with params as input values.
  1654. func (_Address *AddressRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
  1655. return _Address.Contract.AddressTransactor.contract.Transact(opts, method, params...)
  1656. }
  1657. // Call invokes the (constant) contract method with params as input values and
  1658. // sets the output to result. The result type might be a single field for simple
  1659. // returns, a slice of interfaces for anonymous returns and a struct for named
  1660. // returns.
  1661. func (_Address *AddressCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
  1662. return _Address.Contract.contract.Call(opts, result, method, params...)
  1663. }
  1664. // Transfer initiates a plain transaction to move funds to the contract, calling
  1665. // its default method if one is available.
  1666. func (_Address *AddressTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
  1667. return _Address.Contract.contract.Transfer(opts)
  1668. }
  1669. // Transact invokes the (paid) contract method with params as input values.
  1670. func (_Address *AddressTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
  1671. return _Address.Contract.contract.Transact(opts, method, params...)
  1672. }
  1673. // ContextMetaData contains all meta data concerning the Context contract.
  1674. var ContextMetaData = &bind.MetaData{
  1675. ABI: "[]",
  1676. }
  1677. // ContextABI is the input ABI used to generate the binding from.
  1678. // Deprecated: Use ContextMetaData.ABI instead.
  1679. var ContextABI = ContextMetaData.ABI
  1680. // Context is an auto generated Go binding around an Ethereum contract.
  1681. type Context struct {
  1682. ContextCaller // Read-only binding to the contract
  1683. ContextTransactor // Write-only binding to the contract
  1684. ContextFilterer // Log filterer for contract events
  1685. }
  1686. // ContextCaller is an auto generated read-only Go binding around an Ethereum contract.
  1687. type ContextCaller struct {
  1688. contract *bind.BoundContract // Generic contract wrapper for the low level calls
  1689. }
  1690. // ContextTransactor is an auto generated write-only Go binding around an Ethereum contract.
  1691. type ContextTransactor struct {
  1692. contract *bind.BoundContract // Generic contract wrapper for the low level calls
  1693. }
  1694. // ContextFilterer is an auto generated log filtering Go binding around an Ethereum contract events.
  1695. type ContextFilterer struct {
  1696. contract *bind.BoundContract // Generic contract wrapper for the low level calls
  1697. }
  1698. // ContextSession is an auto generated Go binding around an Ethereum contract,
  1699. // with pre-set call and transact options.
  1700. type ContextSession struct {
  1701. Contract *Context // Generic contract binding to set the session for
  1702. CallOpts bind.CallOpts // Call options to use throughout this session
  1703. TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
  1704. }
  1705. // ContextCallerSession is an auto generated read-only Go binding around an Ethereum contract,
  1706. // with pre-set call options.
  1707. type ContextCallerSession struct {
  1708. Contract *ContextCaller // Generic contract caller binding to set the session for
  1709. CallOpts bind.CallOpts // Call options to use throughout this session
  1710. }
  1711. // ContextTransactorSession is an auto generated write-only Go binding around an Ethereum contract,
  1712. // with pre-set transact options.
  1713. type ContextTransactorSession struct {
  1714. Contract *ContextTransactor // Generic contract transactor binding to set the session for
  1715. TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
  1716. }
  1717. // ContextRaw is an auto generated low-level Go binding around an Ethereum contract.
  1718. type ContextRaw struct {
  1719. Contract *Context // Generic contract binding to access the raw methods on
  1720. }
  1721. // ContextCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
  1722. type ContextCallerRaw struct {
  1723. Contract *ContextCaller // Generic read-only contract binding to access the raw methods on
  1724. }
  1725. // ContextTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
  1726. type ContextTransactorRaw struct {
  1727. Contract *ContextTransactor // Generic write-only contract binding to access the raw methods on
  1728. }
  1729. // NewContext creates a new instance of Context, bound to a specific deployed contract.
  1730. func NewContext(address common.Address, backend bind.ContractBackend) (*Context, error) {
  1731. contract, err := bindContext(address, backend, backend, backend)
  1732. if err != nil {
  1733. return nil, err
  1734. }
  1735. return &Context{ContextCaller: ContextCaller{contract: contract}, ContextTransactor: ContextTransactor{contract: contract}, ContextFilterer: ContextFilterer{contract: contract}}, nil
  1736. }
  1737. // NewContextCaller creates a new read-only instance of Context, bound to a specific deployed contract.
  1738. func NewContextCaller(address common.Address, caller bind.ContractCaller) (*ContextCaller, error) {
  1739. contract, err := bindContext(address, caller, nil, nil)
  1740. if err != nil {
  1741. return nil, err
  1742. }
  1743. return &ContextCaller{contract: contract}, nil
  1744. }
  1745. // NewContextTransactor creates a new write-only instance of Context, bound to a specific deployed contract.
  1746. func NewContextTransactor(address common.Address, transactor bind.ContractTransactor) (*ContextTransactor, error) {
  1747. contract, err := bindContext(address, nil, transactor, nil)
  1748. if err != nil {
  1749. return nil, err
  1750. }
  1751. return &ContextTransactor{contract: contract}, nil
  1752. }
  1753. // NewContextFilterer creates a new log filterer instance of Context, bound to a specific deployed contract.
  1754. func NewContextFilterer(address common.Address, filterer bind.ContractFilterer) (*ContextFilterer, error) {
  1755. contract, err := bindContext(address, nil, nil, filterer)
  1756. if err != nil {
  1757. return nil, err
  1758. }
  1759. return &ContextFilterer{contract: contract}, nil
  1760. }
  1761. // bindContext binds a generic wrapper to an already deployed contract.
  1762. func bindContext(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
  1763. parsed, err := abi.JSON(strings.NewReader(ContextABI))
  1764. if err != nil {
  1765. return nil, err
  1766. }
  1767. return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil
  1768. }
  1769. // Call invokes the (constant) contract method with params as input values and
  1770. // sets the output to result. The result type might be a single field for simple
  1771. // returns, a slice of interfaces for anonymous returns and a struct for named
  1772. // returns.
  1773. func (_Context *ContextRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
  1774. return _Context.Contract.ContextCaller.contract.Call(opts, result, method, params...)
  1775. }
  1776. // Transfer initiates a plain transaction to move funds to the contract, calling
  1777. // its default method if one is available.
  1778. func (_Context *ContextRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
  1779. return _Context.Contract.ContextTransactor.contract.Transfer(opts)
  1780. }
  1781. // Transact invokes the (paid) contract method with params as input values.
  1782. func (_Context *ContextRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
  1783. return _Context.Contract.ContextTransactor.contract.Transact(opts, method, params...)
  1784. }
  1785. // Call invokes the (constant) contract method with params as input values and
  1786. // sets the output to result. The result type might be a single field for simple
  1787. // returns, a slice of interfaces for anonymous returns and a struct for named
  1788. // returns.
  1789. func (_Context *ContextCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
  1790. return _Context.Contract.contract.Call(opts, result, method, params...)
  1791. }
  1792. // Transfer initiates a plain transaction to move funds to the contract, calling
  1793. // its default method if one is available.
  1794. func (_Context *ContextTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
  1795. return _Context.Contract.contract.Transfer(opts)
  1796. }
  1797. // Transact invokes the (paid) contract method with params as input values.
  1798. func (_Context *ContextTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
  1799. return _Context.Contract.contract.Transact(opts, method, params...)
  1800. }
  1801. // ERC1155MetaData contains all meta data concerning the ERC1155 contract.
  1802. var ERC1155MetaData = &bind.MetaData{
  1803. ABI: "[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"uri_\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"}],\"name\":\"TransferBatch\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"TransferSingle\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"URI\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"accounts\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"}],\"name\":\"balanceOfBatch\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeBatchTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"uri\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]",
  1804. Sigs: map[string]string{
  1805. "00fdd58e": "balanceOf(address,uint256)",
  1806. "4e1273f4": "balanceOfBatch(address[],uint256[])",
  1807. "e985e9c5": "isApprovedForAll(address,address)",
  1808. "2eb2c2d6": "safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)",
  1809. "f242432a": "safeTransferFrom(address,address,uint256,uint256,bytes)",
  1810. "a22cb465": "setApprovalForAll(address,bool)",
  1811. "01ffc9a7": "supportsInterface(bytes4)",
  1812. "0e89341c": "uri(uint256)",
  1813. },
  1814. Bin: "0x60806040523480156200001157600080fd5b506040516200174238038062001742833981016040819052620000349162000105565b6200003f8162000046565b506200022e565b80516200005b9060029060208401906200005f565b5050565b8280546200006d90620001db565b90600052602060002090601f016020900481019282620000915760008555620000dc565b82601f10620000ac57805160ff1916838001178555620000dc565b82800160010185558215620000dc579182015b82811115620000dc578251825591602001919060010190620000bf565b50620000ea929150620000ee565b5090565b5b80821115620000ea5760008155600101620000ef565b6000602080838503121562000118578182fd5b82516001600160401b03808211156200012f578384fd5b818501915085601f83011262000143578384fd5b81518181111562000158576200015862000218565b604051601f8201601f19908116603f0116810190838211818310171562000183576200018362000218565b8160405282815288868487010111156200019b578687fd5b8693505b82841015620001be57848401860151818501870152928501926200019f565b82841115620001cf57868684830101525b98975050505050505050565b600281046001821680620001f057607f821691505b602082108114156200021257634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052604160045260246000fd5b611504806200023e6000396000f3fe608060405234801561001057600080fd5b50600436106100875760003560e01c80634e1273f41161005b5780634e1273f41461010a578063a22cb4651461012a578063e985e9c51461013d578063f242432a1461015057610087565b8062fdd58e1461008c57806301ffc9a7146100b55780630e89341c146100d55780632eb2c2d6146100f5575b600080fd5b61009f61009a366004610d4f565b610163565b6040516100ac919061130a565b60405180910390f35b6100c86100c3366004610e41565b6101ba565b6040516100ac9190611001565b6100e86100e3366004610e80565b610202565b6040516100ac919061100c565b610108610103366004610c0c565b610296565b005b61011d610118366004610d78565b6102f4565b6040516100ac9190610fc0565b610108610138366004610d15565b610414565b6100c861014b366004610bda565b61042a565b61010861015e366004610cb2565b610458565b60006001600160a01b0383166101945760405162461bcd60e51b815260040161018b906110bb565b60405180910390fd5b506000908152602081815260408083206001600160a01b03949094168352929052205490565b60006001600160e01b03198216636cdb3d1360e11b14806101eb57506001600160e01b031982166303a24d0760e21b145b806101fa57506101fa826104af565b90505b919050565b6060600280546102119061135d565b80601f016020809104026020016040519081016040528092919081815260200182805461023d9061135d565b801561028a5780601f1061025f5761010080835404028352916020019161028a565b820191906000526020600020905b81548152906001019060200180831161026d57829003601f168201915b50505050509050919050565b61029e6104c8565b6001600160a01b0316856001600160a01b031614806102c457506102c48561014b6104c8565b6102e05760405162461bcd60e51b815260040161018b90611194565b6102ed85858585856104cd565b5050505050565b606081518351146103175760405162461bcd60e51b815260040161018b90611279565b6000835167ffffffffffffffff81111561034157634e487b7160e01b600052604160045260246000fd5b60405190808252806020026020018201604052801561036a578160200160208202803683370190505b50905060005b845181101561040c576103d185828151811061039c57634e487b7160e01b600052603260045260246000fd5b60200260200101518583815181106103c457634e487b7160e01b600052603260045260246000fd5b6020026020010151610163565b8282815181106103f157634e487b7160e01b600052603260045260246000fd5b6020908102919091010152610405816113c5565b9050610370565b509392505050565b61042661041f6104c8565b838361069e565b5050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205460ff1690565b6104606104c8565b6001600160a01b0316856001600160a01b0316148061048657506104868561014b6104c8565b6104a25760405162461bcd60e51b815260040161018b90611106565b6102ed8585858585610741565b6001600160e01b031981166301ffc9a760e01b14919050565b335b90565b81518351146104ee5760405162461bcd60e51b815260040161018b906112c2565b6001600160a01b0384166105145760405162461bcd60e51b815260040161018b9061114f565b600061051e6104c8565b905061052e818787878787610696565b60005b845181101561063057600085828151811061055c57634e487b7160e01b600052603260045260246000fd5b60200260200101519050600085838151811061058857634e487b7160e01b600052603260045260246000fd5b602090810291909101810151600084815280835260408082206001600160a01b038e1683529093529190912054909150818110156105d85760405162461bcd60e51b815260040161018b906111e6565b6000838152602081815260408083206001600160a01b038e8116855292528083208585039055908b16825281208054849290610615908490611345565b9250508190555050505080610629906113c5565b9050610531565b50846001600160a01b0316866001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051610680929190610fd3565b60405180910390a4610696818787878787610884565b505050505050565b816001600160a01b0316836001600160a01b031614156106d05760405162461bcd60e51b815260040161018b90611230565b6001600160a01b0383811660008181526001602090815260408083209487168084529490915290819020805460ff1916851515179055517f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3190610734908590611001565b60405180910390a3505050565b6001600160a01b0384166107675760405162461bcd60e51b815260040161018b9061114f565b60006107716104c8565b9050610791818787610782886109a9565b61078b886109a9565b87610696565b6000848152602081815260408083206001600160a01b038a168452909152902054838110156107d25760405162461bcd60e51b815260040161018b906111e6565b6000858152602081815260408083206001600160a01b038b811685529252808320878503905590881682528120805486929061080f908490611345565b92505081905550856001600160a01b0316876001600160a01b0316836001600160a01b03167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628888604051610865929190611313565b60405180910390a461087b828888888888610a02565b50505050505050565b610896846001600160a01b0316610ad3565b156106965760405163bc197c8160e01b81526001600160a01b0385169063bc197c81906108cf9089908990889088908890600401610f1d565b602060405180830381600087803b1580156108e957600080fd5b505af1925050508015610919575060408051601f3d908101601f1916820190925261091691810190610e64565b60015b6109795761092561140c565b806308c379a0141561095f575061093a611423565b806109455750610961565b8060405162461bcd60e51b815260040161018b919061100c565b505b60405162461bcd60e51b815260040161018b9061101f565b6001600160e01b0319811663bc197c8160e01b1461087b5760405162461bcd60e51b815260040161018b90611073565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106109f157634e487b7160e01b600052603260045260246000fd5b602090810291909101015292915050565b610a14846001600160a01b0316610ad3565b156106965760405163f23a6e6160e01b81526001600160a01b0385169063f23a6e6190610a4d9089908990889088908890600401610f7b565b602060405180830381600087803b158015610a6757600080fd5b505af1925050508015610a97575060408051601f3d908101601f19168201909252610a9491810190610e64565b60015b610aa35761092561140c565b6001600160e01b0319811663f23a6e6160e01b1461087b5760405162461bcd60e51b815260040161018b90611073565b6001600160a01b03163b151590565b80356001600160a01b03811681146101fd57600080fd5b600082601f830112610b09578081fd5b81356020610b1682611321565b604051610b238282611398565b838152828101915085830183850287018401881015610b40578586fd5b855b85811015610b5e57813584529284019290840190600101610b42565b5090979650505050505050565b600082601f830112610b7b578081fd5b813567ffffffffffffffff811115610b9557610b956113f6565b604051610bac601f8301601f191660200182611398565b818152846020838601011115610bc0578283fd5b816020850160208301379081016020019190915292915050565b60008060408385031215610bec578182fd5b610bf583610ae2565b9150610c0360208401610ae2565b90509250929050565b600080600080600060a08688031215610c23578081fd5b610c2c86610ae2565b9450610c3a60208701610ae2565b9350604086013567ffffffffffffffff80821115610c56578283fd5b610c6289838a01610af9565b94506060880135915080821115610c77578283fd5b610c8389838a01610af9565b93506080880135915080821115610c98578283fd5b50610ca588828901610b6b565b9150509295509295909350565b600080600080600060a08688031215610cc9578081fd5b610cd286610ae2565b9450610ce060208701610ae2565b93506040860135925060608601359150608086013567ffffffffffffffff811115610d09578182fd5b610ca588828901610b6b565b60008060408385031215610d27578182fd5b610d3083610ae2565b915060208301358015158114610d44578182fd5b809150509250929050565b60008060408385031215610d61578182fd5b610d6a83610ae2565b946020939093013593505050565b60008060408385031215610d8a578182fd5b823567ffffffffffffffff80821115610da1578384fd5b818501915085601f830112610db4578384fd5b81356020610dc182611321565b604051610dce8282611398565b8381528281019150858301838502870184018b1015610deb578889fd5b8896505b84871015610e1457610e0081610ae2565b835260019690960195918301918301610def565b5096505086013592505080821115610e2a578283fd5b50610e3785828601610af9565b9150509250929050565b600060208284031215610e52578081fd5b8135610e5d816114b5565b9392505050565b600060208284031215610e75578081fd5b8151610e5d816114b5565b600060208284031215610e91578081fd5b5035919050565b6000815180845260208085019450808401835b83811015610ec757815187529582019590820190600101610eab565b509495945050505050565b60008151808452815b81811015610ef757602081850181015186830182015201610edb565b81811115610f085782602083870101525b50601f01601f19169290920160200192915050565b6001600160a01b0386811682528516602082015260a060408201819052600090610f4990830186610e98565b8281036060840152610f5b8186610e98565b90508281036080840152610f6f8185610ed2565b98975050505050505050565b6001600160a01b03868116825285166020820152604081018490526060810183905260a060808201819052600090610fb590830184610ed2565b979650505050505050565b600060208252610e5d6020830184610e98565b600060408252610fe66040830185610e98565b8281036020840152610ff88185610e98565b95945050505050565b901515815260200190565b600060208252610e5d6020830184610ed2565b60208082526034908201527f455243313135353a207472616e7366657220746f206e6f6e20455243313135356040820152732932b1b2b4bb32b91034b6b83632b6b2b73a32b960611b606082015260800190565b60208082526028908201527f455243313135353a204552433131353552656365697665722072656a656374656040820152676420746f6b656e7360c01b606082015260800190565b6020808252602b908201527f455243313135353a2062616c616e636520717565727920666f7220746865207a60408201526a65726f206164647265737360a81b606082015260800190565b60208082526029908201527f455243313135353a2063616c6c6572206973206e6f74206f776e6572206e6f7260408201526808185c1c1c9bdd995960ba1b606082015260800190565b60208082526025908201527f455243313135353a207472616e7366657220746f20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526032908201527f455243313135353a207472616e736665722063616c6c6572206973206e6f74206040820152711bdddb995c881b9bdc88185c1c1c9bdd995960721b606082015260800190565b6020808252602a908201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60408201526939103a3930b739b332b960b11b606082015260800190565b60208082526029908201527f455243313135353a2073657474696e6720617070726f76616c20737461747573604082015268103337b91039b2b63360b91b606082015260800190565b60208082526029908201527f455243313135353a206163636f756e747320616e6420696473206c656e677468604082015268040dad2e6dac2e8c6d60bb1b606082015260800190565b60208082526028908201527f455243313135353a2069647320616e6420616d6f756e7473206c656e677468206040820152670dad2e6dac2e8c6d60c31b606082015260800190565b90815260200190565b918252602082015260400190565b600067ffffffffffffffff82111561133b5761133b6113f6565b5060209081020190565b60008219821115611358576113586113e0565b500190565b60028104600182168061137157607f821691505b6020821081141561139257634e487b7160e01b600052602260045260246000fd5b50919050565b601f8201601f1916810167ffffffffffffffff811182821017156113be576113be6113f6565b6040525050565b60006000198214156113d9576113d96113e0565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b600060033d11156104ca57600481823e5160e01c90565b600060443d1015611433576104ca565b6040516003193d81016004833e81513d67ffffffffffffffff81602484011181841117156114655750505050506104ca565b828501915081518181111561147f575050505050506104ca565b843d870101602082850101111561149b575050505050506104ca565b6114aa60208286010187611398565b509094505050505090565b6001600160e01b0319811681146114cb57600080fd5b5056fea2646970667358221220537687b9bdc7a223ea7d84520fd90da3fbe0f610d3d2126a4664bc2baf4c126964736f6c63430008010033",
  1815. }
  1816. // ERC1155ABI is the input ABI used to generate the binding from.
  1817. // Deprecated: Use ERC1155MetaData.ABI instead.
  1818. var ERC1155ABI = ERC1155MetaData.ABI
  1819. // Deprecated: Use ERC1155MetaData.Sigs instead.
  1820. // ERC1155FuncSigs maps the 4-byte function signature to its string representation.
  1821. var ERC1155FuncSigs = ERC1155MetaData.Sigs
  1822. // ERC1155Bin is the compiled bytecode used for deploying new contracts.
  1823. // Deprecated: Use ERC1155MetaData.Bin instead.
  1824. var ERC1155Bin = ERC1155MetaData.Bin
  1825. // DeployERC1155 deploys a new Ethereum contract, binding an instance of ERC1155 to it.
  1826. func DeployERC1155(auth *bind.TransactOpts, backend bind.ContractBackend, uri_ string) (common.Address, *types.Transaction, *ERC1155, error) {
  1827. parsed, err := ERC1155MetaData.GetAbi()
  1828. if err != nil {
  1829. return common.Address{}, nil, nil, err
  1830. }
  1831. if parsed == nil {
  1832. return common.Address{}, nil, nil, errors.New("GetABI returned nil")
  1833. }
  1834. address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(ERC1155Bin), backend, uri_)
  1835. if err != nil {
  1836. return common.Address{}, nil, nil, err
  1837. }
  1838. return address, tx, &ERC1155{ERC1155Caller: ERC1155Caller{contract: contract}, ERC1155Transactor: ERC1155Transactor{contract: contract}, ERC1155Filterer: ERC1155Filterer{contract: contract}}, nil
  1839. }
  1840. // ERC1155 is an auto generated Go binding around an Ethereum contract.
  1841. type ERC1155 struct {
  1842. ERC1155Caller // Read-only binding to the contract
  1843. ERC1155Transactor // Write-only binding to the contract
  1844. ERC1155Filterer // Log filterer for contract events
  1845. }
  1846. // ERC1155Caller is an auto generated read-only Go binding around an Ethereum contract.
  1847. type ERC1155Caller struct {
  1848. contract *bind.BoundContract // Generic contract wrapper for the low level calls
  1849. }
  1850. // ERC1155Transactor is an auto generated write-only Go binding around an Ethereum contract.
  1851. type ERC1155Transactor struct {
  1852. contract *bind.BoundContract // Generic contract wrapper for the low level calls
  1853. }
  1854. // ERC1155Filterer is an auto generated log filtering Go binding around an Ethereum contract events.
  1855. type ERC1155Filterer struct {
  1856. contract *bind.BoundContract // Generic contract wrapper for the low level calls
  1857. }
  1858. // ERC1155Session is an auto generated Go binding around an Ethereum contract,
  1859. // with pre-set call and transact options.
  1860. type ERC1155Session struct {
  1861. Contract *ERC1155 // Generic contract binding to set the session for
  1862. CallOpts bind.CallOpts // Call options to use throughout this session
  1863. TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
  1864. }
  1865. // ERC1155CallerSession is an auto generated read-only Go binding around an Ethereum contract,
  1866. // with pre-set call options.
  1867. type ERC1155CallerSession struct {
  1868. Contract *ERC1155Caller // Generic contract caller binding to set the session for
  1869. CallOpts bind.CallOpts // Call options to use throughout this session
  1870. }
  1871. // ERC1155TransactorSession is an auto generated write-only Go binding around an Ethereum contract,
  1872. // with pre-set transact options.
  1873. type ERC1155TransactorSession struct {
  1874. Contract *ERC1155Transactor // Generic contract transactor binding to set the session for
  1875. TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
  1876. }
  1877. // ERC1155Raw is an auto generated low-level Go binding around an Ethereum contract.
  1878. type ERC1155Raw struct {
  1879. Contract *ERC1155 // Generic contract binding to access the raw methods on
  1880. }
  1881. // ERC1155CallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
  1882. type ERC1155CallerRaw struct {
  1883. Contract *ERC1155Caller // Generic read-only contract binding to access the raw methods on
  1884. }
  1885. // ERC1155TransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
  1886. type ERC1155TransactorRaw struct {
  1887. Contract *ERC1155Transactor // Generic write-only contract binding to access the raw methods on
  1888. }
  1889. // NewERC1155 creates a new instance of ERC1155, bound to a specific deployed contract.
  1890. func NewERC1155(address common.Address, backend bind.ContractBackend) (*ERC1155, error) {
  1891. contract, err := bindERC1155(address, backend, backend, backend)
  1892. if err != nil {
  1893. return nil, err
  1894. }
  1895. return &ERC1155{ERC1155Caller: ERC1155Caller{contract: contract}, ERC1155Transactor: ERC1155Transactor{contract: contract}, ERC1155Filterer: ERC1155Filterer{contract: contract}}, nil
  1896. }
  1897. // NewERC1155Caller creates a new read-only instance of ERC1155, bound to a specific deployed contract.
  1898. func NewERC1155Caller(address common.Address, caller bind.ContractCaller) (*ERC1155Caller, error) {
  1899. contract, err := bindERC1155(address, caller, nil, nil)
  1900. if err != nil {
  1901. return nil, err
  1902. }
  1903. return &ERC1155Caller{contract: contract}, nil
  1904. }
  1905. // NewERC1155Transactor creates a new write-only instance of ERC1155, bound to a specific deployed contract.
  1906. func NewERC1155Transactor(address common.Address, transactor bind.ContractTransactor) (*ERC1155Transactor, error) {
  1907. contract, err := bindERC1155(address, nil, transactor, nil)
  1908. if err != nil {
  1909. return nil, err
  1910. }
  1911. return &ERC1155Transactor{contract: contract}, nil
  1912. }
  1913. // NewERC1155Filterer creates a new log filterer instance of ERC1155, bound to a specific deployed contract.
  1914. func NewERC1155Filterer(address common.Address, filterer bind.ContractFilterer) (*ERC1155Filterer, error) {
  1915. contract, err := bindERC1155(address, nil, nil, filterer)
  1916. if err != nil {
  1917. return nil, err
  1918. }
  1919. return &ERC1155Filterer{contract: contract}, nil
  1920. }
  1921. // bindERC1155 binds a generic wrapper to an already deployed contract.
  1922. func bindERC1155(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
  1923. parsed, err := abi.JSON(strings.NewReader(ERC1155ABI))
  1924. if err != nil {
  1925. return nil, err
  1926. }
  1927. return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil
  1928. }
  1929. // Call invokes the (constant) contract method with params as input values and
  1930. // sets the output to result. The result type might be a single field for simple
  1931. // returns, a slice of interfaces for anonymous returns and a struct for named
  1932. // returns.
  1933. func (_ERC1155 *ERC1155Raw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
  1934. return _ERC1155.Contract.ERC1155Caller.contract.Call(opts, result, method, params...)
  1935. }
  1936. // Transfer initiates a plain transaction to move funds to the contract, calling
  1937. // its default method if one is available.
  1938. func (_ERC1155 *ERC1155Raw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
  1939. return _ERC1155.Contract.ERC1155Transactor.contract.Transfer(opts)
  1940. }
  1941. // Transact invokes the (paid) contract method with params as input values.
  1942. func (_ERC1155 *ERC1155Raw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
  1943. return _ERC1155.Contract.ERC1155Transactor.contract.Transact(opts, method, params...)
  1944. }
  1945. // Call invokes the (constant) contract method with params as input values and
  1946. // sets the output to result. The result type might be a single field for simple
  1947. // returns, a slice of interfaces for anonymous returns and a struct for named
  1948. // returns.
  1949. func (_ERC1155 *ERC1155CallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
  1950. return _ERC1155.Contract.contract.Call(opts, result, method, params...)
  1951. }
  1952. // Transfer initiates a plain transaction to move funds to the contract, calling
  1953. // its default method if one is available.
  1954. func (_ERC1155 *ERC1155TransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
  1955. return _ERC1155.Contract.contract.Transfer(opts)
  1956. }
  1957. // Transact invokes the (paid) contract method with params as input values.
  1958. func (_ERC1155 *ERC1155TransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
  1959. return _ERC1155.Contract.contract.Transact(opts, method, params...)
  1960. }
  1961. // BalanceOf is a free data retrieval call binding the contract method 0x00fdd58e.
  1962. //
  1963. // Solidity: function balanceOf(address account, uint256 id) view returns(uint256)
  1964. func (_ERC1155 *ERC1155Caller) BalanceOf(opts *bind.CallOpts, account common.Address, id *big.Int) (*big.Int, error) {
  1965. var out []interface{}
  1966. err := _ERC1155.contract.Call(opts, &out, "balanceOf", account, id)
  1967. if err != nil {
  1968. return *new(*big.Int), err
  1969. }
  1970. out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
  1971. return out0, err
  1972. }
  1973. // BalanceOf is a free data retrieval call binding the contract method 0x00fdd58e.
  1974. //
  1975. // Solidity: function balanceOf(address account, uint256 id) view returns(uint256)
  1976. func (_ERC1155 *ERC1155Session) BalanceOf(account common.Address, id *big.Int) (*big.Int, error) {
  1977. return _ERC1155.Contract.BalanceOf(&_ERC1155.CallOpts, account, id)
  1978. }
  1979. // BalanceOf is a free data retrieval call binding the contract method 0x00fdd58e.
  1980. //
  1981. // Solidity: function balanceOf(address account, uint256 id) view returns(uint256)
  1982. func (_ERC1155 *ERC1155CallerSession) BalanceOf(account common.Address, id *big.Int) (*big.Int, error) {
  1983. return _ERC1155.Contract.BalanceOf(&_ERC1155.CallOpts, account, id)
  1984. }
  1985. // BalanceOfBatch is a free data retrieval call binding the contract method 0x4e1273f4.
  1986. //
  1987. // Solidity: function balanceOfBatch(address[] accounts, uint256[] ids) view returns(uint256[])
  1988. func (_ERC1155 *ERC1155Caller) BalanceOfBatch(opts *bind.CallOpts, accounts []common.Address, ids []*big.Int) ([]*big.Int, error) {
  1989. var out []interface{}
  1990. err := _ERC1155.contract.Call(opts, &out, "balanceOfBatch", accounts, ids)
  1991. if err != nil {
  1992. return *new([]*big.Int), err
  1993. }
  1994. out0 := *abi.ConvertType(out[0], new([]*big.Int)).(*[]*big.Int)
  1995. return out0, err
  1996. }
  1997. // BalanceOfBatch is a free data retrieval call binding the contract method 0x4e1273f4.
  1998. //
  1999. // Solidity: function balanceOfBatch(address[] accounts, uint256[] ids) view returns(uint256[])
  2000. func (_ERC1155 *ERC1155Session) BalanceOfBatch(accounts []common.Address, ids []*big.Int) ([]*big.Int, error) {
  2001. return _ERC1155.Contract.BalanceOfBatch(&_ERC1155.CallOpts, accounts, ids)
  2002. }
  2003. // BalanceOfBatch is a free data retrieval call binding the contract method 0x4e1273f4.
  2004. //
  2005. // Solidity: function balanceOfBatch(address[] accounts, uint256[] ids) view returns(uint256[])
  2006. func (_ERC1155 *ERC1155CallerSession) BalanceOfBatch(accounts []common.Address, ids []*big.Int) ([]*big.Int, error) {
  2007. return _ERC1155.Contract.BalanceOfBatch(&_ERC1155.CallOpts, accounts, ids)
  2008. }
  2009. // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5.
  2010. //
  2011. // Solidity: function isApprovedForAll(address account, address operator) view returns(bool)
  2012. func (_ERC1155 *ERC1155Caller) IsApprovedForAll(opts *bind.CallOpts, account common.Address, operator common.Address) (bool, error) {
  2013. var out []interface{}
  2014. err := _ERC1155.contract.Call(opts, &out, "isApprovedForAll", account, operator)
  2015. if err != nil {
  2016. return *new(bool), err
  2017. }
  2018. out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
  2019. return out0, err
  2020. }
  2021. // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5.
  2022. //
  2023. // Solidity: function isApprovedForAll(address account, address operator) view returns(bool)
  2024. func (_ERC1155 *ERC1155Session) IsApprovedForAll(account common.Address, operator common.Address) (bool, error) {
  2025. return _ERC1155.Contract.IsApprovedForAll(&_ERC1155.CallOpts, account, operator)
  2026. }
  2027. // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5.
  2028. //
  2029. // Solidity: function isApprovedForAll(address account, address operator) view returns(bool)
  2030. func (_ERC1155 *ERC1155CallerSession) IsApprovedForAll(account common.Address, operator common.Address) (bool, error) {
  2031. return _ERC1155.Contract.IsApprovedForAll(&_ERC1155.CallOpts, account, operator)
  2032. }
  2033. // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
  2034. //
  2035. // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
  2036. func (_ERC1155 *ERC1155Caller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) {
  2037. var out []interface{}
  2038. err := _ERC1155.contract.Call(opts, &out, "supportsInterface", interfaceId)
  2039. if err != nil {
  2040. return *new(bool), err
  2041. }
  2042. out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
  2043. return out0, err
  2044. }
  2045. // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
  2046. //
  2047. // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
  2048. func (_ERC1155 *ERC1155Session) SupportsInterface(interfaceId [4]byte) (bool, error) {
  2049. return _ERC1155.Contract.SupportsInterface(&_ERC1155.CallOpts, interfaceId)
  2050. }
  2051. // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
  2052. //
  2053. // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
  2054. func (_ERC1155 *ERC1155CallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) {
  2055. return _ERC1155.Contract.SupportsInterface(&_ERC1155.CallOpts, interfaceId)
  2056. }
  2057. // Uri is a free data retrieval call binding the contract method 0x0e89341c.
  2058. //
  2059. // Solidity: function uri(uint256 ) view returns(string)
  2060. func (_ERC1155 *ERC1155Caller) Uri(opts *bind.CallOpts, arg0 *big.Int) (string, error) {
  2061. var out []interface{}
  2062. err := _ERC1155.contract.Call(opts, &out, "uri", arg0)
  2063. if err != nil {
  2064. return *new(string), err
  2065. }
  2066. out0 := *abi.ConvertType(out[0], new(string)).(*string)
  2067. return out0, err
  2068. }
  2069. // Uri is a free data retrieval call binding the contract method 0x0e89341c.
  2070. //
  2071. // Solidity: function uri(uint256 ) view returns(string)
  2072. func (_ERC1155 *ERC1155Session) Uri(arg0 *big.Int) (string, error) {
  2073. return _ERC1155.Contract.Uri(&_ERC1155.CallOpts, arg0)
  2074. }
  2075. // Uri is a free data retrieval call binding the contract method 0x0e89341c.
  2076. //
  2077. // Solidity: function uri(uint256 ) view returns(string)
  2078. func (_ERC1155 *ERC1155CallerSession) Uri(arg0 *big.Int) (string, error) {
  2079. return _ERC1155.Contract.Uri(&_ERC1155.CallOpts, arg0)
  2080. }
  2081. // SafeBatchTransferFrom is a paid mutator transaction binding the contract method 0x2eb2c2d6.
  2082. //
  2083. // Solidity: function safeBatchTransferFrom(address from, address to, uint256[] ids, uint256[] amounts, bytes data) returns()
  2084. func (_ERC1155 *ERC1155Transactor) SafeBatchTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, ids []*big.Int, amounts []*big.Int, data []byte) (*types.Transaction, error) {
  2085. return _ERC1155.contract.Transact(opts, "safeBatchTransferFrom", from, to, ids, amounts, data)
  2086. }
  2087. // SafeBatchTransferFrom is a paid mutator transaction binding the contract method 0x2eb2c2d6.
  2088. //
  2089. // Solidity: function safeBatchTransferFrom(address from, address to, uint256[] ids, uint256[] amounts, bytes data) returns()
  2090. func (_ERC1155 *ERC1155Session) SafeBatchTransferFrom(from common.Address, to common.Address, ids []*big.Int, amounts []*big.Int, data []byte) (*types.Transaction, error) {
  2091. return _ERC1155.Contract.SafeBatchTransferFrom(&_ERC1155.TransactOpts, from, to, ids, amounts, data)
  2092. }
  2093. // SafeBatchTransferFrom is a paid mutator transaction binding the contract method 0x2eb2c2d6.
  2094. //
  2095. // Solidity: function safeBatchTransferFrom(address from, address to, uint256[] ids, uint256[] amounts, bytes data) returns()
  2096. func (_ERC1155 *ERC1155TransactorSession) SafeBatchTransferFrom(from common.Address, to common.Address, ids []*big.Int, amounts []*big.Int, data []byte) (*types.Transaction, error) {
  2097. return _ERC1155.Contract.SafeBatchTransferFrom(&_ERC1155.TransactOpts, from, to, ids, amounts, data)
  2098. }
  2099. // SafeTransferFrom is a paid mutator transaction binding the contract method 0xf242432a.
  2100. //
  2101. // Solidity: function safeTransferFrom(address from, address to, uint256 id, uint256 amount, bytes data) returns()
  2102. func (_ERC1155 *ERC1155Transactor) SafeTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, id *big.Int, amount *big.Int, data []byte) (*types.Transaction, error) {
  2103. return _ERC1155.contract.Transact(opts, "safeTransferFrom", from, to, id, amount, data)
  2104. }
  2105. // SafeTransferFrom is a paid mutator transaction binding the contract method 0xf242432a.
  2106. //
  2107. // Solidity: function safeTransferFrom(address from, address to, uint256 id, uint256 amount, bytes data) returns()
  2108. func (_ERC1155 *ERC1155Session) SafeTransferFrom(from common.Address, to common.Address, id *big.Int, amount *big.Int, data []byte) (*types.Transaction, error) {
  2109. return _ERC1155.Contract.SafeTransferFrom(&_ERC1155.TransactOpts, from, to, id, amount, data)
  2110. }
  2111. // SafeTransferFrom is a paid mutator transaction binding the contract method 0xf242432a.
  2112. //
  2113. // Solidity: function safeTransferFrom(address from, address to, uint256 id, uint256 amount, bytes data) returns()
  2114. func (_ERC1155 *ERC1155TransactorSession) SafeTransferFrom(from common.Address, to common.Address, id *big.Int, amount *big.Int, data []byte) (*types.Transaction, error) {
  2115. return _ERC1155.Contract.SafeTransferFrom(&_ERC1155.TransactOpts, from, to, id, amount, data)
  2116. }
  2117. // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465.
  2118. //
  2119. // Solidity: function setApprovalForAll(address operator, bool approved) returns()
  2120. func (_ERC1155 *ERC1155Transactor) SetApprovalForAll(opts *bind.TransactOpts, operator common.Address, approved bool) (*types.Transaction, error) {
  2121. return _ERC1155.contract.Transact(opts, "setApprovalForAll", operator, approved)
  2122. }
  2123. // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465.
  2124. //
  2125. // Solidity: function setApprovalForAll(address operator, bool approved) returns()
  2126. func (_ERC1155 *ERC1155Session) SetApprovalForAll(operator common.Address, approved bool) (*types.Transaction, error) {
  2127. return _ERC1155.Contract.SetApprovalForAll(&_ERC1155.TransactOpts, operator, approved)
  2128. }
  2129. // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465.
  2130. //
  2131. // Solidity: function setApprovalForAll(address operator, bool approved) returns()
  2132. func (_ERC1155 *ERC1155TransactorSession) SetApprovalForAll(operator common.Address, approved bool) (*types.Transaction, error) {
  2133. return _ERC1155.Contract.SetApprovalForAll(&_ERC1155.TransactOpts, operator, approved)
  2134. }
  2135. // ERC1155ApprovalForAllIterator is returned from FilterApprovalForAll and is used to iterate over the raw logs and unpacked data for ApprovalForAll events raised by the ERC1155 contract.
  2136. type ERC1155ApprovalForAllIterator struct {
  2137. Event *ERC1155ApprovalForAll // Event containing the contract specifics and raw log
  2138. contract *bind.BoundContract // Generic contract to use for unpacking event data
  2139. event string // Event name to use for unpacking event data
  2140. logs chan types.Log // Log channel receiving the found contract events
  2141. sub ethereum.Subscription // Subscription for errors, completion and termination
  2142. done bool // Whether the subscription completed delivering logs
  2143. fail error // Occurred error to stop iteration
  2144. }
  2145. // Next advances the iterator to the subsequent event, returning whether there
  2146. // are any more events found. In case of a retrieval or parsing error, false is
  2147. // returned and Error() can be queried for the exact failure.
  2148. func (it *ERC1155ApprovalForAllIterator) Next() bool {
  2149. // If the iterator failed, stop iterating
  2150. if it.fail != nil {
  2151. return false
  2152. }
  2153. // If the iterator completed, deliver directly whatever's available
  2154. if it.done {
  2155. select {
  2156. case log := <-it.logs:
  2157. it.Event = new(ERC1155ApprovalForAll)
  2158. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  2159. it.fail = err
  2160. return false
  2161. }
  2162. it.Event.Raw = log
  2163. return true
  2164. default:
  2165. return false
  2166. }
  2167. }
  2168. // Iterator still in progress, wait for either a data or an error event
  2169. select {
  2170. case log := <-it.logs:
  2171. it.Event = new(ERC1155ApprovalForAll)
  2172. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  2173. it.fail = err
  2174. return false
  2175. }
  2176. it.Event.Raw = log
  2177. return true
  2178. case err := <-it.sub.Err():
  2179. it.done = true
  2180. it.fail = err
  2181. return it.Next()
  2182. }
  2183. }
  2184. // Error returns any retrieval or parsing error occurred during filtering.
  2185. func (it *ERC1155ApprovalForAllIterator) Error() error {
  2186. return it.fail
  2187. }
  2188. // Close terminates the iteration process, releasing any pending underlying
  2189. // resources.
  2190. func (it *ERC1155ApprovalForAllIterator) Close() error {
  2191. it.sub.Unsubscribe()
  2192. return nil
  2193. }
  2194. // ERC1155ApprovalForAll represents a ApprovalForAll event raised by the ERC1155 contract.
  2195. type ERC1155ApprovalForAll struct {
  2196. Account common.Address
  2197. Operator common.Address
  2198. Approved bool
  2199. Raw types.Log // Blockchain specific contextual infos
  2200. }
  2201. // FilterApprovalForAll is a free log retrieval operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31.
  2202. //
  2203. // Solidity: event ApprovalForAll(address indexed account, address indexed operator, bool approved)
  2204. func (_ERC1155 *ERC1155Filterer) FilterApprovalForAll(opts *bind.FilterOpts, account []common.Address, operator []common.Address) (*ERC1155ApprovalForAllIterator, error) {
  2205. var accountRule []interface{}
  2206. for _, accountItem := range account {
  2207. accountRule = append(accountRule, accountItem)
  2208. }
  2209. var operatorRule []interface{}
  2210. for _, operatorItem := range operator {
  2211. operatorRule = append(operatorRule, operatorItem)
  2212. }
  2213. logs, sub, err := _ERC1155.contract.FilterLogs(opts, "ApprovalForAll", accountRule, operatorRule)
  2214. if err != nil {
  2215. return nil, err
  2216. }
  2217. return &ERC1155ApprovalForAllIterator{contract: _ERC1155.contract, event: "ApprovalForAll", logs: logs, sub: sub}, nil
  2218. }
  2219. // WatchApprovalForAll is a free log subscription operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31.
  2220. //
  2221. // Solidity: event ApprovalForAll(address indexed account, address indexed operator, bool approved)
  2222. func (_ERC1155 *ERC1155Filterer) WatchApprovalForAll(opts *bind.WatchOpts, sink chan<- *ERC1155ApprovalForAll, account []common.Address, operator []common.Address) (event.Subscription, error) {
  2223. var accountRule []interface{}
  2224. for _, accountItem := range account {
  2225. accountRule = append(accountRule, accountItem)
  2226. }
  2227. var operatorRule []interface{}
  2228. for _, operatorItem := range operator {
  2229. operatorRule = append(operatorRule, operatorItem)
  2230. }
  2231. logs, sub, err := _ERC1155.contract.WatchLogs(opts, "ApprovalForAll", accountRule, operatorRule)
  2232. if err != nil {
  2233. return nil, err
  2234. }
  2235. return event.NewSubscription(func(quit <-chan struct{}) error {
  2236. defer sub.Unsubscribe()
  2237. for {
  2238. select {
  2239. case log := <-logs:
  2240. // New log arrived, parse the event and forward to the user
  2241. event := new(ERC1155ApprovalForAll)
  2242. if err := _ERC1155.contract.UnpackLog(event, "ApprovalForAll", log); err != nil {
  2243. return err
  2244. }
  2245. event.Raw = log
  2246. select {
  2247. case sink <- event:
  2248. case err := <-sub.Err():
  2249. return err
  2250. case <-quit:
  2251. return nil
  2252. }
  2253. case err := <-sub.Err():
  2254. return err
  2255. case <-quit:
  2256. return nil
  2257. }
  2258. }
  2259. }), nil
  2260. }
  2261. // ParseApprovalForAll is a log parse operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31.
  2262. //
  2263. // Solidity: event ApprovalForAll(address indexed account, address indexed operator, bool approved)
  2264. func (_ERC1155 *ERC1155Filterer) ParseApprovalForAll(log types.Log) (*ERC1155ApprovalForAll, error) {
  2265. event := new(ERC1155ApprovalForAll)
  2266. if err := _ERC1155.contract.UnpackLog(event, "ApprovalForAll", log); err != nil {
  2267. return nil, err
  2268. }
  2269. event.Raw = log
  2270. return event, nil
  2271. }
  2272. // ERC1155TransferBatchIterator is returned from FilterTransferBatch and is used to iterate over the raw logs and unpacked data for TransferBatch events raised by the ERC1155 contract.
  2273. type ERC1155TransferBatchIterator struct {
  2274. Event *ERC1155TransferBatch // Event containing the contract specifics and raw log
  2275. contract *bind.BoundContract // Generic contract to use for unpacking event data
  2276. event string // Event name to use for unpacking event data
  2277. logs chan types.Log // Log channel receiving the found contract events
  2278. sub ethereum.Subscription // Subscription for errors, completion and termination
  2279. done bool // Whether the subscription completed delivering logs
  2280. fail error // Occurred error to stop iteration
  2281. }
  2282. // Next advances the iterator to the subsequent event, returning whether there
  2283. // are any more events found. In case of a retrieval or parsing error, false is
  2284. // returned and Error() can be queried for the exact failure.
  2285. func (it *ERC1155TransferBatchIterator) Next() bool {
  2286. // If the iterator failed, stop iterating
  2287. if it.fail != nil {
  2288. return false
  2289. }
  2290. // If the iterator completed, deliver directly whatever's available
  2291. if it.done {
  2292. select {
  2293. case log := <-it.logs:
  2294. it.Event = new(ERC1155TransferBatch)
  2295. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  2296. it.fail = err
  2297. return false
  2298. }
  2299. it.Event.Raw = log
  2300. return true
  2301. default:
  2302. return false
  2303. }
  2304. }
  2305. // Iterator still in progress, wait for either a data or an error event
  2306. select {
  2307. case log := <-it.logs:
  2308. it.Event = new(ERC1155TransferBatch)
  2309. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  2310. it.fail = err
  2311. return false
  2312. }
  2313. it.Event.Raw = log
  2314. return true
  2315. case err := <-it.sub.Err():
  2316. it.done = true
  2317. it.fail = err
  2318. return it.Next()
  2319. }
  2320. }
  2321. // Error returns any retrieval or parsing error occurred during filtering.
  2322. func (it *ERC1155TransferBatchIterator) Error() error {
  2323. return it.fail
  2324. }
  2325. // Close terminates the iteration process, releasing any pending underlying
  2326. // resources.
  2327. func (it *ERC1155TransferBatchIterator) Close() error {
  2328. it.sub.Unsubscribe()
  2329. return nil
  2330. }
  2331. // ERC1155TransferBatch represents a TransferBatch event raised by the ERC1155 contract.
  2332. type ERC1155TransferBatch struct {
  2333. Operator common.Address
  2334. From common.Address
  2335. To common.Address
  2336. Ids []*big.Int
  2337. Values []*big.Int
  2338. Raw types.Log // Blockchain specific contextual infos
  2339. }
  2340. // FilterTransferBatch is a free log retrieval operation binding the contract event 0x4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb.
  2341. //
  2342. // Solidity: event TransferBatch(address indexed operator, address indexed from, address indexed to, uint256[] ids, uint256[] values)
  2343. func (_ERC1155 *ERC1155Filterer) FilterTransferBatch(opts *bind.FilterOpts, operator []common.Address, from []common.Address, to []common.Address) (*ERC1155TransferBatchIterator, error) {
  2344. var operatorRule []interface{}
  2345. for _, operatorItem := range operator {
  2346. operatorRule = append(operatorRule, operatorItem)
  2347. }
  2348. var fromRule []interface{}
  2349. for _, fromItem := range from {
  2350. fromRule = append(fromRule, fromItem)
  2351. }
  2352. var toRule []interface{}
  2353. for _, toItem := range to {
  2354. toRule = append(toRule, toItem)
  2355. }
  2356. logs, sub, err := _ERC1155.contract.FilterLogs(opts, "TransferBatch", operatorRule, fromRule, toRule)
  2357. if err != nil {
  2358. return nil, err
  2359. }
  2360. return &ERC1155TransferBatchIterator{contract: _ERC1155.contract, event: "TransferBatch", logs: logs, sub: sub}, nil
  2361. }
  2362. // WatchTransferBatch is a free log subscription operation binding the contract event 0x4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb.
  2363. //
  2364. // Solidity: event TransferBatch(address indexed operator, address indexed from, address indexed to, uint256[] ids, uint256[] values)
  2365. func (_ERC1155 *ERC1155Filterer) WatchTransferBatch(opts *bind.WatchOpts, sink chan<- *ERC1155TransferBatch, operator []common.Address, from []common.Address, to []common.Address) (event.Subscription, error) {
  2366. var operatorRule []interface{}
  2367. for _, operatorItem := range operator {
  2368. operatorRule = append(operatorRule, operatorItem)
  2369. }
  2370. var fromRule []interface{}
  2371. for _, fromItem := range from {
  2372. fromRule = append(fromRule, fromItem)
  2373. }
  2374. var toRule []interface{}
  2375. for _, toItem := range to {
  2376. toRule = append(toRule, toItem)
  2377. }
  2378. logs, sub, err := _ERC1155.contract.WatchLogs(opts, "TransferBatch", operatorRule, fromRule, toRule)
  2379. if err != nil {
  2380. return nil, err
  2381. }
  2382. return event.NewSubscription(func(quit <-chan struct{}) error {
  2383. defer sub.Unsubscribe()
  2384. for {
  2385. select {
  2386. case log := <-logs:
  2387. // New log arrived, parse the event and forward to the user
  2388. event := new(ERC1155TransferBatch)
  2389. if err := _ERC1155.contract.UnpackLog(event, "TransferBatch", log); err != nil {
  2390. return err
  2391. }
  2392. event.Raw = log
  2393. select {
  2394. case sink <- event:
  2395. case err := <-sub.Err():
  2396. return err
  2397. case <-quit:
  2398. return nil
  2399. }
  2400. case err := <-sub.Err():
  2401. return err
  2402. case <-quit:
  2403. return nil
  2404. }
  2405. }
  2406. }), nil
  2407. }
  2408. // ParseTransferBatch is a log parse operation binding the contract event 0x4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb.
  2409. //
  2410. // Solidity: event TransferBatch(address indexed operator, address indexed from, address indexed to, uint256[] ids, uint256[] values)
  2411. func (_ERC1155 *ERC1155Filterer) ParseTransferBatch(log types.Log) (*ERC1155TransferBatch, error) {
  2412. event := new(ERC1155TransferBatch)
  2413. if err := _ERC1155.contract.UnpackLog(event, "TransferBatch", log); err != nil {
  2414. return nil, err
  2415. }
  2416. event.Raw = log
  2417. return event, nil
  2418. }
  2419. // ERC1155TransferSingleIterator is returned from FilterTransferSingle and is used to iterate over the raw logs and unpacked data for TransferSingle events raised by the ERC1155 contract.
  2420. type ERC1155TransferSingleIterator struct {
  2421. Event *ERC1155TransferSingle // Event containing the contract specifics and raw log
  2422. contract *bind.BoundContract // Generic contract to use for unpacking event data
  2423. event string // Event name to use for unpacking event data
  2424. logs chan types.Log // Log channel receiving the found contract events
  2425. sub ethereum.Subscription // Subscription for errors, completion and termination
  2426. done bool // Whether the subscription completed delivering logs
  2427. fail error // Occurred error to stop iteration
  2428. }
  2429. // Next advances the iterator to the subsequent event, returning whether there
  2430. // are any more events found. In case of a retrieval or parsing error, false is
  2431. // returned and Error() can be queried for the exact failure.
  2432. func (it *ERC1155TransferSingleIterator) Next() bool {
  2433. // If the iterator failed, stop iterating
  2434. if it.fail != nil {
  2435. return false
  2436. }
  2437. // If the iterator completed, deliver directly whatever's available
  2438. if it.done {
  2439. select {
  2440. case log := <-it.logs:
  2441. it.Event = new(ERC1155TransferSingle)
  2442. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  2443. it.fail = err
  2444. return false
  2445. }
  2446. it.Event.Raw = log
  2447. return true
  2448. default:
  2449. return false
  2450. }
  2451. }
  2452. // Iterator still in progress, wait for either a data or an error event
  2453. select {
  2454. case log := <-it.logs:
  2455. it.Event = new(ERC1155TransferSingle)
  2456. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  2457. it.fail = err
  2458. return false
  2459. }
  2460. it.Event.Raw = log
  2461. return true
  2462. case err := <-it.sub.Err():
  2463. it.done = true
  2464. it.fail = err
  2465. return it.Next()
  2466. }
  2467. }
  2468. // Error returns any retrieval or parsing error occurred during filtering.
  2469. func (it *ERC1155TransferSingleIterator) Error() error {
  2470. return it.fail
  2471. }
  2472. // Close terminates the iteration process, releasing any pending underlying
  2473. // resources.
  2474. func (it *ERC1155TransferSingleIterator) Close() error {
  2475. it.sub.Unsubscribe()
  2476. return nil
  2477. }
  2478. // ERC1155TransferSingle represents a TransferSingle event raised by the ERC1155 contract.
  2479. type ERC1155TransferSingle struct {
  2480. Operator common.Address
  2481. From common.Address
  2482. To common.Address
  2483. Id *big.Int
  2484. Value *big.Int
  2485. Raw types.Log // Blockchain specific contextual infos
  2486. }
  2487. // FilterTransferSingle is a free log retrieval operation binding the contract event 0xc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62.
  2488. //
  2489. // Solidity: event TransferSingle(address indexed operator, address indexed from, address indexed to, uint256 id, uint256 value)
  2490. func (_ERC1155 *ERC1155Filterer) FilterTransferSingle(opts *bind.FilterOpts, operator []common.Address, from []common.Address, to []common.Address) (*ERC1155TransferSingleIterator, error) {
  2491. var operatorRule []interface{}
  2492. for _, operatorItem := range operator {
  2493. operatorRule = append(operatorRule, operatorItem)
  2494. }
  2495. var fromRule []interface{}
  2496. for _, fromItem := range from {
  2497. fromRule = append(fromRule, fromItem)
  2498. }
  2499. var toRule []interface{}
  2500. for _, toItem := range to {
  2501. toRule = append(toRule, toItem)
  2502. }
  2503. logs, sub, err := _ERC1155.contract.FilterLogs(opts, "TransferSingle", operatorRule, fromRule, toRule)
  2504. if err != nil {
  2505. return nil, err
  2506. }
  2507. return &ERC1155TransferSingleIterator{contract: _ERC1155.contract, event: "TransferSingle", logs: logs, sub: sub}, nil
  2508. }
  2509. // WatchTransferSingle is a free log subscription operation binding the contract event 0xc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62.
  2510. //
  2511. // Solidity: event TransferSingle(address indexed operator, address indexed from, address indexed to, uint256 id, uint256 value)
  2512. func (_ERC1155 *ERC1155Filterer) WatchTransferSingle(opts *bind.WatchOpts, sink chan<- *ERC1155TransferSingle, operator []common.Address, from []common.Address, to []common.Address) (event.Subscription, error) {
  2513. var operatorRule []interface{}
  2514. for _, operatorItem := range operator {
  2515. operatorRule = append(operatorRule, operatorItem)
  2516. }
  2517. var fromRule []interface{}
  2518. for _, fromItem := range from {
  2519. fromRule = append(fromRule, fromItem)
  2520. }
  2521. var toRule []interface{}
  2522. for _, toItem := range to {
  2523. toRule = append(toRule, toItem)
  2524. }
  2525. logs, sub, err := _ERC1155.contract.WatchLogs(opts, "TransferSingle", operatorRule, fromRule, toRule)
  2526. if err != nil {
  2527. return nil, err
  2528. }
  2529. return event.NewSubscription(func(quit <-chan struct{}) error {
  2530. defer sub.Unsubscribe()
  2531. for {
  2532. select {
  2533. case log := <-logs:
  2534. // New log arrived, parse the event and forward to the user
  2535. event := new(ERC1155TransferSingle)
  2536. if err := _ERC1155.contract.UnpackLog(event, "TransferSingle", log); err != nil {
  2537. return err
  2538. }
  2539. event.Raw = log
  2540. select {
  2541. case sink <- event:
  2542. case err := <-sub.Err():
  2543. return err
  2544. case <-quit:
  2545. return nil
  2546. }
  2547. case err := <-sub.Err():
  2548. return err
  2549. case <-quit:
  2550. return nil
  2551. }
  2552. }
  2553. }), nil
  2554. }
  2555. // ParseTransferSingle is a log parse operation binding the contract event 0xc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62.
  2556. //
  2557. // Solidity: event TransferSingle(address indexed operator, address indexed from, address indexed to, uint256 id, uint256 value)
  2558. func (_ERC1155 *ERC1155Filterer) ParseTransferSingle(log types.Log) (*ERC1155TransferSingle, error) {
  2559. event := new(ERC1155TransferSingle)
  2560. if err := _ERC1155.contract.UnpackLog(event, "TransferSingle", log); err != nil {
  2561. return nil, err
  2562. }
  2563. event.Raw = log
  2564. return event, nil
  2565. }
  2566. // ERC1155URIIterator is returned from FilterURI and is used to iterate over the raw logs and unpacked data for URI events raised by the ERC1155 contract.
  2567. type ERC1155URIIterator struct {
  2568. Event *ERC1155URI // Event containing the contract specifics and raw log
  2569. contract *bind.BoundContract // Generic contract to use for unpacking event data
  2570. event string // Event name to use for unpacking event data
  2571. logs chan types.Log // Log channel receiving the found contract events
  2572. sub ethereum.Subscription // Subscription for errors, completion and termination
  2573. done bool // Whether the subscription completed delivering logs
  2574. fail error // Occurred error to stop iteration
  2575. }
  2576. // Next advances the iterator to the subsequent event, returning whether there
  2577. // are any more events found. In case of a retrieval or parsing error, false is
  2578. // returned and Error() can be queried for the exact failure.
  2579. func (it *ERC1155URIIterator) Next() bool {
  2580. // If the iterator failed, stop iterating
  2581. if it.fail != nil {
  2582. return false
  2583. }
  2584. // If the iterator completed, deliver directly whatever's available
  2585. if it.done {
  2586. select {
  2587. case log := <-it.logs:
  2588. it.Event = new(ERC1155URI)
  2589. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  2590. it.fail = err
  2591. return false
  2592. }
  2593. it.Event.Raw = log
  2594. return true
  2595. default:
  2596. return false
  2597. }
  2598. }
  2599. // Iterator still in progress, wait for either a data or an error event
  2600. select {
  2601. case log := <-it.logs:
  2602. it.Event = new(ERC1155URI)
  2603. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  2604. it.fail = err
  2605. return false
  2606. }
  2607. it.Event.Raw = log
  2608. return true
  2609. case err := <-it.sub.Err():
  2610. it.done = true
  2611. it.fail = err
  2612. return it.Next()
  2613. }
  2614. }
  2615. // Error returns any retrieval or parsing error occurred during filtering.
  2616. func (it *ERC1155URIIterator) Error() error {
  2617. return it.fail
  2618. }
  2619. // Close terminates the iteration process, releasing any pending underlying
  2620. // resources.
  2621. func (it *ERC1155URIIterator) Close() error {
  2622. it.sub.Unsubscribe()
  2623. return nil
  2624. }
  2625. // ERC1155URI represents a URI event raised by the ERC1155 contract.
  2626. type ERC1155URI struct {
  2627. Value string
  2628. Id *big.Int
  2629. Raw types.Log // Blockchain specific contextual infos
  2630. }
  2631. // FilterURI is a free log retrieval operation binding the contract event 0x6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b.
  2632. //
  2633. // Solidity: event URI(string value, uint256 indexed id)
  2634. func (_ERC1155 *ERC1155Filterer) FilterURI(opts *bind.FilterOpts, id []*big.Int) (*ERC1155URIIterator, error) {
  2635. var idRule []interface{}
  2636. for _, idItem := range id {
  2637. idRule = append(idRule, idItem)
  2638. }
  2639. logs, sub, err := _ERC1155.contract.FilterLogs(opts, "URI", idRule)
  2640. if err != nil {
  2641. return nil, err
  2642. }
  2643. return &ERC1155URIIterator{contract: _ERC1155.contract, event: "URI", logs: logs, sub: sub}, nil
  2644. }
  2645. // WatchURI is a free log subscription operation binding the contract event 0x6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b.
  2646. //
  2647. // Solidity: event URI(string value, uint256 indexed id)
  2648. func (_ERC1155 *ERC1155Filterer) WatchURI(opts *bind.WatchOpts, sink chan<- *ERC1155URI, id []*big.Int) (event.Subscription, error) {
  2649. var idRule []interface{}
  2650. for _, idItem := range id {
  2651. idRule = append(idRule, idItem)
  2652. }
  2653. logs, sub, err := _ERC1155.contract.WatchLogs(opts, "URI", idRule)
  2654. if err != nil {
  2655. return nil, err
  2656. }
  2657. return event.NewSubscription(func(quit <-chan struct{}) error {
  2658. defer sub.Unsubscribe()
  2659. for {
  2660. select {
  2661. case log := <-logs:
  2662. // New log arrived, parse the event and forward to the user
  2663. event := new(ERC1155URI)
  2664. if err := _ERC1155.contract.UnpackLog(event, "URI", log); err != nil {
  2665. return err
  2666. }
  2667. event.Raw = log
  2668. select {
  2669. case sink <- event:
  2670. case err := <-sub.Err():
  2671. return err
  2672. case <-quit:
  2673. return nil
  2674. }
  2675. case err := <-sub.Err():
  2676. return err
  2677. case <-quit:
  2678. return nil
  2679. }
  2680. }
  2681. }), nil
  2682. }
  2683. // ParseURI is a log parse operation binding the contract event 0x6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b.
  2684. //
  2685. // Solidity: event URI(string value, uint256 indexed id)
  2686. func (_ERC1155 *ERC1155Filterer) ParseURI(log types.Log) (*ERC1155URI, error) {
  2687. event := new(ERC1155URI)
  2688. if err := _ERC1155.contract.UnpackLog(event, "URI", log); err != nil {
  2689. return nil, err
  2690. }
  2691. event.Raw = log
  2692. return event, nil
  2693. }
  2694. // ERC165MetaData contains all meta data concerning the ERC165 contract.
  2695. var ERC165MetaData = &bind.MetaData{
  2696. ABI: "[{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]",
  2697. Sigs: map[string]string{
  2698. "01ffc9a7": "supportsInterface(bytes4)",
  2699. },
  2700. }
  2701. // ERC165ABI is the input ABI used to generate the binding from.
  2702. // Deprecated: Use ERC165MetaData.ABI instead.
  2703. var ERC165ABI = ERC165MetaData.ABI
  2704. // Deprecated: Use ERC165MetaData.Sigs instead.
  2705. // ERC165FuncSigs maps the 4-byte function signature to its string representation.
  2706. var ERC165FuncSigs = ERC165MetaData.Sigs
  2707. // ERC165 is an auto generated Go binding around an Ethereum contract.
  2708. type ERC165 struct {
  2709. ERC165Caller // Read-only binding to the contract
  2710. ERC165Transactor // Write-only binding to the contract
  2711. ERC165Filterer // Log filterer for contract events
  2712. }
  2713. // ERC165Caller is an auto generated read-only Go binding around an Ethereum contract.
  2714. type ERC165Caller struct {
  2715. contract *bind.BoundContract // Generic contract wrapper for the low level calls
  2716. }
  2717. // ERC165Transactor is an auto generated write-only Go binding around an Ethereum contract.
  2718. type ERC165Transactor struct {
  2719. contract *bind.BoundContract // Generic contract wrapper for the low level calls
  2720. }
  2721. // ERC165Filterer is an auto generated log filtering Go binding around an Ethereum contract events.
  2722. type ERC165Filterer struct {
  2723. contract *bind.BoundContract // Generic contract wrapper for the low level calls
  2724. }
  2725. // ERC165Session is an auto generated Go binding around an Ethereum contract,
  2726. // with pre-set call and transact options.
  2727. type ERC165Session struct {
  2728. Contract *ERC165 // Generic contract binding to set the session for
  2729. CallOpts bind.CallOpts // Call options to use throughout this session
  2730. TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
  2731. }
  2732. // ERC165CallerSession is an auto generated read-only Go binding around an Ethereum contract,
  2733. // with pre-set call options.
  2734. type ERC165CallerSession struct {
  2735. Contract *ERC165Caller // Generic contract caller binding to set the session for
  2736. CallOpts bind.CallOpts // Call options to use throughout this session
  2737. }
  2738. // ERC165TransactorSession is an auto generated write-only Go binding around an Ethereum contract,
  2739. // with pre-set transact options.
  2740. type ERC165TransactorSession struct {
  2741. Contract *ERC165Transactor // Generic contract transactor binding to set the session for
  2742. TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
  2743. }
  2744. // ERC165Raw is an auto generated low-level Go binding around an Ethereum contract.
  2745. type ERC165Raw struct {
  2746. Contract *ERC165 // Generic contract binding to access the raw methods on
  2747. }
  2748. // ERC165CallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
  2749. type ERC165CallerRaw struct {
  2750. Contract *ERC165Caller // Generic read-only contract binding to access the raw methods on
  2751. }
  2752. // ERC165TransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
  2753. type ERC165TransactorRaw struct {
  2754. Contract *ERC165Transactor // Generic write-only contract binding to access the raw methods on
  2755. }
  2756. // NewERC165 creates a new instance of ERC165, bound to a specific deployed contract.
  2757. func NewERC165(address common.Address, backend bind.ContractBackend) (*ERC165, error) {
  2758. contract, err := bindERC165(address, backend, backend, backend)
  2759. if err != nil {
  2760. return nil, err
  2761. }
  2762. return &ERC165{ERC165Caller: ERC165Caller{contract: contract}, ERC165Transactor: ERC165Transactor{contract: contract}, ERC165Filterer: ERC165Filterer{contract: contract}}, nil
  2763. }
  2764. // NewERC165Caller creates a new read-only instance of ERC165, bound to a specific deployed contract.
  2765. func NewERC165Caller(address common.Address, caller bind.ContractCaller) (*ERC165Caller, error) {
  2766. contract, err := bindERC165(address, caller, nil, nil)
  2767. if err != nil {
  2768. return nil, err
  2769. }
  2770. return &ERC165Caller{contract: contract}, nil
  2771. }
  2772. // NewERC165Transactor creates a new write-only instance of ERC165, bound to a specific deployed contract.
  2773. func NewERC165Transactor(address common.Address, transactor bind.ContractTransactor) (*ERC165Transactor, error) {
  2774. contract, err := bindERC165(address, nil, transactor, nil)
  2775. if err != nil {
  2776. return nil, err
  2777. }
  2778. return &ERC165Transactor{contract: contract}, nil
  2779. }
  2780. // NewERC165Filterer creates a new log filterer instance of ERC165, bound to a specific deployed contract.
  2781. func NewERC165Filterer(address common.Address, filterer bind.ContractFilterer) (*ERC165Filterer, error) {
  2782. contract, err := bindERC165(address, nil, nil, filterer)
  2783. if err != nil {
  2784. return nil, err
  2785. }
  2786. return &ERC165Filterer{contract: contract}, nil
  2787. }
  2788. // bindERC165 binds a generic wrapper to an already deployed contract.
  2789. func bindERC165(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
  2790. parsed, err := abi.JSON(strings.NewReader(ERC165ABI))
  2791. if err != nil {
  2792. return nil, err
  2793. }
  2794. return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil
  2795. }
  2796. // Call invokes the (constant) contract method with params as input values and
  2797. // sets the output to result. The result type might be a single field for simple
  2798. // returns, a slice of interfaces for anonymous returns and a struct for named
  2799. // returns.
  2800. func (_ERC165 *ERC165Raw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
  2801. return _ERC165.Contract.ERC165Caller.contract.Call(opts, result, method, params...)
  2802. }
  2803. // Transfer initiates a plain transaction to move funds to the contract, calling
  2804. // its default method if one is available.
  2805. func (_ERC165 *ERC165Raw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
  2806. return _ERC165.Contract.ERC165Transactor.contract.Transfer(opts)
  2807. }
  2808. // Transact invokes the (paid) contract method with params as input values.
  2809. func (_ERC165 *ERC165Raw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
  2810. return _ERC165.Contract.ERC165Transactor.contract.Transact(opts, method, params...)
  2811. }
  2812. // Call invokes the (constant) contract method with params as input values and
  2813. // sets the output to result. The result type might be a single field for simple
  2814. // returns, a slice of interfaces for anonymous returns and a struct for named
  2815. // returns.
  2816. func (_ERC165 *ERC165CallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
  2817. return _ERC165.Contract.contract.Call(opts, result, method, params...)
  2818. }
  2819. // Transfer initiates a plain transaction to move funds to the contract, calling
  2820. // its default method if one is available.
  2821. func (_ERC165 *ERC165TransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
  2822. return _ERC165.Contract.contract.Transfer(opts)
  2823. }
  2824. // Transact invokes the (paid) contract method with params as input values.
  2825. func (_ERC165 *ERC165TransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
  2826. return _ERC165.Contract.contract.Transact(opts, method, params...)
  2827. }
  2828. // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
  2829. //
  2830. // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
  2831. func (_ERC165 *ERC165Caller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) {
  2832. var out []interface{}
  2833. err := _ERC165.contract.Call(opts, &out, "supportsInterface", interfaceId)
  2834. if err != nil {
  2835. return *new(bool), err
  2836. }
  2837. out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
  2838. return out0, err
  2839. }
  2840. // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
  2841. //
  2842. // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
  2843. func (_ERC165 *ERC165Session) SupportsInterface(interfaceId [4]byte) (bool, error) {
  2844. return _ERC165.Contract.SupportsInterface(&_ERC165.CallOpts, interfaceId)
  2845. }
  2846. // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
  2847. //
  2848. // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
  2849. func (_ERC165 *ERC165CallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) {
  2850. return _ERC165.Contract.SupportsInterface(&_ERC165.CallOpts, interfaceId)
  2851. }
  2852. // ERC721MetaData contains all meta data concerning the ERC721 contract.
  2853. var ERC721MetaData = &bind.MetaData{
  2854. ABI: "[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]",
  2855. Sigs: map[string]string{
  2856. "095ea7b3": "approve(address,uint256)",
  2857. "70a08231": "balanceOf(address)",
  2858. "081812fc": "getApproved(uint256)",
  2859. "e985e9c5": "isApprovedForAll(address,address)",
  2860. "06fdde03": "name()",
  2861. "6352211e": "ownerOf(uint256)",
  2862. "42842e0e": "safeTransferFrom(address,address,uint256)",
  2863. "b88d4fde": "safeTransferFrom(address,address,uint256,bytes)",
  2864. "a22cb465": "setApprovalForAll(address,bool)",
  2865. "01ffc9a7": "supportsInterface(bytes4)",
  2866. "95d89b41": "symbol()",
  2867. "c87b56dd": "tokenURI(uint256)",
  2868. "23b872dd": "transferFrom(address,address,uint256)",
  2869. },
  2870. Bin: "0x60806040523480156200001157600080fd5b5060405162001589380380620015898339810160408190526200003491620001c1565b81516200004990600090602085019062000068565b5080516200005f90600190602084019062000068565b5050506200027b565b828054620000769062000228565b90600052602060002090601f0160209004810192826200009a5760008555620000e5565b82601f10620000b557805160ff1916838001178555620000e5565b82800160010185558215620000e5579182015b82811115620000e5578251825591602001919060010190620000c8565b50620000f3929150620000f7565b5090565b5b80821115620000f35760008155600101620000f8565b600082601f8301126200011f578081fd5b81516001600160401b03808211156200013c576200013c62000265565b604051601f8301601f19908116603f0116810190828211818310171562000167576200016762000265565b8160405283815260209250868385880101111562000183578485fd5b8491505b83821015620001a6578582018301518183018401529082019062000187565b83821115620001b757848385830101525b9695505050505050565b60008060408385031215620001d4578182fd5b82516001600160401b0380821115620001eb578384fd5b620001f9868387016200010e565b935060208501519150808211156200020f578283fd5b506200021e858286016200010e565b9150509250929050565b6002810460018216806200023d57607f821691505b602082108114156200025f57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052604160045260246000fd5b6112fe806200028b6000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c80636352211e1161008c578063a22cb46511610066578063a22cb465146101a8578063b88d4fde146101bb578063c87b56dd146101ce578063e985e9c5146101e1576100cf565b80636352211e1461016d57806370a082311461018057806395d89b41146101a0576100cf565b806301ffc9a7146100d457806306fdde03146100fd578063081812fc14610112578063095ea7b31461013257806323b872dd1461014757806342842e0e1461015a575b600080fd5b6100e76100e2366004610cf6565b6101f4565b6040516100f49190610df2565b60405180910390f35b61010561023c565b6040516100f49190610dfd565b610125610120366004610d2e565b6102ce565b6040516100f49190610da1565b610145610140366004610ccd565b61031a565b005b610145610155366004610b83565b6103b2565b610145610168366004610b83565b6103ea565b61012561017b366004610d2e565b610405565b61019361018e366004610b37565b61043a565b6040516100f4919061118b565b61010561047e565b6101456101b6366004610c93565b61048d565b6101456101c9366004610bbe565b6104a3565b6101056101dc366004610d2e565b6104e2565b6100e76101ef366004610b51565b610565565b60006001600160e01b031982166380ac58cd60e01b148061022557506001600160e01b03198216635b5e139f60e01b145b80610234575061023482610593565b90505b919050565b60606000805461024b90611203565b80601f016020809104026020016040519081016040528092919081815260200182805461027790611203565b80156102c45780601f10610299576101008083540402835291602001916102c4565b820191906000526020600020905b8154815290600101906020018083116102a757829003601f168201915b5050505050905090565b60006102d9826105ac565b6102fe5760405162461bcd60e51b81526004016102f59061105e565b60405180910390fd5b506000908152600460205260409020546001600160a01b031690565b600061032582610405565b9050806001600160a01b0316836001600160a01b031614156103595760405162461bcd60e51b81526004016102f5906110f9565b806001600160a01b031661036b6105c9565b6001600160a01b031614806103875750610387816101ef6105c9565b6103a35760405162461bcd60e51b81526004016102f590610f6e565b6103ad83836105cd565b505050565b6103c36103bd6105c9565b8261063b565b6103df5760405162461bcd60e51b81526004016102f59061113a565b6103ad8383836106c0565b6103ad838383604051806020016040528060008152506104a3565b6000818152600260205260408120546001600160a01b0316806102345760405162461bcd60e51b81526004016102f590611015565b60006001600160a01b0382166104625760405162461bcd60e51b81526004016102f590610fcb565b506001600160a01b031660009081526003602052604090205490565b60606001805461024b90611203565b61049f6104986105c9565b83836107f3565b5050565b6104b46104ae6105c9565b8361063b565b6104d05760405162461bcd60e51b81526004016102f59061113a565b6104dc84848484610896565b50505050565b60606104ed826105ac565b6105095760405162461bcd60e51b81526004016102f5906110aa565b60006105136108c9565b90506000815111610533576040518060200160405280600081525061055e565b8061053d846108db565b60405160200161054e929190610d72565b6040516020818303038152906040525b9392505050565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b6001600160e01b031981166301ffc9a760e01b14919050565b6000908152600260205260409020546001600160a01b0316151590565b3390565b600081815260046020526040902080546001600160a01b0319166001600160a01b038416908117909155819061060282610405565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000610646826105ac565b6106625760405162461bcd60e51b81526004016102f590610f22565b600061066d83610405565b9050806001600160a01b0316846001600160a01b031614806106a85750836001600160a01b031661069d846102ce565b6001600160a01b0316145b806106b857506106b88185610565565b949350505050565b826001600160a01b03166106d382610405565b6001600160a01b0316146106f95760405162461bcd60e51b81526004016102f590610e62565b6001600160a01b03821661071f5760405162461bcd60e51b81526004016102f590610ea7565b61072a8383836103ad565b6107356000826105cd565b6001600160a01b038316600090815260036020526040812080546001929061075e9084906111c0565b90915550506001600160a01b038216600090815260036020526040812080546001929061078c908490611194565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a46103ad8383836103ad565b816001600160a01b0316836001600160a01b031614156108255760405162461bcd60e51b81526004016102f590610eeb565b6001600160a01b0383811660008181526005602090815260408083209487168084529490915290819020805460ff1916851515179055517f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3190610889908590610df2565b60405180910390a3505050565b6108a18484846106c0565b6108ad848484846109f6565b6104dc5760405162461bcd60e51b81526004016102f590610e10565b60408051602081019091526000815290565b60608161090057506040805180820190915260018152600360fc1b6020820152610237565b8160005b811561092a57806109148161123e565b91506109239050600a836111ac565b9150610904565b60008167ffffffffffffffff81111561095357634e487b7160e01b600052604160045260246000fd5b6040519080825280601f01601f19166020018201604052801561097d576020820181803683370190505b5090505b84156106b8576109926001836111c0565b915061099f600a86611259565b6109aa906030611194565b60f81b8183815181106109cd57634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a9053506109ef600a866111ac565b9450610981565b6000610a0a846001600160a01b0316610b11565b15610b0657836001600160a01b031663150b7a02610a266105c9565b8786866040518563ffffffff1660e01b8152600401610a489493929190610db5565b602060405180830381600087803b158015610a6257600080fd5b505af1925050508015610a92575060408051601f3d908101601f19168201909252610a8f91810190610d12565b60015b610aec573d808015610ac0576040519150601f19603f3d011682016040523d82523d6000602084013e610ac5565b606091505b508051610ae45760405162461bcd60e51b81526004016102f590610e10565b805181602001fd5b6001600160e01b031916630a85bd0160e11b1490506106b8565b506001949350505050565b6001600160a01b03163b151590565b80356001600160a01b038116811461023757600080fd5b600060208284031215610b48578081fd5b61055e82610b20565b60008060408385031215610b63578081fd5b610b6c83610b20565b9150610b7a60208401610b20565b90509250929050565b600080600060608486031215610b97578081fd5b610ba084610b20565b9250610bae60208501610b20565b9150604084013590509250925092565b60008060008060808587031215610bd3578081fd5b610bdc85610b20565b9350610bea60208601610b20565b925060408501359150606085013567ffffffffffffffff80821115610c0d578283fd5b818701915087601f830112610c20578283fd5b813581811115610c3257610c32611299565b604051601f8201601f19908116603f01168101908382118183101715610c5a57610c5a611299565b816040528281528a6020848701011115610c72578586fd5b82602086016020830137918201602001949094529598949750929550505050565b60008060408385031215610ca5578182fd5b610cae83610b20565b915060208301358015158114610cc2578182fd5b809150509250929050565b60008060408385031215610cdf578182fd5b610ce883610b20565b946020939093013593505050565b600060208284031215610d07578081fd5b813561055e816112af565b600060208284031215610d23578081fd5b815161055e816112af565b600060208284031215610d3f578081fd5b5035919050565b60008151808452610d5e8160208601602086016111d7565b601f01601f19169290920160200192915050565b60008351610d848184602088016111d7565b835190830190610d988183602088016111d7565b01949350505050565b6001600160a01b0391909116815260200190565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090610de890830184610d46565b9695505050505050565b901515815260200190565b60006020825261055e6020830184610d46565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b60208082526024908201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646040820152637265737360e01b606082015260800190565b60208082526019908201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604082015260600190565b6020808252602c908201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860408201526b34b9ba32b73a103a37b5b2b760a11b606082015260800190565b60208082526038908201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760408201527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000606082015260800190565b6020808252602a908201527f4552433732313a2062616c616e636520717565727920666f7220746865207a65604082015269726f206164647265737360b01b606082015260800190565b60208082526029908201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460408201526832b73a103a37b5b2b760b91b606082015260800190565b6020808252602c908201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860408201526b34b9ba32b73a103a37b5b2b760a11b606082015260800190565b6020808252602f908201527f4552433732314d657461646174613a2055524920717565727920666f72206e6f60408201526e3732bc34b9ba32b73a103a37b5b2b760891b606082015260800190565b60208082526021908201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656040820152603960f91b606082015260800190565b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b90815260200190565b600082198211156111a7576111a761126d565b500190565b6000826111bb576111bb611283565b500490565b6000828210156111d2576111d261126d565b500390565b60005b838110156111f25781810151838201526020016111da565b838111156104dc5750506000910152565b60028104600182168061121757607f821691505b6020821081141561123857634e487b7160e01b600052602260045260246000fd5b50919050565b60006000198214156112525761125261126d565b5060010190565b60008261126857611268611283565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160e01b0319811681146112c557600080fd5b5056fea26469706673582212201ffd2d99d3cfb6ba7b371a3e2e1065b809abf1398c70241b47a0aff6b4f9695b64736f6c63430008010033",
  2871. }
  2872. // ERC721ABI is the input ABI used to generate the binding from.
  2873. // Deprecated: Use ERC721MetaData.ABI instead.
  2874. var ERC721ABI = ERC721MetaData.ABI
  2875. // Deprecated: Use ERC721MetaData.Sigs instead.
  2876. // ERC721FuncSigs maps the 4-byte function signature to its string representation.
  2877. var ERC721FuncSigs = ERC721MetaData.Sigs
  2878. // ERC721Bin is the compiled bytecode used for deploying new contracts.
  2879. // Deprecated: Use ERC721MetaData.Bin instead.
  2880. var ERC721Bin = ERC721MetaData.Bin
  2881. // DeployERC721 deploys a new Ethereum contract, binding an instance of ERC721 to it.
  2882. func DeployERC721(auth *bind.TransactOpts, backend bind.ContractBackend, name_ string, symbol_ string) (common.Address, *types.Transaction, *ERC721, error) {
  2883. parsed, err := ERC721MetaData.GetAbi()
  2884. if err != nil {
  2885. return common.Address{}, nil, nil, err
  2886. }
  2887. if parsed == nil {
  2888. return common.Address{}, nil, nil, errors.New("GetABI returned nil")
  2889. }
  2890. address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(ERC721Bin), backend, name_, symbol_)
  2891. if err != nil {
  2892. return common.Address{}, nil, nil, err
  2893. }
  2894. return address, tx, &ERC721{ERC721Caller: ERC721Caller{contract: contract}, ERC721Transactor: ERC721Transactor{contract: contract}, ERC721Filterer: ERC721Filterer{contract: contract}}, nil
  2895. }
  2896. // ERC721 is an auto generated Go binding around an Ethereum contract.
  2897. type ERC721 struct {
  2898. ERC721Caller // Read-only binding to the contract
  2899. ERC721Transactor // Write-only binding to the contract
  2900. ERC721Filterer // Log filterer for contract events
  2901. }
  2902. // ERC721Caller is an auto generated read-only Go binding around an Ethereum contract.
  2903. type ERC721Caller struct {
  2904. contract *bind.BoundContract // Generic contract wrapper for the low level calls
  2905. }
  2906. // ERC721Transactor is an auto generated write-only Go binding around an Ethereum contract.
  2907. type ERC721Transactor struct {
  2908. contract *bind.BoundContract // Generic contract wrapper for the low level calls
  2909. }
  2910. // ERC721Filterer is an auto generated log filtering Go binding around an Ethereum contract events.
  2911. type ERC721Filterer struct {
  2912. contract *bind.BoundContract // Generic contract wrapper for the low level calls
  2913. }
  2914. // ERC721Session is an auto generated Go binding around an Ethereum contract,
  2915. // with pre-set call and transact options.
  2916. type ERC721Session struct {
  2917. Contract *ERC721 // Generic contract binding to set the session for
  2918. CallOpts bind.CallOpts // Call options to use throughout this session
  2919. TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
  2920. }
  2921. // ERC721CallerSession is an auto generated read-only Go binding around an Ethereum contract,
  2922. // with pre-set call options.
  2923. type ERC721CallerSession struct {
  2924. Contract *ERC721Caller // Generic contract caller binding to set the session for
  2925. CallOpts bind.CallOpts // Call options to use throughout this session
  2926. }
  2927. // ERC721TransactorSession is an auto generated write-only Go binding around an Ethereum contract,
  2928. // with pre-set transact options.
  2929. type ERC721TransactorSession struct {
  2930. Contract *ERC721Transactor // Generic contract transactor binding to set the session for
  2931. TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
  2932. }
  2933. // ERC721Raw is an auto generated low-level Go binding around an Ethereum contract.
  2934. type ERC721Raw struct {
  2935. Contract *ERC721 // Generic contract binding to access the raw methods on
  2936. }
  2937. // ERC721CallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
  2938. type ERC721CallerRaw struct {
  2939. Contract *ERC721Caller // Generic read-only contract binding to access the raw methods on
  2940. }
  2941. // ERC721TransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
  2942. type ERC721TransactorRaw struct {
  2943. Contract *ERC721Transactor // Generic write-only contract binding to access the raw methods on
  2944. }
  2945. // NewERC721 creates a new instance of ERC721, bound to a specific deployed contract.
  2946. func NewERC721(address common.Address, backend bind.ContractBackend) (*ERC721, error) {
  2947. contract, err := bindERC721(address, backend, backend, backend)
  2948. if err != nil {
  2949. return nil, err
  2950. }
  2951. return &ERC721{ERC721Caller: ERC721Caller{contract: contract}, ERC721Transactor: ERC721Transactor{contract: contract}, ERC721Filterer: ERC721Filterer{contract: contract}}, nil
  2952. }
  2953. // NewERC721Caller creates a new read-only instance of ERC721, bound to a specific deployed contract.
  2954. func NewERC721Caller(address common.Address, caller bind.ContractCaller) (*ERC721Caller, error) {
  2955. contract, err := bindERC721(address, caller, nil, nil)
  2956. if err != nil {
  2957. return nil, err
  2958. }
  2959. return &ERC721Caller{contract: contract}, nil
  2960. }
  2961. // NewERC721Transactor creates a new write-only instance of ERC721, bound to a specific deployed contract.
  2962. func NewERC721Transactor(address common.Address, transactor bind.ContractTransactor) (*ERC721Transactor, error) {
  2963. contract, err := bindERC721(address, nil, transactor, nil)
  2964. if err != nil {
  2965. return nil, err
  2966. }
  2967. return &ERC721Transactor{contract: contract}, nil
  2968. }
  2969. // NewERC721Filterer creates a new log filterer instance of ERC721, bound to a specific deployed contract.
  2970. func NewERC721Filterer(address common.Address, filterer bind.ContractFilterer) (*ERC721Filterer, error) {
  2971. contract, err := bindERC721(address, nil, nil, filterer)
  2972. if err != nil {
  2973. return nil, err
  2974. }
  2975. return &ERC721Filterer{contract: contract}, nil
  2976. }
  2977. // bindERC721 binds a generic wrapper to an already deployed contract.
  2978. func bindERC721(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
  2979. parsed, err := abi.JSON(strings.NewReader(ERC721ABI))
  2980. if err != nil {
  2981. return nil, err
  2982. }
  2983. return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil
  2984. }
  2985. // Call invokes the (constant) contract method with params as input values and
  2986. // sets the output to result. The result type might be a single field for simple
  2987. // returns, a slice of interfaces for anonymous returns and a struct for named
  2988. // returns.
  2989. func (_ERC721 *ERC721Raw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
  2990. return _ERC721.Contract.ERC721Caller.contract.Call(opts, result, method, params...)
  2991. }
  2992. // Transfer initiates a plain transaction to move funds to the contract, calling
  2993. // its default method if one is available.
  2994. func (_ERC721 *ERC721Raw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
  2995. return _ERC721.Contract.ERC721Transactor.contract.Transfer(opts)
  2996. }
  2997. // Transact invokes the (paid) contract method with params as input values.
  2998. func (_ERC721 *ERC721Raw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
  2999. return _ERC721.Contract.ERC721Transactor.contract.Transact(opts, method, params...)
  3000. }
  3001. // Call invokes the (constant) contract method with params as input values and
  3002. // sets the output to result. The result type might be a single field for simple
  3003. // returns, a slice of interfaces for anonymous returns and a struct for named
  3004. // returns.
  3005. func (_ERC721 *ERC721CallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
  3006. return _ERC721.Contract.contract.Call(opts, result, method, params...)
  3007. }
  3008. // Transfer initiates a plain transaction to move funds to the contract, calling
  3009. // its default method if one is available.
  3010. func (_ERC721 *ERC721TransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
  3011. return _ERC721.Contract.contract.Transfer(opts)
  3012. }
  3013. // Transact invokes the (paid) contract method with params as input values.
  3014. func (_ERC721 *ERC721TransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
  3015. return _ERC721.Contract.contract.Transact(opts, method, params...)
  3016. }
  3017. // BalanceOf is a free data retrieval call binding the contract method 0x70a08231.
  3018. //
  3019. // Solidity: function balanceOf(address owner) view returns(uint256)
  3020. func (_ERC721 *ERC721Caller) BalanceOf(opts *bind.CallOpts, owner common.Address) (*big.Int, error) {
  3021. var out []interface{}
  3022. err := _ERC721.contract.Call(opts, &out, "balanceOf", owner)
  3023. if err != nil {
  3024. return *new(*big.Int), err
  3025. }
  3026. out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
  3027. return out0, err
  3028. }
  3029. // BalanceOf is a free data retrieval call binding the contract method 0x70a08231.
  3030. //
  3031. // Solidity: function balanceOf(address owner) view returns(uint256)
  3032. func (_ERC721 *ERC721Session) BalanceOf(owner common.Address) (*big.Int, error) {
  3033. return _ERC721.Contract.BalanceOf(&_ERC721.CallOpts, owner)
  3034. }
  3035. // BalanceOf is a free data retrieval call binding the contract method 0x70a08231.
  3036. //
  3037. // Solidity: function balanceOf(address owner) view returns(uint256)
  3038. func (_ERC721 *ERC721CallerSession) BalanceOf(owner common.Address) (*big.Int, error) {
  3039. return _ERC721.Contract.BalanceOf(&_ERC721.CallOpts, owner)
  3040. }
  3041. // GetApproved is a free data retrieval call binding the contract method 0x081812fc.
  3042. //
  3043. // Solidity: function getApproved(uint256 tokenId) view returns(address)
  3044. func (_ERC721 *ERC721Caller) GetApproved(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) {
  3045. var out []interface{}
  3046. err := _ERC721.contract.Call(opts, &out, "getApproved", tokenId)
  3047. if err != nil {
  3048. return *new(common.Address), err
  3049. }
  3050. out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
  3051. return out0, err
  3052. }
  3053. // GetApproved is a free data retrieval call binding the contract method 0x081812fc.
  3054. //
  3055. // Solidity: function getApproved(uint256 tokenId) view returns(address)
  3056. func (_ERC721 *ERC721Session) GetApproved(tokenId *big.Int) (common.Address, error) {
  3057. return _ERC721.Contract.GetApproved(&_ERC721.CallOpts, tokenId)
  3058. }
  3059. // GetApproved is a free data retrieval call binding the contract method 0x081812fc.
  3060. //
  3061. // Solidity: function getApproved(uint256 tokenId) view returns(address)
  3062. func (_ERC721 *ERC721CallerSession) GetApproved(tokenId *big.Int) (common.Address, error) {
  3063. return _ERC721.Contract.GetApproved(&_ERC721.CallOpts, tokenId)
  3064. }
  3065. // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5.
  3066. //
  3067. // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool)
  3068. func (_ERC721 *ERC721Caller) IsApprovedForAll(opts *bind.CallOpts, owner common.Address, operator common.Address) (bool, error) {
  3069. var out []interface{}
  3070. err := _ERC721.contract.Call(opts, &out, "isApprovedForAll", owner, operator)
  3071. if err != nil {
  3072. return *new(bool), err
  3073. }
  3074. out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
  3075. return out0, err
  3076. }
  3077. // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5.
  3078. //
  3079. // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool)
  3080. func (_ERC721 *ERC721Session) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) {
  3081. return _ERC721.Contract.IsApprovedForAll(&_ERC721.CallOpts, owner, operator)
  3082. }
  3083. // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5.
  3084. //
  3085. // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool)
  3086. func (_ERC721 *ERC721CallerSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) {
  3087. return _ERC721.Contract.IsApprovedForAll(&_ERC721.CallOpts, owner, operator)
  3088. }
  3089. // Name is a free data retrieval call binding the contract method 0x06fdde03.
  3090. //
  3091. // Solidity: function name() view returns(string)
  3092. func (_ERC721 *ERC721Caller) Name(opts *bind.CallOpts) (string, error) {
  3093. var out []interface{}
  3094. err := _ERC721.contract.Call(opts, &out, "name")
  3095. if err != nil {
  3096. return *new(string), err
  3097. }
  3098. out0 := *abi.ConvertType(out[0], new(string)).(*string)
  3099. return out0, err
  3100. }
  3101. // Name is a free data retrieval call binding the contract method 0x06fdde03.
  3102. //
  3103. // Solidity: function name() view returns(string)
  3104. func (_ERC721 *ERC721Session) Name() (string, error) {
  3105. return _ERC721.Contract.Name(&_ERC721.CallOpts)
  3106. }
  3107. // Name is a free data retrieval call binding the contract method 0x06fdde03.
  3108. //
  3109. // Solidity: function name() view returns(string)
  3110. func (_ERC721 *ERC721CallerSession) Name() (string, error) {
  3111. return _ERC721.Contract.Name(&_ERC721.CallOpts)
  3112. }
  3113. // OwnerOf is a free data retrieval call binding the contract method 0x6352211e.
  3114. //
  3115. // Solidity: function ownerOf(uint256 tokenId) view returns(address)
  3116. func (_ERC721 *ERC721Caller) OwnerOf(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) {
  3117. var out []interface{}
  3118. err := _ERC721.contract.Call(opts, &out, "ownerOf", tokenId)
  3119. if err != nil {
  3120. return *new(common.Address), err
  3121. }
  3122. out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
  3123. return out0, err
  3124. }
  3125. // OwnerOf is a free data retrieval call binding the contract method 0x6352211e.
  3126. //
  3127. // Solidity: function ownerOf(uint256 tokenId) view returns(address)
  3128. func (_ERC721 *ERC721Session) OwnerOf(tokenId *big.Int) (common.Address, error) {
  3129. return _ERC721.Contract.OwnerOf(&_ERC721.CallOpts, tokenId)
  3130. }
  3131. // OwnerOf is a free data retrieval call binding the contract method 0x6352211e.
  3132. //
  3133. // Solidity: function ownerOf(uint256 tokenId) view returns(address)
  3134. func (_ERC721 *ERC721CallerSession) OwnerOf(tokenId *big.Int) (common.Address, error) {
  3135. return _ERC721.Contract.OwnerOf(&_ERC721.CallOpts, tokenId)
  3136. }
  3137. // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
  3138. //
  3139. // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
  3140. func (_ERC721 *ERC721Caller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) {
  3141. var out []interface{}
  3142. err := _ERC721.contract.Call(opts, &out, "supportsInterface", interfaceId)
  3143. if err != nil {
  3144. return *new(bool), err
  3145. }
  3146. out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
  3147. return out0, err
  3148. }
  3149. // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
  3150. //
  3151. // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
  3152. func (_ERC721 *ERC721Session) SupportsInterface(interfaceId [4]byte) (bool, error) {
  3153. return _ERC721.Contract.SupportsInterface(&_ERC721.CallOpts, interfaceId)
  3154. }
  3155. // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
  3156. //
  3157. // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
  3158. func (_ERC721 *ERC721CallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) {
  3159. return _ERC721.Contract.SupportsInterface(&_ERC721.CallOpts, interfaceId)
  3160. }
  3161. // Symbol is a free data retrieval call binding the contract method 0x95d89b41.
  3162. //
  3163. // Solidity: function symbol() view returns(string)
  3164. func (_ERC721 *ERC721Caller) Symbol(opts *bind.CallOpts) (string, error) {
  3165. var out []interface{}
  3166. err := _ERC721.contract.Call(opts, &out, "symbol")
  3167. if err != nil {
  3168. return *new(string), err
  3169. }
  3170. out0 := *abi.ConvertType(out[0], new(string)).(*string)
  3171. return out0, err
  3172. }
  3173. // Symbol is a free data retrieval call binding the contract method 0x95d89b41.
  3174. //
  3175. // Solidity: function symbol() view returns(string)
  3176. func (_ERC721 *ERC721Session) Symbol() (string, error) {
  3177. return _ERC721.Contract.Symbol(&_ERC721.CallOpts)
  3178. }
  3179. // Symbol is a free data retrieval call binding the contract method 0x95d89b41.
  3180. //
  3181. // Solidity: function symbol() view returns(string)
  3182. func (_ERC721 *ERC721CallerSession) Symbol() (string, error) {
  3183. return _ERC721.Contract.Symbol(&_ERC721.CallOpts)
  3184. }
  3185. // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd.
  3186. //
  3187. // Solidity: function tokenURI(uint256 tokenId) view returns(string)
  3188. func (_ERC721 *ERC721Caller) TokenURI(opts *bind.CallOpts, tokenId *big.Int) (string, error) {
  3189. var out []interface{}
  3190. err := _ERC721.contract.Call(opts, &out, "tokenURI", tokenId)
  3191. if err != nil {
  3192. return *new(string), err
  3193. }
  3194. out0 := *abi.ConvertType(out[0], new(string)).(*string)
  3195. return out0, err
  3196. }
  3197. // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd.
  3198. //
  3199. // Solidity: function tokenURI(uint256 tokenId) view returns(string)
  3200. func (_ERC721 *ERC721Session) TokenURI(tokenId *big.Int) (string, error) {
  3201. return _ERC721.Contract.TokenURI(&_ERC721.CallOpts, tokenId)
  3202. }
  3203. // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd.
  3204. //
  3205. // Solidity: function tokenURI(uint256 tokenId) view returns(string)
  3206. func (_ERC721 *ERC721CallerSession) TokenURI(tokenId *big.Int) (string, error) {
  3207. return _ERC721.Contract.TokenURI(&_ERC721.CallOpts, tokenId)
  3208. }
  3209. // Approve is a paid mutator transaction binding the contract method 0x095ea7b3.
  3210. //
  3211. // Solidity: function approve(address to, uint256 tokenId) returns()
  3212. func (_ERC721 *ERC721Transactor) Approve(opts *bind.TransactOpts, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
  3213. return _ERC721.contract.Transact(opts, "approve", to, tokenId)
  3214. }
  3215. // Approve is a paid mutator transaction binding the contract method 0x095ea7b3.
  3216. //
  3217. // Solidity: function approve(address to, uint256 tokenId) returns()
  3218. func (_ERC721 *ERC721Session) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) {
  3219. return _ERC721.Contract.Approve(&_ERC721.TransactOpts, to, tokenId)
  3220. }
  3221. // Approve is a paid mutator transaction binding the contract method 0x095ea7b3.
  3222. //
  3223. // Solidity: function approve(address to, uint256 tokenId) returns()
  3224. func (_ERC721 *ERC721TransactorSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) {
  3225. return _ERC721.Contract.Approve(&_ERC721.TransactOpts, to, tokenId)
  3226. }
  3227. // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e.
  3228. //
  3229. // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns()
  3230. func (_ERC721 *ERC721Transactor) SafeTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
  3231. return _ERC721.contract.Transact(opts, "safeTransferFrom", from, to, tokenId)
  3232. }
  3233. // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e.
  3234. //
  3235. // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns()
  3236. func (_ERC721 *ERC721Session) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
  3237. return _ERC721.Contract.SafeTransferFrom(&_ERC721.TransactOpts, from, to, tokenId)
  3238. }
  3239. // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e.
  3240. //
  3241. // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns()
  3242. func (_ERC721 *ERC721TransactorSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
  3243. return _ERC721.Contract.SafeTransferFrom(&_ERC721.TransactOpts, from, to, tokenId)
  3244. }
  3245. // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde.
  3246. //
  3247. // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns()
  3248. func (_ERC721 *ERC721Transactor) SafeTransferFrom0(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) {
  3249. return _ERC721.contract.Transact(opts, "safeTransferFrom0", from, to, tokenId, _data)
  3250. }
  3251. // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde.
  3252. //
  3253. // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns()
  3254. func (_ERC721 *ERC721Session) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) {
  3255. return _ERC721.Contract.SafeTransferFrom0(&_ERC721.TransactOpts, from, to, tokenId, _data)
  3256. }
  3257. // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde.
  3258. //
  3259. // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns()
  3260. func (_ERC721 *ERC721TransactorSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) {
  3261. return _ERC721.Contract.SafeTransferFrom0(&_ERC721.TransactOpts, from, to, tokenId, _data)
  3262. }
  3263. // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465.
  3264. //
  3265. // Solidity: function setApprovalForAll(address operator, bool approved) returns()
  3266. func (_ERC721 *ERC721Transactor) SetApprovalForAll(opts *bind.TransactOpts, operator common.Address, approved bool) (*types.Transaction, error) {
  3267. return _ERC721.contract.Transact(opts, "setApprovalForAll", operator, approved)
  3268. }
  3269. // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465.
  3270. //
  3271. // Solidity: function setApprovalForAll(address operator, bool approved) returns()
  3272. func (_ERC721 *ERC721Session) SetApprovalForAll(operator common.Address, approved bool) (*types.Transaction, error) {
  3273. return _ERC721.Contract.SetApprovalForAll(&_ERC721.TransactOpts, operator, approved)
  3274. }
  3275. // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465.
  3276. //
  3277. // Solidity: function setApprovalForAll(address operator, bool approved) returns()
  3278. func (_ERC721 *ERC721TransactorSession) SetApprovalForAll(operator common.Address, approved bool) (*types.Transaction, error) {
  3279. return _ERC721.Contract.SetApprovalForAll(&_ERC721.TransactOpts, operator, approved)
  3280. }
  3281. // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd.
  3282. //
  3283. // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns()
  3284. func (_ERC721 *ERC721Transactor) TransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
  3285. return _ERC721.contract.Transact(opts, "transferFrom", from, to, tokenId)
  3286. }
  3287. // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd.
  3288. //
  3289. // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns()
  3290. func (_ERC721 *ERC721Session) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
  3291. return _ERC721.Contract.TransferFrom(&_ERC721.TransactOpts, from, to, tokenId)
  3292. }
  3293. // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd.
  3294. //
  3295. // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns()
  3296. func (_ERC721 *ERC721TransactorSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
  3297. return _ERC721.Contract.TransferFrom(&_ERC721.TransactOpts, from, to, tokenId)
  3298. }
  3299. // ERC721ApprovalIterator is returned from FilterApproval and is used to iterate over the raw logs and unpacked data for Approval events raised by the ERC721 contract.
  3300. type ERC721ApprovalIterator struct {
  3301. Event *ERC721Approval // Event containing the contract specifics and raw log
  3302. contract *bind.BoundContract // Generic contract to use for unpacking event data
  3303. event string // Event name to use for unpacking event data
  3304. logs chan types.Log // Log channel receiving the found contract events
  3305. sub ethereum.Subscription // Subscription for errors, completion and termination
  3306. done bool // Whether the subscription completed delivering logs
  3307. fail error // Occurred error to stop iteration
  3308. }
  3309. // Next advances the iterator to the subsequent event, returning whether there
  3310. // are any more events found. In case of a retrieval or parsing error, false is
  3311. // returned and Error() can be queried for the exact failure.
  3312. func (it *ERC721ApprovalIterator) Next() bool {
  3313. // If the iterator failed, stop iterating
  3314. if it.fail != nil {
  3315. return false
  3316. }
  3317. // If the iterator completed, deliver directly whatever's available
  3318. if it.done {
  3319. select {
  3320. case log := <-it.logs:
  3321. it.Event = new(ERC721Approval)
  3322. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  3323. it.fail = err
  3324. return false
  3325. }
  3326. it.Event.Raw = log
  3327. return true
  3328. default:
  3329. return false
  3330. }
  3331. }
  3332. // Iterator still in progress, wait for either a data or an error event
  3333. select {
  3334. case log := <-it.logs:
  3335. it.Event = new(ERC721Approval)
  3336. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  3337. it.fail = err
  3338. return false
  3339. }
  3340. it.Event.Raw = log
  3341. return true
  3342. case err := <-it.sub.Err():
  3343. it.done = true
  3344. it.fail = err
  3345. return it.Next()
  3346. }
  3347. }
  3348. // Error returns any retrieval or parsing error occurred during filtering.
  3349. func (it *ERC721ApprovalIterator) Error() error {
  3350. return it.fail
  3351. }
  3352. // Close terminates the iteration process, releasing any pending underlying
  3353. // resources.
  3354. func (it *ERC721ApprovalIterator) Close() error {
  3355. it.sub.Unsubscribe()
  3356. return nil
  3357. }
  3358. // ERC721Approval represents a Approval event raised by the ERC721 contract.
  3359. type ERC721Approval struct {
  3360. Owner common.Address
  3361. Approved common.Address
  3362. TokenId *big.Int
  3363. Raw types.Log // Blockchain specific contextual infos
  3364. }
  3365. // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925.
  3366. //
  3367. // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)
  3368. func (_ERC721 *ERC721Filterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, approved []common.Address, tokenId []*big.Int) (*ERC721ApprovalIterator, error) {
  3369. var ownerRule []interface{}
  3370. for _, ownerItem := range owner {
  3371. ownerRule = append(ownerRule, ownerItem)
  3372. }
  3373. var approvedRule []interface{}
  3374. for _, approvedItem := range approved {
  3375. approvedRule = append(approvedRule, approvedItem)
  3376. }
  3377. var tokenIdRule []interface{}
  3378. for _, tokenIdItem := range tokenId {
  3379. tokenIdRule = append(tokenIdRule, tokenIdItem)
  3380. }
  3381. logs, sub, err := _ERC721.contract.FilterLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule)
  3382. if err != nil {
  3383. return nil, err
  3384. }
  3385. return &ERC721ApprovalIterator{contract: _ERC721.contract, event: "Approval", logs: logs, sub: sub}, nil
  3386. }
  3387. // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925.
  3388. //
  3389. // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)
  3390. func (_ERC721 *ERC721Filterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *ERC721Approval, owner []common.Address, approved []common.Address, tokenId []*big.Int) (event.Subscription, error) {
  3391. var ownerRule []interface{}
  3392. for _, ownerItem := range owner {
  3393. ownerRule = append(ownerRule, ownerItem)
  3394. }
  3395. var approvedRule []interface{}
  3396. for _, approvedItem := range approved {
  3397. approvedRule = append(approvedRule, approvedItem)
  3398. }
  3399. var tokenIdRule []interface{}
  3400. for _, tokenIdItem := range tokenId {
  3401. tokenIdRule = append(tokenIdRule, tokenIdItem)
  3402. }
  3403. logs, sub, err := _ERC721.contract.WatchLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule)
  3404. if err != nil {
  3405. return nil, err
  3406. }
  3407. return event.NewSubscription(func(quit <-chan struct{}) error {
  3408. defer sub.Unsubscribe()
  3409. for {
  3410. select {
  3411. case log := <-logs:
  3412. // New log arrived, parse the event and forward to the user
  3413. event := new(ERC721Approval)
  3414. if err := _ERC721.contract.UnpackLog(event, "Approval", log); err != nil {
  3415. return err
  3416. }
  3417. event.Raw = log
  3418. select {
  3419. case sink <- event:
  3420. case err := <-sub.Err():
  3421. return err
  3422. case <-quit:
  3423. return nil
  3424. }
  3425. case err := <-sub.Err():
  3426. return err
  3427. case <-quit:
  3428. return nil
  3429. }
  3430. }
  3431. }), nil
  3432. }
  3433. // ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925.
  3434. //
  3435. // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)
  3436. func (_ERC721 *ERC721Filterer) ParseApproval(log types.Log) (*ERC721Approval, error) {
  3437. event := new(ERC721Approval)
  3438. if err := _ERC721.contract.UnpackLog(event, "Approval", log); err != nil {
  3439. return nil, err
  3440. }
  3441. event.Raw = log
  3442. return event, nil
  3443. }
  3444. // ERC721ApprovalForAllIterator is returned from FilterApprovalForAll and is used to iterate over the raw logs and unpacked data for ApprovalForAll events raised by the ERC721 contract.
  3445. type ERC721ApprovalForAllIterator struct {
  3446. Event *ERC721ApprovalForAll // Event containing the contract specifics and raw log
  3447. contract *bind.BoundContract // Generic contract to use for unpacking event data
  3448. event string // Event name to use for unpacking event data
  3449. logs chan types.Log // Log channel receiving the found contract events
  3450. sub ethereum.Subscription // Subscription for errors, completion and termination
  3451. done bool // Whether the subscription completed delivering logs
  3452. fail error // Occurred error to stop iteration
  3453. }
  3454. // Next advances the iterator to the subsequent event, returning whether there
  3455. // are any more events found. In case of a retrieval or parsing error, false is
  3456. // returned and Error() can be queried for the exact failure.
  3457. func (it *ERC721ApprovalForAllIterator) Next() bool {
  3458. // If the iterator failed, stop iterating
  3459. if it.fail != nil {
  3460. return false
  3461. }
  3462. // If the iterator completed, deliver directly whatever's available
  3463. if it.done {
  3464. select {
  3465. case log := <-it.logs:
  3466. it.Event = new(ERC721ApprovalForAll)
  3467. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  3468. it.fail = err
  3469. return false
  3470. }
  3471. it.Event.Raw = log
  3472. return true
  3473. default:
  3474. return false
  3475. }
  3476. }
  3477. // Iterator still in progress, wait for either a data or an error event
  3478. select {
  3479. case log := <-it.logs:
  3480. it.Event = new(ERC721ApprovalForAll)
  3481. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  3482. it.fail = err
  3483. return false
  3484. }
  3485. it.Event.Raw = log
  3486. return true
  3487. case err := <-it.sub.Err():
  3488. it.done = true
  3489. it.fail = err
  3490. return it.Next()
  3491. }
  3492. }
  3493. // Error returns any retrieval or parsing error occurred during filtering.
  3494. func (it *ERC721ApprovalForAllIterator) Error() error {
  3495. return it.fail
  3496. }
  3497. // Close terminates the iteration process, releasing any pending underlying
  3498. // resources.
  3499. func (it *ERC721ApprovalForAllIterator) Close() error {
  3500. it.sub.Unsubscribe()
  3501. return nil
  3502. }
  3503. // ERC721ApprovalForAll represents a ApprovalForAll event raised by the ERC721 contract.
  3504. type ERC721ApprovalForAll struct {
  3505. Owner common.Address
  3506. Operator common.Address
  3507. Approved bool
  3508. Raw types.Log // Blockchain specific contextual infos
  3509. }
  3510. // FilterApprovalForAll is a free log retrieval operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31.
  3511. //
  3512. // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved)
  3513. func (_ERC721 *ERC721Filterer) FilterApprovalForAll(opts *bind.FilterOpts, owner []common.Address, operator []common.Address) (*ERC721ApprovalForAllIterator, error) {
  3514. var ownerRule []interface{}
  3515. for _, ownerItem := range owner {
  3516. ownerRule = append(ownerRule, ownerItem)
  3517. }
  3518. var operatorRule []interface{}
  3519. for _, operatorItem := range operator {
  3520. operatorRule = append(operatorRule, operatorItem)
  3521. }
  3522. logs, sub, err := _ERC721.contract.FilterLogs(opts, "ApprovalForAll", ownerRule, operatorRule)
  3523. if err != nil {
  3524. return nil, err
  3525. }
  3526. return &ERC721ApprovalForAllIterator{contract: _ERC721.contract, event: "ApprovalForAll", logs: logs, sub: sub}, nil
  3527. }
  3528. // WatchApprovalForAll is a free log subscription operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31.
  3529. //
  3530. // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved)
  3531. func (_ERC721 *ERC721Filterer) WatchApprovalForAll(opts *bind.WatchOpts, sink chan<- *ERC721ApprovalForAll, owner []common.Address, operator []common.Address) (event.Subscription, error) {
  3532. var ownerRule []interface{}
  3533. for _, ownerItem := range owner {
  3534. ownerRule = append(ownerRule, ownerItem)
  3535. }
  3536. var operatorRule []interface{}
  3537. for _, operatorItem := range operator {
  3538. operatorRule = append(operatorRule, operatorItem)
  3539. }
  3540. logs, sub, err := _ERC721.contract.WatchLogs(opts, "ApprovalForAll", ownerRule, operatorRule)
  3541. if err != nil {
  3542. return nil, err
  3543. }
  3544. return event.NewSubscription(func(quit <-chan struct{}) error {
  3545. defer sub.Unsubscribe()
  3546. for {
  3547. select {
  3548. case log := <-logs:
  3549. // New log arrived, parse the event and forward to the user
  3550. event := new(ERC721ApprovalForAll)
  3551. if err := _ERC721.contract.UnpackLog(event, "ApprovalForAll", log); err != nil {
  3552. return err
  3553. }
  3554. event.Raw = log
  3555. select {
  3556. case sink <- event:
  3557. case err := <-sub.Err():
  3558. return err
  3559. case <-quit:
  3560. return nil
  3561. }
  3562. case err := <-sub.Err():
  3563. return err
  3564. case <-quit:
  3565. return nil
  3566. }
  3567. }
  3568. }), nil
  3569. }
  3570. // ParseApprovalForAll is a log parse operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31.
  3571. //
  3572. // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved)
  3573. func (_ERC721 *ERC721Filterer) ParseApprovalForAll(log types.Log) (*ERC721ApprovalForAll, error) {
  3574. event := new(ERC721ApprovalForAll)
  3575. if err := _ERC721.contract.UnpackLog(event, "ApprovalForAll", log); err != nil {
  3576. return nil, err
  3577. }
  3578. event.Raw = log
  3579. return event, nil
  3580. }
  3581. // ERC721TransferIterator is returned from FilterTransfer and is used to iterate over the raw logs and unpacked data for Transfer events raised by the ERC721 contract.
  3582. type ERC721TransferIterator struct {
  3583. Event *ERC721Transfer // Event containing the contract specifics and raw log
  3584. contract *bind.BoundContract // Generic contract to use for unpacking event data
  3585. event string // Event name to use for unpacking event data
  3586. logs chan types.Log // Log channel receiving the found contract events
  3587. sub ethereum.Subscription // Subscription for errors, completion and termination
  3588. done bool // Whether the subscription completed delivering logs
  3589. fail error // Occurred error to stop iteration
  3590. }
  3591. // Next advances the iterator to the subsequent event, returning whether there
  3592. // are any more events found. In case of a retrieval or parsing error, false is
  3593. // returned and Error() can be queried for the exact failure.
  3594. func (it *ERC721TransferIterator) Next() bool {
  3595. // If the iterator failed, stop iterating
  3596. if it.fail != nil {
  3597. return false
  3598. }
  3599. // If the iterator completed, deliver directly whatever's available
  3600. if it.done {
  3601. select {
  3602. case log := <-it.logs:
  3603. it.Event = new(ERC721Transfer)
  3604. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  3605. it.fail = err
  3606. return false
  3607. }
  3608. it.Event.Raw = log
  3609. return true
  3610. default:
  3611. return false
  3612. }
  3613. }
  3614. // Iterator still in progress, wait for either a data or an error event
  3615. select {
  3616. case log := <-it.logs:
  3617. it.Event = new(ERC721Transfer)
  3618. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  3619. it.fail = err
  3620. return false
  3621. }
  3622. it.Event.Raw = log
  3623. return true
  3624. case err := <-it.sub.Err():
  3625. it.done = true
  3626. it.fail = err
  3627. return it.Next()
  3628. }
  3629. }
  3630. // Error returns any retrieval or parsing error occurred during filtering.
  3631. func (it *ERC721TransferIterator) Error() error {
  3632. return it.fail
  3633. }
  3634. // Close terminates the iteration process, releasing any pending underlying
  3635. // resources.
  3636. func (it *ERC721TransferIterator) Close() error {
  3637. it.sub.Unsubscribe()
  3638. return nil
  3639. }
  3640. // ERC721Transfer represents a Transfer event raised by the ERC721 contract.
  3641. type ERC721Transfer struct {
  3642. From common.Address
  3643. To common.Address
  3644. TokenId *big.Int
  3645. Raw types.Log // Blockchain specific contextual infos
  3646. }
  3647. // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef.
  3648. //
  3649. // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)
  3650. func (_ERC721 *ERC721Filterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address, tokenId []*big.Int) (*ERC721TransferIterator, error) {
  3651. var fromRule []interface{}
  3652. for _, fromItem := range from {
  3653. fromRule = append(fromRule, fromItem)
  3654. }
  3655. var toRule []interface{}
  3656. for _, toItem := range to {
  3657. toRule = append(toRule, toItem)
  3658. }
  3659. var tokenIdRule []interface{}
  3660. for _, tokenIdItem := range tokenId {
  3661. tokenIdRule = append(tokenIdRule, tokenIdItem)
  3662. }
  3663. logs, sub, err := _ERC721.contract.FilterLogs(opts, "Transfer", fromRule, toRule, tokenIdRule)
  3664. if err != nil {
  3665. return nil, err
  3666. }
  3667. return &ERC721TransferIterator{contract: _ERC721.contract, event: "Transfer", logs: logs, sub: sub}, nil
  3668. }
  3669. // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef.
  3670. //
  3671. // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)
  3672. func (_ERC721 *ERC721Filterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *ERC721Transfer, from []common.Address, to []common.Address, tokenId []*big.Int) (event.Subscription, error) {
  3673. var fromRule []interface{}
  3674. for _, fromItem := range from {
  3675. fromRule = append(fromRule, fromItem)
  3676. }
  3677. var toRule []interface{}
  3678. for _, toItem := range to {
  3679. toRule = append(toRule, toItem)
  3680. }
  3681. var tokenIdRule []interface{}
  3682. for _, tokenIdItem := range tokenId {
  3683. tokenIdRule = append(tokenIdRule, tokenIdItem)
  3684. }
  3685. logs, sub, err := _ERC721.contract.WatchLogs(opts, "Transfer", fromRule, toRule, tokenIdRule)
  3686. if err != nil {
  3687. return nil, err
  3688. }
  3689. return event.NewSubscription(func(quit <-chan struct{}) error {
  3690. defer sub.Unsubscribe()
  3691. for {
  3692. select {
  3693. case log := <-logs:
  3694. // New log arrived, parse the event and forward to the user
  3695. event := new(ERC721Transfer)
  3696. if err := _ERC721.contract.UnpackLog(event, "Transfer", log); err != nil {
  3697. return err
  3698. }
  3699. event.Raw = log
  3700. select {
  3701. case sink <- event:
  3702. case err := <-sub.Err():
  3703. return err
  3704. case <-quit:
  3705. return nil
  3706. }
  3707. case err := <-sub.Err():
  3708. return err
  3709. case <-quit:
  3710. return nil
  3711. }
  3712. }
  3713. }), nil
  3714. }
  3715. // ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef.
  3716. //
  3717. // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)
  3718. func (_ERC721 *ERC721Filterer) ParseTransfer(log types.Log) (*ERC721Transfer, error) {
  3719. event := new(ERC721Transfer)
  3720. if err := _ERC721.contract.UnpackLog(event, "Transfer", log); err != nil {
  3721. return nil, err
  3722. }
  3723. event.Raw = log
  3724. return event, nil
  3725. }
  3726. // ERC721EnumerableMetaData contains all meta data concerning the ERC721Enumerable contract.
  3727. var ERC721EnumerableMetaData = &bind.MetaData{
  3728. ABI: "[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenOfOwnerByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]",
  3729. Sigs: map[string]string{
  3730. "095ea7b3": "approve(address,uint256)",
  3731. "70a08231": "balanceOf(address)",
  3732. "081812fc": "getApproved(uint256)",
  3733. "e985e9c5": "isApprovedForAll(address,address)",
  3734. "06fdde03": "name()",
  3735. "6352211e": "ownerOf(uint256)",
  3736. "42842e0e": "safeTransferFrom(address,address,uint256)",
  3737. "b88d4fde": "safeTransferFrom(address,address,uint256,bytes)",
  3738. "a22cb465": "setApprovalForAll(address,bool)",
  3739. "01ffc9a7": "supportsInterface(bytes4)",
  3740. "95d89b41": "symbol()",
  3741. "4f6ccce7": "tokenByIndex(uint256)",
  3742. "2f745c59": "tokenOfOwnerByIndex(address,uint256)",
  3743. "c87b56dd": "tokenURI(uint256)",
  3744. "18160ddd": "totalSupply()",
  3745. "23b872dd": "transferFrom(address,address,uint256)",
  3746. },
  3747. }
  3748. // ERC721EnumerableABI is the input ABI used to generate the binding from.
  3749. // Deprecated: Use ERC721EnumerableMetaData.ABI instead.
  3750. var ERC721EnumerableABI = ERC721EnumerableMetaData.ABI
  3751. // Deprecated: Use ERC721EnumerableMetaData.Sigs instead.
  3752. // ERC721EnumerableFuncSigs maps the 4-byte function signature to its string representation.
  3753. var ERC721EnumerableFuncSigs = ERC721EnumerableMetaData.Sigs
  3754. // ERC721Enumerable is an auto generated Go binding around an Ethereum contract.
  3755. type ERC721Enumerable struct {
  3756. ERC721EnumerableCaller // Read-only binding to the contract
  3757. ERC721EnumerableTransactor // Write-only binding to the contract
  3758. ERC721EnumerableFilterer // Log filterer for contract events
  3759. }
  3760. // ERC721EnumerableCaller is an auto generated read-only Go binding around an Ethereum contract.
  3761. type ERC721EnumerableCaller struct {
  3762. contract *bind.BoundContract // Generic contract wrapper for the low level calls
  3763. }
  3764. // ERC721EnumerableTransactor is an auto generated write-only Go binding around an Ethereum contract.
  3765. type ERC721EnumerableTransactor struct {
  3766. contract *bind.BoundContract // Generic contract wrapper for the low level calls
  3767. }
  3768. // ERC721EnumerableFilterer is an auto generated log filtering Go binding around an Ethereum contract events.
  3769. type ERC721EnumerableFilterer struct {
  3770. contract *bind.BoundContract // Generic contract wrapper for the low level calls
  3771. }
  3772. // ERC721EnumerableSession is an auto generated Go binding around an Ethereum contract,
  3773. // with pre-set call and transact options.
  3774. type ERC721EnumerableSession struct {
  3775. Contract *ERC721Enumerable // Generic contract binding to set the session for
  3776. CallOpts bind.CallOpts // Call options to use throughout this session
  3777. TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
  3778. }
  3779. // ERC721EnumerableCallerSession is an auto generated read-only Go binding around an Ethereum contract,
  3780. // with pre-set call options.
  3781. type ERC721EnumerableCallerSession struct {
  3782. Contract *ERC721EnumerableCaller // Generic contract caller binding to set the session for
  3783. CallOpts bind.CallOpts // Call options to use throughout this session
  3784. }
  3785. // ERC721EnumerableTransactorSession is an auto generated write-only Go binding around an Ethereum contract,
  3786. // with pre-set transact options.
  3787. type ERC721EnumerableTransactorSession struct {
  3788. Contract *ERC721EnumerableTransactor // Generic contract transactor binding to set the session for
  3789. TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
  3790. }
  3791. // ERC721EnumerableRaw is an auto generated low-level Go binding around an Ethereum contract.
  3792. type ERC721EnumerableRaw struct {
  3793. Contract *ERC721Enumerable // Generic contract binding to access the raw methods on
  3794. }
  3795. // ERC721EnumerableCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
  3796. type ERC721EnumerableCallerRaw struct {
  3797. Contract *ERC721EnumerableCaller // Generic read-only contract binding to access the raw methods on
  3798. }
  3799. // ERC721EnumerableTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
  3800. type ERC721EnumerableTransactorRaw struct {
  3801. Contract *ERC721EnumerableTransactor // Generic write-only contract binding to access the raw methods on
  3802. }
  3803. // NewERC721Enumerable creates a new instance of ERC721Enumerable, bound to a specific deployed contract.
  3804. func NewERC721Enumerable(address common.Address, backend bind.ContractBackend) (*ERC721Enumerable, error) {
  3805. contract, err := bindERC721Enumerable(address, backend, backend, backend)
  3806. if err != nil {
  3807. return nil, err
  3808. }
  3809. return &ERC721Enumerable{ERC721EnumerableCaller: ERC721EnumerableCaller{contract: contract}, ERC721EnumerableTransactor: ERC721EnumerableTransactor{contract: contract}, ERC721EnumerableFilterer: ERC721EnumerableFilterer{contract: contract}}, nil
  3810. }
  3811. // NewERC721EnumerableCaller creates a new read-only instance of ERC721Enumerable, bound to a specific deployed contract.
  3812. func NewERC721EnumerableCaller(address common.Address, caller bind.ContractCaller) (*ERC721EnumerableCaller, error) {
  3813. contract, err := bindERC721Enumerable(address, caller, nil, nil)
  3814. if err != nil {
  3815. return nil, err
  3816. }
  3817. return &ERC721EnumerableCaller{contract: contract}, nil
  3818. }
  3819. // NewERC721EnumerableTransactor creates a new write-only instance of ERC721Enumerable, bound to a specific deployed contract.
  3820. func NewERC721EnumerableTransactor(address common.Address, transactor bind.ContractTransactor) (*ERC721EnumerableTransactor, error) {
  3821. contract, err := bindERC721Enumerable(address, nil, transactor, nil)
  3822. if err != nil {
  3823. return nil, err
  3824. }
  3825. return &ERC721EnumerableTransactor{contract: contract}, nil
  3826. }
  3827. // NewERC721EnumerableFilterer creates a new log filterer instance of ERC721Enumerable, bound to a specific deployed contract.
  3828. func NewERC721EnumerableFilterer(address common.Address, filterer bind.ContractFilterer) (*ERC721EnumerableFilterer, error) {
  3829. contract, err := bindERC721Enumerable(address, nil, nil, filterer)
  3830. if err != nil {
  3831. return nil, err
  3832. }
  3833. return &ERC721EnumerableFilterer{contract: contract}, nil
  3834. }
  3835. // bindERC721Enumerable binds a generic wrapper to an already deployed contract.
  3836. func bindERC721Enumerable(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
  3837. parsed, err := abi.JSON(strings.NewReader(ERC721EnumerableABI))
  3838. if err != nil {
  3839. return nil, err
  3840. }
  3841. return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil
  3842. }
  3843. // Call invokes the (constant) contract method with params as input values and
  3844. // sets the output to result. The result type might be a single field for simple
  3845. // returns, a slice of interfaces for anonymous returns and a struct for named
  3846. // returns.
  3847. func (_ERC721Enumerable *ERC721EnumerableRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
  3848. return _ERC721Enumerable.Contract.ERC721EnumerableCaller.contract.Call(opts, result, method, params...)
  3849. }
  3850. // Transfer initiates a plain transaction to move funds to the contract, calling
  3851. // its default method if one is available.
  3852. func (_ERC721Enumerable *ERC721EnumerableRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
  3853. return _ERC721Enumerable.Contract.ERC721EnumerableTransactor.contract.Transfer(opts)
  3854. }
  3855. // Transact invokes the (paid) contract method with params as input values.
  3856. func (_ERC721Enumerable *ERC721EnumerableRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
  3857. return _ERC721Enumerable.Contract.ERC721EnumerableTransactor.contract.Transact(opts, method, params...)
  3858. }
  3859. // Call invokes the (constant) contract method with params as input values and
  3860. // sets the output to result. The result type might be a single field for simple
  3861. // returns, a slice of interfaces for anonymous returns and a struct for named
  3862. // returns.
  3863. func (_ERC721Enumerable *ERC721EnumerableCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
  3864. return _ERC721Enumerable.Contract.contract.Call(opts, result, method, params...)
  3865. }
  3866. // Transfer initiates a plain transaction to move funds to the contract, calling
  3867. // its default method if one is available.
  3868. func (_ERC721Enumerable *ERC721EnumerableTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
  3869. return _ERC721Enumerable.Contract.contract.Transfer(opts)
  3870. }
  3871. // Transact invokes the (paid) contract method with params as input values.
  3872. func (_ERC721Enumerable *ERC721EnumerableTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
  3873. return _ERC721Enumerable.Contract.contract.Transact(opts, method, params...)
  3874. }
  3875. // BalanceOf is a free data retrieval call binding the contract method 0x70a08231.
  3876. //
  3877. // Solidity: function balanceOf(address owner) view returns(uint256)
  3878. func (_ERC721Enumerable *ERC721EnumerableCaller) BalanceOf(opts *bind.CallOpts, owner common.Address) (*big.Int, error) {
  3879. var out []interface{}
  3880. err := _ERC721Enumerable.contract.Call(opts, &out, "balanceOf", owner)
  3881. if err != nil {
  3882. return *new(*big.Int), err
  3883. }
  3884. out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
  3885. return out0, err
  3886. }
  3887. // BalanceOf is a free data retrieval call binding the contract method 0x70a08231.
  3888. //
  3889. // Solidity: function balanceOf(address owner) view returns(uint256)
  3890. func (_ERC721Enumerable *ERC721EnumerableSession) BalanceOf(owner common.Address) (*big.Int, error) {
  3891. return _ERC721Enumerable.Contract.BalanceOf(&_ERC721Enumerable.CallOpts, owner)
  3892. }
  3893. // BalanceOf is a free data retrieval call binding the contract method 0x70a08231.
  3894. //
  3895. // Solidity: function balanceOf(address owner) view returns(uint256)
  3896. func (_ERC721Enumerable *ERC721EnumerableCallerSession) BalanceOf(owner common.Address) (*big.Int, error) {
  3897. return _ERC721Enumerable.Contract.BalanceOf(&_ERC721Enumerable.CallOpts, owner)
  3898. }
  3899. // GetApproved is a free data retrieval call binding the contract method 0x081812fc.
  3900. //
  3901. // Solidity: function getApproved(uint256 tokenId) view returns(address)
  3902. func (_ERC721Enumerable *ERC721EnumerableCaller) GetApproved(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) {
  3903. var out []interface{}
  3904. err := _ERC721Enumerable.contract.Call(opts, &out, "getApproved", tokenId)
  3905. if err != nil {
  3906. return *new(common.Address), err
  3907. }
  3908. out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
  3909. return out0, err
  3910. }
  3911. // GetApproved is a free data retrieval call binding the contract method 0x081812fc.
  3912. //
  3913. // Solidity: function getApproved(uint256 tokenId) view returns(address)
  3914. func (_ERC721Enumerable *ERC721EnumerableSession) GetApproved(tokenId *big.Int) (common.Address, error) {
  3915. return _ERC721Enumerable.Contract.GetApproved(&_ERC721Enumerable.CallOpts, tokenId)
  3916. }
  3917. // GetApproved is a free data retrieval call binding the contract method 0x081812fc.
  3918. //
  3919. // Solidity: function getApproved(uint256 tokenId) view returns(address)
  3920. func (_ERC721Enumerable *ERC721EnumerableCallerSession) GetApproved(tokenId *big.Int) (common.Address, error) {
  3921. return _ERC721Enumerable.Contract.GetApproved(&_ERC721Enumerable.CallOpts, tokenId)
  3922. }
  3923. // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5.
  3924. //
  3925. // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool)
  3926. func (_ERC721Enumerable *ERC721EnumerableCaller) IsApprovedForAll(opts *bind.CallOpts, owner common.Address, operator common.Address) (bool, error) {
  3927. var out []interface{}
  3928. err := _ERC721Enumerable.contract.Call(opts, &out, "isApprovedForAll", owner, operator)
  3929. if err != nil {
  3930. return *new(bool), err
  3931. }
  3932. out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
  3933. return out0, err
  3934. }
  3935. // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5.
  3936. //
  3937. // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool)
  3938. func (_ERC721Enumerable *ERC721EnumerableSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) {
  3939. return _ERC721Enumerable.Contract.IsApprovedForAll(&_ERC721Enumerable.CallOpts, owner, operator)
  3940. }
  3941. // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5.
  3942. //
  3943. // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool)
  3944. func (_ERC721Enumerable *ERC721EnumerableCallerSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) {
  3945. return _ERC721Enumerable.Contract.IsApprovedForAll(&_ERC721Enumerable.CallOpts, owner, operator)
  3946. }
  3947. // Name is a free data retrieval call binding the contract method 0x06fdde03.
  3948. //
  3949. // Solidity: function name() view returns(string)
  3950. func (_ERC721Enumerable *ERC721EnumerableCaller) Name(opts *bind.CallOpts) (string, error) {
  3951. var out []interface{}
  3952. err := _ERC721Enumerable.contract.Call(opts, &out, "name")
  3953. if err != nil {
  3954. return *new(string), err
  3955. }
  3956. out0 := *abi.ConvertType(out[0], new(string)).(*string)
  3957. return out0, err
  3958. }
  3959. // Name is a free data retrieval call binding the contract method 0x06fdde03.
  3960. //
  3961. // Solidity: function name() view returns(string)
  3962. func (_ERC721Enumerable *ERC721EnumerableSession) Name() (string, error) {
  3963. return _ERC721Enumerable.Contract.Name(&_ERC721Enumerable.CallOpts)
  3964. }
  3965. // Name is a free data retrieval call binding the contract method 0x06fdde03.
  3966. //
  3967. // Solidity: function name() view returns(string)
  3968. func (_ERC721Enumerable *ERC721EnumerableCallerSession) Name() (string, error) {
  3969. return _ERC721Enumerable.Contract.Name(&_ERC721Enumerable.CallOpts)
  3970. }
  3971. // OwnerOf is a free data retrieval call binding the contract method 0x6352211e.
  3972. //
  3973. // Solidity: function ownerOf(uint256 tokenId) view returns(address)
  3974. func (_ERC721Enumerable *ERC721EnumerableCaller) OwnerOf(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) {
  3975. var out []interface{}
  3976. err := _ERC721Enumerable.contract.Call(opts, &out, "ownerOf", tokenId)
  3977. if err != nil {
  3978. return *new(common.Address), err
  3979. }
  3980. out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
  3981. return out0, err
  3982. }
  3983. // OwnerOf is a free data retrieval call binding the contract method 0x6352211e.
  3984. //
  3985. // Solidity: function ownerOf(uint256 tokenId) view returns(address)
  3986. func (_ERC721Enumerable *ERC721EnumerableSession) OwnerOf(tokenId *big.Int) (common.Address, error) {
  3987. return _ERC721Enumerable.Contract.OwnerOf(&_ERC721Enumerable.CallOpts, tokenId)
  3988. }
  3989. // OwnerOf is a free data retrieval call binding the contract method 0x6352211e.
  3990. //
  3991. // Solidity: function ownerOf(uint256 tokenId) view returns(address)
  3992. func (_ERC721Enumerable *ERC721EnumerableCallerSession) OwnerOf(tokenId *big.Int) (common.Address, error) {
  3993. return _ERC721Enumerable.Contract.OwnerOf(&_ERC721Enumerable.CallOpts, tokenId)
  3994. }
  3995. // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
  3996. //
  3997. // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
  3998. func (_ERC721Enumerable *ERC721EnumerableCaller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) {
  3999. var out []interface{}
  4000. err := _ERC721Enumerable.contract.Call(opts, &out, "supportsInterface", interfaceId)
  4001. if err != nil {
  4002. return *new(bool), err
  4003. }
  4004. out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
  4005. return out0, err
  4006. }
  4007. // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
  4008. //
  4009. // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
  4010. func (_ERC721Enumerable *ERC721EnumerableSession) SupportsInterface(interfaceId [4]byte) (bool, error) {
  4011. return _ERC721Enumerable.Contract.SupportsInterface(&_ERC721Enumerable.CallOpts, interfaceId)
  4012. }
  4013. // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
  4014. //
  4015. // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
  4016. func (_ERC721Enumerable *ERC721EnumerableCallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) {
  4017. return _ERC721Enumerable.Contract.SupportsInterface(&_ERC721Enumerable.CallOpts, interfaceId)
  4018. }
  4019. // Symbol is a free data retrieval call binding the contract method 0x95d89b41.
  4020. //
  4021. // Solidity: function symbol() view returns(string)
  4022. func (_ERC721Enumerable *ERC721EnumerableCaller) Symbol(opts *bind.CallOpts) (string, error) {
  4023. var out []interface{}
  4024. err := _ERC721Enumerable.contract.Call(opts, &out, "symbol")
  4025. if err != nil {
  4026. return *new(string), err
  4027. }
  4028. out0 := *abi.ConvertType(out[0], new(string)).(*string)
  4029. return out0, err
  4030. }
  4031. // Symbol is a free data retrieval call binding the contract method 0x95d89b41.
  4032. //
  4033. // Solidity: function symbol() view returns(string)
  4034. func (_ERC721Enumerable *ERC721EnumerableSession) Symbol() (string, error) {
  4035. return _ERC721Enumerable.Contract.Symbol(&_ERC721Enumerable.CallOpts)
  4036. }
  4037. // Symbol is a free data retrieval call binding the contract method 0x95d89b41.
  4038. //
  4039. // Solidity: function symbol() view returns(string)
  4040. func (_ERC721Enumerable *ERC721EnumerableCallerSession) Symbol() (string, error) {
  4041. return _ERC721Enumerable.Contract.Symbol(&_ERC721Enumerable.CallOpts)
  4042. }
  4043. // TokenByIndex is a free data retrieval call binding the contract method 0x4f6ccce7.
  4044. //
  4045. // Solidity: function tokenByIndex(uint256 index) view returns(uint256)
  4046. func (_ERC721Enumerable *ERC721EnumerableCaller) TokenByIndex(opts *bind.CallOpts, index *big.Int) (*big.Int, error) {
  4047. var out []interface{}
  4048. err := _ERC721Enumerable.contract.Call(opts, &out, "tokenByIndex", index)
  4049. if err != nil {
  4050. return *new(*big.Int), err
  4051. }
  4052. out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
  4053. return out0, err
  4054. }
  4055. // TokenByIndex is a free data retrieval call binding the contract method 0x4f6ccce7.
  4056. //
  4057. // Solidity: function tokenByIndex(uint256 index) view returns(uint256)
  4058. func (_ERC721Enumerable *ERC721EnumerableSession) TokenByIndex(index *big.Int) (*big.Int, error) {
  4059. return _ERC721Enumerable.Contract.TokenByIndex(&_ERC721Enumerable.CallOpts, index)
  4060. }
  4061. // TokenByIndex is a free data retrieval call binding the contract method 0x4f6ccce7.
  4062. //
  4063. // Solidity: function tokenByIndex(uint256 index) view returns(uint256)
  4064. func (_ERC721Enumerable *ERC721EnumerableCallerSession) TokenByIndex(index *big.Int) (*big.Int, error) {
  4065. return _ERC721Enumerable.Contract.TokenByIndex(&_ERC721Enumerable.CallOpts, index)
  4066. }
  4067. // TokenOfOwnerByIndex is a free data retrieval call binding the contract method 0x2f745c59.
  4068. //
  4069. // Solidity: function tokenOfOwnerByIndex(address owner, uint256 index) view returns(uint256)
  4070. func (_ERC721Enumerable *ERC721EnumerableCaller) TokenOfOwnerByIndex(opts *bind.CallOpts, owner common.Address, index *big.Int) (*big.Int, error) {
  4071. var out []interface{}
  4072. err := _ERC721Enumerable.contract.Call(opts, &out, "tokenOfOwnerByIndex", owner, index)
  4073. if err != nil {
  4074. return *new(*big.Int), err
  4075. }
  4076. out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
  4077. return out0, err
  4078. }
  4079. // TokenOfOwnerByIndex is a free data retrieval call binding the contract method 0x2f745c59.
  4080. //
  4081. // Solidity: function tokenOfOwnerByIndex(address owner, uint256 index) view returns(uint256)
  4082. func (_ERC721Enumerable *ERC721EnumerableSession) TokenOfOwnerByIndex(owner common.Address, index *big.Int) (*big.Int, error) {
  4083. return _ERC721Enumerable.Contract.TokenOfOwnerByIndex(&_ERC721Enumerable.CallOpts, owner, index)
  4084. }
  4085. // TokenOfOwnerByIndex is a free data retrieval call binding the contract method 0x2f745c59.
  4086. //
  4087. // Solidity: function tokenOfOwnerByIndex(address owner, uint256 index) view returns(uint256)
  4088. func (_ERC721Enumerable *ERC721EnumerableCallerSession) TokenOfOwnerByIndex(owner common.Address, index *big.Int) (*big.Int, error) {
  4089. return _ERC721Enumerable.Contract.TokenOfOwnerByIndex(&_ERC721Enumerable.CallOpts, owner, index)
  4090. }
  4091. // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd.
  4092. //
  4093. // Solidity: function tokenURI(uint256 tokenId) view returns(string)
  4094. func (_ERC721Enumerable *ERC721EnumerableCaller) TokenURI(opts *bind.CallOpts, tokenId *big.Int) (string, error) {
  4095. var out []interface{}
  4096. err := _ERC721Enumerable.contract.Call(opts, &out, "tokenURI", tokenId)
  4097. if err != nil {
  4098. return *new(string), err
  4099. }
  4100. out0 := *abi.ConvertType(out[0], new(string)).(*string)
  4101. return out0, err
  4102. }
  4103. // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd.
  4104. //
  4105. // Solidity: function tokenURI(uint256 tokenId) view returns(string)
  4106. func (_ERC721Enumerable *ERC721EnumerableSession) TokenURI(tokenId *big.Int) (string, error) {
  4107. return _ERC721Enumerable.Contract.TokenURI(&_ERC721Enumerable.CallOpts, tokenId)
  4108. }
  4109. // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd.
  4110. //
  4111. // Solidity: function tokenURI(uint256 tokenId) view returns(string)
  4112. func (_ERC721Enumerable *ERC721EnumerableCallerSession) TokenURI(tokenId *big.Int) (string, error) {
  4113. return _ERC721Enumerable.Contract.TokenURI(&_ERC721Enumerable.CallOpts, tokenId)
  4114. }
  4115. // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd.
  4116. //
  4117. // Solidity: function totalSupply() view returns(uint256)
  4118. func (_ERC721Enumerable *ERC721EnumerableCaller) TotalSupply(opts *bind.CallOpts) (*big.Int, error) {
  4119. var out []interface{}
  4120. err := _ERC721Enumerable.contract.Call(opts, &out, "totalSupply")
  4121. if err != nil {
  4122. return *new(*big.Int), err
  4123. }
  4124. out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
  4125. return out0, err
  4126. }
  4127. // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd.
  4128. //
  4129. // Solidity: function totalSupply() view returns(uint256)
  4130. func (_ERC721Enumerable *ERC721EnumerableSession) TotalSupply() (*big.Int, error) {
  4131. return _ERC721Enumerable.Contract.TotalSupply(&_ERC721Enumerable.CallOpts)
  4132. }
  4133. // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd.
  4134. //
  4135. // Solidity: function totalSupply() view returns(uint256)
  4136. func (_ERC721Enumerable *ERC721EnumerableCallerSession) TotalSupply() (*big.Int, error) {
  4137. return _ERC721Enumerable.Contract.TotalSupply(&_ERC721Enumerable.CallOpts)
  4138. }
  4139. // Approve is a paid mutator transaction binding the contract method 0x095ea7b3.
  4140. //
  4141. // Solidity: function approve(address to, uint256 tokenId) returns()
  4142. func (_ERC721Enumerable *ERC721EnumerableTransactor) Approve(opts *bind.TransactOpts, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
  4143. return _ERC721Enumerable.contract.Transact(opts, "approve", to, tokenId)
  4144. }
  4145. // Approve is a paid mutator transaction binding the contract method 0x095ea7b3.
  4146. //
  4147. // Solidity: function approve(address to, uint256 tokenId) returns()
  4148. func (_ERC721Enumerable *ERC721EnumerableSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) {
  4149. return _ERC721Enumerable.Contract.Approve(&_ERC721Enumerable.TransactOpts, to, tokenId)
  4150. }
  4151. // Approve is a paid mutator transaction binding the contract method 0x095ea7b3.
  4152. //
  4153. // Solidity: function approve(address to, uint256 tokenId) returns()
  4154. func (_ERC721Enumerable *ERC721EnumerableTransactorSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) {
  4155. return _ERC721Enumerable.Contract.Approve(&_ERC721Enumerable.TransactOpts, to, tokenId)
  4156. }
  4157. // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e.
  4158. //
  4159. // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns()
  4160. func (_ERC721Enumerable *ERC721EnumerableTransactor) SafeTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
  4161. return _ERC721Enumerable.contract.Transact(opts, "safeTransferFrom", from, to, tokenId)
  4162. }
  4163. // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e.
  4164. //
  4165. // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns()
  4166. func (_ERC721Enumerable *ERC721EnumerableSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
  4167. return _ERC721Enumerable.Contract.SafeTransferFrom(&_ERC721Enumerable.TransactOpts, from, to, tokenId)
  4168. }
  4169. // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e.
  4170. //
  4171. // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns()
  4172. func (_ERC721Enumerable *ERC721EnumerableTransactorSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
  4173. return _ERC721Enumerable.Contract.SafeTransferFrom(&_ERC721Enumerable.TransactOpts, from, to, tokenId)
  4174. }
  4175. // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde.
  4176. //
  4177. // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns()
  4178. func (_ERC721Enumerable *ERC721EnumerableTransactor) SafeTransferFrom0(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) {
  4179. return _ERC721Enumerable.contract.Transact(opts, "safeTransferFrom0", from, to, tokenId, _data)
  4180. }
  4181. // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde.
  4182. //
  4183. // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns()
  4184. func (_ERC721Enumerable *ERC721EnumerableSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) {
  4185. return _ERC721Enumerable.Contract.SafeTransferFrom0(&_ERC721Enumerable.TransactOpts, from, to, tokenId, _data)
  4186. }
  4187. // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde.
  4188. //
  4189. // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns()
  4190. func (_ERC721Enumerable *ERC721EnumerableTransactorSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) {
  4191. return _ERC721Enumerable.Contract.SafeTransferFrom0(&_ERC721Enumerable.TransactOpts, from, to, tokenId, _data)
  4192. }
  4193. // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465.
  4194. //
  4195. // Solidity: function setApprovalForAll(address operator, bool approved) returns()
  4196. func (_ERC721Enumerable *ERC721EnumerableTransactor) SetApprovalForAll(opts *bind.TransactOpts, operator common.Address, approved bool) (*types.Transaction, error) {
  4197. return _ERC721Enumerable.contract.Transact(opts, "setApprovalForAll", operator, approved)
  4198. }
  4199. // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465.
  4200. //
  4201. // Solidity: function setApprovalForAll(address operator, bool approved) returns()
  4202. func (_ERC721Enumerable *ERC721EnumerableSession) SetApprovalForAll(operator common.Address, approved bool) (*types.Transaction, error) {
  4203. return _ERC721Enumerable.Contract.SetApprovalForAll(&_ERC721Enumerable.TransactOpts, operator, approved)
  4204. }
  4205. // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465.
  4206. //
  4207. // Solidity: function setApprovalForAll(address operator, bool approved) returns()
  4208. func (_ERC721Enumerable *ERC721EnumerableTransactorSession) SetApprovalForAll(operator common.Address, approved bool) (*types.Transaction, error) {
  4209. return _ERC721Enumerable.Contract.SetApprovalForAll(&_ERC721Enumerable.TransactOpts, operator, approved)
  4210. }
  4211. // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd.
  4212. //
  4213. // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns()
  4214. func (_ERC721Enumerable *ERC721EnumerableTransactor) TransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
  4215. return _ERC721Enumerable.contract.Transact(opts, "transferFrom", from, to, tokenId)
  4216. }
  4217. // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd.
  4218. //
  4219. // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns()
  4220. func (_ERC721Enumerable *ERC721EnumerableSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
  4221. return _ERC721Enumerable.Contract.TransferFrom(&_ERC721Enumerable.TransactOpts, from, to, tokenId)
  4222. }
  4223. // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd.
  4224. //
  4225. // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns()
  4226. func (_ERC721Enumerable *ERC721EnumerableTransactorSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
  4227. return _ERC721Enumerable.Contract.TransferFrom(&_ERC721Enumerable.TransactOpts, from, to, tokenId)
  4228. }
  4229. // ERC721EnumerableApprovalIterator is returned from FilterApproval and is used to iterate over the raw logs and unpacked data for Approval events raised by the ERC721Enumerable contract.
  4230. type ERC721EnumerableApprovalIterator struct {
  4231. Event *ERC721EnumerableApproval // Event containing the contract specifics and raw log
  4232. contract *bind.BoundContract // Generic contract to use for unpacking event data
  4233. event string // Event name to use for unpacking event data
  4234. logs chan types.Log // Log channel receiving the found contract events
  4235. sub ethereum.Subscription // Subscription for errors, completion and termination
  4236. done bool // Whether the subscription completed delivering logs
  4237. fail error // Occurred error to stop iteration
  4238. }
  4239. // Next advances the iterator to the subsequent event, returning whether there
  4240. // are any more events found. In case of a retrieval or parsing error, false is
  4241. // returned and Error() can be queried for the exact failure.
  4242. func (it *ERC721EnumerableApprovalIterator) Next() bool {
  4243. // If the iterator failed, stop iterating
  4244. if it.fail != nil {
  4245. return false
  4246. }
  4247. // If the iterator completed, deliver directly whatever's available
  4248. if it.done {
  4249. select {
  4250. case log := <-it.logs:
  4251. it.Event = new(ERC721EnumerableApproval)
  4252. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  4253. it.fail = err
  4254. return false
  4255. }
  4256. it.Event.Raw = log
  4257. return true
  4258. default:
  4259. return false
  4260. }
  4261. }
  4262. // Iterator still in progress, wait for either a data or an error event
  4263. select {
  4264. case log := <-it.logs:
  4265. it.Event = new(ERC721EnumerableApproval)
  4266. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  4267. it.fail = err
  4268. return false
  4269. }
  4270. it.Event.Raw = log
  4271. return true
  4272. case err := <-it.sub.Err():
  4273. it.done = true
  4274. it.fail = err
  4275. return it.Next()
  4276. }
  4277. }
  4278. // Error returns any retrieval or parsing error occurred during filtering.
  4279. func (it *ERC721EnumerableApprovalIterator) Error() error {
  4280. return it.fail
  4281. }
  4282. // Close terminates the iteration process, releasing any pending underlying
  4283. // resources.
  4284. func (it *ERC721EnumerableApprovalIterator) Close() error {
  4285. it.sub.Unsubscribe()
  4286. return nil
  4287. }
  4288. // ERC721EnumerableApproval represents a Approval event raised by the ERC721Enumerable contract.
  4289. type ERC721EnumerableApproval struct {
  4290. Owner common.Address
  4291. Approved common.Address
  4292. TokenId *big.Int
  4293. Raw types.Log // Blockchain specific contextual infos
  4294. }
  4295. // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925.
  4296. //
  4297. // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)
  4298. func (_ERC721Enumerable *ERC721EnumerableFilterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, approved []common.Address, tokenId []*big.Int) (*ERC721EnumerableApprovalIterator, error) {
  4299. var ownerRule []interface{}
  4300. for _, ownerItem := range owner {
  4301. ownerRule = append(ownerRule, ownerItem)
  4302. }
  4303. var approvedRule []interface{}
  4304. for _, approvedItem := range approved {
  4305. approvedRule = append(approvedRule, approvedItem)
  4306. }
  4307. var tokenIdRule []interface{}
  4308. for _, tokenIdItem := range tokenId {
  4309. tokenIdRule = append(tokenIdRule, tokenIdItem)
  4310. }
  4311. logs, sub, err := _ERC721Enumerable.contract.FilterLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule)
  4312. if err != nil {
  4313. return nil, err
  4314. }
  4315. return &ERC721EnumerableApprovalIterator{contract: _ERC721Enumerable.contract, event: "Approval", logs: logs, sub: sub}, nil
  4316. }
  4317. // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925.
  4318. //
  4319. // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)
  4320. func (_ERC721Enumerable *ERC721EnumerableFilterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *ERC721EnumerableApproval, owner []common.Address, approved []common.Address, tokenId []*big.Int) (event.Subscription, error) {
  4321. var ownerRule []interface{}
  4322. for _, ownerItem := range owner {
  4323. ownerRule = append(ownerRule, ownerItem)
  4324. }
  4325. var approvedRule []interface{}
  4326. for _, approvedItem := range approved {
  4327. approvedRule = append(approvedRule, approvedItem)
  4328. }
  4329. var tokenIdRule []interface{}
  4330. for _, tokenIdItem := range tokenId {
  4331. tokenIdRule = append(tokenIdRule, tokenIdItem)
  4332. }
  4333. logs, sub, err := _ERC721Enumerable.contract.WatchLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule)
  4334. if err != nil {
  4335. return nil, err
  4336. }
  4337. return event.NewSubscription(func(quit <-chan struct{}) error {
  4338. defer sub.Unsubscribe()
  4339. for {
  4340. select {
  4341. case log := <-logs:
  4342. // New log arrived, parse the event and forward to the user
  4343. event := new(ERC721EnumerableApproval)
  4344. if err := _ERC721Enumerable.contract.UnpackLog(event, "Approval", log); err != nil {
  4345. return err
  4346. }
  4347. event.Raw = log
  4348. select {
  4349. case sink <- event:
  4350. case err := <-sub.Err():
  4351. return err
  4352. case <-quit:
  4353. return nil
  4354. }
  4355. case err := <-sub.Err():
  4356. return err
  4357. case <-quit:
  4358. return nil
  4359. }
  4360. }
  4361. }), nil
  4362. }
  4363. // ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925.
  4364. //
  4365. // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)
  4366. func (_ERC721Enumerable *ERC721EnumerableFilterer) ParseApproval(log types.Log) (*ERC721EnumerableApproval, error) {
  4367. event := new(ERC721EnumerableApproval)
  4368. if err := _ERC721Enumerable.contract.UnpackLog(event, "Approval", log); err != nil {
  4369. return nil, err
  4370. }
  4371. event.Raw = log
  4372. return event, nil
  4373. }
  4374. // ERC721EnumerableApprovalForAllIterator is returned from FilterApprovalForAll and is used to iterate over the raw logs and unpacked data for ApprovalForAll events raised by the ERC721Enumerable contract.
  4375. type ERC721EnumerableApprovalForAllIterator struct {
  4376. Event *ERC721EnumerableApprovalForAll // Event containing the contract specifics and raw log
  4377. contract *bind.BoundContract // Generic contract to use for unpacking event data
  4378. event string // Event name to use for unpacking event data
  4379. logs chan types.Log // Log channel receiving the found contract events
  4380. sub ethereum.Subscription // Subscription for errors, completion and termination
  4381. done bool // Whether the subscription completed delivering logs
  4382. fail error // Occurred error to stop iteration
  4383. }
  4384. // Next advances the iterator to the subsequent event, returning whether there
  4385. // are any more events found. In case of a retrieval or parsing error, false is
  4386. // returned and Error() can be queried for the exact failure.
  4387. func (it *ERC721EnumerableApprovalForAllIterator) Next() bool {
  4388. // If the iterator failed, stop iterating
  4389. if it.fail != nil {
  4390. return false
  4391. }
  4392. // If the iterator completed, deliver directly whatever's available
  4393. if it.done {
  4394. select {
  4395. case log := <-it.logs:
  4396. it.Event = new(ERC721EnumerableApprovalForAll)
  4397. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  4398. it.fail = err
  4399. return false
  4400. }
  4401. it.Event.Raw = log
  4402. return true
  4403. default:
  4404. return false
  4405. }
  4406. }
  4407. // Iterator still in progress, wait for either a data or an error event
  4408. select {
  4409. case log := <-it.logs:
  4410. it.Event = new(ERC721EnumerableApprovalForAll)
  4411. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  4412. it.fail = err
  4413. return false
  4414. }
  4415. it.Event.Raw = log
  4416. return true
  4417. case err := <-it.sub.Err():
  4418. it.done = true
  4419. it.fail = err
  4420. return it.Next()
  4421. }
  4422. }
  4423. // Error returns any retrieval or parsing error occurred during filtering.
  4424. func (it *ERC721EnumerableApprovalForAllIterator) Error() error {
  4425. return it.fail
  4426. }
  4427. // Close terminates the iteration process, releasing any pending underlying
  4428. // resources.
  4429. func (it *ERC721EnumerableApprovalForAllIterator) Close() error {
  4430. it.sub.Unsubscribe()
  4431. return nil
  4432. }
  4433. // ERC721EnumerableApprovalForAll represents a ApprovalForAll event raised by the ERC721Enumerable contract.
  4434. type ERC721EnumerableApprovalForAll struct {
  4435. Owner common.Address
  4436. Operator common.Address
  4437. Approved bool
  4438. Raw types.Log // Blockchain specific contextual infos
  4439. }
  4440. // FilterApprovalForAll is a free log retrieval operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31.
  4441. //
  4442. // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved)
  4443. func (_ERC721Enumerable *ERC721EnumerableFilterer) FilterApprovalForAll(opts *bind.FilterOpts, owner []common.Address, operator []common.Address) (*ERC721EnumerableApprovalForAllIterator, error) {
  4444. var ownerRule []interface{}
  4445. for _, ownerItem := range owner {
  4446. ownerRule = append(ownerRule, ownerItem)
  4447. }
  4448. var operatorRule []interface{}
  4449. for _, operatorItem := range operator {
  4450. operatorRule = append(operatorRule, operatorItem)
  4451. }
  4452. logs, sub, err := _ERC721Enumerable.contract.FilterLogs(opts, "ApprovalForAll", ownerRule, operatorRule)
  4453. if err != nil {
  4454. return nil, err
  4455. }
  4456. return &ERC721EnumerableApprovalForAllIterator{contract: _ERC721Enumerable.contract, event: "ApprovalForAll", logs: logs, sub: sub}, nil
  4457. }
  4458. // WatchApprovalForAll is a free log subscription operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31.
  4459. //
  4460. // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved)
  4461. func (_ERC721Enumerable *ERC721EnumerableFilterer) WatchApprovalForAll(opts *bind.WatchOpts, sink chan<- *ERC721EnumerableApprovalForAll, owner []common.Address, operator []common.Address) (event.Subscription, error) {
  4462. var ownerRule []interface{}
  4463. for _, ownerItem := range owner {
  4464. ownerRule = append(ownerRule, ownerItem)
  4465. }
  4466. var operatorRule []interface{}
  4467. for _, operatorItem := range operator {
  4468. operatorRule = append(operatorRule, operatorItem)
  4469. }
  4470. logs, sub, err := _ERC721Enumerable.contract.WatchLogs(opts, "ApprovalForAll", ownerRule, operatorRule)
  4471. if err != nil {
  4472. return nil, err
  4473. }
  4474. return event.NewSubscription(func(quit <-chan struct{}) error {
  4475. defer sub.Unsubscribe()
  4476. for {
  4477. select {
  4478. case log := <-logs:
  4479. // New log arrived, parse the event and forward to the user
  4480. event := new(ERC721EnumerableApprovalForAll)
  4481. if err := _ERC721Enumerable.contract.UnpackLog(event, "ApprovalForAll", log); err != nil {
  4482. return err
  4483. }
  4484. event.Raw = log
  4485. select {
  4486. case sink <- event:
  4487. case err := <-sub.Err():
  4488. return err
  4489. case <-quit:
  4490. return nil
  4491. }
  4492. case err := <-sub.Err():
  4493. return err
  4494. case <-quit:
  4495. return nil
  4496. }
  4497. }
  4498. }), nil
  4499. }
  4500. // ParseApprovalForAll is a log parse operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31.
  4501. //
  4502. // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved)
  4503. func (_ERC721Enumerable *ERC721EnumerableFilterer) ParseApprovalForAll(log types.Log) (*ERC721EnumerableApprovalForAll, error) {
  4504. event := new(ERC721EnumerableApprovalForAll)
  4505. if err := _ERC721Enumerable.contract.UnpackLog(event, "ApprovalForAll", log); err != nil {
  4506. return nil, err
  4507. }
  4508. event.Raw = log
  4509. return event, nil
  4510. }
  4511. // ERC721EnumerableTransferIterator is returned from FilterTransfer and is used to iterate over the raw logs and unpacked data for Transfer events raised by the ERC721Enumerable contract.
  4512. type ERC721EnumerableTransferIterator struct {
  4513. Event *ERC721EnumerableTransfer // Event containing the contract specifics and raw log
  4514. contract *bind.BoundContract // Generic contract to use for unpacking event data
  4515. event string // Event name to use for unpacking event data
  4516. logs chan types.Log // Log channel receiving the found contract events
  4517. sub ethereum.Subscription // Subscription for errors, completion and termination
  4518. done bool // Whether the subscription completed delivering logs
  4519. fail error // Occurred error to stop iteration
  4520. }
  4521. // Next advances the iterator to the subsequent event, returning whether there
  4522. // are any more events found. In case of a retrieval or parsing error, false is
  4523. // returned and Error() can be queried for the exact failure.
  4524. func (it *ERC721EnumerableTransferIterator) Next() bool {
  4525. // If the iterator failed, stop iterating
  4526. if it.fail != nil {
  4527. return false
  4528. }
  4529. // If the iterator completed, deliver directly whatever's available
  4530. if it.done {
  4531. select {
  4532. case log := <-it.logs:
  4533. it.Event = new(ERC721EnumerableTransfer)
  4534. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  4535. it.fail = err
  4536. return false
  4537. }
  4538. it.Event.Raw = log
  4539. return true
  4540. default:
  4541. return false
  4542. }
  4543. }
  4544. // Iterator still in progress, wait for either a data or an error event
  4545. select {
  4546. case log := <-it.logs:
  4547. it.Event = new(ERC721EnumerableTransfer)
  4548. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  4549. it.fail = err
  4550. return false
  4551. }
  4552. it.Event.Raw = log
  4553. return true
  4554. case err := <-it.sub.Err():
  4555. it.done = true
  4556. it.fail = err
  4557. return it.Next()
  4558. }
  4559. }
  4560. // Error returns any retrieval or parsing error occurred during filtering.
  4561. func (it *ERC721EnumerableTransferIterator) Error() error {
  4562. return it.fail
  4563. }
  4564. // Close terminates the iteration process, releasing any pending underlying
  4565. // resources.
  4566. func (it *ERC721EnumerableTransferIterator) Close() error {
  4567. it.sub.Unsubscribe()
  4568. return nil
  4569. }
  4570. // ERC721EnumerableTransfer represents a Transfer event raised by the ERC721Enumerable contract.
  4571. type ERC721EnumerableTransfer struct {
  4572. From common.Address
  4573. To common.Address
  4574. TokenId *big.Int
  4575. Raw types.Log // Blockchain specific contextual infos
  4576. }
  4577. // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef.
  4578. //
  4579. // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)
  4580. func (_ERC721Enumerable *ERC721EnumerableFilterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address, tokenId []*big.Int) (*ERC721EnumerableTransferIterator, error) {
  4581. var fromRule []interface{}
  4582. for _, fromItem := range from {
  4583. fromRule = append(fromRule, fromItem)
  4584. }
  4585. var toRule []interface{}
  4586. for _, toItem := range to {
  4587. toRule = append(toRule, toItem)
  4588. }
  4589. var tokenIdRule []interface{}
  4590. for _, tokenIdItem := range tokenId {
  4591. tokenIdRule = append(tokenIdRule, tokenIdItem)
  4592. }
  4593. logs, sub, err := _ERC721Enumerable.contract.FilterLogs(opts, "Transfer", fromRule, toRule, tokenIdRule)
  4594. if err != nil {
  4595. return nil, err
  4596. }
  4597. return &ERC721EnumerableTransferIterator{contract: _ERC721Enumerable.contract, event: "Transfer", logs: logs, sub: sub}, nil
  4598. }
  4599. // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef.
  4600. //
  4601. // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)
  4602. func (_ERC721Enumerable *ERC721EnumerableFilterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *ERC721EnumerableTransfer, from []common.Address, to []common.Address, tokenId []*big.Int) (event.Subscription, error) {
  4603. var fromRule []interface{}
  4604. for _, fromItem := range from {
  4605. fromRule = append(fromRule, fromItem)
  4606. }
  4607. var toRule []interface{}
  4608. for _, toItem := range to {
  4609. toRule = append(toRule, toItem)
  4610. }
  4611. var tokenIdRule []interface{}
  4612. for _, tokenIdItem := range tokenId {
  4613. tokenIdRule = append(tokenIdRule, tokenIdItem)
  4614. }
  4615. logs, sub, err := _ERC721Enumerable.contract.WatchLogs(opts, "Transfer", fromRule, toRule, tokenIdRule)
  4616. if err != nil {
  4617. return nil, err
  4618. }
  4619. return event.NewSubscription(func(quit <-chan struct{}) error {
  4620. defer sub.Unsubscribe()
  4621. for {
  4622. select {
  4623. case log := <-logs:
  4624. // New log arrived, parse the event and forward to the user
  4625. event := new(ERC721EnumerableTransfer)
  4626. if err := _ERC721Enumerable.contract.UnpackLog(event, "Transfer", log); err != nil {
  4627. return err
  4628. }
  4629. event.Raw = log
  4630. select {
  4631. case sink <- event:
  4632. case err := <-sub.Err():
  4633. return err
  4634. case <-quit:
  4635. return nil
  4636. }
  4637. case err := <-sub.Err():
  4638. return err
  4639. case <-quit:
  4640. return nil
  4641. }
  4642. }
  4643. }), nil
  4644. }
  4645. // ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef.
  4646. //
  4647. // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)
  4648. func (_ERC721Enumerable *ERC721EnumerableFilterer) ParseTransfer(log types.Log) (*ERC721EnumerableTransfer, error) {
  4649. event := new(ERC721EnumerableTransfer)
  4650. if err := _ERC721Enumerable.contract.UnpackLog(event, "Transfer", log); err != nil {
  4651. return nil, err
  4652. }
  4653. event.Raw = log
  4654. return event, nil
  4655. }
  4656. // ERC721URIStorageMetaData contains all meta data concerning the ERC721URIStorage contract.
  4657. var ERC721URIStorageMetaData = &bind.MetaData{
  4658. ABI: "[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]",
  4659. Sigs: map[string]string{
  4660. "095ea7b3": "approve(address,uint256)",
  4661. "70a08231": "balanceOf(address)",
  4662. "081812fc": "getApproved(uint256)",
  4663. "e985e9c5": "isApprovedForAll(address,address)",
  4664. "06fdde03": "name()",
  4665. "6352211e": "ownerOf(uint256)",
  4666. "42842e0e": "safeTransferFrom(address,address,uint256)",
  4667. "b88d4fde": "safeTransferFrom(address,address,uint256,bytes)",
  4668. "a22cb465": "setApprovalForAll(address,bool)",
  4669. "01ffc9a7": "supportsInterface(bytes4)",
  4670. "95d89b41": "symbol()",
  4671. "c87b56dd": "tokenURI(uint256)",
  4672. "23b872dd": "transferFrom(address,address,uint256)",
  4673. },
  4674. }
  4675. // ERC721URIStorageABI is the input ABI used to generate the binding from.
  4676. // Deprecated: Use ERC721URIStorageMetaData.ABI instead.
  4677. var ERC721URIStorageABI = ERC721URIStorageMetaData.ABI
  4678. // Deprecated: Use ERC721URIStorageMetaData.Sigs instead.
  4679. // ERC721URIStorageFuncSigs maps the 4-byte function signature to its string representation.
  4680. var ERC721URIStorageFuncSigs = ERC721URIStorageMetaData.Sigs
  4681. // ERC721URIStorage is an auto generated Go binding around an Ethereum contract.
  4682. type ERC721URIStorage struct {
  4683. ERC721URIStorageCaller // Read-only binding to the contract
  4684. ERC721URIStorageTransactor // Write-only binding to the contract
  4685. ERC721URIStorageFilterer // Log filterer for contract events
  4686. }
  4687. // ERC721URIStorageCaller is an auto generated read-only Go binding around an Ethereum contract.
  4688. type ERC721URIStorageCaller struct {
  4689. contract *bind.BoundContract // Generic contract wrapper for the low level calls
  4690. }
  4691. // ERC721URIStorageTransactor is an auto generated write-only Go binding around an Ethereum contract.
  4692. type ERC721URIStorageTransactor struct {
  4693. contract *bind.BoundContract // Generic contract wrapper for the low level calls
  4694. }
  4695. // ERC721URIStorageFilterer is an auto generated log filtering Go binding around an Ethereum contract events.
  4696. type ERC721URIStorageFilterer struct {
  4697. contract *bind.BoundContract // Generic contract wrapper for the low level calls
  4698. }
  4699. // ERC721URIStorageSession is an auto generated Go binding around an Ethereum contract,
  4700. // with pre-set call and transact options.
  4701. type ERC721URIStorageSession struct {
  4702. Contract *ERC721URIStorage // Generic contract binding to set the session for
  4703. CallOpts bind.CallOpts // Call options to use throughout this session
  4704. TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
  4705. }
  4706. // ERC721URIStorageCallerSession is an auto generated read-only Go binding around an Ethereum contract,
  4707. // with pre-set call options.
  4708. type ERC721URIStorageCallerSession struct {
  4709. Contract *ERC721URIStorageCaller // Generic contract caller binding to set the session for
  4710. CallOpts bind.CallOpts // Call options to use throughout this session
  4711. }
  4712. // ERC721URIStorageTransactorSession is an auto generated write-only Go binding around an Ethereum contract,
  4713. // with pre-set transact options.
  4714. type ERC721URIStorageTransactorSession struct {
  4715. Contract *ERC721URIStorageTransactor // Generic contract transactor binding to set the session for
  4716. TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
  4717. }
  4718. // ERC721URIStorageRaw is an auto generated low-level Go binding around an Ethereum contract.
  4719. type ERC721URIStorageRaw struct {
  4720. Contract *ERC721URIStorage // Generic contract binding to access the raw methods on
  4721. }
  4722. // ERC721URIStorageCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
  4723. type ERC721URIStorageCallerRaw struct {
  4724. Contract *ERC721URIStorageCaller // Generic read-only contract binding to access the raw methods on
  4725. }
  4726. // ERC721URIStorageTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
  4727. type ERC721URIStorageTransactorRaw struct {
  4728. Contract *ERC721URIStorageTransactor // Generic write-only contract binding to access the raw methods on
  4729. }
  4730. // NewERC721URIStorage creates a new instance of ERC721URIStorage, bound to a specific deployed contract.
  4731. func NewERC721URIStorage(address common.Address, backend bind.ContractBackend) (*ERC721URIStorage, error) {
  4732. contract, err := bindERC721URIStorage(address, backend, backend, backend)
  4733. if err != nil {
  4734. return nil, err
  4735. }
  4736. return &ERC721URIStorage{ERC721URIStorageCaller: ERC721URIStorageCaller{contract: contract}, ERC721URIStorageTransactor: ERC721URIStorageTransactor{contract: contract}, ERC721URIStorageFilterer: ERC721URIStorageFilterer{contract: contract}}, nil
  4737. }
  4738. // NewERC721URIStorageCaller creates a new read-only instance of ERC721URIStorage, bound to a specific deployed contract.
  4739. func NewERC721URIStorageCaller(address common.Address, caller bind.ContractCaller) (*ERC721URIStorageCaller, error) {
  4740. contract, err := bindERC721URIStorage(address, caller, nil, nil)
  4741. if err != nil {
  4742. return nil, err
  4743. }
  4744. return &ERC721URIStorageCaller{contract: contract}, nil
  4745. }
  4746. // NewERC721URIStorageTransactor creates a new write-only instance of ERC721URIStorage, bound to a specific deployed contract.
  4747. func NewERC721URIStorageTransactor(address common.Address, transactor bind.ContractTransactor) (*ERC721URIStorageTransactor, error) {
  4748. contract, err := bindERC721URIStorage(address, nil, transactor, nil)
  4749. if err != nil {
  4750. return nil, err
  4751. }
  4752. return &ERC721URIStorageTransactor{contract: contract}, nil
  4753. }
  4754. // NewERC721URIStorageFilterer creates a new log filterer instance of ERC721URIStorage, bound to a specific deployed contract.
  4755. func NewERC721URIStorageFilterer(address common.Address, filterer bind.ContractFilterer) (*ERC721URIStorageFilterer, error) {
  4756. contract, err := bindERC721URIStorage(address, nil, nil, filterer)
  4757. if err != nil {
  4758. return nil, err
  4759. }
  4760. return &ERC721URIStorageFilterer{contract: contract}, nil
  4761. }
  4762. // bindERC721URIStorage binds a generic wrapper to an already deployed contract.
  4763. func bindERC721URIStorage(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
  4764. parsed, err := abi.JSON(strings.NewReader(ERC721URIStorageABI))
  4765. if err != nil {
  4766. return nil, err
  4767. }
  4768. return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil
  4769. }
  4770. // Call invokes the (constant) contract method with params as input values and
  4771. // sets the output to result. The result type might be a single field for simple
  4772. // returns, a slice of interfaces for anonymous returns and a struct for named
  4773. // returns.
  4774. func (_ERC721URIStorage *ERC721URIStorageRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
  4775. return _ERC721URIStorage.Contract.ERC721URIStorageCaller.contract.Call(opts, result, method, params...)
  4776. }
  4777. // Transfer initiates a plain transaction to move funds to the contract, calling
  4778. // its default method if one is available.
  4779. func (_ERC721URIStorage *ERC721URIStorageRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
  4780. return _ERC721URIStorage.Contract.ERC721URIStorageTransactor.contract.Transfer(opts)
  4781. }
  4782. // Transact invokes the (paid) contract method with params as input values.
  4783. func (_ERC721URIStorage *ERC721URIStorageRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
  4784. return _ERC721URIStorage.Contract.ERC721URIStorageTransactor.contract.Transact(opts, method, params...)
  4785. }
  4786. // Call invokes the (constant) contract method with params as input values and
  4787. // sets the output to result. The result type might be a single field for simple
  4788. // returns, a slice of interfaces for anonymous returns and a struct for named
  4789. // returns.
  4790. func (_ERC721URIStorage *ERC721URIStorageCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
  4791. return _ERC721URIStorage.Contract.contract.Call(opts, result, method, params...)
  4792. }
  4793. // Transfer initiates a plain transaction to move funds to the contract, calling
  4794. // its default method if one is available.
  4795. func (_ERC721URIStorage *ERC721URIStorageTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
  4796. return _ERC721URIStorage.Contract.contract.Transfer(opts)
  4797. }
  4798. // Transact invokes the (paid) contract method with params as input values.
  4799. func (_ERC721URIStorage *ERC721URIStorageTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
  4800. return _ERC721URIStorage.Contract.contract.Transact(opts, method, params...)
  4801. }
  4802. // BalanceOf is a free data retrieval call binding the contract method 0x70a08231.
  4803. //
  4804. // Solidity: function balanceOf(address owner) view returns(uint256)
  4805. func (_ERC721URIStorage *ERC721URIStorageCaller) BalanceOf(opts *bind.CallOpts, owner common.Address) (*big.Int, error) {
  4806. var out []interface{}
  4807. err := _ERC721URIStorage.contract.Call(opts, &out, "balanceOf", owner)
  4808. if err != nil {
  4809. return *new(*big.Int), err
  4810. }
  4811. out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
  4812. return out0, err
  4813. }
  4814. // BalanceOf is a free data retrieval call binding the contract method 0x70a08231.
  4815. //
  4816. // Solidity: function balanceOf(address owner) view returns(uint256)
  4817. func (_ERC721URIStorage *ERC721URIStorageSession) BalanceOf(owner common.Address) (*big.Int, error) {
  4818. return _ERC721URIStorage.Contract.BalanceOf(&_ERC721URIStorage.CallOpts, owner)
  4819. }
  4820. // BalanceOf is a free data retrieval call binding the contract method 0x70a08231.
  4821. //
  4822. // Solidity: function balanceOf(address owner) view returns(uint256)
  4823. func (_ERC721URIStorage *ERC721URIStorageCallerSession) BalanceOf(owner common.Address) (*big.Int, error) {
  4824. return _ERC721URIStorage.Contract.BalanceOf(&_ERC721URIStorage.CallOpts, owner)
  4825. }
  4826. // GetApproved is a free data retrieval call binding the contract method 0x081812fc.
  4827. //
  4828. // Solidity: function getApproved(uint256 tokenId) view returns(address)
  4829. func (_ERC721URIStorage *ERC721URIStorageCaller) GetApproved(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) {
  4830. var out []interface{}
  4831. err := _ERC721URIStorage.contract.Call(opts, &out, "getApproved", tokenId)
  4832. if err != nil {
  4833. return *new(common.Address), err
  4834. }
  4835. out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
  4836. return out0, err
  4837. }
  4838. // GetApproved is a free data retrieval call binding the contract method 0x081812fc.
  4839. //
  4840. // Solidity: function getApproved(uint256 tokenId) view returns(address)
  4841. func (_ERC721URIStorage *ERC721URIStorageSession) GetApproved(tokenId *big.Int) (common.Address, error) {
  4842. return _ERC721URIStorage.Contract.GetApproved(&_ERC721URIStorage.CallOpts, tokenId)
  4843. }
  4844. // GetApproved is a free data retrieval call binding the contract method 0x081812fc.
  4845. //
  4846. // Solidity: function getApproved(uint256 tokenId) view returns(address)
  4847. func (_ERC721URIStorage *ERC721URIStorageCallerSession) GetApproved(tokenId *big.Int) (common.Address, error) {
  4848. return _ERC721URIStorage.Contract.GetApproved(&_ERC721URIStorage.CallOpts, tokenId)
  4849. }
  4850. // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5.
  4851. //
  4852. // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool)
  4853. func (_ERC721URIStorage *ERC721URIStorageCaller) IsApprovedForAll(opts *bind.CallOpts, owner common.Address, operator common.Address) (bool, error) {
  4854. var out []interface{}
  4855. err := _ERC721URIStorage.contract.Call(opts, &out, "isApprovedForAll", owner, operator)
  4856. if err != nil {
  4857. return *new(bool), err
  4858. }
  4859. out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
  4860. return out0, err
  4861. }
  4862. // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5.
  4863. //
  4864. // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool)
  4865. func (_ERC721URIStorage *ERC721URIStorageSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) {
  4866. return _ERC721URIStorage.Contract.IsApprovedForAll(&_ERC721URIStorage.CallOpts, owner, operator)
  4867. }
  4868. // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5.
  4869. //
  4870. // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool)
  4871. func (_ERC721URIStorage *ERC721URIStorageCallerSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) {
  4872. return _ERC721URIStorage.Contract.IsApprovedForAll(&_ERC721URIStorage.CallOpts, owner, operator)
  4873. }
  4874. // Name is a free data retrieval call binding the contract method 0x06fdde03.
  4875. //
  4876. // Solidity: function name() view returns(string)
  4877. func (_ERC721URIStorage *ERC721URIStorageCaller) Name(opts *bind.CallOpts) (string, error) {
  4878. var out []interface{}
  4879. err := _ERC721URIStorage.contract.Call(opts, &out, "name")
  4880. if err != nil {
  4881. return *new(string), err
  4882. }
  4883. out0 := *abi.ConvertType(out[0], new(string)).(*string)
  4884. return out0, err
  4885. }
  4886. // Name is a free data retrieval call binding the contract method 0x06fdde03.
  4887. //
  4888. // Solidity: function name() view returns(string)
  4889. func (_ERC721URIStorage *ERC721URIStorageSession) Name() (string, error) {
  4890. return _ERC721URIStorage.Contract.Name(&_ERC721URIStorage.CallOpts)
  4891. }
  4892. // Name is a free data retrieval call binding the contract method 0x06fdde03.
  4893. //
  4894. // Solidity: function name() view returns(string)
  4895. func (_ERC721URIStorage *ERC721URIStorageCallerSession) Name() (string, error) {
  4896. return _ERC721URIStorage.Contract.Name(&_ERC721URIStorage.CallOpts)
  4897. }
  4898. // OwnerOf is a free data retrieval call binding the contract method 0x6352211e.
  4899. //
  4900. // Solidity: function ownerOf(uint256 tokenId) view returns(address)
  4901. func (_ERC721URIStorage *ERC721URIStorageCaller) OwnerOf(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) {
  4902. var out []interface{}
  4903. err := _ERC721URIStorage.contract.Call(opts, &out, "ownerOf", tokenId)
  4904. if err != nil {
  4905. return *new(common.Address), err
  4906. }
  4907. out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
  4908. return out0, err
  4909. }
  4910. // OwnerOf is a free data retrieval call binding the contract method 0x6352211e.
  4911. //
  4912. // Solidity: function ownerOf(uint256 tokenId) view returns(address)
  4913. func (_ERC721URIStorage *ERC721URIStorageSession) OwnerOf(tokenId *big.Int) (common.Address, error) {
  4914. return _ERC721URIStorage.Contract.OwnerOf(&_ERC721URIStorage.CallOpts, tokenId)
  4915. }
  4916. // OwnerOf is a free data retrieval call binding the contract method 0x6352211e.
  4917. //
  4918. // Solidity: function ownerOf(uint256 tokenId) view returns(address)
  4919. func (_ERC721URIStorage *ERC721URIStorageCallerSession) OwnerOf(tokenId *big.Int) (common.Address, error) {
  4920. return _ERC721URIStorage.Contract.OwnerOf(&_ERC721URIStorage.CallOpts, tokenId)
  4921. }
  4922. // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
  4923. //
  4924. // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
  4925. func (_ERC721URIStorage *ERC721URIStorageCaller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) {
  4926. var out []interface{}
  4927. err := _ERC721URIStorage.contract.Call(opts, &out, "supportsInterface", interfaceId)
  4928. if err != nil {
  4929. return *new(bool), err
  4930. }
  4931. out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
  4932. return out0, err
  4933. }
  4934. // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
  4935. //
  4936. // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
  4937. func (_ERC721URIStorage *ERC721URIStorageSession) SupportsInterface(interfaceId [4]byte) (bool, error) {
  4938. return _ERC721URIStorage.Contract.SupportsInterface(&_ERC721URIStorage.CallOpts, interfaceId)
  4939. }
  4940. // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
  4941. //
  4942. // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
  4943. func (_ERC721URIStorage *ERC721URIStorageCallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) {
  4944. return _ERC721URIStorage.Contract.SupportsInterface(&_ERC721URIStorage.CallOpts, interfaceId)
  4945. }
  4946. // Symbol is a free data retrieval call binding the contract method 0x95d89b41.
  4947. //
  4948. // Solidity: function symbol() view returns(string)
  4949. func (_ERC721URIStorage *ERC721URIStorageCaller) Symbol(opts *bind.CallOpts) (string, error) {
  4950. var out []interface{}
  4951. err := _ERC721URIStorage.contract.Call(opts, &out, "symbol")
  4952. if err != nil {
  4953. return *new(string), err
  4954. }
  4955. out0 := *abi.ConvertType(out[0], new(string)).(*string)
  4956. return out0, err
  4957. }
  4958. // Symbol is a free data retrieval call binding the contract method 0x95d89b41.
  4959. //
  4960. // Solidity: function symbol() view returns(string)
  4961. func (_ERC721URIStorage *ERC721URIStorageSession) Symbol() (string, error) {
  4962. return _ERC721URIStorage.Contract.Symbol(&_ERC721URIStorage.CallOpts)
  4963. }
  4964. // Symbol is a free data retrieval call binding the contract method 0x95d89b41.
  4965. //
  4966. // Solidity: function symbol() view returns(string)
  4967. func (_ERC721URIStorage *ERC721URIStorageCallerSession) Symbol() (string, error) {
  4968. return _ERC721URIStorage.Contract.Symbol(&_ERC721URIStorage.CallOpts)
  4969. }
  4970. // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd.
  4971. //
  4972. // Solidity: function tokenURI(uint256 tokenId) view returns(string)
  4973. func (_ERC721URIStorage *ERC721URIStorageCaller) TokenURI(opts *bind.CallOpts, tokenId *big.Int) (string, error) {
  4974. var out []interface{}
  4975. err := _ERC721URIStorage.contract.Call(opts, &out, "tokenURI", tokenId)
  4976. if err != nil {
  4977. return *new(string), err
  4978. }
  4979. out0 := *abi.ConvertType(out[0], new(string)).(*string)
  4980. return out0, err
  4981. }
  4982. // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd.
  4983. //
  4984. // Solidity: function tokenURI(uint256 tokenId) view returns(string)
  4985. func (_ERC721URIStorage *ERC721URIStorageSession) TokenURI(tokenId *big.Int) (string, error) {
  4986. return _ERC721URIStorage.Contract.TokenURI(&_ERC721URIStorage.CallOpts, tokenId)
  4987. }
  4988. // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd.
  4989. //
  4990. // Solidity: function tokenURI(uint256 tokenId) view returns(string)
  4991. func (_ERC721URIStorage *ERC721URIStorageCallerSession) TokenURI(tokenId *big.Int) (string, error) {
  4992. return _ERC721URIStorage.Contract.TokenURI(&_ERC721URIStorage.CallOpts, tokenId)
  4993. }
  4994. // Approve is a paid mutator transaction binding the contract method 0x095ea7b3.
  4995. //
  4996. // Solidity: function approve(address to, uint256 tokenId) returns()
  4997. func (_ERC721URIStorage *ERC721URIStorageTransactor) Approve(opts *bind.TransactOpts, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
  4998. return _ERC721URIStorage.contract.Transact(opts, "approve", to, tokenId)
  4999. }
  5000. // Approve is a paid mutator transaction binding the contract method 0x095ea7b3.
  5001. //
  5002. // Solidity: function approve(address to, uint256 tokenId) returns()
  5003. func (_ERC721URIStorage *ERC721URIStorageSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) {
  5004. return _ERC721URIStorage.Contract.Approve(&_ERC721URIStorage.TransactOpts, to, tokenId)
  5005. }
  5006. // Approve is a paid mutator transaction binding the contract method 0x095ea7b3.
  5007. //
  5008. // Solidity: function approve(address to, uint256 tokenId) returns()
  5009. func (_ERC721URIStorage *ERC721URIStorageTransactorSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) {
  5010. return _ERC721URIStorage.Contract.Approve(&_ERC721URIStorage.TransactOpts, to, tokenId)
  5011. }
  5012. // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e.
  5013. //
  5014. // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns()
  5015. func (_ERC721URIStorage *ERC721URIStorageTransactor) SafeTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
  5016. return _ERC721URIStorage.contract.Transact(opts, "safeTransferFrom", from, to, tokenId)
  5017. }
  5018. // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e.
  5019. //
  5020. // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns()
  5021. func (_ERC721URIStorage *ERC721URIStorageSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
  5022. return _ERC721URIStorage.Contract.SafeTransferFrom(&_ERC721URIStorage.TransactOpts, from, to, tokenId)
  5023. }
  5024. // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e.
  5025. //
  5026. // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns()
  5027. func (_ERC721URIStorage *ERC721URIStorageTransactorSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
  5028. return _ERC721URIStorage.Contract.SafeTransferFrom(&_ERC721URIStorage.TransactOpts, from, to, tokenId)
  5029. }
  5030. // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde.
  5031. //
  5032. // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns()
  5033. func (_ERC721URIStorage *ERC721URIStorageTransactor) SafeTransferFrom0(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) {
  5034. return _ERC721URIStorage.contract.Transact(opts, "safeTransferFrom0", from, to, tokenId, _data)
  5035. }
  5036. // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde.
  5037. //
  5038. // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns()
  5039. func (_ERC721URIStorage *ERC721URIStorageSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) {
  5040. return _ERC721URIStorage.Contract.SafeTransferFrom0(&_ERC721URIStorage.TransactOpts, from, to, tokenId, _data)
  5041. }
  5042. // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde.
  5043. //
  5044. // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns()
  5045. func (_ERC721URIStorage *ERC721URIStorageTransactorSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) {
  5046. return _ERC721URIStorage.Contract.SafeTransferFrom0(&_ERC721URIStorage.TransactOpts, from, to, tokenId, _data)
  5047. }
  5048. // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465.
  5049. //
  5050. // Solidity: function setApprovalForAll(address operator, bool approved) returns()
  5051. func (_ERC721URIStorage *ERC721URIStorageTransactor) SetApprovalForAll(opts *bind.TransactOpts, operator common.Address, approved bool) (*types.Transaction, error) {
  5052. return _ERC721URIStorage.contract.Transact(opts, "setApprovalForAll", operator, approved)
  5053. }
  5054. // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465.
  5055. //
  5056. // Solidity: function setApprovalForAll(address operator, bool approved) returns()
  5057. func (_ERC721URIStorage *ERC721URIStorageSession) SetApprovalForAll(operator common.Address, approved bool) (*types.Transaction, error) {
  5058. return _ERC721URIStorage.Contract.SetApprovalForAll(&_ERC721URIStorage.TransactOpts, operator, approved)
  5059. }
  5060. // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465.
  5061. //
  5062. // Solidity: function setApprovalForAll(address operator, bool approved) returns()
  5063. func (_ERC721URIStorage *ERC721URIStorageTransactorSession) SetApprovalForAll(operator common.Address, approved bool) (*types.Transaction, error) {
  5064. return _ERC721URIStorage.Contract.SetApprovalForAll(&_ERC721URIStorage.TransactOpts, operator, approved)
  5065. }
  5066. // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd.
  5067. //
  5068. // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns()
  5069. func (_ERC721URIStorage *ERC721URIStorageTransactor) TransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
  5070. return _ERC721URIStorage.contract.Transact(opts, "transferFrom", from, to, tokenId)
  5071. }
  5072. // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd.
  5073. //
  5074. // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns()
  5075. func (_ERC721URIStorage *ERC721URIStorageSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
  5076. return _ERC721URIStorage.Contract.TransferFrom(&_ERC721URIStorage.TransactOpts, from, to, tokenId)
  5077. }
  5078. // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd.
  5079. //
  5080. // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns()
  5081. func (_ERC721URIStorage *ERC721URIStorageTransactorSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
  5082. return _ERC721URIStorage.Contract.TransferFrom(&_ERC721URIStorage.TransactOpts, from, to, tokenId)
  5083. }
  5084. // ERC721URIStorageApprovalIterator is returned from FilterApproval and is used to iterate over the raw logs and unpacked data for Approval events raised by the ERC721URIStorage contract.
  5085. type ERC721URIStorageApprovalIterator struct {
  5086. Event *ERC721URIStorageApproval // Event containing the contract specifics and raw log
  5087. contract *bind.BoundContract // Generic contract to use for unpacking event data
  5088. event string // Event name to use for unpacking event data
  5089. logs chan types.Log // Log channel receiving the found contract events
  5090. sub ethereum.Subscription // Subscription for errors, completion and termination
  5091. done bool // Whether the subscription completed delivering logs
  5092. fail error // Occurred error to stop iteration
  5093. }
  5094. // Next advances the iterator to the subsequent event, returning whether there
  5095. // are any more events found. In case of a retrieval or parsing error, false is
  5096. // returned and Error() can be queried for the exact failure.
  5097. func (it *ERC721URIStorageApprovalIterator) Next() bool {
  5098. // If the iterator failed, stop iterating
  5099. if it.fail != nil {
  5100. return false
  5101. }
  5102. // If the iterator completed, deliver directly whatever's available
  5103. if it.done {
  5104. select {
  5105. case log := <-it.logs:
  5106. it.Event = new(ERC721URIStorageApproval)
  5107. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  5108. it.fail = err
  5109. return false
  5110. }
  5111. it.Event.Raw = log
  5112. return true
  5113. default:
  5114. return false
  5115. }
  5116. }
  5117. // Iterator still in progress, wait for either a data or an error event
  5118. select {
  5119. case log := <-it.logs:
  5120. it.Event = new(ERC721URIStorageApproval)
  5121. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  5122. it.fail = err
  5123. return false
  5124. }
  5125. it.Event.Raw = log
  5126. return true
  5127. case err := <-it.sub.Err():
  5128. it.done = true
  5129. it.fail = err
  5130. return it.Next()
  5131. }
  5132. }
  5133. // Error returns any retrieval or parsing error occurred during filtering.
  5134. func (it *ERC721URIStorageApprovalIterator) Error() error {
  5135. return it.fail
  5136. }
  5137. // Close terminates the iteration process, releasing any pending underlying
  5138. // resources.
  5139. func (it *ERC721URIStorageApprovalIterator) Close() error {
  5140. it.sub.Unsubscribe()
  5141. return nil
  5142. }
  5143. // ERC721URIStorageApproval represents a Approval event raised by the ERC721URIStorage contract.
  5144. type ERC721URIStorageApproval struct {
  5145. Owner common.Address
  5146. Approved common.Address
  5147. TokenId *big.Int
  5148. Raw types.Log // Blockchain specific contextual infos
  5149. }
  5150. // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925.
  5151. //
  5152. // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)
  5153. func (_ERC721URIStorage *ERC721URIStorageFilterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, approved []common.Address, tokenId []*big.Int) (*ERC721URIStorageApprovalIterator, error) {
  5154. var ownerRule []interface{}
  5155. for _, ownerItem := range owner {
  5156. ownerRule = append(ownerRule, ownerItem)
  5157. }
  5158. var approvedRule []interface{}
  5159. for _, approvedItem := range approved {
  5160. approvedRule = append(approvedRule, approvedItem)
  5161. }
  5162. var tokenIdRule []interface{}
  5163. for _, tokenIdItem := range tokenId {
  5164. tokenIdRule = append(tokenIdRule, tokenIdItem)
  5165. }
  5166. logs, sub, err := _ERC721URIStorage.contract.FilterLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule)
  5167. if err != nil {
  5168. return nil, err
  5169. }
  5170. return &ERC721URIStorageApprovalIterator{contract: _ERC721URIStorage.contract, event: "Approval", logs: logs, sub: sub}, nil
  5171. }
  5172. // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925.
  5173. //
  5174. // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)
  5175. func (_ERC721URIStorage *ERC721URIStorageFilterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *ERC721URIStorageApproval, owner []common.Address, approved []common.Address, tokenId []*big.Int) (event.Subscription, error) {
  5176. var ownerRule []interface{}
  5177. for _, ownerItem := range owner {
  5178. ownerRule = append(ownerRule, ownerItem)
  5179. }
  5180. var approvedRule []interface{}
  5181. for _, approvedItem := range approved {
  5182. approvedRule = append(approvedRule, approvedItem)
  5183. }
  5184. var tokenIdRule []interface{}
  5185. for _, tokenIdItem := range tokenId {
  5186. tokenIdRule = append(tokenIdRule, tokenIdItem)
  5187. }
  5188. logs, sub, err := _ERC721URIStorage.contract.WatchLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule)
  5189. if err != nil {
  5190. return nil, err
  5191. }
  5192. return event.NewSubscription(func(quit <-chan struct{}) error {
  5193. defer sub.Unsubscribe()
  5194. for {
  5195. select {
  5196. case log := <-logs:
  5197. // New log arrived, parse the event and forward to the user
  5198. event := new(ERC721URIStorageApproval)
  5199. if err := _ERC721URIStorage.contract.UnpackLog(event, "Approval", log); err != nil {
  5200. return err
  5201. }
  5202. event.Raw = log
  5203. select {
  5204. case sink <- event:
  5205. case err := <-sub.Err():
  5206. return err
  5207. case <-quit:
  5208. return nil
  5209. }
  5210. case err := <-sub.Err():
  5211. return err
  5212. case <-quit:
  5213. return nil
  5214. }
  5215. }
  5216. }), nil
  5217. }
  5218. // ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925.
  5219. //
  5220. // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)
  5221. func (_ERC721URIStorage *ERC721URIStorageFilterer) ParseApproval(log types.Log) (*ERC721URIStorageApproval, error) {
  5222. event := new(ERC721URIStorageApproval)
  5223. if err := _ERC721URIStorage.contract.UnpackLog(event, "Approval", log); err != nil {
  5224. return nil, err
  5225. }
  5226. event.Raw = log
  5227. return event, nil
  5228. }
  5229. // ERC721URIStorageApprovalForAllIterator is returned from FilterApprovalForAll and is used to iterate over the raw logs and unpacked data for ApprovalForAll events raised by the ERC721URIStorage contract.
  5230. type ERC721URIStorageApprovalForAllIterator struct {
  5231. Event *ERC721URIStorageApprovalForAll // Event containing the contract specifics and raw log
  5232. contract *bind.BoundContract // Generic contract to use for unpacking event data
  5233. event string // Event name to use for unpacking event data
  5234. logs chan types.Log // Log channel receiving the found contract events
  5235. sub ethereum.Subscription // Subscription for errors, completion and termination
  5236. done bool // Whether the subscription completed delivering logs
  5237. fail error // Occurred error to stop iteration
  5238. }
  5239. // Next advances the iterator to the subsequent event, returning whether there
  5240. // are any more events found. In case of a retrieval or parsing error, false is
  5241. // returned and Error() can be queried for the exact failure.
  5242. func (it *ERC721URIStorageApprovalForAllIterator) Next() bool {
  5243. // If the iterator failed, stop iterating
  5244. if it.fail != nil {
  5245. return false
  5246. }
  5247. // If the iterator completed, deliver directly whatever's available
  5248. if it.done {
  5249. select {
  5250. case log := <-it.logs:
  5251. it.Event = new(ERC721URIStorageApprovalForAll)
  5252. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  5253. it.fail = err
  5254. return false
  5255. }
  5256. it.Event.Raw = log
  5257. return true
  5258. default:
  5259. return false
  5260. }
  5261. }
  5262. // Iterator still in progress, wait for either a data or an error event
  5263. select {
  5264. case log := <-it.logs:
  5265. it.Event = new(ERC721URIStorageApprovalForAll)
  5266. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  5267. it.fail = err
  5268. return false
  5269. }
  5270. it.Event.Raw = log
  5271. return true
  5272. case err := <-it.sub.Err():
  5273. it.done = true
  5274. it.fail = err
  5275. return it.Next()
  5276. }
  5277. }
  5278. // Error returns any retrieval or parsing error occurred during filtering.
  5279. func (it *ERC721URIStorageApprovalForAllIterator) Error() error {
  5280. return it.fail
  5281. }
  5282. // Close terminates the iteration process, releasing any pending underlying
  5283. // resources.
  5284. func (it *ERC721URIStorageApprovalForAllIterator) Close() error {
  5285. it.sub.Unsubscribe()
  5286. return nil
  5287. }
  5288. // ERC721URIStorageApprovalForAll represents a ApprovalForAll event raised by the ERC721URIStorage contract.
  5289. type ERC721URIStorageApprovalForAll struct {
  5290. Owner common.Address
  5291. Operator common.Address
  5292. Approved bool
  5293. Raw types.Log // Blockchain specific contextual infos
  5294. }
  5295. // FilterApprovalForAll is a free log retrieval operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31.
  5296. //
  5297. // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved)
  5298. func (_ERC721URIStorage *ERC721URIStorageFilterer) FilterApprovalForAll(opts *bind.FilterOpts, owner []common.Address, operator []common.Address) (*ERC721URIStorageApprovalForAllIterator, error) {
  5299. var ownerRule []interface{}
  5300. for _, ownerItem := range owner {
  5301. ownerRule = append(ownerRule, ownerItem)
  5302. }
  5303. var operatorRule []interface{}
  5304. for _, operatorItem := range operator {
  5305. operatorRule = append(operatorRule, operatorItem)
  5306. }
  5307. logs, sub, err := _ERC721URIStorage.contract.FilterLogs(opts, "ApprovalForAll", ownerRule, operatorRule)
  5308. if err != nil {
  5309. return nil, err
  5310. }
  5311. return &ERC721URIStorageApprovalForAllIterator{contract: _ERC721URIStorage.contract, event: "ApprovalForAll", logs: logs, sub: sub}, nil
  5312. }
  5313. // WatchApprovalForAll is a free log subscription operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31.
  5314. //
  5315. // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved)
  5316. func (_ERC721URIStorage *ERC721URIStorageFilterer) WatchApprovalForAll(opts *bind.WatchOpts, sink chan<- *ERC721URIStorageApprovalForAll, owner []common.Address, operator []common.Address) (event.Subscription, error) {
  5317. var ownerRule []interface{}
  5318. for _, ownerItem := range owner {
  5319. ownerRule = append(ownerRule, ownerItem)
  5320. }
  5321. var operatorRule []interface{}
  5322. for _, operatorItem := range operator {
  5323. operatorRule = append(operatorRule, operatorItem)
  5324. }
  5325. logs, sub, err := _ERC721URIStorage.contract.WatchLogs(opts, "ApprovalForAll", ownerRule, operatorRule)
  5326. if err != nil {
  5327. return nil, err
  5328. }
  5329. return event.NewSubscription(func(quit <-chan struct{}) error {
  5330. defer sub.Unsubscribe()
  5331. for {
  5332. select {
  5333. case log := <-logs:
  5334. // New log arrived, parse the event and forward to the user
  5335. event := new(ERC721URIStorageApprovalForAll)
  5336. if err := _ERC721URIStorage.contract.UnpackLog(event, "ApprovalForAll", log); err != nil {
  5337. return err
  5338. }
  5339. event.Raw = log
  5340. select {
  5341. case sink <- event:
  5342. case err := <-sub.Err():
  5343. return err
  5344. case <-quit:
  5345. return nil
  5346. }
  5347. case err := <-sub.Err():
  5348. return err
  5349. case <-quit:
  5350. return nil
  5351. }
  5352. }
  5353. }), nil
  5354. }
  5355. // ParseApprovalForAll is a log parse operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31.
  5356. //
  5357. // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved)
  5358. func (_ERC721URIStorage *ERC721URIStorageFilterer) ParseApprovalForAll(log types.Log) (*ERC721URIStorageApprovalForAll, error) {
  5359. event := new(ERC721URIStorageApprovalForAll)
  5360. if err := _ERC721URIStorage.contract.UnpackLog(event, "ApprovalForAll", log); err != nil {
  5361. return nil, err
  5362. }
  5363. event.Raw = log
  5364. return event, nil
  5365. }
  5366. // ERC721URIStorageTransferIterator is returned from FilterTransfer and is used to iterate over the raw logs and unpacked data for Transfer events raised by the ERC721URIStorage contract.
  5367. type ERC721URIStorageTransferIterator struct {
  5368. Event *ERC721URIStorageTransfer // Event containing the contract specifics and raw log
  5369. contract *bind.BoundContract // Generic contract to use for unpacking event data
  5370. event string // Event name to use for unpacking event data
  5371. logs chan types.Log // Log channel receiving the found contract events
  5372. sub ethereum.Subscription // Subscription for errors, completion and termination
  5373. done bool // Whether the subscription completed delivering logs
  5374. fail error // Occurred error to stop iteration
  5375. }
  5376. // Next advances the iterator to the subsequent event, returning whether there
  5377. // are any more events found. In case of a retrieval or parsing error, false is
  5378. // returned and Error() can be queried for the exact failure.
  5379. func (it *ERC721URIStorageTransferIterator) Next() bool {
  5380. // If the iterator failed, stop iterating
  5381. if it.fail != nil {
  5382. return false
  5383. }
  5384. // If the iterator completed, deliver directly whatever's available
  5385. if it.done {
  5386. select {
  5387. case log := <-it.logs:
  5388. it.Event = new(ERC721URIStorageTransfer)
  5389. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  5390. it.fail = err
  5391. return false
  5392. }
  5393. it.Event.Raw = log
  5394. return true
  5395. default:
  5396. return false
  5397. }
  5398. }
  5399. // Iterator still in progress, wait for either a data or an error event
  5400. select {
  5401. case log := <-it.logs:
  5402. it.Event = new(ERC721URIStorageTransfer)
  5403. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  5404. it.fail = err
  5405. return false
  5406. }
  5407. it.Event.Raw = log
  5408. return true
  5409. case err := <-it.sub.Err():
  5410. it.done = true
  5411. it.fail = err
  5412. return it.Next()
  5413. }
  5414. }
  5415. // Error returns any retrieval or parsing error occurred during filtering.
  5416. func (it *ERC721URIStorageTransferIterator) Error() error {
  5417. return it.fail
  5418. }
  5419. // Close terminates the iteration process, releasing any pending underlying
  5420. // resources.
  5421. func (it *ERC721URIStorageTransferIterator) Close() error {
  5422. it.sub.Unsubscribe()
  5423. return nil
  5424. }
  5425. // ERC721URIStorageTransfer represents a Transfer event raised by the ERC721URIStorage contract.
  5426. type ERC721URIStorageTransfer struct {
  5427. From common.Address
  5428. To common.Address
  5429. TokenId *big.Int
  5430. Raw types.Log // Blockchain specific contextual infos
  5431. }
  5432. // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef.
  5433. //
  5434. // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)
  5435. func (_ERC721URIStorage *ERC721URIStorageFilterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address, tokenId []*big.Int) (*ERC721URIStorageTransferIterator, error) {
  5436. var fromRule []interface{}
  5437. for _, fromItem := range from {
  5438. fromRule = append(fromRule, fromItem)
  5439. }
  5440. var toRule []interface{}
  5441. for _, toItem := range to {
  5442. toRule = append(toRule, toItem)
  5443. }
  5444. var tokenIdRule []interface{}
  5445. for _, tokenIdItem := range tokenId {
  5446. tokenIdRule = append(tokenIdRule, tokenIdItem)
  5447. }
  5448. logs, sub, err := _ERC721URIStorage.contract.FilterLogs(opts, "Transfer", fromRule, toRule, tokenIdRule)
  5449. if err != nil {
  5450. return nil, err
  5451. }
  5452. return &ERC721URIStorageTransferIterator{contract: _ERC721URIStorage.contract, event: "Transfer", logs: logs, sub: sub}, nil
  5453. }
  5454. // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef.
  5455. //
  5456. // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)
  5457. func (_ERC721URIStorage *ERC721URIStorageFilterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *ERC721URIStorageTransfer, from []common.Address, to []common.Address, tokenId []*big.Int) (event.Subscription, error) {
  5458. var fromRule []interface{}
  5459. for _, fromItem := range from {
  5460. fromRule = append(fromRule, fromItem)
  5461. }
  5462. var toRule []interface{}
  5463. for _, toItem := range to {
  5464. toRule = append(toRule, toItem)
  5465. }
  5466. var tokenIdRule []interface{}
  5467. for _, tokenIdItem := range tokenId {
  5468. tokenIdRule = append(tokenIdRule, tokenIdItem)
  5469. }
  5470. logs, sub, err := _ERC721URIStorage.contract.WatchLogs(opts, "Transfer", fromRule, toRule, tokenIdRule)
  5471. if err != nil {
  5472. return nil, err
  5473. }
  5474. return event.NewSubscription(func(quit <-chan struct{}) error {
  5475. defer sub.Unsubscribe()
  5476. for {
  5477. select {
  5478. case log := <-logs:
  5479. // New log arrived, parse the event and forward to the user
  5480. event := new(ERC721URIStorageTransfer)
  5481. if err := _ERC721URIStorage.contract.UnpackLog(event, "Transfer", log); err != nil {
  5482. return err
  5483. }
  5484. event.Raw = log
  5485. select {
  5486. case sink <- event:
  5487. case err := <-sub.Err():
  5488. return err
  5489. case <-quit:
  5490. return nil
  5491. }
  5492. case err := <-sub.Err():
  5493. return err
  5494. case <-quit:
  5495. return nil
  5496. }
  5497. }
  5498. }), nil
  5499. }
  5500. // ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef.
  5501. //
  5502. // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)
  5503. func (_ERC721URIStorage *ERC721URIStorageFilterer) ParseTransfer(log types.Log) (*ERC721URIStorageTransfer, error) {
  5504. event := new(ERC721URIStorageTransfer)
  5505. if err := _ERC721URIStorage.contract.UnpackLog(event, "Transfer", log); err != nil {
  5506. return nil, err
  5507. }
  5508. event.Raw = log
  5509. return event, nil
  5510. }
  5511. // EnumerableSetMetaData contains all meta data concerning the EnumerableSet contract.
  5512. var EnumerableSetMetaData = &bind.MetaData{
  5513. ABI: "[]",
  5514. Bin: "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220da9c05491e529ef70e6aedbeab1e490aae2d6489c62494c898afed13e14f139564736f6c63430008010033",
  5515. }
  5516. // EnumerableSetABI is the input ABI used to generate the binding from.
  5517. // Deprecated: Use EnumerableSetMetaData.ABI instead.
  5518. var EnumerableSetABI = EnumerableSetMetaData.ABI
  5519. // EnumerableSetBin is the compiled bytecode used for deploying new contracts.
  5520. // Deprecated: Use EnumerableSetMetaData.Bin instead.
  5521. var EnumerableSetBin = EnumerableSetMetaData.Bin
  5522. // DeployEnumerableSet deploys a new Ethereum contract, binding an instance of EnumerableSet to it.
  5523. func DeployEnumerableSet(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *EnumerableSet, error) {
  5524. parsed, err := EnumerableSetMetaData.GetAbi()
  5525. if err != nil {
  5526. return common.Address{}, nil, nil, err
  5527. }
  5528. if parsed == nil {
  5529. return common.Address{}, nil, nil, errors.New("GetABI returned nil")
  5530. }
  5531. address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(EnumerableSetBin), backend)
  5532. if err != nil {
  5533. return common.Address{}, nil, nil, err
  5534. }
  5535. return address, tx, &EnumerableSet{EnumerableSetCaller: EnumerableSetCaller{contract: contract}, EnumerableSetTransactor: EnumerableSetTransactor{contract: contract}, EnumerableSetFilterer: EnumerableSetFilterer{contract: contract}}, nil
  5536. }
  5537. // EnumerableSet is an auto generated Go binding around an Ethereum contract.
  5538. type EnumerableSet struct {
  5539. EnumerableSetCaller // Read-only binding to the contract
  5540. EnumerableSetTransactor // Write-only binding to the contract
  5541. EnumerableSetFilterer // Log filterer for contract events
  5542. }
  5543. // EnumerableSetCaller is an auto generated read-only Go binding around an Ethereum contract.
  5544. type EnumerableSetCaller struct {
  5545. contract *bind.BoundContract // Generic contract wrapper for the low level calls
  5546. }
  5547. // EnumerableSetTransactor is an auto generated write-only Go binding around an Ethereum contract.
  5548. type EnumerableSetTransactor struct {
  5549. contract *bind.BoundContract // Generic contract wrapper for the low level calls
  5550. }
  5551. // EnumerableSetFilterer is an auto generated log filtering Go binding around an Ethereum contract events.
  5552. type EnumerableSetFilterer struct {
  5553. contract *bind.BoundContract // Generic contract wrapper for the low level calls
  5554. }
  5555. // EnumerableSetSession is an auto generated Go binding around an Ethereum contract,
  5556. // with pre-set call and transact options.
  5557. type EnumerableSetSession struct {
  5558. Contract *EnumerableSet // Generic contract binding to set the session for
  5559. CallOpts bind.CallOpts // Call options to use throughout this session
  5560. TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
  5561. }
  5562. // EnumerableSetCallerSession is an auto generated read-only Go binding around an Ethereum contract,
  5563. // with pre-set call options.
  5564. type EnumerableSetCallerSession struct {
  5565. Contract *EnumerableSetCaller // Generic contract caller binding to set the session for
  5566. CallOpts bind.CallOpts // Call options to use throughout this session
  5567. }
  5568. // EnumerableSetTransactorSession is an auto generated write-only Go binding around an Ethereum contract,
  5569. // with pre-set transact options.
  5570. type EnumerableSetTransactorSession struct {
  5571. Contract *EnumerableSetTransactor // Generic contract transactor binding to set the session for
  5572. TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
  5573. }
  5574. // EnumerableSetRaw is an auto generated low-level Go binding around an Ethereum contract.
  5575. type EnumerableSetRaw struct {
  5576. Contract *EnumerableSet // Generic contract binding to access the raw methods on
  5577. }
  5578. // EnumerableSetCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
  5579. type EnumerableSetCallerRaw struct {
  5580. Contract *EnumerableSetCaller // Generic read-only contract binding to access the raw methods on
  5581. }
  5582. // EnumerableSetTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
  5583. type EnumerableSetTransactorRaw struct {
  5584. Contract *EnumerableSetTransactor // Generic write-only contract binding to access the raw methods on
  5585. }
  5586. // NewEnumerableSet creates a new instance of EnumerableSet, bound to a specific deployed contract.
  5587. func NewEnumerableSet(address common.Address, backend bind.ContractBackend) (*EnumerableSet, error) {
  5588. contract, err := bindEnumerableSet(address, backend, backend, backend)
  5589. if err != nil {
  5590. return nil, err
  5591. }
  5592. return &EnumerableSet{EnumerableSetCaller: EnumerableSetCaller{contract: contract}, EnumerableSetTransactor: EnumerableSetTransactor{contract: contract}, EnumerableSetFilterer: EnumerableSetFilterer{contract: contract}}, nil
  5593. }
  5594. // NewEnumerableSetCaller creates a new read-only instance of EnumerableSet, bound to a specific deployed contract.
  5595. func NewEnumerableSetCaller(address common.Address, caller bind.ContractCaller) (*EnumerableSetCaller, error) {
  5596. contract, err := bindEnumerableSet(address, caller, nil, nil)
  5597. if err != nil {
  5598. return nil, err
  5599. }
  5600. return &EnumerableSetCaller{contract: contract}, nil
  5601. }
  5602. // NewEnumerableSetTransactor creates a new write-only instance of EnumerableSet, bound to a specific deployed contract.
  5603. func NewEnumerableSetTransactor(address common.Address, transactor bind.ContractTransactor) (*EnumerableSetTransactor, error) {
  5604. contract, err := bindEnumerableSet(address, nil, transactor, nil)
  5605. if err != nil {
  5606. return nil, err
  5607. }
  5608. return &EnumerableSetTransactor{contract: contract}, nil
  5609. }
  5610. // NewEnumerableSetFilterer creates a new log filterer instance of EnumerableSet, bound to a specific deployed contract.
  5611. func NewEnumerableSetFilterer(address common.Address, filterer bind.ContractFilterer) (*EnumerableSetFilterer, error) {
  5612. contract, err := bindEnumerableSet(address, nil, nil, filterer)
  5613. if err != nil {
  5614. return nil, err
  5615. }
  5616. return &EnumerableSetFilterer{contract: contract}, nil
  5617. }
  5618. // bindEnumerableSet binds a generic wrapper to an already deployed contract.
  5619. func bindEnumerableSet(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
  5620. parsed, err := abi.JSON(strings.NewReader(EnumerableSetABI))
  5621. if err != nil {
  5622. return nil, err
  5623. }
  5624. return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil
  5625. }
  5626. // Call invokes the (constant) contract method with params as input values and
  5627. // sets the output to result. The result type might be a single field for simple
  5628. // returns, a slice of interfaces for anonymous returns and a struct for named
  5629. // returns.
  5630. func (_EnumerableSet *EnumerableSetRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
  5631. return _EnumerableSet.Contract.EnumerableSetCaller.contract.Call(opts, result, method, params...)
  5632. }
  5633. // Transfer initiates a plain transaction to move funds to the contract, calling
  5634. // its default method if one is available.
  5635. func (_EnumerableSet *EnumerableSetRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
  5636. return _EnumerableSet.Contract.EnumerableSetTransactor.contract.Transfer(opts)
  5637. }
  5638. // Transact invokes the (paid) contract method with params as input values.
  5639. func (_EnumerableSet *EnumerableSetRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
  5640. return _EnumerableSet.Contract.EnumerableSetTransactor.contract.Transact(opts, method, params...)
  5641. }
  5642. // Call invokes the (constant) contract method with params as input values and
  5643. // sets the output to result. The result type might be a single field for simple
  5644. // returns, a slice of interfaces for anonymous returns and a struct for named
  5645. // returns.
  5646. func (_EnumerableSet *EnumerableSetCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
  5647. return _EnumerableSet.Contract.contract.Call(opts, result, method, params...)
  5648. }
  5649. // Transfer initiates a plain transaction to move funds to the contract, calling
  5650. // its default method if one is available.
  5651. func (_EnumerableSet *EnumerableSetTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
  5652. return _EnumerableSet.Contract.contract.Transfer(opts)
  5653. }
  5654. // Transact invokes the (paid) contract method with params as input values.
  5655. func (_EnumerableSet *EnumerableSetTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
  5656. return _EnumerableSet.Contract.contract.Transact(opts, method, params...)
  5657. }
  5658. // IAccessControlMetaData contains all meta data concerning the IAccessControl contract.
  5659. var IAccessControlMetaData = &bind.MetaData{
  5660. ABI: "[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]",
  5661. Sigs: map[string]string{
  5662. "248a9ca3": "getRoleAdmin(bytes32)",
  5663. "2f2ff15d": "grantRole(bytes32,address)",
  5664. "91d14854": "hasRole(bytes32,address)",
  5665. "36568abe": "renounceRole(bytes32,address)",
  5666. "d547741f": "revokeRole(bytes32,address)",
  5667. },
  5668. }
  5669. // IAccessControlABI is the input ABI used to generate the binding from.
  5670. // Deprecated: Use IAccessControlMetaData.ABI instead.
  5671. var IAccessControlABI = IAccessControlMetaData.ABI
  5672. // Deprecated: Use IAccessControlMetaData.Sigs instead.
  5673. // IAccessControlFuncSigs maps the 4-byte function signature to its string representation.
  5674. var IAccessControlFuncSigs = IAccessControlMetaData.Sigs
  5675. // IAccessControl is an auto generated Go binding around an Ethereum contract.
  5676. type IAccessControl struct {
  5677. IAccessControlCaller // Read-only binding to the contract
  5678. IAccessControlTransactor // Write-only binding to the contract
  5679. IAccessControlFilterer // Log filterer for contract events
  5680. }
  5681. // IAccessControlCaller is an auto generated read-only Go binding around an Ethereum contract.
  5682. type IAccessControlCaller struct {
  5683. contract *bind.BoundContract // Generic contract wrapper for the low level calls
  5684. }
  5685. // IAccessControlTransactor is an auto generated write-only Go binding around an Ethereum contract.
  5686. type IAccessControlTransactor struct {
  5687. contract *bind.BoundContract // Generic contract wrapper for the low level calls
  5688. }
  5689. // IAccessControlFilterer is an auto generated log filtering Go binding around an Ethereum contract events.
  5690. type IAccessControlFilterer struct {
  5691. contract *bind.BoundContract // Generic contract wrapper for the low level calls
  5692. }
  5693. // IAccessControlSession is an auto generated Go binding around an Ethereum contract,
  5694. // with pre-set call and transact options.
  5695. type IAccessControlSession struct {
  5696. Contract *IAccessControl // Generic contract binding to set the session for
  5697. CallOpts bind.CallOpts // Call options to use throughout this session
  5698. TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
  5699. }
  5700. // IAccessControlCallerSession is an auto generated read-only Go binding around an Ethereum contract,
  5701. // with pre-set call options.
  5702. type IAccessControlCallerSession struct {
  5703. Contract *IAccessControlCaller // Generic contract caller binding to set the session for
  5704. CallOpts bind.CallOpts // Call options to use throughout this session
  5705. }
  5706. // IAccessControlTransactorSession is an auto generated write-only Go binding around an Ethereum contract,
  5707. // with pre-set transact options.
  5708. type IAccessControlTransactorSession struct {
  5709. Contract *IAccessControlTransactor // Generic contract transactor binding to set the session for
  5710. TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
  5711. }
  5712. // IAccessControlRaw is an auto generated low-level Go binding around an Ethereum contract.
  5713. type IAccessControlRaw struct {
  5714. Contract *IAccessControl // Generic contract binding to access the raw methods on
  5715. }
  5716. // IAccessControlCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
  5717. type IAccessControlCallerRaw struct {
  5718. Contract *IAccessControlCaller // Generic read-only contract binding to access the raw methods on
  5719. }
  5720. // IAccessControlTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
  5721. type IAccessControlTransactorRaw struct {
  5722. Contract *IAccessControlTransactor // Generic write-only contract binding to access the raw methods on
  5723. }
  5724. // NewIAccessControl creates a new instance of IAccessControl, bound to a specific deployed contract.
  5725. func NewIAccessControl(address common.Address, backend bind.ContractBackend) (*IAccessControl, error) {
  5726. contract, err := bindIAccessControl(address, backend, backend, backend)
  5727. if err != nil {
  5728. return nil, err
  5729. }
  5730. return &IAccessControl{IAccessControlCaller: IAccessControlCaller{contract: contract}, IAccessControlTransactor: IAccessControlTransactor{contract: contract}, IAccessControlFilterer: IAccessControlFilterer{contract: contract}}, nil
  5731. }
  5732. // NewIAccessControlCaller creates a new read-only instance of IAccessControl, bound to a specific deployed contract.
  5733. func NewIAccessControlCaller(address common.Address, caller bind.ContractCaller) (*IAccessControlCaller, error) {
  5734. contract, err := bindIAccessControl(address, caller, nil, nil)
  5735. if err != nil {
  5736. return nil, err
  5737. }
  5738. return &IAccessControlCaller{contract: contract}, nil
  5739. }
  5740. // NewIAccessControlTransactor creates a new write-only instance of IAccessControl, bound to a specific deployed contract.
  5741. func NewIAccessControlTransactor(address common.Address, transactor bind.ContractTransactor) (*IAccessControlTransactor, error) {
  5742. contract, err := bindIAccessControl(address, nil, transactor, nil)
  5743. if err != nil {
  5744. return nil, err
  5745. }
  5746. return &IAccessControlTransactor{contract: contract}, nil
  5747. }
  5748. // NewIAccessControlFilterer creates a new log filterer instance of IAccessControl, bound to a specific deployed contract.
  5749. func NewIAccessControlFilterer(address common.Address, filterer bind.ContractFilterer) (*IAccessControlFilterer, error) {
  5750. contract, err := bindIAccessControl(address, nil, nil, filterer)
  5751. if err != nil {
  5752. return nil, err
  5753. }
  5754. return &IAccessControlFilterer{contract: contract}, nil
  5755. }
  5756. // bindIAccessControl binds a generic wrapper to an already deployed contract.
  5757. func bindIAccessControl(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
  5758. parsed, err := abi.JSON(strings.NewReader(IAccessControlABI))
  5759. if err != nil {
  5760. return nil, err
  5761. }
  5762. return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil
  5763. }
  5764. // Call invokes the (constant) contract method with params as input values and
  5765. // sets the output to result. The result type might be a single field for simple
  5766. // returns, a slice of interfaces for anonymous returns and a struct for named
  5767. // returns.
  5768. func (_IAccessControl *IAccessControlRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
  5769. return _IAccessControl.Contract.IAccessControlCaller.contract.Call(opts, result, method, params...)
  5770. }
  5771. // Transfer initiates a plain transaction to move funds to the contract, calling
  5772. // its default method if one is available.
  5773. func (_IAccessControl *IAccessControlRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
  5774. return _IAccessControl.Contract.IAccessControlTransactor.contract.Transfer(opts)
  5775. }
  5776. // Transact invokes the (paid) contract method with params as input values.
  5777. func (_IAccessControl *IAccessControlRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
  5778. return _IAccessControl.Contract.IAccessControlTransactor.contract.Transact(opts, method, params...)
  5779. }
  5780. // Call invokes the (constant) contract method with params as input values and
  5781. // sets the output to result. The result type might be a single field for simple
  5782. // returns, a slice of interfaces for anonymous returns and a struct for named
  5783. // returns.
  5784. func (_IAccessControl *IAccessControlCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
  5785. return _IAccessControl.Contract.contract.Call(opts, result, method, params...)
  5786. }
  5787. // Transfer initiates a plain transaction to move funds to the contract, calling
  5788. // its default method if one is available.
  5789. func (_IAccessControl *IAccessControlTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
  5790. return _IAccessControl.Contract.contract.Transfer(opts)
  5791. }
  5792. // Transact invokes the (paid) contract method with params as input values.
  5793. func (_IAccessControl *IAccessControlTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
  5794. return _IAccessControl.Contract.contract.Transact(opts, method, params...)
  5795. }
  5796. // GetRoleAdmin is a free data retrieval call binding the contract method 0x248a9ca3.
  5797. //
  5798. // Solidity: function getRoleAdmin(bytes32 role) view returns(bytes32)
  5799. func (_IAccessControl *IAccessControlCaller) GetRoleAdmin(opts *bind.CallOpts, role [32]byte) ([32]byte, error) {
  5800. var out []interface{}
  5801. err := _IAccessControl.contract.Call(opts, &out, "getRoleAdmin", role)
  5802. if err != nil {
  5803. return *new([32]byte), err
  5804. }
  5805. out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte)
  5806. return out0, err
  5807. }
  5808. // GetRoleAdmin is a free data retrieval call binding the contract method 0x248a9ca3.
  5809. //
  5810. // Solidity: function getRoleAdmin(bytes32 role) view returns(bytes32)
  5811. func (_IAccessControl *IAccessControlSession) GetRoleAdmin(role [32]byte) ([32]byte, error) {
  5812. return _IAccessControl.Contract.GetRoleAdmin(&_IAccessControl.CallOpts, role)
  5813. }
  5814. // GetRoleAdmin is a free data retrieval call binding the contract method 0x248a9ca3.
  5815. //
  5816. // Solidity: function getRoleAdmin(bytes32 role) view returns(bytes32)
  5817. func (_IAccessControl *IAccessControlCallerSession) GetRoleAdmin(role [32]byte) ([32]byte, error) {
  5818. return _IAccessControl.Contract.GetRoleAdmin(&_IAccessControl.CallOpts, role)
  5819. }
  5820. // HasRole is a free data retrieval call binding the contract method 0x91d14854.
  5821. //
  5822. // Solidity: function hasRole(bytes32 role, address account) view returns(bool)
  5823. func (_IAccessControl *IAccessControlCaller) HasRole(opts *bind.CallOpts, role [32]byte, account common.Address) (bool, error) {
  5824. var out []interface{}
  5825. err := _IAccessControl.contract.Call(opts, &out, "hasRole", role, account)
  5826. if err != nil {
  5827. return *new(bool), err
  5828. }
  5829. out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
  5830. return out0, err
  5831. }
  5832. // HasRole is a free data retrieval call binding the contract method 0x91d14854.
  5833. //
  5834. // Solidity: function hasRole(bytes32 role, address account) view returns(bool)
  5835. func (_IAccessControl *IAccessControlSession) HasRole(role [32]byte, account common.Address) (bool, error) {
  5836. return _IAccessControl.Contract.HasRole(&_IAccessControl.CallOpts, role, account)
  5837. }
  5838. // HasRole is a free data retrieval call binding the contract method 0x91d14854.
  5839. //
  5840. // Solidity: function hasRole(bytes32 role, address account) view returns(bool)
  5841. func (_IAccessControl *IAccessControlCallerSession) HasRole(role [32]byte, account common.Address) (bool, error) {
  5842. return _IAccessControl.Contract.HasRole(&_IAccessControl.CallOpts, role, account)
  5843. }
  5844. // GrantRole is a paid mutator transaction binding the contract method 0x2f2ff15d.
  5845. //
  5846. // Solidity: function grantRole(bytes32 role, address account) returns()
  5847. func (_IAccessControl *IAccessControlTransactor) GrantRole(opts *bind.TransactOpts, role [32]byte, account common.Address) (*types.Transaction, error) {
  5848. return _IAccessControl.contract.Transact(opts, "grantRole", role, account)
  5849. }
  5850. // GrantRole is a paid mutator transaction binding the contract method 0x2f2ff15d.
  5851. //
  5852. // Solidity: function grantRole(bytes32 role, address account) returns()
  5853. func (_IAccessControl *IAccessControlSession) GrantRole(role [32]byte, account common.Address) (*types.Transaction, error) {
  5854. return _IAccessControl.Contract.GrantRole(&_IAccessControl.TransactOpts, role, account)
  5855. }
  5856. // GrantRole is a paid mutator transaction binding the contract method 0x2f2ff15d.
  5857. //
  5858. // Solidity: function grantRole(bytes32 role, address account) returns()
  5859. func (_IAccessControl *IAccessControlTransactorSession) GrantRole(role [32]byte, account common.Address) (*types.Transaction, error) {
  5860. return _IAccessControl.Contract.GrantRole(&_IAccessControl.TransactOpts, role, account)
  5861. }
  5862. // RenounceRole is a paid mutator transaction binding the contract method 0x36568abe.
  5863. //
  5864. // Solidity: function renounceRole(bytes32 role, address account) returns()
  5865. func (_IAccessControl *IAccessControlTransactor) RenounceRole(opts *bind.TransactOpts, role [32]byte, account common.Address) (*types.Transaction, error) {
  5866. return _IAccessControl.contract.Transact(opts, "renounceRole", role, account)
  5867. }
  5868. // RenounceRole is a paid mutator transaction binding the contract method 0x36568abe.
  5869. //
  5870. // Solidity: function renounceRole(bytes32 role, address account) returns()
  5871. func (_IAccessControl *IAccessControlSession) RenounceRole(role [32]byte, account common.Address) (*types.Transaction, error) {
  5872. return _IAccessControl.Contract.RenounceRole(&_IAccessControl.TransactOpts, role, account)
  5873. }
  5874. // RenounceRole is a paid mutator transaction binding the contract method 0x36568abe.
  5875. //
  5876. // Solidity: function renounceRole(bytes32 role, address account) returns()
  5877. func (_IAccessControl *IAccessControlTransactorSession) RenounceRole(role [32]byte, account common.Address) (*types.Transaction, error) {
  5878. return _IAccessControl.Contract.RenounceRole(&_IAccessControl.TransactOpts, role, account)
  5879. }
  5880. // RevokeRole is a paid mutator transaction binding the contract method 0xd547741f.
  5881. //
  5882. // Solidity: function revokeRole(bytes32 role, address account) returns()
  5883. func (_IAccessControl *IAccessControlTransactor) RevokeRole(opts *bind.TransactOpts, role [32]byte, account common.Address) (*types.Transaction, error) {
  5884. return _IAccessControl.contract.Transact(opts, "revokeRole", role, account)
  5885. }
  5886. // RevokeRole is a paid mutator transaction binding the contract method 0xd547741f.
  5887. //
  5888. // Solidity: function revokeRole(bytes32 role, address account) returns()
  5889. func (_IAccessControl *IAccessControlSession) RevokeRole(role [32]byte, account common.Address) (*types.Transaction, error) {
  5890. return _IAccessControl.Contract.RevokeRole(&_IAccessControl.TransactOpts, role, account)
  5891. }
  5892. // RevokeRole is a paid mutator transaction binding the contract method 0xd547741f.
  5893. //
  5894. // Solidity: function revokeRole(bytes32 role, address account) returns()
  5895. func (_IAccessControl *IAccessControlTransactorSession) RevokeRole(role [32]byte, account common.Address) (*types.Transaction, error) {
  5896. return _IAccessControl.Contract.RevokeRole(&_IAccessControl.TransactOpts, role, account)
  5897. }
  5898. // IAccessControlRoleAdminChangedIterator is returned from FilterRoleAdminChanged and is used to iterate over the raw logs and unpacked data for RoleAdminChanged events raised by the IAccessControl contract.
  5899. type IAccessControlRoleAdminChangedIterator struct {
  5900. Event *IAccessControlRoleAdminChanged // Event containing the contract specifics and raw log
  5901. contract *bind.BoundContract // Generic contract to use for unpacking event data
  5902. event string // Event name to use for unpacking event data
  5903. logs chan types.Log // Log channel receiving the found contract events
  5904. sub ethereum.Subscription // Subscription for errors, completion and termination
  5905. done bool // Whether the subscription completed delivering logs
  5906. fail error // Occurred error to stop iteration
  5907. }
  5908. // Next advances the iterator to the subsequent event, returning whether there
  5909. // are any more events found. In case of a retrieval or parsing error, false is
  5910. // returned and Error() can be queried for the exact failure.
  5911. func (it *IAccessControlRoleAdminChangedIterator) Next() bool {
  5912. // If the iterator failed, stop iterating
  5913. if it.fail != nil {
  5914. return false
  5915. }
  5916. // If the iterator completed, deliver directly whatever's available
  5917. if it.done {
  5918. select {
  5919. case log := <-it.logs:
  5920. it.Event = new(IAccessControlRoleAdminChanged)
  5921. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  5922. it.fail = err
  5923. return false
  5924. }
  5925. it.Event.Raw = log
  5926. return true
  5927. default:
  5928. return false
  5929. }
  5930. }
  5931. // Iterator still in progress, wait for either a data or an error event
  5932. select {
  5933. case log := <-it.logs:
  5934. it.Event = new(IAccessControlRoleAdminChanged)
  5935. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  5936. it.fail = err
  5937. return false
  5938. }
  5939. it.Event.Raw = log
  5940. return true
  5941. case err := <-it.sub.Err():
  5942. it.done = true
  5943. it.fail = err
  5944. return it.Next()
  5945. }
  5946. }
  5947. // Error returns any retrieval or parsing error occurred during filtering.
  5948. func (it *IAccessControlRoleAdminChangedIterator) Error() error {
  5949. return it.fail
  5950. }
  5951. // Close terminates the iteration process, releasing any pending underlying
  5952. // resources.
  5953. func (it *IAccessControlRoleAdminChangedIterator) Close() error {
  5954. it.sub.Unsubscribe()
  5955. return nil
  5956. }
  5957. // IAccessControlRoleAdminChanged represents a RoleAdminChanged event raised by the IAccessControl contract.
  5958. type IAccessControlRoleAdminChanged struct {
  5959. Role [32]byte
  5960. PreviousAdminRole [32]byte
  5961. NewAdminRole [32]byte
  5962. Raw types.Log // Blockchain specific contextual infos
  5963. }
  5964. // FilterRoleAdminChanged is a free log retrieval operation binding the contract event 0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff.
  5965. //
  5966. // Solidity: event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)
  5967. func (_IAccessControl *IAccessControlFilterer) FilterRoleAdminChanged(opts *bind.FilterOpts, role [][32]byte, previousAdminRole [][32]byte, newAdminRole [][32]byte) (*IAccessControlRoleAdminChangedIterator, error) {
  5968. var roleRule []interface{}
  5969. for _, roleItem := range role {
  5970. roleRule = append(roleRule, roleItem)
  5971. }
  5972. var previousAdminRoleRule []interface{}
  5973. for _, previousAdminRoleItem := range previousAdminRole {
  5974. previousAdminRoleRule = append(previousAdminRoleRule, previousAdminRoleItem)
  5975. }
  5976. var newAdminRoleRule []interface{}
  5977. for _, newAdminRoleItem := range newAdminRole {
  5978. newAdminRoleRule = append(newAdminRoleRule, newAdminRoleItem)
  5979. }
  5980. logs, sub, err := _IAccessControl.contract.FilterLogs(opts, "RoleAdminChanged", roleRule, previousAdminRoleRule, newAdminRoleRule)
  5981. if err != nil {
  5982. return nil, err
  5983. }
  5984. return &IAccessControlRoleAdminChangedIterator{contract: _IAccessControl.contract, event: "RoleAdminChanged", logs: logs, sub: sub}, nil
  5985. }
  5986. // WatchRoleAdminChanged is a free log subscription operation binding the contract event 0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff.
  5987. //
  5988. // Solidity: event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)
  5989. func (_IAccessControl *IAccessControlFilterer) WatchRoleAdminChanged(opts *bind.WatchOpts, sink chan<- *IAccessControlRoleAdminChanged, role [][32]byte, previousAdminRole [][32]byte, newAdminRole [][32]byte) (event.Subscription, error) {
  5990. var roleRule []interface{}
  5991. for _, roleItem := range role {
  5992. roleRule = append(roleRule, roleItem)
  5993. }
  5994. var previousAdminRoleRule []interface{}
  5995. for _, previousAdminRoleItem := range previousAdminRole {
  5996. previousAdminRoleRule = append(previousAdminRoleRule, previousAdminRoleItem)
  5997. }
  5998. var newAdminRoleRule []interface{}
  5999. for _, newAdminRoleItem := range newAdminRole {
  6000. newAdminRoleRule = append(newAdminRoleRule, newAdminRoleItem)
  6001. }
  6002. logs, sub, err := _IAccessControl.contract.WatchLogs(opts, "RoleAdminChanged", roleRule, previousAdminRoleRule, newAdminRoleRule)
  6003. if err != nil {
  6004. return nil, err
  6005. }
  6006. return event.NewSubscription(func(quit <-chan struct{}) error {
  6007. defer sub.Unsubscribe()
  6008. for {
  6009. select {
  6010. case log := <-logs:
  6011. // New log arrived, parse the event and forward to the user
  6012. event := new(IAccessControlRoleAdminChanged)
  6013. if err := _IAccessControl.contract.UnpackLog(event, "RoleAdminChanged", log); err != nil {
  6014. return err
  6015. }
  6016. event.Raw = log
  6017. select {
  6018. case sink <- event:
  6019. case err := <-sub.Err():
  6020. return err
  6021. case <-quit:
  6022. return nil
  6023. }
  6024. case err := <-sub.Err():
  6025. return err
  6026. case <-quit:
  6027. return nil
  6028. }
  6029. }
  6030. }), nil
  6031. }
  6032. // ParseRoleAdminChanged is a log parse operation binding the contract event 0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff.
  6033. //
  6034. // Solidity: event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)
  6035. func (_IAccessControl *IAccessControlFilterer) ParseRoleAdminChanged(log types.Log) (*IAccessControlRoleAdminChanged, error) {
  6036. event := new(IAccessControlRoleAdminChanged)
  6037. if err := _IAccessControl.contract.UnpackLog(event, "RoleAdminChanged", log); err != nil {
  6038. return nil, err
  6039. }
  6040. event.Raw = log
  6041. return event, nil
  6042. }
  6043. // IAccessControlRoleGrantedIterator is returned from FilterRoleGranted and is used to iterate over the raw logs and unpacked data for RoleGranted events raised by the IAccessControl contract.
  6044. type IAccessControlRoleGrantedIterator struct {
  6045. Event *IAccessControlRoleGranted // Event containing the contract specifics and raw log
  6046. contract *bind.BoundContract // Generic contract to use for unpacking event data
  6047. event string // Event name to use for unpacking event data
  6048. logs chan types.Log // Log channel receiving the found contract events
  6049. sub ethereum.Subscription // Subscription for errors, completion and termination
  6050. done bool // Whether the subscription completed delivering logs
  6051. fail error // Occurred error to stop iteration
  6052. }
  6053. // Next advances the iterator to the subsequent event, returning whether there
  6054. // are any more events found. In case of a retrieval or parsing error, false is
  6055. // returned and Error() can be queried for the exact failure.
  6056. func (it *IAccessControlRoleGrantedIterator) Next() bool {
  6057. // If the iterator failed, stop iterating
  6058. if it.fail != nil {
  6059. return false
  6060. }
  6061. // If the iterator completed, deliver directly whatever's available
  6062. if it.done {
  6063. select {
  6064. case log := <-it.logs:
  6065. it.Event = new(IAccessControlRoleGranted)
  6066. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  6067. it.fail = err
  6068. return false
  6069. }
  6070. it.Event.Raw = log
  6071. return true
  6072. default:
  6073. return false
  6074. }
  6075. }
  6076. // Iterator still in progress, wait for either a data or an error event
  6077. select {
  6078. case log := <-it.logs:
  6079. it.Event = new(IAccessControlRoleGranted)
  6080. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  6081. it.fail = err
  6082. return false
  6083. }
  6084. it.Event.Raw = log
  6085. return true
  6086. case err := <-it.sub.Err():
  6087. it.done = true
  6088. it.fail = err
  6089. return it.Next()
  6090. }
  6091. }
  6092. // Error returns any retrieval or parsing error occurred during filtering.
  6093. func (it *IAccessControlRoleGrantedIterator) Error() error {
  6094. return it.fail
  6095. }
  6096. // Close terminates the iteration process, releasing any pending underlying
  6097. // resources.
  6098. func (it *IAccessControlRoleGrantedIterator) Close() error {
  6099. it.sub.Unsubscribe()
  6100. return nil
  6101. }
  6102. // IAccessControlRoleGranted represents a RoleGranted event raised by the IAccessControl contract.
  6103. type IAccessControlRoleGranted struct {
  6104. Role [32]byte
  6105. Account common.Address
  6106. Sender common.Address
  6107. Raw types.Log // Blockchain specific contextual infos
  6108. }
  6109. // FilterRoleGranted is a free log retrieval operation binding the contract event 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d.
  6110. //
  6111. // Solidity: event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)
  6112. func (_IAccessControl *IAccessControlFilterer) FilterRoleGranted(opts *bind.FilterOpts, role [][32]byte, account []common.Address, sender []common.Address) (*IAccessControlRoleGrantedIterator, error) {
  6113. var roleRule []interface{}
  6114. for _, roleItem := range role {
  6115. roleRule = append(roleRule, roleItem)
  6116. }
  6117. var accountRule []interface{}
  6118. for _, accountItem := range account {
  6119. accountRule = append(accountRule, accountItem)
  6120. }
  6121. var senderRule []interface{}
  6122. for _, senderItem := range sender {
  6123. senderRule = append(senderRule, senderItem)
  6124. }
  6125. logs, sub, err := _IAccessControl.contract.FilterLogs(opts, "RoleGranted", roleRule, accountRule, senderRule)
  6126. if err != nil {
  6127. return nil, err
  6128. }
  6129. return &IAccessControlRoleGrantedIterator{contract: _IAccessControl.contract, event: "RoleGranted", logs: logs, sub: sub}, nil
  6130. }
  6131. // WatchRoleGranted is a free log subscription operation binding the contract event 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d.
  6132. //
  6133. // Solidity: event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)
  6134. func (_IAccessControl *IAccessControlFilterer) WatchRoleGranted(opts *bind.WatchOpts, sink chan<- *IAccessControlRoleGranted, role [][32]byte, account []common.Address, sender []common.Address) (event.Subscription, error) {
  6135. var roleRule []interface{}
  6136. for _, roleItem := range role {
  6137. roleRule = append(roleRule, roleItem)
  6138. }
  6139. var accountRule []interface{}
  6140. for _, accountItem := range account {
  6141. accountRule = append(accountRule, accountItem)
  6142. }
  6143. var senderRule []interface{}
  6144. for _, senderItem := range sender {
  6145. senderRule = append(senderRule, senderItem)
  6146. }
  6147. logs, sub, err := _IAccessControl.contract.WatchLogs(opts, "RoleGranted", roleRule, accountRule, senderRule)
  6148. if err != nil {
  6149. return nil, err
  6150. }
  6151. return event.NewSubscription(func(quit <-chan struct{}) error {
  6152. defer sub.Unsubscribe()
  6153. for {
  6154. select {
  6155. case log := <-logs:
  6156. // New log arrived, parse the event and forward to the user
  6157. event := new(IAccessControlRoleGranted)
  6158. if err := _IAccessControl.contract.UnpackLog(event, "RoleGranted", log); err != nil {
  6159. return err
  6160. }
  6161. event.Raw = log
  6162. select {
  6163. case sink <- event:
  6164. case err := <-sub.Err():
  6165. return err
  6166. case <-quit:
  6167. return nil
  6168. }
  6169. case err := <-sub.Err():
  6170. return err
  6171. case <-quit:
  6172. return nil
  6173. }
  6174. }
  6175. }), nil
  6176. }
  6177. // ParseRoleGranted is a log parse operation binding the contract event 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d.
  6178. //
  6179. // Solidity: event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)
  6180. func (_IAccessControl *IAccessControlFilterer) ParseRoleGranted(log types.Log) (*IAccessControlRoleGranted, error) {
  6181. event := new(IAccessControlRoleGranted)
  6182. if err := _IAccessControl.contract.UnpackLog(event, "RoleGranted", log); err != nil {
  6183. return nil, err
  6184. }
  6185. event.Raw = log
  6186. return event, nil
  6187. }
  6188. // IAccessControlRoleRevokedIterator is returned from FilterRoleRevoked and is used to iterate over the raw logs and unpacked data for RoleRevoked events raised by the IAccessControl contract.
  6189. type IAccessControlRoleRevokedIterator struct {
  6190. Event *IAccessControlRoleRevoked // Event containing the contract specifics and raw log
  6191. contract *bind.BoundContract // Generic contract to use for unpacking event data
  6192. event string // Event name to use for unpacking event data
  6193. logs chan types.Log // Log channel receiving the found contract events
  6194. sub ethereum.Subscription // Subscription for errors, completion and termination
  6195. done bool // Whether the subscription completed delivering logs
  6196. fail error // Occurred error to stop iteration
  6197. }
  6198. // Next advances the iterator to the subsequent event, returning whether there
  6199. // are any more events found. In case of a retrieval or parsing error, false is
  6200. // returned and Error() can be queried for the exact failure.
  6201. func (it *IAccessControlRoleRevokedIterator) Next() bool {
  6202. // If the iterator failed, stop iterating
  6203. if it.fail != nil {
  6204. return false
  6205. }
  6206. // If the iterator completed, deliver directly whatever's available
  6207. if it.done {
  6208. select {
  6209. case log := <-it.logs:
  6210. it.Event = new(IAccessControlRoleRevoked)
  6211. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  6212. it.fail = err
  6213. return false
  6214. }
  6215. it.Event.Raw = log
  6216. return true
  6217. default:
  6218. return false
  6219. }
  6220. }
  6221. // Iterator still in progress, wait for either a data or an error event
  6222. select {
  6223. case log := <-it.logs:
  6224. it.Event = new(IAccessControlRoleRevoked)
  6225. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  6226. it.fail = err
  6227. return false
  6228. }
  6229. it.Event.Raw = log
  6230. return true
  6231. case err := <-it.sub.Err():
  6232. it.done = true
  6233. it.fail = err
  6234. return it.Next()
  6235. }
  6236. }
  6237. // Error returns any retrieval or parsing error occurred during filtering.
  6238. func (it *IAccessControlRoleRevokedIterator) Error() error {
  6239. return it.fail
  6240. }
  6241. // Close terminates the iteration process, releasing any pending underlying
  6242. // resources.
  6243. func (it *IAccessControlRoleRevokedIterator) Close() error {
  6244. it.sub.Unsubscribe()
  6245. return nil
  6246. }
  6247. // IAccessControlRoleRevoked represents a RoleRevoked event raised by the IAccessControl contract.
  6248. type IAccessControlRoleRevoked struct {
  6249. Role [32]byte
  6250. Account common.Address
  6251. Sender common.Address
  6252. Raw types.Log // Blockchain specific contextual infos
  6253. }
  6254. // FilterRoleRevoked is a free log retrieval operation binding the contract event 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b.
  6255. //
  6256. // Solidity: event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)
  6257. func (_IAccessControl *IAccessControlFilterer) FilterRoleRevoked(opts *bind.FilterOpts, role [][32]byte, account []common.Address, sender []common.Address) (*IAccessControlRoleRevokedIterator, error) {
  6258. var roleRule []interface{}
  6259. for _, roleItem := range role {
  6260. roleRule = append(roleRule, roleItem)
  6261. }
  6262. var accountRule []interface{}
  6263. for _, accountItem := range account {
  6264. accountRule = append(accountRule, accountItem)
  6265. }
  6266. var senderRule []interface{}
  6267. for _, senderItem := range sender {
  6268. senderRule = append(senderRule, senderItem)
  6269. }
  6270. logs, sub, err := _IAccessControl.contract.FilterLogs(opts, "RoleRevoked", roleRule, accountRule, senderRule)
  6271. if err != nil {
  6272. return nil, err
  6273. }
  6274. return &IAccessControlRoleRevokedIterator{contract: _IAccessControl.contract, event: "RoleRevoked", logs: logs, sub: sub}, nil
  6275. }
  6276. // WatchRoleRevoked is a free log subscription operation binding the contract event 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b.
  6277. //
  6278. // Solidity: event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)
  6279. func (_IAccessControl *IAccessControlFilterer) WatchRoleRevoked(opts *bind.WatchOpts, sink chan<- *IAccessControlRoleRevoked, role [][32]byte, account []common.Address, sender []common.Address) (event.Subscription, error) {
  6280. var roleRule []interface{}
  6281. for _, roleItem := range role {
  6282. roleRule = append(roleRule, roleItem)
  6283. }
  6284. var accountRule []interface{}
  6285. for _, accountItem := range account {
  6286. accountRule = append(accountRule, accountItem)
  6287. }
  6288. var senderRule []interface{}
  6289. for _, senderItem := range sender {
  6290. senderRule = append(senderRule, senderItem)
  6291. }
  6292. logs, sub, err := _IAccessControl.contract.WatchLogs(opts, "RoleRevoked", roleRule, accountRule, senderRule)
  6293. if err != nil {
  6294. return nil, err
  6295. }
  6296. return event.NewSubscription(func(quit <-chan struct{}) error {
  6297. defer sub.Unsubscribe()
  6298. for {
  6299. select {
  6300. case log := <-logs:
  6301. // New log arrived, parse the event and forward to the user
  6302. event := new(IAccessControlRoleRevoked)
  6303. if err := _IAccessControl.contract.UnpackLog(event, "RoleRevoked", log); err != nil {
  6304. return err
  6305. }
  6306. event.Raw = log
  6307. select {
  6308. case sink <- event:
  6309. case err := <-sub.Err():
  6310. return err
  6311. case <-quit:
  6312. return nil
  6313. }
  6314. case err := <-sub.Err():
  6315. return err
  6316. case <-quit:
  6317. return nil
  6318. }
  6319. }
  6320. }), nil
  6321. }
  6322. // ParseRoleRevoked is a log parse operation binding the contract event 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b.
  6323. //
  6324. // Solidity: event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)
  6325. func (_IAccessControl *IAccessControlFilterer) ParseRoleRevoked(log types.Log) (*IAccessControlRoleRevoked, error) {
  6326. event := new(IAccessControlRoleRevoked)
  6327. if err := _IAccessControl.contract.UnpackLog(event, "RoleRevoked", log); err != nil {
  6328. return nil, err
  6329. }
  6330. event.Raw = log
  6331. return event, nil
  6332. }
  6333. // IAccessControlEnumerableMetaData contains all meta data concerning the IAccessControlEnumerable contract.
  6334. var IAccessControlEnumerableMetaData = &bind.MetaData{
  6335. ABI: "[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"getRoleMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleMemberCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]",
  6336. Sigs: map[string]string{
  6337. "248a9ca3": "getRoleAdmin(bytes32)",
  6338. "9010d07c": "getRoleMember(bytes32,uint256)",
  6339. "ca15c873": "getRoleMemberCount(bytes32)",
  6340. "2f2ff15d": "grantRole(bytes32,address)",
  6341. "91d14854": "hasRole(bytes32,address)",
  6342. "36568abe": "renounceRole(bytes32,address)",
  6343. "d547741f": "revokeRole(bytes32,address)",
  6344. },
  6345. }
  6346. // IAccessControlEnumerableABI is the input ABI used to generate the binding from.
  6347. // Deprecated: Use IAccessControlEnumerableMetaData.ABI instead.
  6348. var IAccessControlEnumerableABI = IAccessControlEnumerableMetaData.ABI
  6349. // Deprecated: Use IAccessControlEnumerableMetaData.Sigs instead.
  6350. // IAccessControlEnumerableFuncSigs maps the 4-byte function signature to its string representation.
  6351. var IAccessControlEnumerableFuncSigs = IAccessControlEnumerableMetaData.Sigs
  6352. // IAccessControlEnumerable is an auto generated Go binding around an Ethereum contract.
  6353. type IAccessControlEnumerable struct {
  6354. IAccessControlEnumerableCaller // Read-only binding to the contract
  6355. IAccessControlEnumerableTransactor // Write-only binding to the contract
  6356. IAccessControlEnumerableFilterer // Log filterer for contract events
  6357. }
  6358. // IAccessControlEnumerableCaller is an auto generated read-only Go binding around an Ethereum contract.
  6359. type IAccessControlEnumerableCaller struct {
  6360. contract *bind.BoundContract // Generic contract wrapper for the low level calls
  6361. }
  6362. // IAccessControlEnumerableTransactor is an auto generated write-only Go binding around an Ethereum contract.
  6363. type IAccessControlEnumerableTransactor struct {
  6364. contract *bind.BoundContract // Generic contract wrapper for the low level calls
  6365. }
  6366. // IAccessControlEnumerableFilterer is an auto generated log filtering Go binding around an Ethereum contract events.
  6367. type IAccessControlEnumerableFilterer struct {
  6368. contract *bind.BoundContract // Generic contract wrapper for the low level calls
  6369. }
  6370. // IAccessControlEnumerableSession is an auto generated Go binding around an Ethereum contract,
  6371. // with pre-set call and transact options.
  6372. type IAccessControlEnumerableSession struct {
  6373. Contract *IAccessControlEnumerable // Generic contract binding to set the session for
  6374. CallOpts bind.CallOpts // Call options to use throughout this session
  6375. TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
  6376. }
  6377. // IAccessControlEnumerableCallerSession is an auto generated read-only Go binding around an Ethereum contract,
  6378. // with pre-set call options.
  6379. type IAccessControlEnumerableCallerSession struct {
  6380. Contract *IAccessControlEnumerableCaller // Generic contract caller binding to set the session for
  6381. CallOpts bind.CallOpts // Call options to use throughout this session
  6382. }
  6383. // IAccessControlEnumerableTransactorSession is an auto generated write-only Go binding around an Ethereum contract,
  6384. // with pre-set transact options.
  6385. type IAccessControlEnumerableTransactorSession struct {
  6386. Contract *IAccessControlEnumerableTransactor // Generic contract transactor binding to set the session for
  6387. TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
  6388. }
  6389. // IAccessControlEnumerableRaw is an auto generated low-level Go binding around an Ethereum contract.
  6390. type IAccessControlEnumerableRaw struct {
  6391. Contract *IAccessControlEnumerable // Generic contract binding to access the raw methods on
  6392. }
  6393. // IAccessControlEnumerableCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
  6394. type IAccessControlEnumerableCallerRaw struct {
  6395. Contract *IAccessControlEnumerableCaller // Generic read-only contract binding to access the raw methods on
  6396. }
  6397. // IAccessControlEnumerableTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
  6398. type IAccessControlEnumerableTransactorRaw struct {
  6399. Contract *IAccessControlEnumerableTransactor // Generic write-only contract binding to access the raw methods on
  6400. }
  6401. // NewIAccessControlEnumerable creates a new instance of IAccessControlEnumerable, bound to a specific deployed contract.
  6402. func NewIAccessControlEnumerable(address common.Address, backend bind.ContractBackend) (*IAccessControlEnumerable, error) {
  6403. contract, err := bindIAccessControlEnumerable(address, backend, backend, backend)
  6404. if err != nil {
  6405. return nil, err
  6406. }
  6407. return &IAccessControlEnumerable{IAccessControlEnumerableCaller: IAccessControlEnumerableCaller{contract: contract}, IAccessControlEnumerableTransactor: IAccessControlEnumerableTransactor{contract: contract}, IAccessControlEnumerableFilterer: IAccessControlEnumerableFilterer{contract: contract}}, nil
  6408. }
  6409. // NewIAccessControlEnumerableCaller creates a new read-only instance of IAccessControlEnumerable, bound to a specific deployed contract.
  6410. func NewIAccessControlEnumerableCaller(address common.Address, caller bind.ContractCaller) (*IAccessControlEnumerableCaller, error) {
  6411. contract, err := bindIAccessControlEnumerable(address, caller, nil, nil)
  6412. if err != nil {
  6413. return nil, err
  6414. }
  6415. return &IAccessControlEnumerableCaller{contract: contract}, nil
  6416. }
  6417. // NewIAccessControlEnumerableTransactor creates a new write-only instance of IAccessControlEnumerable, bound to a specific deployed contract.
  6418. func NewIAccessControlEnumerableTransactor(address common.Address, transactor bind.ContractTransactor) (*IAccessControlEnumerableTransactor, error) {
  6419. contract, err := bindIAccessControlEnumerable(address, nil, transactor, nil)
  6420. if err != nil {
  6421. return nil, err
  6422. }
  6423. return &IAccessControlEnumerableTransactor{contract: contract}, nil
  6424. }
  6425. // NewIAccessControlEnumerableFilterer creates a new log filterer instance of IAccessControlEnumerable, bound to a specific deployed contract.
  6426. func NewIAccessControlEnumerableFilterer(address common.Address, filterer bind.ContractFilterer) (*IAccessControlEnumerableFilterer, error) {
  6427. contract, err := bindIAccessControlEnumerable(address, nil, nil, filterer)
  6428. if err != nil {
  6429. return nil, err
  6430. }
  6431. return &IAccessControlEnumerableFilterer{contract: contract}, nil
  6432. }
  6433. // bindIAccessControlEnumerable binds a generic wrapper to an already deployed contract.
  6434. func bindIAccessControlEnumerable(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
  6435. parsed, err := abi.JSON(strings.NewReader(IAccessControlEnumerableABI))
  6436. if err != nil {
  6437. return nil, err
  6438. }
  6439. return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil
  6440. }
  6441. // Call invokes the (constant) contract method with params as input values and
  6442. // sets the output to result. The result type might be a single field for simple
  6443. // returns, a slice of interfaces for anonymous returns and a struct for named
  6444. // returns.
  6445. func (_IAccessControlEnumerable *IAccessControlEnumerableRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
  6446. return _IAccessControlEnumerable.Contract.IAccessControlEnumerableCaller.contract.Call(opts, result, method, params...)
  6447. }
  6448. // Transfer initiates a plain transaction to move funds to the contract, calling
  6449. // its default method if one is available.
  6450. func (_IAccessControlEnumerable *IAccessControlEnumerableRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
  6451. return _IAccessControlEnumerable.Contract.IAccessControlEnumerableTransactor.contract.Transfer(opts)
  6452. }
  6453. // Transact invokes the (paid) contract method with params as input values.
  6454. func (_IAccessControlEnumerable *IAccessControlEnumerableRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
  6455. return _IAccessControlEnumerable.Contract.IAccessControlEnumerableTransactor.contract.Transact(opts, method, params...)
  6456. }
  6457. // Call invokes the (constant) contract method with params as input values and
  6458. // sets the output to result. The result type might be a single field for simple
  6459. // returns, a slice of interfaces for anonymous returns and a struct for named
  6460. // returns.
  6461. func (_IAccessControlEnumerable *IAccessControlEnumerableCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
  6462. return _IAccessControlEnumerable.Contract.contract.Call(opts, result, method, params...)
  6463. }
  6464. // Transfer initiates a plain transaction to move funds to the contract, calling
  6465. // its default method if one is available.
  6466. func (_IAccessControlEnumerable *IAccessControlEnumerableTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
  6467. return _IAccessControlEnumerable.Contract.contract.Transfer(opts)
  6468. }
  6469. // Transact invokes the (paid) contract method with params as input values.
  6470. func (_IAccessControlEnumerable *IAccessControlEnumerableTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
  6471. return _IAccessControlEnumerable.Contract.contract.Transact(opts, method, params...)
  6472. }
  6473. // GetRoleAdmin is a free data retrieval call binding the contract method 0x248a9ca3.
  6474. //
  6475. // Solidity: function getRoleAdmin(bytes32 role) view returns(bytes32)
  6476. func (_IAccessControlEnumerable *IAccessControlEnumerableCaller) GetRoleAdmin(opts *bind.CallOpts, role [32]byte) ([32]byte, error) {
  6477. var out []interface{}
  6478. err := _IAccessControlEnumerable.contract.Call(opts, &out, "getRoleAdmin", role)
  6479. if err != nil {
  6480. return *new([32]byte), err
  6481. }
  6482. out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte)
  6483. return out0, err
  6484. }
  6485. // GetRoleAdmin is a free data retrieval call binding the contract method 0x248a9ca3.
  6486. //
  6487. // Solidity: function getRoleAdmin(bytes32 role) view returns(bytes32)
  6488. func (_IAccessControlEnumerable *IAccessControlEnumerableSession) GetRoleAdmin(role [32]byte) ([32]byte, error) {
  6489. return _IAccessControlEnumerable.Contract.GetRoleAdmin(&_IAccessControlEnumerable.CallOpts, role)
  6490. }
  6491. // GetRoleAdmin is a free data retrieval call binding the contract method 0x248a9ca3.
  6492. //
  6493. // Solidity: function getRoleAdmin(bytes32 role) view returns(bytes32)
  6494. func (_IAccessControlEnumerable *IAccessControlEnumerableCallerSession) GetRoleAdmin(role [32]byte) ([32]byte, error) {
  6495. return _IAccessControlEnumerable.Contract.GetRoleAdmin(&_IAccessControlEnumerable.CallOpts, role)
  6496. }
  6497. // GetRoleMember is a free data retrieval call binding the contract method 0x9010d07c.
  6498. //
  6499. // Solidity: function getRoleMember(bytes32 role, uint256 index) view returns(address)
  6500. func (_IAccessControlEnumerable *IAccessControlEnumerableCaller) GetRoleMember(opts *bind.CallOpts, role [32]byte, index *big.Int) (common.Address, error) {
  6501. var out []interface{}
  6502. err := _IAccessControlEnumerable.contract.Call(opts, &out, "getRoleMember", role, index)
  6503. if err != nil {
  6504. return *new(common.Address), err
  6505. }
  6506. out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
  6507. return out0, err
  6508. }
  6509. // GetRoleMember is a free data retrieval call binding the contract method 0x9010d07c.
  6510. //
  6511. // Solidity: function getRoleMember(bytes32 role, uint256 index) view returns(address)
  6512. func (_IAccessControlEnumerable *IAccessControlEnumerableSession) GetRoleMember(role [32]byte, index *big.Int) (common.Address, error) {
  6513. return _IAccessControlEnumerable.Contract.GetRoleMember(&_IAccessControlEnumerable.CallOpts, role, index)
  6514. }
  6515. // GetRoleMember is a free data retrieval call binding the contract method 0x9010d07c.
  6516. //
  6517. // Solidity: function getRoleMember(bytes32 role, uint256 index) view returns(address)
  6518. func (_IAccessControlEnumerable *IAccessControlEnumerableCallerSession) GetRoleMember(role [32]byte, index *big.Int) (common.Address, error) {
  6519. return _IAccessControlEnumerable.Contract.GetRoleMember(&_IAccessControlEnumerable.CallOpts, role, index)
  6520. }
  6521. // GetRoleMemberCount is a free data retrieval call binding the contract method 0xca15c873.
  6522. //
  6523. // Solidity: function getRoleMemberCount(bytes32 role) view returns(uint256)
  6524. func (_IAccessControlEnumerable *IAccessControlEnumerableCaller) GetRoleMemberCount(opts *bind.CallOpts, role [32]byte) (*big.Int, error) {
  6525. var out []interface{}
  6526. err := _IAccessControlEnumerable.contract.Call(opts, &out, "getRoleMemberCount", role)
  6527. if err != nil {
  6528. return *new(*big.Int), err
  6529. }
  6530. out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
  6531. return out0, err
  6532. }
  6533. // GetRoleMemberCount is a free data retrieval call binding the contract method 0xca15c873.
  6534. //
  6535. // Solidity: function getRoleMemberCount(bytes32 role) view returns(uint256)
  6536. func (_IAccessControlEnumerable *IAccessControlEnumerableSession) GetRoleMemberCount(role [32]byte) (*big.Int, error) {
  6537. return _IAccessControlEnumerable.Contract.GetRoleMemberCount(&_IAccessControlEnumerable.CallOpts, role)
  6538. }
  6539. // GetRoleMemberCount is a free data retrieval call binding the contract method 0xca15c873.
  6540. //
  6541. // Solidity: function getRoleMemberCount(bytes32 role) view returns(uint256)
  6542. func (_IAccessControlEnumerable *IAccessControlEnumerableCallerSession) GetRoleMemberCount(role [32]byte) (*big.Int, error) {
  6543. return _IAccessControlEnumerable.Contract.GetRoleMemberCount(&_IAccessControlEnumerable.CallOpts, role)
  6544. }
  6545. // HasRole is a free data retrieval call binding the contract method 0x91d14854.
  6546. //
  6547. // Solidity: function hasRole(bytes32 role, address account) view returns(bool)
  6548. func (_IAccessControlEnumerable *IAccessControlEnumerableCaller) HasRole(opts *bind.CallOpts, role [32]byte, account common.Address) (bool, error) {
  6549. var out []interface{}
  6550. err := _IAccessControlEnumerable.contract.Call(opts, &out, "hasRole", role, account)
  6551. if err != nil {
  6552. return *new(bool), err
  6553. }
  6554. out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
  6555. return out0, err
  6556. }
  6557. // HasRole is a free data retrieval call binding the contract method 0x91d14854.
  6558. //
  6559. // Solidity: function hasRole(bytes32 role, address account) view returns(bool)
  6560. func (_IAccessControlEnumerable *IAccessControlEnumerableSession) HasRole(role [32]byte, account common.Address) (bool, error) {
  6561. return _IAccessControlEnumerable.Contract.HasRole(&_IAccessControlEnumerable.CallOpts, role, account)
  6562. }
  6563. // HasRole is a free data retrieval call binding the contract method 0x91d14854.
  6564. //
  6565. // Solidity: function hasRole(bytes32 role, address account) view returns(bool)
  6566. func (_IAccessControlEnumerable *IAccessControlEnumerableCallerSession) HasRole(role [32]byte, account common.Address) (bool, error) {
  6567. return _IAccessControlEnumerable.Contract.HasRole(&_IAccessControlEnumerable.CallOpts, role, account)
  6568. }
  6569. // GrantRole is a paid mutator transaction binding the contract method 0x2f2ff15d.
  6570. //
  6571. // Solidity: function grantRole(bytes32 role, address account) returns()
  6572. func (_IAccessControlEnumerable *IAccessControlEnumerableTransactor) GrantRole(opts *bind.TransactOpts, role [32]byte, account common.Address) (*types.Transaction, error) {
  6573. return _IAccessControlEnumerable.contract.Transact(opts, "grantRole", role, account)
  6574. }
  6575. // GrantRole is a paid mutator transaction binding the contract method 0x2f2ff15d.
  6576. //
  6577. // Solidity: function grantRole(bytes32 role, address account) returns()
  6578. func (_IAccessControlEnumerable *IAccessControlEnumerableSession) GrantRole(role [32]byte, account common.Address) (*types.Transaction, error) {
  6579. return _IAccessControlEnumerable.Contract.GrantRole(&_IAccessControlEnumerable.TransactOpts, role, account)
  6580. }
  6581. // GrantRole is a paid mutator transaction binding the contract method 0x2f2ff15d.
  6582. //
  6583. // Solidity: function grantRole(bytes32 role, address account) returns()
  6584. func (_IAccessControlEnumerable *IAccessControlEnumerableTransactorSession) GrantRole(role [32]byte, account common.Address) (*types.Transaction, error) {
  6585. return _IAccessControlEnumerable.Contract.GrantRole(&_IAccessControlEnumerable.TransactOpts, role, account)
  6586. }
  6587. // RenounceRole is a paid mutator transaction binding the contract method 0x36568abe.
  6588. //
  6589. // Solidity: function renounceRole(bytes32 role, address account) returns()
  6590. func (_IAccessControlEnumerable *IAccessControlEnumerableTransactor) RenounceRole(opts *bind.TransactOpts, role [32]byte, account common.Address) (*types.Transaction, error) {
  6591. return _IAccessControlEnumerable.contract.Transact(opts, "renounceRole", role, account)
  6592. }
  6593. // RenounceRole is a paid mutator transaction binding the contract method 0x36568abe.
  6594. //
  6595. // Solidity: function renounceRole(bytes32 role, address account) returns()
  6596. func (_IAccessControlEnumerable *IAccessControlEnumerableSession) RenounceRole(role [32]byte, account common.Address) (*types.Transaction, error) {
  6597. return _IAccessControlEnumerable.Contract.RenounceRole(&_IAccessControlEnumerable.TransactOpts, role, account)
  6598. }
  6599. // RenounceRole is a paid mutator transaction binding the contract method 0x36568abe.
  6600. //
  6601. // Solidity: function renounceRole(bytes32 role, address account) returns()
  6602. func (_IAccessControlEnumerable *IAccessControlEnumerableTransactorSession) RenounceRole(role [32]byte, account common.Address) (*types.Transaction, error) {
  6603. return _IAccessControlEnumerable.Contract.RenounceRole(&_IAccessControlEnumerable.TransactOpts, role, account)
  6604. }
  6605. // RevokeRole is a paid mutator transaction binding the contract method 0xd547741f.
  6606. //
  6607. // Solidity: function revokeRole(bytes32 role, address account) returns()
  6608. func (_IAccessControlEnumerable *IAccessControlEnumerableTransactor) RevokeRole(opts *bind.TransactOpts, role [32]byte, account common.Address) (*types.Transaction, error) {
  6609. return _IAccessControlEnumerable.contract.Transact(opts, "revokeRole", role, account)
  6610. }
  6611. // RevokeRole is a paid mutator transaction binding the contract method 0xd547741f.
  6612. //
  6613. // Solidity: function revokeRole(bytes32 role, address account) returns()
  6614. func (_IAccessControlEnumerable *IAccessControlEnumerableSession) RevokeRole(role [32]byte, account common.Address) (*types.Transaction, error) {
  6615. return _IAccessControlEnumerable.Contract.RevokeRole(&_IAccessControlEnumerable.TransactOpts, role, account)
  6616. }
  6617. // RevokeRole is a paid mutator transaction binding the contract method 0xd547741f.
  6618. //
  6619. // Solidity: function revokeRole(bytes32 role, address account) returns()
  6620. func (_IAccessControlEnumerable *IAccessControlEnumerableTransactorSession) RevokeRole(role [32]byte, account common.Address) (*types.Transaction, error) {
  6621. return _IAccessControlEnumerable.Contract.RevokeRole(&_IAccessControlEnumerable.TransactOpts, role, account)
  6622. }
  6623. // IAccessControlEnumerableRoleAdminChangedIterator is returned from FilterRoleAdminChanged and is used to iterate over the raw logs and unpacked data for RoleAdminChanged events raised by the IAccessControlEnumerable contract.
  6624. type IAccessControlEnumerableRoleAdminChangedIterator struct {
  6625. Event *IAccessControlEnumerableRoleAdminChanged // Event containing the contract specifics and raw log
  6626. contract *bind.BoundContract // Generic contract to use for unpacking event data
  6627. event string // Event name to use for unpacking event data
  6628. logs chan types.Log // Log channel receiving the found contract events
  6629. sub ethereum.Subscription // Subscription for errors, completion and termination
  6630. done bool // Whether the subscription completed delivering logs
  6631. fail error // Occurred error to stop iteration
  6632. }
  6633. // Next advances the iterator to the subsequent event, returning whether there
  6634. // are any more events found. In case of a retrieval or parsing error, false is
  6635. // returned and Error() can be queried for the exact failure.
  6636. func (it *IAccessControlEnumerableRoleAdminChangedIterator) Next() bool {
  6637. // If the iterator failed, stop iterating
  6638. if it.fail != nil {
  6639. return false
  6640. }
  6641. // If the iterator completed, deliver directly whatever's available
  6642. if it.done {
  6643. select {
  6644. case log := <-it.logs:
  6645. it.Event = new(IAccessControlEnumerableRoleAdminChanged)
  6646. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  6647. it.fail = err
  6648. return false
  6649. }
  6650. it.Event.Raw = log
  6651. return true
  6652. default:
  6653. return false
  6654. }
  6655. }
  6656. // Iterator still in progress, wait for either a data or an error event
  6657. select {
  6658. case log := <-it.logs:
  6659. it.Event = new(IAccessControlEnumerableRoleAdminChanged)
  6660. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  6661. it.fail = err
  6662. return false
  6663. }
  6664. it.Event.Raw = log
  6665. return true
  6666. case err := <-it.sub.Err():
  6667. it.done = true
  6668. it.fail = err
  6669. return it.Next()
  6670. }
  6671. }
  6672. // Error returns any retrieval or parsing error occurred during filtering.
  6673. func (it *IAccessControlEnumerableRoleAdminChangedIterator) Error() error {
  6674. return it.fail
  6675. }
  6676. // Close terminates the iteration process, releasing any pending underlying
  6677. // resources.
  6678. func (it *IAccessControlEnumerableRoleAdminChangedIterator) Close() error {
  6679. it.sub.Unsubscribe()
  6680. return nil
  6681. }
  6682. // IAccessControlEnumerableRoleAdminChanged represents a RoleAdminChanged event raised by the IAccessControlEnumerable contract.
  6683. type IAccessControlEnumerableRoleAdminChanged struct {
  6684. Role [32]byte
  6685. PreviousAdminRole [32]byte
  6686. NewAdminRole [32]byte
  6687. Raw types.Log // Blockchain specific contextual infos
  6688. }
  6689. // FilterRoleAdminChanged is a free log retrieval operation binding the contract event 0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff.
  6690. //
  6691. // Solidity: event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)
  6692. func (_IAccessControlEnumerable *IAccessControlEnumerableFilterer) FilterRoleAdminChanged(opts *bind.FilterOpts, role [][32]byte, previousAdminRole [][32]byte, newAdminRole [][32]byte) (*IAccessControlEnumerableRoleAdminChangedIterator, error) {
  6693. var roleRule []interface{}
  6694. for _, roleItem := range role {
  6695. roleRule = append(roleRule, roleItem)
  6696. }
  6697. var previousAdminRoleRule []interface{}
  6698. for _, previousAdminRoleItem := range previousAdminRole {
  6699. previousAdminRoleRule = append(previousAdminRoleRule, previousAdminRoleItem)
  6700. }
  6701. var newAdminRoleRule []interface{}
  6702. for _, newAdminRoleItem := range newAdminRole {
  6703. newAdminRoleRule = append(newAdminRoleRule, newAdminRoleItem)
  6704. }
  6705. logs, sub, err := _IAccessControlEnumerable.contract.FilterLogs(opts, "RoleAdminChanged", roleRule, previousAdminRoleRule, newAdminRoleRule)
  6706. if err != nil {
  6707. return nil, err
  6708. }
  6709. return &IAccessControlEnumerableRoleAdminChangedIterator{contract: _IAccessControlEnumerable.contract, event: "RoleAdminChanged", logs: logs, sub: sub}, nil
  6710. }
  6711. // WatchRoleAdminChanged is a free log subscription operation binding the contract event 0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff.
  6712. //
  6713. // Solidity: event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)
  6714. func (_IAccessControlEnumerable *IAccessControlEnumerableFilterer) WatchRoleAdminChanged(opts *bind.WatchOpts, sink chan<- *IAccessControlEnumerableRoleAdminChanged, role [][32]byte, previousAdminRole [][32]byte, newAdminRole [][32]byte) (event.Subscription, error) {
  6715. var roleRule []interface{}
  6716. for _, roleItem := range role {
  6717. roleRule = append(roleRule, roleItem)
  6718. }
  6719. var previousAdminRoleRule []interface{}
  6720. for _, previousAdminRoleItem := range previousAdminRole {
  6721. previousAdminRoleRule = append(previousAdminRoleRule, previousAdminRoleItem)
  6722. }
  6723. var newAdminRoleRule []interface{}
  6724. for _, newAdminRoleItem := range newAdminRole {
  6725. newAdminRoleRule = append(newAdminRoleRule, newAdminRoleItem)
  6726. }
  6727. logs, sub, err := _IAccessControlEnumerable.contract.WatchLogs(opts, "RoleAdminChanged", roleRule, previousAdminRoleRule, newAdminRoleRule)
  6728. if err != nil {
  6729. return nil, err
  6730. }
  6731. return event.NewSubscription(func(quit <-chan struct{}) error {
  6732. defer sub.Unsubscribe()
  6733. for {
  6734. select {
  6735. case log := <-logs:
  6736. // New log arrived, parse the event and forward to the user
  6737. event := new(IAccessControlEnumerableRoleAdminChanged)
  6738. if err := _IAccessControlEnumerable.contract.UnpackLog(event, "RoleAdminChanged", log); err != nil {
  6739. return err
  6740. }
  6741. event.Raw = log
  6742. select {
  6743. case sink <- event:
  6744. case err := <-sub.Err():
  6745. return err
  6746. case <-quit:
  6747. return nil
  6748. }
  6749. case err := <-sub.Err():
  6750. return err
  6751. case <-quit:
  6752. return nil
  6753. }
  6754. }
  6755. }), nil
  6756. }
  6757. // ParseRoleAdminChanged is a log parse operation binding the contract event 0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff.
  6758. //
  6759. // Solidity: event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)
  6760. func (_IAccessControlEnumerable *IAccessControlEnumerableFilterer) ParseRoleAdminChanged(log types.Log) (*IAccessControlEnumerableRoleAdminChanged, error) {
  6761. event := new(IAccessControlEnumerableRoleAdminChanged)
  6762. if err := _IAccessControlEnumerable.contract.UnpackLog(event, "RoleAdminChanged", log); err != nil {
  6763. return nil, err
  6764. }
  6765. event.Raw = log
  6766. return event, nil
  6767. }
  6768. // IAccessControlEnumerableRoleGrantedIterator is returned from FilterRoleGranted and is used to iterate over the raw logs and unpacked data for RoleGranted events raised by the IAccessControlEnumerable contract.
  6769. type IAccessControlEnumerableRoleGrantedIterator struct {
  6770. Event *IAccessControlEnumerableRoleGranted // Event containing the contract specifics and raw log
  6771. contract *bind.BoundContract // Generic contract to use for unpacking event data
  6772. event string // Event name to use for unpacking event data
  6773. logs chan types.Log // Log channel receiving the found contract events
  6774. sub ethereum.Subscription // Subscription for errors, completion and termination
  6775. done bool // Whether the subscription completed delivering logs
  6776. fail error // Occurred error to stop iteration
  6777. }
  6778. // Next advances the iterator to the subsequent event, returning whether there
  6779. // are any more events found. In case of a retrieval or parsing error, false is
  6780. // returned and Error() can be queried for the exact failure.
  6781. func (it *IAccessControlEnumerableRoleGrantedIterator) Next() bool {
  6782. // If the iterator failed, stop iterating
  6783. if it.fail != nil {
  6784. return false
  6785. }
  6786. // If the iterator completed, deliver directly whatever's available
  6787. if it.done {
  6788. select {
  6789. case log := <-it.logs:
  6790. it.Event = new(IAccessControlEnumerableRoleGranted)
  6791. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  6792. it.fail = err
  6793. return false
  6794. }
  6795. it.Event.Raw = log
  6796. return true
  6797. default:
  6798. return false
  6799. }
  6800. }
  6801. // Iterator still in progress, wait for either a data or an error event
  6802. select {
  6803. case log := <-it.logs:
  6804. it.Event = new(IAccessControlEnumerableRoleGranted)
  6805. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  6806. it.fail = err
  6807. return false
  6808. }
  6809. it.Event.Raw = log
  6810. return true
  6811. case err := <-it.sub.Err():
  6812. it.done = true
  6813. it.fail = err
  6814. return it.Next()
  6815. }
  6816. }
  6817. // Error returns any retrieval or parsing error occurred during filtering.
  6818. func (it *IAccessControlEnumerableRoleGrantedIterator) Error() error {
  6819. return it.fail
  6820. }
  6821. // Close terminates the iteration process, releasing any pending underlying
  6822. // resources.
  6823. func (it *IAccessControlEnumerableRoleGrantedIterator) Close() error {
  6824. it.sub.Unsubscribe()
  6825. return nil
  6826. }
  6827. // IAccessControlEnumerableRoleGranted represents a RoleGranted event raised by the IAccessControlEnumerable contract.
  6828. type IAccessControlEnumerableRoleGranted struct {
  6829. Role [32]byte
  6830. Account common.Address
  6831. Sender common.Address
  6832. Raw types.Log // Blockchain specific contextual infos
  6833. }
  6834. // FilterRoleGranted is a free log retrieval operation binding the contract event 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d.
  6835. //
  6836. // Solidity: event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)
  6837. func (_IAccessControlEnumerable *IAccessControlEnumerableFilterer) FilterRoleGranted(opts *bind.FilterOpts, role [][32]byte, account []common.Address, sender []common.Address) (*IAccessControlEnumerableRoleGrantedIterator, error) {
  6838. var roleRule []interface{}
  6839. for _, roleItem := range role {
  6840. roleRule = append(roleRule, roleItem)
  6841. }
  6842. var accountRule []interface{}
  6843. for _, accountItem := range account {
  6844. accountRule = append(accountRule, accountItem)
  6845. }
  6846. var senderRule []interface{}
  6847. for _, senderItem := range sender {
  6848. senderRule = append(senderRule, senderItem)
  6849. }
  6850. logs, sub, err := _IAccessControlEnumerable.contract.FilterLogs(opts, "RoleGranted", roleRule, accountRule, senderRule)
  6851. if err != nil {
  6852. return nil, err
  6853. }
  6854. return &IAccessControlEnumerableRoleGrantedIterator{contract: _IAccessControlEnumerable.contract, event: "RoleGranted", logs: logs, sub: sub}, nil
  6855. }
  6856. // WatchRoleGranted is a free log subscription operation binding the contract event 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d.
  6857. //
  6858. // Solidity: event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)
  6859. func (_IAccessControlEnumerable *IAccessControlEnumerableFilterer) WatchRoleGranted(opts *bind.WatchOpts, sink chan<- *IAccessControlEnumerableRoleGranted, role [][32]byte, account []common.Address, sender []common.Address) (event.Subscription, error) {
  6860. var roleRule []interface{}
  6861. for _, roleItem := range role {
  6862. roleRule = append(roleRule, roleItem)
  6863. }
  6864. var accountRule []interface{}
  6865. for _, accountItem := range account {
  6866. accountRule = append(accountRule, accountItem)
  6867. }
  6868. var senderRule []interface{}
  6869. for _, senderItem := range sender {
  6870. senderRule = append(senderRule, senderItem)
  6871. }
  6872. logs, sub, err := _IAccessControlEnumerable.contract.WatchLogs(opts, "RoleGranted", roleRule, accountRule, senderRule)
  6873. if err != nil {
  6874. return nil, err
  6875. }
  6876. return event.NewSubscription(func(quit <-chan struct{}) error {
  6877. defer sub.Unsubscribe()
  6878. for {
  6879. select {
  6880. case log := <-logs:
  6881. // New log arrived, parse the event and forward to the user
  6882. event := new(IAccessControlEnumerableRoleGranted)
  6883. if err := _IAccessControlEnumerable.contract.UnpackLog(event, "RoleGranted", log); err != nil {
  6884. return err
  6885. }
  6886. event.Raw = log
  6887. select {
  6888. case sink <- event:
  6889. case err := <-sub.Err():
  6890. return err
  6891. case <-quit:
  6892. return nil
  6893. }
  6894. case err := <-sub.Err():
  6895. return err
  6896. case <-quit:
  6897. return nil
  6898. }
  6899. }
  6900. }), nil
  6901. }
  6902. // ParseRoleGranted is a log parse operation binding the contract event 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d.
  6903. //
  6904. // Solidity: event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)
  6905. func (_IAccessControlEnumerable *IAccessControlEnumerableFilterer) ParseRoleGranted(log types.Log) (*IAccessControlEnumerableRoleGranted, error) {
  6906. event := new(IAccessControlEnumerableRoleGranted)
  6907. if err := _IAccessControlEnumerable.contract.UnpackLog(event, "RoleGranted", log); err != nil {
  6908. return nil, err
  6909. }
  6910. event.Raw = log
  6911. return event, nil
  6912. }
  6913. // IAccessControlEnumerableRoleRevokedIterator is returned from FilterRoleRevoked and is used to iterate over the raw logs and unpacked data for RoleRevoked events raised by the IAccessControlEnumerable contract.
  6914. type IAccessControlEnumerableRoleRevokedIterator struct {
  6915. Event *IAccessControlEnumerableRoleRevoked // Event containing the contract specifics and raw log
  6916. contract *bind.BoundContract // Generic contract to use for unpacking event data
  6917. event string // Event name to use for unpacking event data
  6918. logs chan types.Log // Log channel receiving the found contract events
  6919. sub ethereum.Subscription // Subscription for errors, completion and termination
  6920. done bool // Whether the subscription completed delivering logs
  6921. fail error // Occurred error to stop iteration
  6922. }
  6923. // Next advances the iterator to the subsequent event, returning whether there
  6924. // are any more events found. In case of a retrieval or parsing error, false is
  6925. // returned and Error() can be queried for the exact failure.
  6926. func (it *IAccessControlEnumerableRoleRevokedIterator) Next() bool {
  6927. // If the iterator failed, stop iterating
  6928. if it.fail != nil {
  6929. return false
  6930. }
  6931. // If the iterator completed, deliver directly whatever's available
  6932. if it.done {
  6933. select {
  6934. case log := <-it.logs:
  6935. it.Event = new(IAccessControlEnumerableRoleRevoked)
  6936. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  6937. it.fail = err
  6938. return false
  6939. }
  6940. it.Event.Raw = log
  6941. return true
  6942. default:
  6943. return false
  6944. }
  6945. }
  6946. // Iterator still in progress, wait for either a data or an error event
  6947. select {
  6948. case log := <-it.logs:
  6949. it.Event = new(IAccessControlEnumerableRoleRevoked)
  6950. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  6951. it.fail = err
  6952. return false
  6953. }
  6954. it.Event.Raw = log
  6955. return true
  6956. case err := <-it.sub.Err():
  6957. it.done = true
  6958. it.fail = err
  6959. return it.Next()
  6960. }
  6961. }
  6962. // Error returns any retrieval or parsing error occurred during filtering.
  6963. func (it *IAccessControlEnumerableRoleRevokedIterator) Error() error {
  6964. return it.fail
  6965. }
  6966. // Close terminates the iteration process, releasing any pending underlying
  6967. // resources.
  6968. func (it *IAccessControlEnumerableRoleRevokedIterator) Close() error {
  6969. it.sub.Unsubscribe()
  6970. return nil
  6971. }
  6972. // IAccessControlEnumerableRoleRevoked represents a RoleRevoked event raised by the IAccessControlEnumerable contract.
  6973. type IAccessControlEnumerableRoleRevoked struct {
  6974. Role [32]byte
  6975. Account common.Address
  6976. Sender common.Address
  6977. Raw types.Log // Blockchain specific contextual infos
  6978. }
  6979. // FilterRoleRevoked is a free log retrieval operation binding the contract event 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b.
  6980. //
  6981. // Solidity: event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)
  6982. func (_IAccessControlEnumerable *IAccessControlEnumerableFilterer) FilterRoleRevoked(opts *bind.FilterOpts, role [][32]byte, account []common.Address, sender []common.Address) (*IAccessControlEnumerableRoleRevokedIterator, error) {
  6983. var roleRule []interface{}
  6984. for _, roleItem := range role {
  6985. roleRule = append(roleRule, roleItem)
  6986. }
  6987. var accountRule []interface{}
  6988. for _, accountItem := range account {
  6989. accountRule = append(accountRule, accountItem)
  6990. }
  6991. var senderRule []interface{}
  6992. for _, senderItem := range sender {
  6993. senderRule = append(senderRule, senderItem)
  6994. }
  6995. logs, sub, err := _IAccessControlEnumerable.contract.FilterLogs(opts, "RoleRevoked", roleRule, accountRule, senderRule)
  6996. if err != nil {
  6997. return nil, err
  6998. }
  6999. return &IAccessControlEnumerableRoleRevokedIterator{contract: _IAccessControlEnumerable.contract, event: "RoleRevoked", logs: logs, sub: sub}, nil
  7000. }
  7001. // WatchRoleRevoked is a free log subscription operation binding the contract event 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b.
  7002. //
  7003. // Solidity: event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)
  7004. func (_IAccessControlEnumerable *IAccessControlEnumerableFilterer) WatchRoleRevoked(opts *bind.WatchOpts, sink chan<- *IAccessControlEnumerableRoleRevoked, role [][32]byte, account []common.Address, sender []common.Address) (event.Subscription, error) {
  7005. var roleRule []interface{}
  7006. for _, roleItem := range role {
  7007. roleRule = append(roleRule, roleItem)
  7008. }
  7009. var accountRule []interface{}
  7010. for _, accountItem := range account {
  7011. accountRule = append(accountRule, accountItem)
  7012. }
  7013. var senderRule []interface{}
  7014. for _, senderItem := range sender {
  7015. senderRule = append(senderRule, senderItem)
  7016. }
  7017. logs, sub, err := _IAccessControlEnumerable.contract.WatchLogs(opts, "RoleRevoked", roleRule, accountRule, senderRule)
  7018. if err != nil {
  7019. return nil, err
  7020. }
  7021. return event.NewSubscription(func(quit <-chan struct{}) error {
  7022. defer sub.Unsubscribe()
  7023. for {
  7024. select {
  7025. case log := <-logs:
  7026. // New log arrived, parse the event and forward to the user
  7027. event := new(IAccessControlEnumerableRoleRevoked)
  7028. if err := _IAccessControlEnumerable.contract.UnpackLog(event, "RoleRevoked", log); err != nil {
  7029. return err
  7030. }
  7031. event.Raw = log
  7032. select {
  7033. case sink <- event:
  7034. case err := <-sub.Err():
  7035. return err
  7036. case <-quit:
  7037. return nil
  7038. }
  7039. case err := <-sub.Err():
  7040. return err
  7041. case <-quit:
  7042. return nil
  7043. }
  7044. }
  7045. }), nil
  7046. }
  7047. // ParseRoleRevoked is a log parse operation binding the contract event 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b.
  7048. //
  7049. // Solidity: event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)
  7050. func (_IAccessControlEnumerable *IAccessControlEnumerableFilterer) ParseRoleRevoked(log types.Log) (*IAccessControlEnumerableRoleRevoked, error) {
  7051. event := new(IAccessControlEnumerableRoleRevoked)
  7052. if err := _IAccessControlEnumerable.contract.UnpackLog(event, "RoleRevoked", log); err != nil {
  7053. return nil, err
  7054. }
  7055. event.Raw = log
  7056. return event, nil
  7057. }
  7058. // IERC1155MetaData contains all meta data concerning the IERC1155 contract.
  7059. var IERC1155MetaData = &bind.MetaData{
  7060. ABI: "[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"}],\"name\":\"TransferBatch\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"TransferSingle\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"URI\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"accounts\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"}],\"name\":\"balanceOfBatch\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeBatchTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]",
  7061. Sigs: map[string]string{
  7062. "00fdd58e": "balanceOf(address,uint256)",
  7063. "4e1273f4": "balanceOfBatch(address[],uint256[])",
  7064. "e985e9c5": "isApprovedForAll(address,address)",
  7065. "2eb2c2d6": "safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)",
  7066. "f242432a": "safeTransferFrom(address,address,uint256,uint256,bytes)",
  7067. "a22cb465": "setApprovalForAll(address,bool)",
  7068. "01ffc9a7": "supportsInterface(bytes4)",
  7069. },
  7070. }
  7071. // IERC1155ABI is the input ABI used to generate the binding from.
  7072. // Deprecated: Use IERC1155MetaData.ABI instead.
  7073. var IERC1155ABI = IERC1155MetaData.ABI
  7074. // Deprecated: Use IERC1155MetaData.Sigs instead.
  7075. // IERC1155FuncSigs maps the 4-byte function signature to its string representation.
  7076. var IERC1155FuncSigs = IERC1155MetaData.Sigs
  7077. // IERC1155 is an auto generated Go binding around an Ethereum contract.
  7078. type IERC1155 struct {
  7079. IERC1155Caller // Read-only binding to the contract
  7080. IERC1155Transactor // Write-only binding to the contract
  7081. IERC1155Filterer // Log filterer for contract events
  7082. }
  7083. // IERC1155Caller is an auto generated read-only Go binding around an Ethereum contract.
  7084. type IERC1155Caller struct {
  7085. contract *bind.BoundContract // Generic contract wrapper for the low level calls
  7086. }
  7087. // IERC1155Transactor is an auto generated write-only Go binding around an Ethereum contract.
  7088. type IERC1155Transactor struct {
  7089. contract *bind.BoundContract // Generic contract wrapper for the low level calls
  7090. }
  7091. // IERC1155Filterer is an auto generated log filtering Go binding around an Ethereum contract events.
  7092. type IERC1155Filterer struct {
  7093. contract *bind.BoundContract // Generic contract wrapper for the low level calls
  7094. }
  7095. // IERC1155Session is an auto generated Go binding around an Ethereum contract,
  7096. // with pre-set call and transact options.
  7097. type IERC1155Session struct {
  7098. Contract *IERC1155 // Generic contract binding to set the session for
  7099. CallOpts bind.CallOpts // Call options to use throughout this session
  7100. TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
  7101. }
  7102. // IERC1155CallerSession is an auto generated read-only Go binding around an Ethereum contract,
  7103. // with pre-set call options.
  7104. type IERC1155CallerSession struct {
  7105. Contract *IERC1155Caller // Generic contract caller binding to set the session for
  7106. CallOpts bind.CallOpts // Call options to use throughout this session
  7107. }
  7108. // IERC1155TransactorSession is an auto generated write-only Go binding around an Ethereum contract,
  7109. // with pre-set transact options.
  7110. type IERC1155TransactorSession struct {
  7111. Contract *IERC1155Transactor // Generic contract transactor binding to set the session for
  7112. TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
  7113. }
  7114. // IERC1155Raw is an auto generated low-level Go binding around an Ethereum contract.
  7115. type IERC1155Raw struct {
  7116. Contract *IERC1155 // Generic contract binding to access the raw methods on
  7117. }
  7118. // IERC1155CallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
  7119. type IERC1155CallerRaw struct {
  7120. Contract *IERC1155Caller // Generic read-only contract binding to access the raw methods on
  7121. }
  7122. // IERC1155TransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
  7123. type IERC1155TransactorRaw struct {
  7124. Contract *IERC1155Transactor // Generic write-only contract binding to access the raw methods on
  7125. }
  7126. // NewIERC1155 creates a new instance of IERC1155, bound to a specific deployed contract.
  7127. func NewIERC1155(address common.Address, backend bind.ContractBackend) (*IERC1155, error) {
  7128. contract, err := bindIERC1155(address, backend, backend, backend)
  7129. if err != nil {
  7130. return nil, err
  7131. }
  7132. return &IERC1155{IERC1155Caller: IERC1155Caller{contract: contract}, IERC1155Transactor: IERC1155Transactor{contract: contract}, IERC1155Filterer: IERC1155Filterer{contract: contract}}, nil
  7133. }
  7134. // NewIERC1155Caller creates a new read-only instance of IERC1155, bound to a specific deployed contract.
  7135. func NewIERC1155Caller(address common.Address, caller bind.ContractCaller) (*IERC1155Caller, error) {
  7136. contract, err := bindIERC1155(address, caller, nil, nil)
  7137. if err != nil {
  7138. return nil, err
  7139. }
  7140. return &IERC1155Caller{contract: contract}, nil
  7141. }
  7142. // NewIERC1155Transactor creates a new write-only instance of IERC1155, bound to a specific deployed contract.
  7143. func NewIERC1155Transactor(address common.Address, transactor bind.ContractTransactor) (*IERC1155Transactor, error) {
  7144. contract, err := bindIERC1155(address, nil, transactor, nil)
  7145. if err != nil {
  7146. return nil, err
  7147. }
  7148. return &IERC1155Transactor{contract: contract}, nil
  7149. }
  7150. // NewIERC1155Filterer creates a new log filterer instance of IERC1155, bound to a specific deployed contract.
  7151. func NewIERC1155Filterer(address common.Address, filterer bind.ContractFilterer) (*IERC1155Filterer, error) {
  7152. contract, err := bindIERC1155(address, nil, nil, filterer)
  7153. if err != nil {
  7154. return nil, err
  7155. }
  7156. return &IERC1155Filterer{contract: contract}, nil
  7157. }
  7158. // bindIERC1155 binds a generic wrapper to an already deployed contract.
  7159. func bindIERC1155(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
  7160. parsed, err := abi.JSON(strings.NewReader(IERC1155ABI))
  7161. if err != nil {
  7162. return nil, err
  7163. }
  7164. return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil
  7165. }
  7166. // Call invokes the (constant) contract method with params as input values and
  7167. // sets the output to result. The result type might be a single field for simple
  7168. // returns, a slice of interfaces for anonymous returns and a struct for named
  7169. // returns.
  7170. func (_IERC1155 *IERC1155Raw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
  7171. return _IERC1155.Contract.IERC1155Caller.contract.Call(opts, result, method, params...)
  7172. }
  7173. // Transfer initiates a plain transaction to move funds to the contract, calling
  7174. // its default method if one is available.
  7175. func (_IERC1155 *IERC1155Raw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
  7176. return _IERC1155.Contract.IERC1155Transactor.contract.Transfer(opts)
  7177. }
  7178. // Transact invokes the (paid) contract method with params as input values.
  7179. func (_IERC1155 *IERC1155Raw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
  7180. return _IERC1155.Contract.IERC1155Transactor.contract.Transact(opts, method, params...)
  7181. }
  7182. // Call invokes the (constant) contract method with params as input values and
  7183. // sets the output to result. The result type might be a single field for simple
  7184. // returns, a slice of interfaces for anonymous returns and a struct for named
  7185. // returns.
  7186. func (_IERC1155 *IERC1155CallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
  7187. return _IERC1155.Contract.contract.Call(opts, result, method, params...)
  7188. }
  7189. // Transfer initiates a plain transaction to move funds to the contract, calling
  7190. // its default method if one is available.
  7191. func (_IERC1155 *IERC1155TransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
  7192. return _IERC1155.Contract.contract.Transfer(opts)
  7193. }
  7194. // Transact invokes the (paid) contract method with params as input values.
  7195. func (_IERC1155 *IERC1155TransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
  7196. return _IERC1155.Contract.contract.Transact(opts, method, params...)
  7197. }
  7198. // BalanceOf is a free data retrieval call binding the contract method 0x00fdd58e.
  7199. //
  7200. // Solidity: function balanceOf(address account, uint256 id) view returns(uint256)
  7201. func (_IERC1155 *IERC1155Caller) BalanceOf(opts *bind.CallOpts, account common.Address, id *big.Int) (*big.Int, error) {
  7202. var out []interface{}
  7203. err := _IERC1155.contract.Call(opts, &out, "balanceOf", account, id)
  7204. if err != nil {
  7205. return *new(*big.Int), err
  7206. }
  7207. out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
  7208. return out0, err
  7209. }
  7210. // BalanceOf is a free data retrieval call binding the contract method 0x00fdd58e.
  7211. //
  7212. // Solidity: function balanceOf(address account, uint256 id) view returns(uint256)
  7213. func (_IERC1155 *IERC1155Session) BalanceOf(account common.Address, id *big.Int) (*big.Int, error) {
  7214. return _IERC1155.Contract.BalanceOf(&_IERC1155.CallOpts, account, id)
  7215. }
  7216. // BalanceOf is a free data retrieval call binding the contract method 0x00fdd58e.
  7217. //
  7218. // Solidity: function balanceOf(address account, uint256 id) view returns(uint256)
  7219. func (_IERC1155 *IERC1155CallerSession) BalanceOf(account common.Address, id *big.Int) (*big.Int, error) {
  7220. return _IERC1155.Contract.BalanceOf(&_IERC1155.CallOpts, account, id)
  7221. }
  7222. // BalanceOfBatch is a free data retrieval call binding the contract method 0x4e1273f4.
  7223. //
  7224. // Solidity: function balanceOfBatch(address[] accounts, uint256[] ids) view returns(uint256[])
  7225. func (_IERC1155 *IERC1155Caller) BalanceOfBatch(opts *bind.CallOpts, accounts []common.Address, ids []*big.Int) ([]*big.Int, error) {
  7226. var out []interface{}
  7227. err := _IERC1155.contract.Call(opts, &out, "balanceOfBatch", accounts, ids)
  7228. if err != nil {
  7229. return *new([]*big.Int), err
  7230. }
  7231. out0 := *abi.ConvertType(out[0], new([]*big.Int)).(*[]*big.Int)
  7232. return out0, err
  7233. }
  7234. // BalanceOfBatch is a free data retrieval call binding the contract method 0x4e1273f4.
  7235. //
  7236. // Solidity: function balanceOfBatch(address[] accounts, uint256[] ids) view returns(uint256[])
  7237. func (_IERC1155 *IERC1155Session) BalanceOfBatch(accounts []common.Address, ids []*big.Int) ([]*big.Int, error) {
  7238. return _IERC1155.Contract.BalanceOfBatch(&_IERC1155.CallOpts, accounts, ids)
  7239. }
  7240. // BalanceOfBatch is a free data retrieval call binding the contract method 0x4e1273f4.
  7241. //
  7242. // Solidity: function balanceOfBatch(address[] accounts, uint256[] ids) view returns(uint256[])
  7243. func (_IERC1155 *IERC1155CallerSession) BalanceOfBatch(accounts []common.Address, ids []*big.Int) ([]*big.Int, error) {
  7244. return _IERC1155.Contract.BalanceOfBatch(&_IERC1155.CallOpts, accounts, ids)
  7245. }
  7246. // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5.
  7247. //
  7248. // Solidity: function isApprovedForAll(address account, address operator) view returns(bool)
  7249. func (_IERC1155 *IERC1155Caller) IsApprovedForAll(opts *bind.CallOpts, account common.Address, operator common.Address) (bool, error) {
  7250. var out []interface{}
  7251. err := _IERC1155.contract.Call(opts, &out, "isApprovedForAll", account, operator)
  7252. if err != nil {
  7253. return *new(bool), err
  7254. }
  7255. out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
  7256. return out0, err
  7257. }
  7258. // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5.
  7259. //
  7260. // Solidity: function isApprovedForAll(address account, address operator) view returns(bool)
  7261. func (_IERC1155 *IERC1155Session) IsApprovedForAll(account common.Address, operator common.Address) (bool, error) {
  7262. return _IERC1155.Contract.IsApprovedForAll(&_IERC1155.CallOpts, account, operator)
  7263. }
  7264. // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5.
  7265. //
  7266. // Solidity: function isApprovedForAll(address account, address operator) view returns(bool)
  7267. func (_IERC1155 *IERC1155CallerSession) IsApprovedForAll(account common.Address, operator common.Address) (bool, error) {
  7268. return _IERC1155.Contract.IsApprovedForAll(&_IERC1155.CallOpts, account, operator)
  7269. }
  7270. // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
  7271. //
  7272. // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
  7273. func (_IERC1155 *IERC1155Caller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) {
  7274. var out []interface{}
  7275. err := _IERC1155.contract.Call(opts, &out, "supportsInterface", interfaceId)
  7276. if err != nil {
  7277. return *new(bool), err
  7278. }
  7279. out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
  7280. return out0, err
  7281. }
  7282. // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
  7283. //
  7284. // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
  7285. func (_IERC1155 *IERC1155Session) SupportsInterface(interfaceId [4]byte) (bool, error) {
  7286. return _IERC1155.Contract.SupportsInterface(&_IERC1155.CallOpts, interfaceId)
  7287. }
  7288. // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
  7289. //
  7290. // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
  7291. func (_IERC1155 *IERC1155CallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) {
  7292. return _IERC1155.Contract.SupportsInterface(&_IERC1155.CallOpts, interfaceId)
  7293. }
  7294. // SafeBatchTransferFrom is a paid mutator transaction binding the contract method 0x2eb2c2d6.
  7295. //
  7296. // Solidity: function safeBatchTransferFrom(address from, address to, uint256[] ids, uint256[] amounts, bytes data) returns()
  7297. func (_IERC1155 *IERC1155Transactor) SafeBatchTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, ids []*big.Int, amounts []*big.Int, data []byte) (*types.Transaction, error) {
  7298. return _IERC1155.contract.Transact(opts, "safeBatchTransferFrom", from, to, ids, amounts, data)
  7299. }
  7300. // SafeBatchTransferFrom is a paid mutator transaction binding the contract method 0x2eb2c2d6.
  7301. //
  7302. // Solidity: function safeBatchTransferFrom(address from, address to, uint256[] ids, uint256[] amounts, bytes data) returns()
  7303. func (_IERC1155 *IERC1155Session) SafeBatchTransferFrom(from common.Address, to common.Address, ids []*big.Int, amounts []*big.Int, data []byte) (*types.Transaction, error) {
  7304. return _IERC1155.Contract.SafeBatchTransferFrom(&_IERC1155.TransactOpts, from, to, ids, amounts, data)
  7305. }
  7306. // SafeBatchTransferFrom is a paid mutator transaction binding the contract method 0x2eb2c2d6.
  7307. //
  7308. // Solidity: function safeBatchTransferFrom(address from, address to, uint256[] ids, uint256[] amounts, bytes data) returns()
  7309. func (_IERC1155 *IERC1155TransactorSession) SafeBatchTransferFrom(from common.Address, to common.Address, ids []*big.Int, amounts []*big.Int, data []byte) (*types.Transaction, error) {
  7310. return _IERC1155.Contract.SafeBatchTransferFrom(&_IERC1155.TransactOpts, from, to, ids, amounts, data)
  7311. }
  7312. // SafeTransferFrom is a paid mutator transaction binding the contract method 0xf242432a.
  7313. //
  7314. // Solidity: function safeTransferFrom(address from, address to, uint256 id, uint256 amount, bytes data) returns()
  7315. func (_IERC1155 *IERC1155Transactor) SafeTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, id *big.Int, amount *big.Int, data []byte) (*types.Transaction, error) {
  7316. return _IERC1155.contract.Transact(opts, "safeTransferFrom", from, to, id, amount, data)
  7317. }
  7318. // SafeTransferFrom is a paid mutator transaction binding the contract method 0xf242432a.
  7319. //
  7320. // Solidity: function safeTransferFrom(address from, address to, uint256 id, uint256 amount, bytes data) returns()
  7321. func (_IERC1155 *IERC1155Session) SafeTransferFrom(from common.Address, to common.Address, id *big.Int, amount *big.Int, data []byte) (*types.Transaction, error) {
  7322. return _IERC1155.Contract.SafeTransferFrom(&_IERC1155.TransactOpts, from, to, id, amount, data)
  7323. }
  7324. // SafeTransferFrom is a paid mutator transaction binding the contract method 0xf242432a.
  7325. //
  7326. // Solidity: function safeTransferFrom(address from, address to, uint256 id, uint256 amount, bytes data) returns()
  7327. func (_IERC1155 *IERC1155TransactorSession) SafeTransferFrom(from common.Address, to common.Address, id *big.Int, amount *big.Int, data []byte) (*types.Transaction, error) {
  7328. return _IERC1155.Contract.SafeTransferFrom(&_IERC1155.TransactOpts, from, to, id, amount, data)
  7329. }
  7330. // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465.
  7331. //
  7332. // Solidity: function setApprovalForAll(address operator, bool approved) returns()
  7333. func (_IERC1155 *IERC1155Transactor) SetApprovalForAll(opts *bind.TransactOpts, operator common.Address, approved bool) (*types.Transaction, error) {
  7334. return _IERC1155.contract.Transact(opts, "setApprovalForAll", operator, approved)
  7335. }
  7336. // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465.
  7337. //
  7338. // Solidity: function setApprovalForAll(address operator, bool approved) returns()
  7339. func (_IERC1155 *IERC1155Session) SetApprovalForAll(operator common.Address, approved bool) (*types.Transaction, error) {
  7340. return _IERC1155.Contract.SetApprovalForAll(&_IERC1155.TransactOpts, operator, approved)
  7341. }
  7342. // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465.
  7343. //
  7344. // Solidity: function setApprovalForAll(address operator, bool approved) returns()
  7345. func (_IERC1155 *IERC1155TransactorSession) SetApprovalForAll(operator common.Address, approved bool) (*types.Transaction, error) {
  7346. return _IERC1155.Contract.SetApprovalForAll(&_IERC1155.TransactOpts, operator, approved)
  7347. }
  7348. // IERC1155ApprovalForAllIterator is returned from FilterApprovalForAll and is used to iterate over the raw logs and unpacked data for ApprovalForAll events raised by the IERC1155 contract.
  7349. type IERC1155ApprovalForAllIterator struct {
  7350. Event *IERC1155ApprovalForAll // Event containing the contract specifics and raw log
  7351. contract *bind.BoundContract // Generic contract to use for unpacking event data
  7352. event string // Event name to use for unpacking event data
  7353. logs chan types.Log // Log channel receiving the found contract events
  7354. sub ethereum.Subscription // Subscription for errors, completion and termination
  7355. done bool // Whether the subscription completed delivering logs
  7356. fail error // Occurred error to stop iteration
  7357. }
  7358. // Next advances the iterator to the subsequent event, returning whether there
  7359. // are any more events found. In case of a retrieval or parsing error, false is
  7360. // returned and Error() can be queried for the exact failure.
  7361. func (it *IERC1155ApprovalForAllIterator) Next() bool {
  7362. // If the iterator failed, stop iterating
  7363. if it.fail != nil {
  7364. return false
  7365. }
  7366. // If the iterator completed, deliver directly whatever's available
  7367. if it.done {
  7368. select {
  7369. case log := <-it.logs:
  7370. it.Event = new(IERC1155ApprovalForAll)
  7371. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  7372. it.fail = err
  7373. return false
  7374. }
  7375. it.Event.Raw = log
  7376. return true
  7377. default:
  7378. return false
  7379. }
  7380. }
  7381. // Iterator still in progress, wait for either a data or an error event
  7382. select {
  7383. case log := <-it.logs:
  7384. it.Event = new(IERC1155ApprovalForAll)
  7385. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  7386. it.fail = err
  7387. return false
  7388. }
  7389. it.Event.Raw = log
  7390. return true
  7391. case err := <-it.sub.Err():
  7392. it.done = true
  7393. it.fail = err
  7394. return it.Next()
  7395. }
  7396. }
  7397. // Error returns any retrieval or parsing error occurred during filtering.
  7398. func (it *IERC1155ApprovalForAllIterator) Error() error {
  7399. return it.fail
  7400. }
  7401. // Close terminates the iteration process, releasing any pending underlying
  7402. // resources.
  7403. func (it *IERC1155ApprovalForAllIterator) Close() error {
  7404. it.sub.Unsubscribe()
  7405. return nil
  7406. }
  7407. // IERC1155ApprovalForAll represents a ApprovalForAll event raised by the IERC1155 contract.
  7408. type IERC1155ApprovalForAll struct {
  7409. Account common.Address
  7410. Operator common.Address
  7411. Approved bool
  7412. Raw types.Log // Blockchain specific contextual infos
  7413. }
  7414. // FilterApprovalForAll is a free log retrieval operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31.
  7415. //
  7416. // Solidity: event ApprovalForAll(address indexed account, address indexed operator, bool approved)
  7417. func (_IERC1155 *IERC1155Filterer) FilterApprovalForAll(opts *bind.FilterOpts, account []common.Address, operator []common.Address) (*IERC1155ApprovalForAllIterator, error) {
  7418. var accountRule []interface{}
  7419. for _, accountItem := range account {
  7420. accountRule = append(accountRule, accountItem)
  7421. }
  7422. var operatorRule []interface{}
  7423. for _, operatorItem := range operator {
  7424. operatorRule = append(operatorRule, operatorItem)
  7425. }
  7426. logs, sub, err := _IERC1155.contract.FilterLogs(opts, "ApprovalForAll", accountRule, operatorRule)
  7427. if err != nil {
  7428. return nil, err
  7429. }
  7430. return &IERC1155ApprovalForAllIterator{contract: _IERC1155.contract, event: "ApprovalForAll", logs: logs, sub: sub}, nil
  7431. }
  7432. // WatchApprovalForAll is a free log subscription operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31.
  7433. //
  7434. // Solidity: event ApprovalForAll(address indexed account, address indexed operator, bool approved)
  7435. func (_IERC1155 *IERC1155Filterer) WatchApprovalForAll(opts *bind.WatchOpts, sink chan<- *IERC1155ApprovalForAll, account []common.Address, operator []common.Address) (event.Subscription, error) {
  7436. var accountRule []interface{}
  7437. for _, accountItem := range account {
  7438. accountRule = append(accountRule, accountItem)
  7439. }
  7440. var operatorRule []interface{}
  7441. for _, operatorItem := range operator {
  7442. operatorRule = append(operatorRule, operatorItem)
  7443. }
  7444. logs, sub, err := _IERC1155.contract.WatchLogs(opts, "ApprovalForAll", accountRule, operatorRule)
  7445. if err != nil {
  7446. return nil, err
  7447. }
  7448. return event.NewSubscription(func(quit <-chan struct{}) error {
  7449. defer sub.Unsubscribe()
  7450. for {
  7451. select {
  7452. case log := <-logs:
  7453. // New log arrived, parse the event and forward to the user
  7454. event := new(IERC1155ApprovalForAll)
  7455. if err := _IERC1155.contract.UnpackLog(event, "ApprovalForAll", log); err != nil {
  7456. return err
  7457. }
  7458. event.Raw = log
  7459. select {
  7460. case sink <- event:
  7461. case err := <-sub.Err():
  7462. return err
  7463. case <-quit:
  7464. return nil
  7465. }
  7466. case err := <-sub.Err():
  7467. return err
  7468. case <-quit:
  7469. return nil
  7470. }
  7471. }
  7472. }), nil
  7473. }
  7474. // ParseApprovalForAll is a log parse operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31.
  7475. //
  7476. // Solidity: event ApprovalForAll(address indexed account, address indexed operator, bool approved)
  7477. func (_IERC1155 *IERC1155Filterer) ParseApprovalForAll(log types.Log) (*IERC1155ApprovalForAll, error) {
  7478. event := new(IERC1155ApprovalForAll)
  7479. if err := _IERC1155.contract.UnpackLog(event, "ApprovalForAll", log); err != nil {
  7480. return nil, err
  7481. }
  7482. event.Raw = log
  7483. return event, nil
  7484. }
  7485. // IERC1155TransferBatchIterator is returned from FilterTransferBatch and is used to iterate over the raw logs and unpacked data for TransferBatch events raised by the IERC1155 contract.
  7486. type IERC1155TransferBatchIterator struct {
  7487. Event *IERC1155TransferBatch // Event containing the contract specifics and raw log
  7488. contract *bind.BoundContract // Generic contract to use for unpacking event data
  7489. event string // Event name to use for unpacking event data
  7490. logs chan types.Log // Log channel receiving the found contract events
  7491. sub ethereum.Subscription // Subscription for errors, completion and termination
  7492. done bool // Whether the subscription completed delivering logs
  7493. fail error // Occurred error to stop iteration
  7494. }
  7495. // Next advances the iterator to the subsequent event, returning whether there
  7496. // are any more events found. In case of a retrieval or parsing error, false is
  7497. // returned and Error() can be queried for the exact failure.
  7498. func (it *IERC1155TransferBatchIterator) Next() bool {
  7499. // If the iterator failed, stop iterating
  7500. if it.fail != nil {
  7501. return false
  7502. }
  7503. // If the iterator completed, deliver directly whatever's available
  7504. if it.done {
  7505. select {
  7506. case log := <-it.logs:
  7507. it.Event = new(IERC1155TransferBatch)
  7508. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  7509. it.fail = err
  7510. return false
  7511. }
  7512. it.Event.Raw = log
  7513. return true
  7514. default:
  7515. return false
  7516. }
  7517. }
  7518. // Iterator still in progress, wait for either a data or an error event
  7519. select {
  7520. case log := <-it.logs:
  7521. it.Event = new(IERC1155TransferBatch)
  7522. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  7523. it.fail = err
  7524. return false
  7525. }
  7526. it.Event.Raw = log
  7527. return true
  7528. case err := <-it.sub.Err():
  7529. it.done = true
  7530. it.fail = err
  7531. return it.Next()
  7532. }
  7533. }
  7534. // Error returns any retrieval or parsing error occurred during filtering.
  7535. func (it *IERC1155TransferBatchIterator) Error() error {
  7536. return it.fail
  7537. }
  7538. // Close terminates the iteration process, releasing any pending underlying
  7539. // resources.
  7540. func (it *IERC1155TransferBatchIterator) Close() error {
  7541. it.sub.Unsubscribe()
  7542. return nil
  7543. }
  7544. // IERC1155TransferBatch represents a TransferBatch event raised by the IERC1155 contract.
  7545. type IERC1155TransferBatch struct {
  7546. Operator common.Address
  7547. From common.Address
  7548. To common.Address
  7549. Ids []*big.Int
  7550. Values []*big.Int
  7551. Raw types.Log // Blockchain specific contextual infos
  7552. }
  7553. // FilterTransferBatch is a free log retrieval operation binding the contract event 0x4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb.
  7554. //
  7555. // Solidity: event TransferBatch(address indexed operator, address indexed from, address indexed to, uint256[] ids, uint256[] values)
  7556. func (_IERC1155 *IERC1155Filterer) FilterTransferBatch(opts *bind.FilterOpts, operator []common.Address, from []common.Address, to []common.Address) (*IERC1155TransferBatchIterator, error) {
  7557. var operatorRule []interface{}
  7558. for _, operatorItem := range operator {
  7559. operatorRule = append(operatorRule, operatorItem)
  7560. }
  7561. var fromRule []interface{}
  7562. for _, fromItem := range from {
  7563. fromRule = append(fromRule, fromItem)
  7564. }
  7565. var toRule []interface{}
  7566. for _, toItem := range to {
  7567. toRule = append(toRule, toItem)
  7568. }
  7569. logs, sub, err := _IERC1155.contract.FilterLogs(opts, "TransferBatch", operatorRule, fromRule, toRule)
  7570. if err != nil {
  7571. return nil, err
  7572. }
  7573. return &IERC1155TransferBatchIterator{contract: _IERC1155.contract, event: "TransferBatch", logs: logs, sub: sub}, nil
  7574. }
  7575. // WatchTransferBatch is a free log subscription operation binding the contract event 0x4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb.
  7576. //
  7577. // Solidity: event TransferBatch(address indexed operator, address indexed from, address indexed to, uint256[] ids, uint256[] values)
  7578. func (_IERC1155 *IERC1155Filterer) WatchTransferBatch(opts *bind.WatchOpts, sink chan<- *IERC1155TransferBatch, operator []common.Address, from []common.Address, to []common.Address) (event.Subscription, error) {
  7579. var operatorRule []interface{}
  7580. for _, operatorItem := range operator {
  7581. operatorRule = append(operatorRule, operatorItem)
  7582. }
  7583. var fromRule []interface{}
  7584. for _, fromItem := range from {
  7585. fromRule = append(fromRule, fromItem)
  7586. }
  7587. var toRule []interface{}
  7588. for _, toItem := range to {
  7589. toRule = append(toRule, toItem)
  7590. }
  7591. logs, sub, err := _IERC1155.contract.WatchLogs(opts, "TransferBatch", operatorRule, fromRule, toRule)
  7592. if err != nil {
  7593. return nil, err
  7594. }
  7595. return event.NewSubscription(func(quit <-chan struct{}) error {
  7596. defer sub.Unsubscribe()
  7597. for {
  7598. select {
  7599. case log := <-logs:
  7600. // New log arrived, parse the event and forward to the user
  7601. event := new(IERC1155TransferBatch)
  7602. if err := _IERC1155.contract.UnpackLog(event, "TransferBatch", log); err != nil {
  7603. return err
  7604. }
  7605. event.Raw = log
  7606. select {
  7607. case sink <- event:
  7608. case err := <-sub.Err():
  7609. return err
  7610. case <-quit:
  7611. return nil
  7612. }
  7613. case err := <-sub.Err():
  7614. return err
  7615. case <-quit:
  7616. return nil
  7617. }
  7618. }
  7619. }), nil
  7620. }
  7621. // ParseTransferBatch is a log parse operation binding the contract event 0x4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb.
  7622. //
  7623. // Solidity: event TransferBatch(address indexed operator, address indexed from, address indexed to, uint256[] ids, uint256[] values)
  7624. func (_IERC1155 *IERC1155Filterer) ParseTransferBatch(log types.Log) (*IERC1155TransferBatch, error) {
  7625. event := new(IERC1155TransferBatch)
  7626. if err := _IERC1155.contract.UnpackLog(event, "TransferBatch", log); err != nil {
  7627. return nil, err
  7628. }
  7629. event.Raw = log
  7630. return event, nil
  7631. }
  7632. // IERC1155TransferSingleIterator is returned from FilterTransferSingle and is used to iterate over the raw logs and unpacked data for TransferSingle events raised by the IERC1155 contract.
  7633. type IERC1155TransferSingleIterator struct {
  7634. Event *IERC1155TransferSingle // Event containing the contract specifics and raw log
  7635. contract *bind.BoundContract // Generic contract to use for unpacking event data
  7636. event string // Event name to use for unpacking event data
  7637. logs chan types.Log // Log channel receiving the found contract events
  7638. sub ethereum.Subscription // Subscription for errors, completion and termination
  7639. done bool // Whether the subscription completed delivering logs
  7640. fail error // Occurred error to stop iteration
  7641. }
  7642. // Next advances the iterator to the subsequent event, returning whether there
  7643. // are any more events found. In case of a retrieval or parsing error, false is
  7644. // returned and Error() can be queried for the exact failure.
  7645. func (it *IERC1155TransferSingleIterator) Next() bool {
  7646. // If the iterator failed, stop iterating
  7647. if it.fail != nil {
  7648. return false
  7649. }
  7650. // If the iterator completed, deliver directly whatever's available
  7651. if it.done {
  7652. select {
  7653. case log := <-it.logs:
  7654. it.Event = new(IERC1155TransferSingle)
  7655. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  7656. it.fail = err
  7657. return false
  7658. }
  7659. it.Event.Raw = log
  7660. return true
  7661. default:
  7662. return false
  7663. }
  7664. }
  7665. // Iterator still in progress, wait for either a data or an error event
  7666. select {
  7667. case log := <-it.logs:
  7668. it.Event = new(IERC1155TransferSingle)
  7669. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  7670. it.fail = err
  7671. return false
  7672. }
  7673. it.Event.Raw = log
  7674. return true
  7675. case err := <-it.sub.Err():
  7676. it.done = true
  7677. it.fail = err
  7678. return it.Next()
  7679. }
  7680. }
  7681. // Error returns any retrieval or parsing error occurred during filtering.
  7682. func (it *IERC1155TransferSingleIterator) Error() error {
  7683. return it.fail
  7684. }
  7685. // Close terminates the iteration process, releasing any pending underlying
  7686. // resources.
  7687. func (it *IERC1155TransferSingleIterator) Close() error {
  7688. it.sub.Unsubscribe()
  7689. return nil
  7690. }
  7691. // IERC1155TransferSingle represents a TransferSingle event raised by the IERC1155 contract.
  7692. type IERC1155TransferSingle struct {
  7693. Operator common.Address
  7694. From common.Address
  7695. To common.Address
  7696. Id *big.Int
  7697. Value *big.Int
  7698. Raw types.Log // Blockchain specific contextual infos
  7699. }
  7700. // FilterTransferSingle is a free log retrieval operation binding the contract event 0xc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62.
  7701. //
  7702. // Solidity: event TransferSingle(address indexed operator, address indexed from, address indexed to, uint256 id, uint256 value)
  7703. func (_IERC1155 *IERC1155Filterer) FilterTransferSingle(opts *bind.FilterOpts, operator []common.Address, from []common.Address, to []common.Address) (*IERC1155TransferSingleIterator, error) {
  7704. var operatorRule []interface{}
  7705. for _, operatorItem := range operator {
  7706. operatorRule = append(operatorRule, operatorItem)
  7707. }
  7708. var fromRule []interface{}
  7709. for _, fromItem := range from {
  7710. fromRule = append(fromRule, fromItem)
  7711. }
  7712. var toRule []interface{}
  7713. for _, toItem := range to {
  7714. toRule = append(toRule, toItem)
  7715. }
  7716. logs, sub, err := _IERC1155.contract.FilterLogs(opts, "TransferSingle", operatorRule, fromRule, toRule)
  7717. if err != nil {
  7718. return nil, err
  7719. }
  7720. return &IERC1155TransferSingleIterator{contract: _IERC1155.contract, event: "TransferSingle", logs: logs, sub: sub}, nil
  7721. }
  7722. // WatchTransferSingle is a free log subscription operation binding the contract event 0xc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62.
  7723. //
  7724. // Solidity: event TransferSingle(address indexed operator, address indexed from, address indexed to, uint256 id, uint256 value)
  7725. func (_IERC1155 *IERC1155Filterer) WatchTransferSingle(opts *bind.WatchOpts, sink chan<- *IERC1155TransferSingle, operator []common.Address, from []common.Address, to []common.Address) (event.Subscription, error) {
  7726. var operatorRule []interface{}
  7727. for _, operatorItem := range operator {
  7728. operatorRule = append(operatorRule, operatorItem)
  7729. }
  7730. var fromRule []interface{}
  7731. for _, fromItem := range from {
  7732. fromRule = append(fromRule, fromItem)
  7733. }
  7734. var toRule []interface{}
  7735. for _, toItem := range to {
  7736. toRule = append(toRule, toItem)
  7737. }
  7738. logs, sub, err := _IERC1155.contract.WatchLogs(opts, "TransferSingle", operatorRule, fromRule, toRule)
  7739. if err != nil {
  7740. return nil, err
  7741. }
  7742. return event.NewSubscription(func(quit <-chan struct{}) error {
  7743. defer sub.Unsubscribe()
  7744. for {
  7745. select {
  7746. case log := <-logs:
  7747. // New log arrived, parse the event and forward to the user
  7748. event := new(IERC1155TransferSingle)
  7749. if err := _IERC1155.contract.UnpackLog(event, "TransferSingle", log); err != nil {
  7750. return err
  7751. }
  7752. event.Raw = log
  7753. select {
  7754. case sink <- event:
  7755. case err := <-sub.Err():
  7756. return err
  7757. case <-quit:
  7758. return nil
  7759. }
  7760. case err := <-sub.Err():
  7761. return err
  7762. case <-quit:
  7763. return nil
  7764. }
  7765. }
  7766. }), nil
  7767. }
  7768. // ParseTransferSingle is a log parse operation binding the contract event 0xc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62.
  7769. //
  7770. // Solidity: event TransferSingle(address indexed operator, address indexed from, address indexed to, uint256 id, uint256 value)
  7771. func (_IERC1155 *IERC1155Filterer) ParseTransferSingle(log types.Log) (*IERC1155TransferSingle, error) {
  7772. event := new(IERC1155TransferSingle)
  7773. if err := _IERC1155.contract.UnpackLog(event, "TransferSingle", log); err != nil {
  7774. return nil, err
  7775. }
  7776. event.Raw = log
  7777. return event, nil
  7778. }
  7779. // IERC1155URIIterator is returned from FilterURI and is used to iterate over the raw logs and unpacked data for URI events raised by the IERC1155 contract.
  7780. type IERC1155URIIterator struct {
  7781. Event *IERC1155URI // Event containing the contract specifics and raw log
  7782. contract *bind.BoundContract // Generic contract to use for unpacking event data
  7783. event string // Event name to use for unpacking event data
  7784. logs chan types.Log // Log channel receiving the found contract events
  7785. sub ethereum.Subscription // Subscription for errors, completion and termination
  7786. done bool // Whether the subscription completed delivering logs
  7787. fail error // Occurred error to stop iteration
  7788. }
  7789. // Next advances the iterator to the subsequent event, returning whether there
  7790. // are any more events found. In case of a retrieval or parsing error, false is
  7791. // returned and Error() can be queried for the exact failure.
  7792. func (it *IERC1155URIIterator) Next() bool {
  7793. // If the iterator failed, stop iterating
  7794. if it.fail != nil {
  7795. return false
  7796. }
  7797. // If the iterator completed, deliver directly whatever's available
  7798. if it.done {
  7799. select {
  7800. case log := <-it.logs:
  7801. it.Event = new(IERC1155URI)
  7802. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  7803. it.fail = err
  7804. return false
  7805. }
  7806. it.Event.Raw = log
  7807. return true
  7808. default:
  7809. return false
  7810. }
  7811. }
  7812. // Iterator still in progress, wait for either a data or an error event
  7813. select {
  7814. case log := <-it.logs:
  7815. it.Event = new(IERC1155URI)
  7816. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  7817. it.fail = err
  7818. return false
  7819. }
  7820. it.Event.Raw = log
  7821. return true
  7822. case err := <-it.sub.Err():
  7823. it.done = true
  7824. it.fail = err
  7825. return it.Next()
  7826. }
  7827. }
  7828. // Error returns any retrieval or parsing error occurred during filtering.
  7829. func (it *IERC1155URIIterator) Error() error {
  7830. return it.fail
  7831. }
  7832. // Close terminates the iteration process, releasing any pending underlying
  7833. // resources.
  7834. func (it *IERC1155URIIterator) Close() error {
  7835. it.sub.Unsubscribe()
  7836. return nil
  7837. }
  7838. // IERC1155URI represents a URI event raised by the IERC1155 contract.
  7839. type IERC1155URI struct {
  7840. Value string
  7841. Id *big.Int
  7842. Raw types.Log // Blockchain specific contextual infos
  7843. }
  7844. // FilterURI is a free log retrieval operation binding the contract event 0x6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b.
  7845. //
  7846. // Solidity: event URI(string value, uint256 indexed id)
  7847. func (_IERC1155 *IERC1155Filterer) FilterURI(opts *bind.FilterOpts, id []*big.Int) (*IERC1155URIIterator, error) {
  7848. var idRule []interface{}
  7849. for _, idItem := range id {
  7850. idRule = append(idRule, idItem)
  7851. }
  7852. logs, sub, err := _IERC1155.contract.FilterLogs(opts, "URI", idRule)
  7853. if err != nil {
  7854. return nil, err
  7855. }
  7856. return &IERC1155URIIterator{contract: _IERC1155.contract, event: "URI", logs: logs, sub: sub}, nil
  7857. }
  7858. // WatchURI is a free log subscription operation binding the contract event 0x6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b.
  7859. //
  7860. // Solidity: event URI(string value, uint256 indexed id)
  7861. func (_IERC1155 *IERC1155Filterer) WatchURI(opts *bind.WatchOpts, sink chan<- *IERC1155URI, id []*big.Int) (event.Subscription, error) {
  7862. var idRule []interface{}
  7863. for _, idItem := range id {
  7864. idRule = append(idRule, idItem)
  7865. }
  7866. logs, sub, err := _IERC1155.contract.WatchLogs(opts, "URI", idRule)
  7867. if err != nil {
  7868. return nil, err
  7869. }
  7870. return event.NewSubscription(func(quit <-chan struct{}) error {
  7871. defer sub.Unsubscribe()
  7872. for {
  7873. select {
  7874. case log := <-logs:
  7875. // New log arrived, parse the event and forward to the user
  7876. event := new(IERC1155URI)
  7877. if err := _IERC1155.contract.UnpackLog(event, "URI", log); err != nil {
  7878. return err
  7879. }
  7880. event.Raw = log
  7881. select {
  7882. case sink <- event:
  7883. case err := <-sub.Err():
  7884. return err
  7885. case <-quit:
  7886. return nil
  7887. }
  7888. case err := <-sub.Err():
  7889. return err
  7890. case <-quit:
  7891. return nil
  7892. }
  7893. }
  7894. }), nil
  7895. }
  7896. // ParseURI is a log parse operation binding the contract event 0x6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b.
  7897. //
  7898. // Solidity: event URI(string value, uint256 indexed id)
  7899. func (_IERC1155 *IERC1155Filterer) ParseURI(log types.Log) (*IERC1155URI, error) {
  7900. event := new(IERC1155URI)
  7901. if err := _IERC1155.contract.UnpackLog(event, "URI", log); err != nil {
  7902. return nil, err
  7903. }
  7904. event.Raw = log
  7905. return event, nil
  7906. }
  7907. // IERC1155MetadataURIMetaData contains all meta data concerning the IERC1155MetadataURI contract.
  7908. var IERC1155MetadataURIMetaData = &bind.MetaData{
  7909. ABI: "[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"}],\"name\":\"TransferBatch\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"TransferSingle\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"URI\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"accounts\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"}],\"name\":\"balanceOfBatch\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeBatchTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"uri\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]",
  7910. Sigs: map[string]string{
  7911. "00fdd58e": "balanceOf(address,uint256)",
  7912. "4e1273f4": "balanceOfBatch(address[],uint256[])",
  7913. "e985e9c5": "isApprovedForAll(address,address)",
  7914. "2eb2c2d6": "safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)",
  7915. "f242432a": "safeTransferFrom(address,address,uint256,uint256,bytes)",
  7916. "a22cb465": "setApprovalForAll(address,bool)",
  7917. "01ffc9a7": "supportsInterface(bytes4)",
  7918. "0e89341c": "uri(uint256)",
  7919. },
  7920. }
  7921. // IERC1155MetadataURIABI is the input ABI used to generate the binding from.
  7922. // Deprecated: Use IERC1155MetadataURIMetaData.ABI instead.
  7923. var IERC1155MetadataURIABI = IERC1155MetadataURIMetaData.ABI
  7924. // Deprecated: Use IERC1155MetadataURIMetaData.Sigs instead.
  7925. // IERC1155MetadataURIFuncSigs maps the 4-byte function signature to its string representation.
  7926. var IERC1155MetadataURIFuncSigs = IERC1155MetadataURIMetaData.Sigs
  7927. // IERC1155MetadataURI is an auto generated Go binding around an Ethereum contract.
  7928. type IERC1155MetadataURI struct {
  7929. IERC1155MetadataURICaller // Read-only binding to the contract
  7930. IERC1155MetadataURITransactor // Write-only binding to the contract
  7931. IERC1155MetadataURIFilterer // Log filterer for contract events
  7932. }
  7933. // IERC1155MetadataURICaller is an auto generated read-only Go binding around an Ethereum contract.
  7934. type IERC1155MetadataURICaller struct {
  7935. contract *bind.BoundContract // Generic contract wrapper for the low level calls
  7936. }
  7937. // IERC1155MetadataURITransactor is an auto generated write-only Go binding around an Ethereum contract.
  7938. type IERC1155MetadataURITransactor struct {
  7939. contract *bind.BoundContract // Generic contract wrapper for the low level calls
  7940. }
  7941. // IERC1155MetadataURIFilterer is an auto generated log filtering Go binding around an Ethereum contract events.
  7942. type IERC1155MetadataURIFilterer struct {
  7943. contract *bind.BoundContract // Generic contract wrapper for the low level calls
  7944. }
  7945. // IERC1155MetadataURISession is an auto generated Go binding around an Ethereum contract,
  7946. // with pre-set call and transact options.
  7947. type IERC1155MetadataURISession struct {
  7948. Contract *IERC1155MetadataURI // Generic contract binding to set the session for
  7949. CallOpts bind.CallOpts // Call options to use throughout this session
  7950. TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
  7951. }
  7952. // IERC1155MetadataURICallerSession is an auto generated read-only Go binding around an Ethereum contract,
  7953. // with pre-set call options.
  7954. type IERC1155MetadataURICallerSession struct {
  7955. Contract *IERC1155MetadataURICaller // Generic contract caller binding to set the session for
  7956. CallOpts bind.CallOpts // Call options to use throughout this session
  7957. }
  7958. // IERC1155MetadataURITransactorSession is an auto generated write-only Go binding around an Ethereum contract,
  7959. // with pre-set transact options.
  7960. type IERC1155MetadataURITransactorSession struct {
  7961. Contract *IERC1155MetadataURITransactor // Generic contract transactor binding to set the session for
  7962. TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
  7963. }
  7964. // IERC1155MetadataURIRaw is an auto generated low-level Go binding around an Ethereum contract.
  7965. type IERC1155MetadataURIRaw struct {
  7966. Contract *IERC1155MetadataURI // Generic contract binding to access the raw methods on
  7967. }
  7968. // IERC1155MetadataURICallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
  7969. type IERC1155MetadataURICallerRaw struct {
  7970. Contract *IERC1155MetadataURICaller // Generic read-only contract binding to access the raw methods on
  7971. }
  7972. // IERC1155MetadataURITransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
  7973. type IERC1155MetadataURITransactorRaw struct {
  7974. Contract *IERC1155MetadataURITransactor // Generic write-only contract binding to access the raw methods on
  7975. }
  7976. // NewIERC1155MetadataURI creates a new instance of IERC1155MetadataURI, bound to a specific deployed contract.
  7977. func NewIERC1155MetadataURI(address common.Address, backend bind.ContractBackend) (*IERC1155MetadataURI, error) {
  7978. contract, err := bindIERC1155MetadataURI(address, backend, backend, backend)
  7979. if err != nil {
  7980. return nil, err
  7981. }
  7982. return &IERC1155MetadataURI{IERC1155MetadataURICaller: IERC1155MetadataURICaller{contract: contract}, IERC1155MetadataURITransactor: IERC1155MetadataURITransactor{contract: contract}, IERC1155MetadataURIFilterer: IERC1155MetadataURIFilterer{contract: contract}}, nil
  7983. }
  7984. // NewIERC1155MetadataURICaller creates a new read-only instance of IERC1155MetadataURI, bound to a specific deployed contract.
  7985. func NewIERC1155MetadataURICaller(address common.Address, caller bind.ContractCaller) (*IERC1155MetadataURICaller, error) {
  7986. contract, err := bindIERC1155MetadataURI(address, caller, nil, nil)
  7987. if err != nil {
  7988. return nil, err
  7989. }
  7990. return &IERC1155MetadataURICaller{contract: contract}, nil
  7991. }
  7992. // NewIERC1155MetadataURITransactor creates a new write-only instance of IERC1155MetadataURI, bound to a specific deployed contract.
  7993. func NewIERC1155MetadataURITransactor(address common.Address, transactor bind.ContractTransactor) (*IERC1155MetadataURITransactor, error) {
  7994. contract, err := bindIERC1155MetadataURI(address, nil, transactor, nil)
  7995. if err != nil {
  7996. return nil, err
  7997. }
  7998. return &IERC1155MetadataURITransactor{contract: contract}, nil
  7999. }
  8000. // NewIERC1155MetadataURIFilterer creates a new log filterer instance of IERC1155MetadataURI, bound to a specific deployed contract.
  8001. func NewIERC1155MetadataURIFilterer(address common.Address, filterer bind.ContractFilterer) (*IERC1155MetadataURIFilterer, error) {
  8002. contract, err := bindIERC1155MetadataURI(address, nil, nil, filterer)
  8003. if err != nil {
  8004. return nil, err
  8005. }
  8006. return &IERC1155MetadataURIFilterer{contract: contract}, nil
  8007. }
  8008. // bindIERC1155MetadataURI binds a generic wrapper to an already deployed contract.
  8009. func bindIERC1155MetadataURI(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
  8010. parsed, err := abi.JSON(strings.NewReader(IERC1155MetadataURIABI))
  8011. if err != nil {
  8012. return nil, err
  8013. }
  8014. return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil
  8015. }
  8016. // Call invokes the (constant) contract method with params as input values and
  8017. // sets the output to result. The result type might be a single field for simple
  8018. // returns, a slice of interfaces for anonymous returns and a struct for named
  8019. // returns.
  8020. func (_IERC1155MetadataURI *IERC1155MetadataURIRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
  8021. return _IERC1155MetadataURI.Contract.IERC1155MetadataURICaller.contract.Call(opts, result, method, params...)
  8022. }
  8023. // Transfer initiates a plain transaction to move funds to the contract, calling
  8024. // its default method if one is available.
  8025. func (_IERC1155MetadataURI *IERC1155MetadataURIRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
  8026. return _IERC1155MetadataURI.Contract.IERC1155MetadataURITransactor.contract.Transfer(opts)
  8027. }
  8028. // Transact invokes the (paid) contract method with params as input values.
  8029. func (_IERC1155MetadataURI *IERC1155MetadataURIRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
  8030. return _IERC1155MetadataURI.Contract.IERC1155MetadataURITransactor.contract.Transact(opts, method, params...)
  8031. }
  8032. // Call invokes the (constant) contract method with params as input values and
  8033. // sets the output to result. The result type might be a single field for simple
  8034. // returns, a slice of interfaces for anonymous returns and a struct for named
  8035. // returns.
  8036. func (_IERC1155MetadataURI *IERC1155MetadataURICallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
  8037. return _IERC1155MetadataURI.Contract.contract.Call(opts, result, method, params...)
  8038. }
  8039. // Transfer initiates a plain transaction to move funds to the contract, calling
  8040. // its default method if one is available.
  8041. func (_IERC1155MetadataURI *IERC1155MetadataURITransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
  8042. return _IERC1155MetadataURI.Contract.contract.Transfer(opts)
  8043. }
  8044. // Transact invokes the (paid) contract method with params as input values.
  8045. func (_IERC1155MetadataURI *IERC1155MetadataURITransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
  8046. return _IERC1155MetadataURI.Contract.contract.Transact(opts, method, params...)
  8047. }
  8048. // BalanceOf is a free data retrieval call binding the contract method 0x00fdd58e.
  8049. //
  8050. // Solidity: function balanceOf(address account, uint256 id) view returns(uint256)
  8051. func (_IERC1155MetadataURI *IERC1155MetadataURICaller) BalanceOf(opts *bind.CallOpts, account common.Address, id *big.Int) (*big.Int, error) {
  8052. var out []interface{}
  8053. err := _IERC1155MetadataURI.contract.Call(opts, &out, "balanceOf", account, id)
  8054. if err != nil {
  8055. return *new(*big.Int), err
  8056. }
  8057. out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
  8058. return out0, err
  8059. }
  8060. // BalanceOf is a free data retrieval call binding the contract method 0x00fdd58e.
  8061. //
  8062. // Solidity: function balanceOf(address account, uint256 id) view returns(uint256)
  8063. func (_IERC1155MetadataURI *IERC1155MetadataURISession) BalanceOf(account common.Address, id *big.Int) (*big.Int, error) {
  8064. return _IERC1155MetadataURI.Contract.BalanceOf(&_IERC1155MetadataURI.CallOpts, account, id)
  8065. }
  8066. // BalanceOf is a free data retrieval call binding the contract method 0x00fdd58e.
  8067. //
  8068. // Solidity: function balanceOf(address account, uint256 id) view returns(uint256)
  8069. func (_IERC1155MetadataURI *IERC1155MetadataURICallerSession) BalanceOf(account common.Address, id *big.Int) (*big.Int, error) {
  8070. return _IERC1155MetadataURI.Contract.BalanceOf(&_IERC1155MetadataURI.CallOpts, account, id)
  8071. }
  8072. // BalanceOfBatch is a free data retrieval call binding the contract method 0x4e1273f4.
  8073. //
  8074. // Solidity: function balanceOfBatch(address[] accounts, uint256[] ids) view returns(uint256[])
  8075. func (_IERC1155MetadataURI *IERC1155MetadataURICaller) BalanceOfBatch(opts *bind.CallOpts, accounts []common.Address, ids []*big.Int) ([]*big.Int, error) {
  8076. var out []interface{}
  8077. err := _IERC1155MetadataURI.contract.Call(opts, &out, "balanceOfBatch", accounts, ids)
  8078. if err != nil {
  8079. return *new([]*big.Int), err
  8080. }
  8081. out0 := *abi.ConvertType(out[0], new([]*big.Int)).(*[]*big.Int)
  8082. return out0, err
  8083. }
  8084. // BalanceOfBatch is a free data retrieval call binding the contract method 0x4e1273f4.
  8085. //
  8086. // Solidity: function balanceOfBatch(address[] accounts, uint256[] ids) view returns(uint256[])
  8087. func (_IERC1155MetadataURI *IERC1155MetadataURISession) BalanceOfBatch(accounts []common.Address, ids []*big.Int) ([]*big.Int, error) {
  8088. return _IERC1155MetadataURI.Contract.BalanceOfBatch(&_IERC1155MetadataURI.CallOpts, accounts, ids)
  8089. }
  8090. // BalanceOfBatch is a free data retrieval call binding the contract method 0x4e1273f4.
  8091. //
  8092. // Solidity: function balanceOfBatch(address[] accounts, uint256[] ids) view returns(uint256[])
  8093. func (_IERC1155MetadataURI *IERC1155MetadataURICallerSession) BalanceOfBatch(accounts []common.Address, ids []*big.Int) ([]*big.Int, error) {
  8094. return _IERC1155MetadataURI.Contract.BalanceOfBatch(&_IERC1155MetadataURI.CallOpts, accounts, ids)
  8095. }
  8096. // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5.
  8097. //
  8098. // Solidity: function isApprovedForAll(address account, address operator) view returns(bool)
  8099. func (_IERC1155MetadataURI *IERC1155MetadataURICaller) IsApprovedForAll(opts *bind.CallOpts, account common.Address, operator common.Address) (bool, error) {
  8100. var out []interface{}
  8101. err := _IERC1155MetadataURI.contract.Call(opts, &out, "isApprovedForAll", account, operator)
  8102. if err != nil {
  8103. return *new(bool), err
  8104. }
  8105. out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
  8106. return out0, err
  8107. }
  8108. // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5.
  8109. //
  8110. // Solidity: function isApprovedForAll(address account, address operator) view returns(bool)
  8111. func (_IERC1155MetadataURI *IERC1155MetadataURISession) IsApprovedForAll(account common.Address, operator common.Address) (bool, error) {
  8112. return _IERC1155MetadataURI.Contract.IsApprovedForAll(&_IERC1155MetadataURI.CallOpts, account, operator)
  8113. }
  8114. // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5.
  8115. //
  8116. // Solidity: function isApprovedForAll(address account, address operator) view returns(bool)
  8117. func (_IERC1155MetadataURI *IERC1155MetadataURICallerSession) IsApprovedForAll(account common.Address, operator common.Address) (bool, error) {
  8118. return _IERC1155MetadataURI.Contract.IsApprovedForAll(&_IERC1155MetadataURI.CallOpts, account, operator)
  8119. }
  8120. // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
  8121. //
  8122. // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
  8123. func (_IERC1155MetadataURI *IERC1155MetadataURICaller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) {
  8124. var out []interface{}
  8125. err := _IERC1155MetadataURI.contract.Call(opts, &out, "supportsInterface", interfaceId)
  8126. if err != nil {
  8127. return *new(bool), err
  8128. }
  8129. out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
  8130. return out0, err
  8131. }
  8132. // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
  8133. //
  8134. // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
  8135. func (_IERC1155MetadataURI *IERC1155MetadataURISession) SupportsInterface(interfaceId [4]byte) (bool, error) {
  8136. return _IERC1155MetadataURI.Contract.SupportsInterface(&_IERC1155MetadataURI.CallOpts, interfaceId)
  8137. }
  8138. // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
  8139. //
  8140. // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
  8141. func (_IERC1155MetadataURI *IERC1155MetadataURICallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) {
  8142. return _IERC1155MetadataURI.Contract.SupportsInterface(&_IERC1155MetadataURI.CallOpts, interfaceId)
  8143. }
  8144. // Uri is a free data retrieval call binding the contract method 0x0e89341c.
  8145. //
  8146. // Solidity: function uri(uint256 id) view returns(string)
  8147. func (_IERC1155MetadataURI *IERC1155MetadataURICaller) Uri(opts *bind.CallOpts, id *big.Int) (string, error) {
  8148. var out []interface{}
  8149. err := _IERC1155MetadataURI.contract.Call(opts, &out, "uri", id)
  8150. if err != nil {
  8151. return *new(string), err
  8152. }
  8153. out0 := *abi.ConvertType(out[0], new(string)).(*string)
  8154. return out0, err
  8155. }
  8156. // Uri is a free data retrieval call binding the contract method 0x0e89341c.
  8157. //
  8158. // Solidity: function uri(uint256 id) view returns(string)
  8159. func (_IERC1155MetadataURI *IERC1155MetadataURISession) Uri(id *big.Int) (string, error) {
  8160. return _IERC1155MetadataURI.Contract.Uri(&_IERC1155MetadataURI.CallOpts, id)
  8161. }
  8162. // Uri is a free data retrieval call binding the contract method 0x0e89341c.
  8163. //
  8164. // Solidity: function uri(uint256 id) view returns(string)
  8165. func (_IERC1155MetadataURI *IERC1155MetadataURICallerSession) Uri(id *big.Int) (string, error) {
  8166. return _IERC1155MetadataURI.Contract.Uri(&_IERC1155MetadataURI.CallOpts, id)
  8167. }
  8168. // SafeBatchTransferFrom is a paid mutator transaction binding the contract method 0x2eb2c2d6.
  8169. //
  8170. // Solidity: function safeBatchTransferFrom(address from, address to, uint256[] ids, uint256[] amounts, bytes data) returns()
  8171. func (_IERC1155MetadataURI *IERC1155MetadataURITransactor) SafeBatchTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, ids []*big.Int, amounts []*big.Int, data []byte) (*types.Transaction, error) {
  8172. return _IERC1155MetadataURI.contract.Transact(opts, "safeBatchTransferFrom", from, to, ids, amounts, data)
  8173. }
  8174. // SafeBatchTransferFrom is a paid mutator transaction binding the contract method 0x2eb2c2d6.
  8175. //
  8176. // Solidity: function safeBatchTransferFrom(address from, address to, uint256[] ids, uint256[] amounts, bytes data) returns()
  8177. func (_IERC1155MetadataURI *IERC1155MetadataURISession) SafeBatchTransferFrom(from common.Address, to common.Address, ids []*big.Int, amounts []*big.Int, data []byte) (*types.Transaction, error) {
  8178. return _IERC1155MetadataURI.Contract.SafeBatchTransferFrom(&_IERC1155MetadataURI.TransactOpts, from, to, ids, amounts, data)
  8179. }
  8180. // SafeBatchTransferFrom is a paid mutator transaction binding the contract method 0x2eb2c2d6.
  8181. //
  8182. // Solidity: function safeBatchTransferFrom(address from, address to, uint256[] ids, uint256[] amounts, bytes data) returns()
  8183. func (_IERC1155MetadataURI *IERC1155MetadataURITransactorSession) SafeBatchTransferFrom(from common.Address, to common.Address, ids []*big.Int, amounts []*big.Int, data []byte) (*types.Transaction, error) {
  8184. return _IERC1155MetadataURI.Contract.SafeBatchTransferFrom(&_IERC1155MetadataURI.TransactOpts, from, to, ids, amounts, data)
  8185. }
  8186. // SafeTransferFrom is a paid mutator transaction binding the contract method 0xf242432a.
  8187. //
  8188. // Solidity: function safeTransferFrom(address from, address to, uint256 id, uint256 amount, bytes data) returns()
  8189. func (_IERC1155MetadataURI *IERC1155MetadataURITransactor) SafeTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, id *big.Int, amount *big.Int, data []byte) (*types.Transaction, error) {
  8190. return _IERC1155MetadataURI.contract.Transact(opts, "safeTransferFrom", from, to, id, amount, data)
  8191. }
  8192. // SafeTransferFrom is a paid mutator transaction binding the contract method 0xf242432a.
  8193. //
  8194. // Solidity: function safeTransferFrom(address from, address to, uint256 id, uint256 amount, bytes data) returns()
  8195. func (_IERC1155MetadataURI *IERC1155MetadataURISession) SafeTransferFrom(from common.Address, to common.Address, id *big.Int, amount *big.Int, data []byte) (*types.Transaction, error) {
  8196. return _IERC1155MetadataURI.Contract.SafeTransferFrom(&_IERC1155MetadataURI.TransactOpts, from, to, id, amount, data)
  8197. }
  8198. // SafeTransferFrom is a paid mutator transaction binding the contract method 0xf242432a.
  8199. //
  8200. // Solidity: function safeTransferFrom(address from, address to, uint256 id, uint256 amount, bytes data) returns()
  8201. func (_IERC1155MetadataURI *IERC1155MetadataURITransactorSession) SafeTransferFrom(from common.Address, to common.Address, id *big.Int, amount *big.Int, data []byte) (*types.Transaction, error) {
  8202. return _IERC1155MetadataURI.Contract.SafeTransferFrom(&_IERC1155MetadataURI.TransactOpts, from, to, id, amount, data)
  8203. }
  8204. // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465.
  8205. //
  8206. // Solidity: function setApprovalForAll(address operator, bool approved) returns()
  8207. func (_IERC1155MetadataURI *IERC1155MetadataURITransactor) SetApprovalForAll(opts *bind.TransactOpts, operator common.Address, approved bool) (*types.Transaction, error) {
  8208. return _IERC1155MetadataURI.contract.Transact(opts, "setApprovalForAll", operator, approved)
  8209. }
  8210. // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465.
  8211. //
  8212. // Solidity: function setApprovalForAll(address operator, bool approved) returns()
  8213. func (_IERC1155MetadataURI *IERC1155MetadataURISession) SetApprovalForAll(operator common.Address, approved bool) (*types.Transaction, error) {
  8214. return _IERC1155MetadataURI.Contract.SetApprovalForAll(&_IERC1155MetadataURI.TransactOpts, operator, approved)
  8215. }
  8216. // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465.
  8217. //
  8218. // Solidity: function setApprovalForAll(address operator, bool approved) returns()
  8219. func (_IERC1155MetadataURI *IERC1155MetadataURITransactorSession) SetApprovalForAll(operator common.Address, approved bool) (*types.Transaction, error) {
  8220. return _IERC1155MetadataURI.Contract.SetApprovalForAll(&_IERC1155MetadataURI.TransactOpts, operator, approved)
  8221. }
  8222. // IERC1155MetadataURIApprovalForAllIterator is returned from FilterApprovalForAll and is used to iterate over the raw logs and unpacked data for ApprovalForAll events raised by the IERC1155MetadataURI contract.
  8223. type IERC1155MetadataURIApprovalForAllIterator struct {
  8224. Event *IERC1155MetadataURIApprovalForAll // Event containing the contract specifics and raw log
  8225. contract *bind.BoundContract // Generic contract to use for unpacking event data
  8226. event string // Event name to use for unpacking event data
  8227. logs chan types.Log // Log channel receiving the found contract events
  8228. sub ethereum.Subscription // Subscription for errors, completion and termination
  8229. done bool // Whether the subscription completed delivering logs
  8230. fail error // Occurred error to stop iteration
  8231. }
  8232. // Next advances the iterator to the subsequent event, returning whether there
  8233. // are any more events found. In case of a retrieval or parsing error, false is
  8234. // returned and Error() can be queried for the exact failure.
  8235. func (it *IERC1155MetadataURIApprovalForAllIterator) Next() bool {
  8236. // If the iterator failed, stop iterating
  8237. if it.fail != nil {
  8238. return false
  8239. }
  8240. // If the iterator completed, deliver directly whatever's available
  8241. if it.done {
  8242. select {
  8243. case log := <-it.logs:
  8244. it.Event = new(IERC1155MetadataURIApprovalForAll)
  8245. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  8246. it.fail = err
  8247. return false
  8248. }
  8249. it.Event.Raw = log
  8250. return true
  8251. default:
  8252. return false
  8253. }
  8254. }
  8255. // Iterator still in progress, wait for either a data or an error event
  8256. select {
  8257. case log := <-it.logs:
  8258. it.Event = new(IERC1155MetadataURIApprovalForAll)
  8259. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  8260. it.fail = err
  8261. return false
  8262. }
  8263. it.Event.Raw = log
  8264. return true
  8265. case err := <-it.sub.Err():
  8266. it.done = true
  8267. it.fail = err
  8268. return it.Next()
  8269. }
  8270. }
  8271. // Error returns any retrieval or parsing error occurred during filtering.
  8272. func (it *IERC1155MetadataURIApprovalForAllIterator) Error() error {
  8273. return it.fail
  8274. }
  8275. // Close terminates the iteration process, releasing any pending underlying
  8276. // resources.
  8277. func (it *IERC1155MetadataURIApprovalForAllIterator) Close() error {
  8278. it.sub.Unsubscribe()
  8279. return nil
  8280. }
  8281. // IERC1155MetadataURIApprovalForAll represents a ApprovalForAll event raised by the IERC1155MetadataURI contract.
  8282. type IERC1155MetadataURIApprovalForAll struct {
  8283. Account common.Address
  8284. Operator common.Address
  8285. Approved bool
  8286. Raw types.Log // Blockchain specific contextual infos
  8287. }
  8288. // FilterApprovalForAll is a free log retrieval operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31.
  8289. //
  8290. // Solidity: event ApprovalForAll(address indexed account, address indexed operator, bool approved)
  8291. func (_IERC1155MetadataURI *IERC1155MetadataURIFilterer) FilterApprovalForAll(opts *bind.FilterOpts, account []common.Address, operator []common.Address) (*IERC1155MetadataURIApprovalForAllIterator, error) {
  8292. var accountRule []interface{}
  8293. for _, accountItem := range account {
  8294. accountRule = append(accountRule, accountItem)
  8295. }
  8296. var operatorRule []interface{}
  8297. for _, operatorItem := range operator {
  8298. operatorRule = append(operatorRule, operatorItem)
  8299. }
  8300. logs, sub, err := _IERC1155MetadataURI.contract.FilterLogs(opts, "ApprovalForAll", accountRule, operatorRule)
  8301. if err != nil {
  8302. return nil, err
  8303. }
  8304. return &IERC1155MetadataURIApprovalForAllIterator{contract: _IERC1155MetadataURI.contract, event: "ApprovalForAll", logs: logs, sub: sub}, nil
  8305. }
  8306. // WatchApprovalForAll is a free log subscription operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31.
  8307. //
  8308. // Solidity: event ApprovalForAll(address indexed account, address indexed operator, bool approved)
  8309. func (_IERC1155MetadataURI *IERC1155MetadataURIFilterer) WatchApprovalForAll(opts *bind.WatchOpts, sink chan<- *IERC1155MetadataURIApprovalForAll, account []common.Address, operator []common.Address) (event.Subscription, error) {
  8310. var accountRule []interface{}
  8311. for _, accountItem := range account {
  8312. accountRule = append(accountRule, accountItem)
  8313. }
  8314. var operatorRule []interface{}
  8315. for _, operatorItem := range operator {
  8316. operatorRule = append(operatorRule, operatorItem)
  8317. }
  8318. logs, sub, err := _IERC1155MetadataURI.contract.WatchLogs(opts, "ApprovalForAll", accountRule, operatorRule)
  8319. if err != nil {
  8320. return nil, err
  8321. }
  8322. return event.NewSubscription(func(quit <-chan struct{}) error {
  8323. defer sub.Unsubscribe()
  8324. for {
  8325. select {
  8326. case log := <-logs:
  8327. // New log arrived, parse the event and forward to the user
  8328. event := new(IERC1155MetadataURIApprovalForAll)
  8329. if err := _IERC1155MetadataURI.contract.UnpackLog(event, "ApprovalForAll", log); err != nil {
  8330. return err
  8331. }
  8332. event.Raw = log
  8333. select {
  8334. case sink <- event:
  8335. case err := <-sub.Err():
  8336. return err
  8337. case <-quit:
  8338. return nil
  8339. }
  8340. case err := <-sub.Err():
  8341. return err
  8342. case <-quit:
  8343. return nil
  8344. }
  8345. }
  8346. }), nil
  8347. }
  8348. // ParseApprovalForAll is a log parse operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31.
  8349. //
  8350. // Solidity: event ApprovalForAll(address indexed account, address indexed operator, bool approved)
  8351. func (_IERC1155MetadataURI *IERC1155MetadataURIFilterer) ParseApprovalForAll(log types.Log) (*IERC1155MetadataURIApprovalForAll, error) {
  8352. event := new(IERC1155MetadataURIApprovalForAll)
  8353. if err := _IERC1155MetadataURI.contract.UnpackLog(event, "ApprovalForAll", log); err != nil {
  8354. return nil, err
  8355. }
  8356. event.Raw = log
  8357. return event, nil
  8358. }
  8359. // IERC1155MetadataURITransferBatchIterator is returned from FilterTransferBatch and is used to iterate over the raw logs and unpacked data for TransferBatch events raised by the IERC1155MetadataURI contract.
  8360. type IERC1155MetadataURITransferBatchIterator struct {
  8361. Event *IERC1155MetadataURITransferBatch // Event containing the contract specifics and raw log
  8362. contract *bind.BoundContract // Generic contract to use for unpacking event data
  8363. event string // Event name to use for unpacking event data
  8364. logs chan types.Log // Log channel receiving the found contract events
  8365. sub ethereum.Subscription // Subscription for errors, completion and termination
  8366. done bool // Whether the subscription completed delivering logs
  8367. fail error // Occurred error to stop iteration
  8368. }
  8369. // Next advances the iterator to the subsequent event, returning whether there
  8370. // are any more events found. In case of a retrieval or parsing error, false is
  8371. // returned and Error() can be queried for the exact failure.
  8372. func (it *IERC1155MetadataURITransferBatchIterator) Next() bool {
  8373. // If the iterator failed, stop iterating
  8374. if it.fail != nil {
  8375. return false
  8376. }
  8377. // If the iterator completed, deliver directly whatever's available
  8378. if it.done {
  8379. select {
  8380. case log := <-it.logs:
  8381. it.Event = new(IERC1155MetadataURITransferBatch)
  8382. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  8383. it.fail = err
  8384. return false
  8385. }
  8386. it.Event.Raw = log
  8387. return true
  8388. default:
  8389. return false
  8390. }
  8391. }
  8392. // Iterator still in progress, wait for either a data or an error event
  8393. select {
  8394. case log := <-it.logs:
  8395. it.Event = new(IERC1155MetadataURITransferBatch)
  8396. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  8397. it.fail = err
  8398. return false
  8399. }
  8400. it.Event.Raw = log
  8401. return true
  8402. case err := <-it.sub.Err():
  8403. it.done = true
  8404. it.fail = err
  8405. return it.Next()
  8406. }
  8407. }
  8408. // Error returns any retrieval or parsing error occurred during filtering.
  8409. func (it *IERC1155MetadataURITransferBatchIterator) Error() error {
  8410. return it.fail
  8411. }
  8412. // Close terminates the iteration process, releasing any pending underlying
  8413. // resources.
  8414. func (it *IERC1155MetadataURITransferBatchIterator) Close() error {
  8415. it.sub.Unsubscribe()
  8416. return nil
  8417. }
  8418. // IERC1155MetadataURITransferBatch represents a TransferBatch event raised by the IERC1155MetadataURI contract.
  8419. type IERC1155MetadataURITransferBatch struct {
  8420. Operator common.Address
  8421. From common.Address
  8422. To common.Address
  8423. Ids []*big.Int
  8424. Values []*big.Int
  8425. Raw types.Log // Blockchain specific contextual infos
  8426. }
  8427. // FilterTransferBatch is a free log retrieval operation binding the contract event 0x4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb.
  8428. //
  8429. // Solidity: event TransferBatch(address indexed operator, address indexed from, address indexed to, uint256[] ids, uint256[] values)
  8430. func (_IERC1155MetadataURI *IERC1155MetadataURIFilterer) FilterTransferBatch(opts *bind.FilterOpts, operator []common.Address, from []common.Address, to []common.Address) (*IERC1155MetadataURITransferBatchIterator, error) {
  8431. var operatorRule []interface{}
  8432. for _, operatorItem := range operator {
  8433. operatorRule = append(operatorRule, operatorItem)
  8434. }
  8435. var fromRule []interface{}
  8436. for _, fromItem := range from {
  8437. fromRule = append(fromRule, fromItem)
  8438. }
  8439. var toRule []interface{}
  8440. for _, toItem := range to {
  8441. toRule = append(toRule, toItem)
  8442. }
  8443. logs, sub, err := _IERC1155MetadataURI.contract.FilterLogs(opts, "TransferBatch", operatorRule, fromRule, toRule)
  8444. if err != nil {
  8445. return nil, err
  8446. }
  8447. return &IERC1155MetadataURITransferBatchIterator{contract: _IERC1155MetadataURI.contract, event: "TransferBatch", logs: logs, sub: sub}, nil
  8448. }
  8449. // WatchTransferBatch is a free log subscription operation binding the contract event 0x4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb.
  8450. //
  8451. // Solidity: event TransferBatch(address indexed operator, address indexed from, address indexed to, uint256[] ids, uint256[] values)
  8452. func (_IERC1155MetadataURI *IERC1155MetadataURIFilterer) WatchTransferBatch(opts *bind.WatchOpts, sink chan<- *IERC1155MetadataURITransferBatch, operator []common.Address, from []common.Address, to []common.Address) (event.Subscription, error) {
  8453. var operatorRule []interface{}
  8454. for _, operatorItem := range operator {
  8455. operatorRule = append(operatorRule, operatorItem)
  8456. }
  8457. var fromRule []interface{}
  8458. for _, fromItem := range from {
  8459. fromRule = append(fromRule, fromItem)
  8460. }
  8461. var toRule []interface{}
  8462. for _, toItem := range to {
  8463. toRule = append(toRule, toItem)
  8464. }
  8465. logs, sub, err := _IERC1155MetadataURI.contract.WatchLogs(opts, "TransferBatch", operatorRule, fromRule, toRule)
  8466. if err != nil {
  8467. return nil, err
  8468. }
  8469. return event.NewSubscription(func(quit <-chan struct{}) error {
  8470. defer sub.Unsubscribe()
  8471. for {
  8472. select {
  8473. case log := <-logs:
  8474. // New log arrived, parse the event and forward to the user
  8475. event := new(IERC1155MetadataURITransferBatch)
  8476. if err := _IERC1155MetadataURI.contract.UnpackLog(event, "TransferBatch", log); err != nil {
  8477. return err
  8478. }
  8479. event.Raw = log
  8480. select {
  8481. case sink <- event:
  8482. case err := <-sub.Err():
  8483. return err
  8484. case <-quit:
  8485. return nil
  8486. }
  8487. case err := <-sub.Err():
  8488. return err
  8489. case <-quit:
  8490. return nil
  8491. }
  8492. }
  8493. }), nil
  8494. }
  8495. // ParseTransferBatch is a log parse operation binding the contract event 0x4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb.
  8496. //
  8497. // Solidity: event TransferBatch(address indexed operator, address indexed from, address indexed to, uint256[] ids, uint256[] values)
  8498. func (_IERC1155MetadataURI *IERC1155MetadataURIFilterer) ParseTransferBatch(log types.Log) (*IERC1155MetadataURITransferBatch, error) {
  8499. event := new(IERC1155MetadataURITransferBatch)
  8500. if err := _IERC1155MetadataURI.contract.UnpackLog(event, "TransferBatch", log); err != nil {
  8501. return nil, err
  8502. }
  8503. event.Raw = log
  8504. return event, nil
  8505. }
  8506. // IERC1155MetadataURITransferSingleIterator is returned from FilterTransferSingle and is used to iterate over the raw logs and unpacked data for TransferSingle events raised by the IERC1155MetadataURI contract.
  8507. type IERC1155MetadataURITransferSingleIterator struct {
  8508. Event *IERC1155MetadataURITransferSingle // Event containing the contract specifics and raw log
  8509. contract *bind.BoundContract // Generic contract to use for unpacking event data
  8510. event string // Event name to use for unpacking event data
  8511. logs chan types.Log // Log channel receiving the found contract events
  8512. sub ethereum.Subscription // Subscription for errors, completion and termination
  8513. done bool // Whether the subscription completed delivering logs
  8514. fail error // Occurred error to stop iteration
  8515. }
  8516. // Next advances the iterator to the subsequent event, returning whether there
  8517. // are any more events found. In case of a retrieval or parsing error, false is
  8518. // returned and Error() can be queried for the exact failure.
  8519. func (it *IERC1155MetadataURITransferSingleIterator) Next() bool {
  8520. // If the iterator failed, stop iterating
  8521. if it.fail != nil {
  8522. return false
  8523. }
  8524. // If the iterator completed, deliver directly whatever's available
  8525. if it.done {
  8526. select {
  8527. case log := <-it.logs:
  8528. it.Event = new(IERC1155MetadataURITransferSingle)
  8529. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  8530. it.fail = err
  8531. return false
  8532. }
  8533. it.Event.Raw = log
  8534. return true
  8535. default:
  8536. return false
  8537. }
  8538. }
  8539. // Iterator still in progress, wait for either a data or an error event
  8540. select {
  8541. case log := <-it.logs:
  8542. it.Event = new(IERC1155MetadataURITransferSingle)
  8543. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  8544. it.fail = err
  8545. return false
  8546. }
  8547. it.Event.Raw = log
  8548. return true
  8549. case err := <-it.sub.Err():
  8550. it.done = true
  8551. it.fail = err
  8552. return it.Next()
  8553. }
  8554. }
  8555. // Error returns any retrieval or parsing error occurred during filtering.
  8556. func (it *IERC1155MetadataURITransferSingleIterator) Error() error {
  8557. return it.fail
  8558. }
  8559. // Close terminates the iteration process, releasing any pending underlying
  8560. // resources.
  8561. func (it *IERC1155MetadataURITransferSingleIterator) Close() error {
  8562. it.sub.Unsubscribe()
  8563. return nil
  8564. }
  8565. // IERC1155MetadataURITransferSingle represents a TransferSingle event raised by the IERC1155MetadataURI contract.
  8566. type IERC1155MetadataURITransferSingle struct {
  8567. Operator common.Address
  8568. From common.Address
  8569. To common.Address
  8570. Id *big.Int
  8571. Value *big.Int
  8572. Raw types.Log // Blockchain specific contextual infos
  8573. }
  8574. // FilterTransferSingle is a free log retrieval operation binding the contract event 0xc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62.
  8575. //
  8576. // Solidity: event TransferSingle(address indexed operator, address indexed from, address indexed to, uint256 id, uint256 value)
  8577. func (_IERC1155MetadataURI *IERC1155MetadataURIFilterer) FilterTransferSingle(opts *bind.FilterOpts, operator []common.Address, from []common.Address, to []common.Address) (*IERC1155MetadataURITransferSingleIterator, error) {
  8578. var operatorRule []interface{}
  8579. for _, operatorItem := range operator {
  8580. operatorRule = append(operatorRule, operatorItem)
  8581. }
  8582. var fromRule []interface{}
  8583. for _, fromItem := range from {
  8584. fromRule = append(fromRule, fromItem)
  8585. }
  8586. var toRule []interface{}
  8587. for _, toItem := range to {
  8588. toRule = append(toRule, toItem)
  8589. }
  8590. logs, sub, err := _IERC1155MetadataURI.contract.FilterLogs(opts, "TransferSingle", operatorRule, fromRule, toRule)
  8591. if err != nil {
  8592. return nil, err
  8593. }
  8594. return &IERC1155MetadataURITransferSingleIterator{contract: _IERC1155MetadataURI.contract, event: "TransferSingle", logs: logs, sub: sub}, nil
  8595. }
  8596. // WatchTransferSingle is a free log subscription operation binding the contract event 0xc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62.
  8597. //
  8598. // Solidity: event TransferSingle(address indexed operator, address indexed from, address indexed to, uint256 id, uint256 value)
  8599. func (_IERC1155MetadataURI *IERC1155MetadataURIFilterer) WatchTransferSingle(opts *bind.WatchOpts, sink chan<- *IERC1155MetadataURITransferSingle, operator []common.Address, from []common.Address, to []common.Address) (event.Subscription, error) {
  8600. var operatorRule []interface{}
  8601. for _, operatorItem := range operator {
  8602. operatorRule = append(operatorRule, operatorItem)
  8603. }
  8604. var fromRule []interface{}
  8605. for _, fromItem := range from {
  8606. fromRule = append(fromRule, fromItem)
  8607. }
  8608. var toRule []interface{}
  8609. for _, toItem := range to {
  8610. toRule = append(toRule, toItem)
  8611. }
  8612. logs, sub, err := _IERC1155MetadataURI.contract.WatchLogs(opts, "TransferSingle", operatorRule, fromRule, toRule)
  8613. if err != nil {
  8614. return nil, err
  8615. }
  8616. return event.NewSubscription(func(quit <-chan struct{}) error {
  8617. defer sub.Unsubscribe()
  8618. for {
  8619. select {
  8620. case log := <-logs:
  8621. // New log arrived, parse the event and forward to the user
  8622. event := new(IERC1155MetadataURITransferSingle)
  8623. if err := _IERC1155MetadataURI.contract.UnpackLog(event, "TransferSingle", log); err != nil {
  8624. return err
  8625. }
  8626. event.Raw = log
  8627. select {
  8628. case sink <- event:
  8629. case err := <-sub.Err():
  8630. return err
  8631. case <-quit:
  8632. return nil
  8633. }
  8634. case err := <-sub.Err():
  8635. return err
  8636. case <-quit:
  8637. return nil
  8638. }
  8639. }
  8640. }), nil
  8641. }
  8642. // ParseTransferSingle is a log parse operation binding the contract event 0xc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62.
  8643. //
  8644. // Solidity: event TransferSingle(address indexed operator, address indexed from, address indexed to, uint256 id, uint256 value)
  8645. func (_IERC1155MetadataURI *IERC1155MetadataURIFilterer) ParseTransferSingle(log types.Log) (*IERC1155MetadataURITransferSingle, error) {
  8646. event := new(IERC1155MetadataURITransferSingle)
  8647. if err := _IERC1155MetadataURI.contract.UnpackLog(event, "TransferSingle", log); err != nil {
  8648. return nil, err
  8649. }
  8650. event.Raw = log
  8651. return event, nil
  8652. }
  8653. // IERC1155MetadataURIURIIterator is returned from FilterURI and is used to iterate over the raw logs and unpacked data for URI events raised by the IERC1155MetadataURI contract.
  8654. type IERC1155MetadataURIURIIterator struct {
  8655. Event *IERC1155MetadataURIURI // Event containing the contract specifics and raw log
  8656. contract *bind.BoundContract // Generic contract to use for unpacking event data
  8657. event string // Event name to use for unpacking event data
  8658. logs chan types.Log // Log channel receiving the found contract events
  8659. sub ethereum.Subscription // Subscription for errors, completion and termination
  8660. done bool // Whether the subscription completed delivering logs
  8661. fail error // Occurred error to stop iteration
  8662. }
  8663. // Next advances the iterator to the subsequent event, returning whether there
  8664. // are any more events found. In case of a retrieval or parsing error, false is
  8665. // returned and Error() can be queried for the exact failure.
  8666. func (it *IERC1155MetadataURIURIIterator) Next() bool {
  8667. // If the iterator failed, stop iterating
  8668. if it.fail != nil {
  8669. return false
  8670. }
  8671. // If the iterator completed, deliver directly whatever's available
  8672. if it.done {
  8673. select {
  8674. case log := <-it.logs:
  8675. it.Event = new(IERC1155MetadataURIURI)
  8676. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  8677. it.fail = err
  8678. return false
  8679. }
  8680. it.Event.Raw = log
  8681. return true
  8682. default:
  8683. return false
  8684. }
  8685. }
  8686. // Iterator still in progress, wait for either a data or an error event
  8687. select {
  8688. case log := <-it.logs:
  8689. it.Event = new(IERC1155MetadataURIURI)
  8690. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  8691. it.fail = err
  8692. return false
  8693. }
  8694. it.Event.Raw = log
  8695. return true
  8696. case err := <-it.sub.Err():
  8697. it.done = true
  8698. it.fail = err
  8699. return it.Next()
  8700. }
  8701. }
  8702. // Error returns any retrieval or parsing error occurred during filtering.
  8703. func (it *IERC1155MetadataURIURIIterator) Error() error {
  8704. return it.fail
  8705. }
  8706. // Close terminates the iteration process, releasing any pending underlying
  8707. // resources.
  8708. func (it *IERC1155MetadataURIURIIterator) Close() error {
  8709. it.sub.Unsubscribe()
  8710. return nil
  8711. }
  8712. // IERC1155MetadataURIURI represents a URI event raised by the IERC1155MetadataURI contract.
  8713. type IERC1155MetadataURIURI struct {
  8714. Value string
  8715. Id *big.Int
  8716. Raw types.Log // Blockchain specific contextual infos
  8717. }
  8718. // FilterURI is a free log retrieval operation binding the contract event 0x6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b.
  8719. //
  8720. // Solidity: event URI(string value, uint256 indexed id)
  8721. func (_IERC1155MetadataURI *IERC1155MetadataURIFilterer) FilterURI(opts *bind.FilterOpts, id []*big.Int) (*IERC1155MetadataURIURIIterator, error) {
  8722. var idRule []interface{}
  8723. for _, idItem := range id {
  8724. idRule = append(idRule, idItem)
  8725. }
  8726. logs, sub, err := _IERC1155MetadataURI.contract.FilterLogs(opts, "URI", idRule)
  8727. if err != nil {
  8728. return nil, err
  8729. }
  8730. return &IERC1155MetadataURIURIIterator{contract: _IERC1155MetadataURI.contract, event: "URI", logs: logs, sub: sub}, nil
  8731. }
  8732. // WatchURI is a free log subscription operation binding the contract event 0x6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b.
  8733. //
  8734. // Solidity: event URI(string value, uint256 indexed id)
  8735. func (_IERC1155MetadataURI *IERC1155MetadataURIFilterer) WatchURI(opts *bind.WatchOpts, sink chan<- *IERC1155MetadataURIURI, id []*big.Int) (event.Subscription, error) {
  8736. var idRule []interface{}
  8737. for _, idItem := range id {
  8738. idRule = append(idRule, idItem)
  8739. }
  8740. logs, sub, err := _IERC1155MetadataURI.contract.WatchLogs(opts, "URI", idRule)
  8741. if err != nil {
  8742. return nil, err
  8743. }
  8744. return event.NewSubscription(func(quit <-chan struct{}) error {
  8745. defer sub.Unsubscribe()
  8746. for {
  8747. select {
  8748. case log := <-logs:
  8749. // New log arrived, parse the event and forward to the user
  8750. event := new(IERC1155MetadataURIURI)
  8751. if err := _IERC1155MetadataURI.contract.UnpackLog(event, "URI", log); err != nil {
  8752. return err
  8753. }
  8754. event.Raw = log
  8755. select {
  8756. case sink <- event:
  8757. case err := <-sub.Err():
  8758. return err
  8759. case <-quit:
  8760. return nil
  8761. }
  8762. case err := <-sub.Err():
  8763. return err
  8764. case <-quit:
  8765. return nil
  8766. }
  8767. }
  8768. }), nil
  8769. }
  8770. // ParseURI is a log parse operation binding the contract event 0x6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b.
  8771. //
  8772. // Solidity: event URI(string value, uint256 indexed id)
  8773. func (_IERC1155MetadataURI *IERC1155MetadataURIFilterer) ParseURI(log types.Log) (*IERC1155MetadataURIURI, error) {
  8774. event := new(IERC1155MetadataURIURI)
  8775. if err := _IERC1155MetadataURI.contract.UnpackLog(event, "URI", log); err != nil {
  8776. return nil, err
  8777. }
  8778. event.Raw = log
  8779. return event, nil
  8780. }
  8781. // IERC1155ReceiverMetaData contains all meta data concerning the IERC1155Receiver contract.
  8782. var IERC1155ReceiverMetaData = &bind.MetaData{
  8783. ABI: "[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"onERC1155BatchReceived\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"onERC1155Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]",
  8784. Sigs: map[string]string{
  8785. "bc197c81": "onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)",
  8786. "f23a6e61": "onERC1155Received(address,address,uint256,uint256,bytes)",
  8787. "01ffc9a7": "supportsInterface(bytes4)",
  8788. },
  8789. }
  8790. // IERC1155ReceiverABI is the input ABI used to generate the binding from.
  8791. // Deprecated: Use IERC1155ReceiverMetaData.ABI instead.
  8792. var IERC1155ReceiverABI = IERC1155ReceiverMetaData.ABI
  8793. // Deprecated: Use IERC1155ReceiverMetaData.Sigs instead.
  8794. // IERC1155ReceiverFuncSigs maps the 4-byte function signature to its string representation.
  8795. var IERC1155ReceiverFuncSigs = IERC1155ReceiverMetaData.Sigs
  8796. // IERC1155Receiver is an auto generated Go binding around an Ethereum contract.
  8797. type IERC1155Receiver struct {
  8798. IERC1155ReceiverCaller // Read-only binding to the contract
  8799. IERC1155ReceiverTransactor // Write-only binding to the contract
  8800. IERC1155ReceiverFilterer // Log filterer for contract events
  8801. }
  8802. // IERC1155ReceiverCaller is an auto generated read-only Go binding around an Ethereum contract.
  8803. type IERC1155ReceiverCaller struct {
  8804. contract *bind.BoundContract // Generic contract wrapper for the low level calls
  8805. }
  8806. // IERC1155ReceiverTransactor is an auto generated write-only Go binding around an Ethereum contract.
  8807. type IERC1155ReceiverTransactor struct {
  8808. contract *bind.BoundContract // Generic contract wrapper for the low level calls
  8809. }
  8810. // IERC1155ReceiverFilterer is an auto generated log filtering Go binding around an Ethereum contract events.
  8811. type IERC1155ReceiverFilterer struct {
  8812. contract *bind.BoundContract // Generic contract wrapper for the low level calls
  8813. }
  8814. // IERC1155ReceiverSession is an auto generated Go binding around an Ethereum contract,
  8815. // with pre-set call and transact options.
  8816. type IERC1155ReceiverSession struct {
  8817. Contract *IERC1155Receiver // Generic contract binding to set the session for
  8818. CallOpts bind.CallOpts // Call options to use throughout this session
  8819. TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
  8820. }
  8821. // IERC1155ReceiverCallerSession is an auto generated read-only Go binding around an Ethereum contract,
  8822. // with pre-set call options.
  8823. type IERC1155ReceiverCallerSession struct {
  8824. Contract *IERC1155ReceiverCaller // Generic contract caller binding to set the session for
  8825. CallOpts bind.CallOpts // Call options to use throughout this session
  8826. }
  8827. // IERC1155ReceiverTransactorSession is an auto generated write-only Go binding around an Ethereum contract,
  8828. // with pre-set transact options.
  8829. type IERC1155ReceiverTransactorSession struct {
  8830. Contract *IERC1155ReceiverTransactor // Generic contract transactor binding to set the session for
  8831. TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
  8832. }
  8833. // IERC1155ReceiverRaw is an auto generated low-level Go binding around an Ethereum contract.
  8834. type IERC1155ReceiverRaw struct {
  8835. Contract *IERC1155Receiver // Generic contract binding to access the raw methods on
  8836. }
  8837. // IERC1155ReceiverCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
  8838. type IERC1155ReceiverCallerRaw struct {
  8839. Contract *IERC1155ReceiverCaller // Generic read-only contract binding to access the raw methods on
  8840. }
  8841. // IERC1155ReceiverTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
  8842. type IERC1155ReceiverTransactorRaw struct {
  8843. Contract *IERC1155ReceiverTransactor // Generic write-only contract binding to access the raw methods on
  8844. }
  8845. // NewIERC1155Receiver creates a new instance of IERC1155Receiver, bound to a specific deployed contract.
  8846. func NewIERC1155Receiver(address common.Address, backend bind.ContractBackend) (*IERC1155Receiver, error) {
  8847. contract, err := bindIERC1155Receiver(address, backend, backend, backend)
  8848. if err != nil {
  8849. return nil, err
  8850. }
  8851. return &IERC1155Receiver{IERC1155ReceiverCaller: IERC1155ReceiverCaller{contract: contract}, IERC1155ReceiverTransactor: IERC1155ReceiverTransactor{contract: contract}, IERC1155ReceiverFilterer: IERC1155ReceiverFilterer{contract: contract}}, nil
  8852. }
  8853. // NewIERC1155ReceiverCaller creates a new read-only instance of IERC1155Receiver, bound to a specific deployed contract.
  8854. func NewIERC1155ReceiverCaller(address common.Address, caller bind.ContractCaller) (*IERC1155ReceiverCaller, error) {
  8855. contract, err := bindIERC1155Receiver(address, caller, nil, nil)
  8856. if err != nil {
  8857. return nil, err
  8858. }
  8859. return &IERC1155ReceiverCaller{contract: contract}, nil
  8860. }
  8861. // NewIERC1155ReceiverTransactor creates a new write-only instance of IERC1155Receiver, bound to a specific deployed contract.
  8862. func NewIERC1155ReceiverTransactor(address common.Address, transactor bind.ContractTransactor) (*IERC1155ReceiverTransactor, error) {
  8863. contract, err := bindIERC1155Receiver(address, nil, transactor, nil)
  8864. if err != nil {
  8865. return nil, err
  8866. }
  8867. return &IERC1155ReceiverTransactor{contract: contract}, nil
  8868. }
  8869. // NewIERC1155ReceiverFilterer creates a new log filterer instance of IERC1155Receiver, bound to a specific deployed contract.
  8870. func NewIERC1155ReceiverFilterer(address common.Address, filterer bind.ContractFilterer) (*IERC1155ReceiverFilterer, error) {
  8871. contract, err := bindIERC1155Receiver(address, nil, nil, filterer)
  8872. if err != nil {
  8873. return nil, err
  8874. }
  8875. return &IERC1155ReceiverFilterer{contract: contract}, nil
  8876. }
  8877. // bindIERC1155Receiver binds a generic wrapper to an already deployed contract.
  8878. func bindIERC1155Receiver(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
  8879. parsed, err := abi.JSON(strings.NewReader(IERC1155ReceiverABI))
  8880. if err != nil {
  8881. return nil, err
  8882. }
  8883. return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil
  8884. }
  8885. // Call invokes the (constant) contract method with params as input values and
  8886. // sets the output to result. The result type might be a single field for simple
  8887. // returns, a slice of interfaces for anonymous returns and a struct for named
  8888. // returns.
  8889. func (_IERC1155Receiver *IERC1155ReceiverRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
  8890. return _IERC1155Receiver.Contract.IERC1155ReceiverCaller.contract.Call(opts, result, method, params...)
  8891. }
  8892. // Transfer initiates a plain transaction to move funds to the contract, calling
  8893. // its default method if one is available.
  8894. func (_IERC1155Receiver *IERC1155ReceiverRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
  8895. return _IERC1155Receiver.Contract.IERC1155ReceiverTransactor.contract.Transfer(opts)
  8896. }
  8897. // Transact invokes the (paid) contract method with params as input values.
  8898. func (_IERC1155Receiver *IERC1155ReceiverRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
  8899. return _IERC1155Receiver.Contract.IERC1155ReceiverTransactor.contract.Transact(opts, method, params...)
  8900. }
  8901. // Call invokes the (constant) contract method with params as input values and
  8902. // sets the output to result. The result type might be a single field for simple
  8903. // returns, a slice of interfaces for anonymous returns and a struct for named
  8904. // returns.
  8905. func (_IERC1155Receiver *IERC1155ReceiverCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
  8906. return _IERC1155Receiver.Contract.contract.Call(opts, result, method, params...)
  8907. }
  8908. // Transfer initiates a plain transaction to move funds to the contract, calling
  8909. // its default method if one is available.
  8910. func (_IERC1155Receiver *IERC1155ReceiverTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
  8911. return _IERC1155Receiver.Contract.contract.Transfer(opts)
  8912. }
  8913. // Transact invokes the (paid) contract method with params as input values.
  8914. func (_IERC1155Receiver *IERC1155ReceiverTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
  8915. return _IERC1155Receiver.Contract.contract.Transact(opts, method, params...)
  8916. }
  8917. // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
  8918. //
  8919. // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
  8920. func (_IERC1155Receiver *IERC1155ReceiverCaller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) {
  8921. var out []interface{}
  8922. err := _IERC1155Receiver.contract.Call(opts, &out, "supportsInterface", interfaceId)
  8923. if err != nil {
  8924. return *new(bool), err
  8925. }
  8926. out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
  8927. return out0, err
  8928. }
  8929. // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
  8930. //
  8931. // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
  8932. func (_IERC1155Receiver *IERC1155ReceiverSession) SupportsInterface(interfaceId [4]byte) (bool, error) {
  8933. return _IERC1155Receiver.Contract.SupportsInterface(&_IERC1155Receiver.CallOpts, interfaceId)
  8934. }
  8935. // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
  8936. //
  8937. // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
  8938. func (_IERC1155Receiver *IERC1155ReceiverCallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) {
  8939. return _IERC1155Receiver.Contract.SupportsInterface(&_IERC1155Receiver.CallOpts, interfaceId)
  8940. }
  8941. // OnERC1155BatchReceived is a paid mutator transaction binding the contract method 0xbc197c81.
  8942. //
  8943. // Solidity: function onERC1155BatchReceived(address operator, address from, uint256[] ids, uint256[] values, bytes data) returns(bytes4)
  8944. func (_IERC1155Receiver *IERC1155ReceiverTransactor) OnERC1155BatchReceived(opts *bind.TransactOpts, operator common.Address, from common.Address, ids []*big.Int, values []*big.Int, data []byte) (*types.Transaction, error) {
  8945. return _IERC1155Receiver.contract.Transact(opts, "onERC1155BatchReceived", operator, from, ids, values, data)
  8946. }
  8947. // OnERC1155BatchReceived is a paid mutator transaction binding the contract method 0xbc197c81.
  8948. //
  8949. // Solidity: function onERC1155BatchReceived(address operator, address from, uint256[] ids, uint256[] values, bytes data) returns(bytes4)
  8950. func (_IERC1155Receiver *IERC1155ReceiverSession) OnERC1155BatchReceived(operator common.Address, from common.Address, ids []*big.Int, values []*big.Int, data []byte) (*types.Transaction, error) {
  8951. return _IERC1155Receiver.Contract.OnERC1155BatchReceived(&_IERC1155Receiver.TransactOpts, operator, from, ids, values, data)
  8952. }
  8953. // OnERC1155BatchReceived is a paid mutator transaction binding the contract method 0xbc197c81.
  8954. //
  8955. // Solidity: function onERC1155BatchReceived(address operator, address from, uint256[] ids, uint256[] values, bytes data) returns(bytes4)
  8956. func (_IERC1155Receiver *IERC1155ReceiverTransactorSession) OnERC1155BatchReceived(operator common.Address, from common.Address, ids []*big.Int, values []*big.Int, data []byte) (*types.Transaction, error) {
  8957. return _IERC1155Receiver.Contract.OnERC1155BatchReceived(&_IERC1155Receiver.TransactOpts, operator, from, ids, values, data)
  8958. }
  8959. // OnERC1155Received is a paid mutator transaction binding the contract method 0xf23a6e61.
  8960. //
  8961. // Solidity: function onERC1155Received(address operator, address from, uint256 id, uint256 value, bytes data) returns(bytes4)
  8962. func (_IERC1155Receiver *IERC1155ReceiverTransactor) OnERC1155Received(opts *bind.TransactOpts, operator common.Address, from common.Address, id *big.Int, value *big.Int, data []byte) (*types.Transaction, error) {
  8963. return _IERC1155Receiver.contract.Transact(opts, "onERC1155Received", operator, from, id, value, data)
  8964. }
  8965. // OnERC1155Received is a paid mutator transaction binding the contract method 0xf23a6e61.
  8966. //
  8967. // Solidity: function onERC1155Received(address operator, address from, uint256 id, uint256 value, bytes data) returns(bytes4)
  8968. func (_IERC1155Receiver *IERC1155ReceiverSession) OnERC1155Received(operator common.Address, from common.Address, id *big.Int, value *big.Int, data []byte) (*types.Transaction, error) {
  8969. return _IERC1155Receiver.Contract.OnERC1155Received(&_IERC1155Receiver.TransactOpts, operator, from, id, value, data)
  8970. }
  8971. // OnERC1155Received is a paid mutator transaction binding the contract method 0xf23a6e61.
  8972. //
  8973. // Solidity: function onERC1155Received(address operator, address from, uint256 id, uint256 value, bytes data) returns(bytes4)
  8974. func (_IERC1155Receiver *IERC1155ReceiverTransactorSession) OnERC1155Received(operator common.Address, from common.Address, id *big.Int, value *big.Int, data []byte) (*types.Transaction, error) {
  8975. return _IERC1155Receiver.Contract.OnERC1155Received(&_IERC1155Receiver.TransactOpts, operator, from, id, value, data)
  8976. }
  8977. // IERC165MetaData contains all meta data concerning the IERC165 contract.
  8978. var IERC165MetaData = &bind.MetaData{
  8979. ABI: "[{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]",
  8980. Sigs: map[string]string{
  8981. "01ffc9a7": "supportsInterface(bytes4)",
  8982. },
  8983. }
  8984. // IERC165ABI is the input ABI used to generate the binding from.
  8985. // Deprecated: Use IERC165MetaData.ABI instead.
  8986. var IERC165ABI = IERC165MetaData.ABI
  8987. // Deprecated: Use IERC165MetaData.Sigs instead.
  8988. // IERC165FuncSigs maps the 4-byte function signature to its string representation.
  8989. var IERC165FuncSigs = IERC165MetaData.Sigs
  8990. // IERC165 is an auto generated Go binding around an Ethereum contract.
  8991. type IERC165 struct {
  8992. IERC165Caller // Read-only binding to the contract
  8993. IERC165Transactor // Write-only binding to the contract
  8994. IERC165Filterer // Log filterer for contract events
  8995. }
  8996. // IERC165Caller is an auto generated read-only Go binding around an Ethereum contract.
  8997. type IERC165Caller struct {
  8998. contract *bind.BoundContract // Generic contract wrapper for the low level calls
  8999. }
  9000. // IERC165Transactor is an auto generated write-only Go binding around an Ethereum contract.
  9001. type IERC165Transactor struct {
  9002. contract *bind.BoundContract // Generic contract wrapper for the low level calls
  9003. }
  9004. // IERC165Filterer is an auto generated log filtering Go binding around an Ethereum contract events.
  9005. type IERC165Filterer struct {
  9006. contract *bind.BoundContract // Generic contract wrapper for the low level calls
  9007. }
  9008. // IERC165Session is an auto generated Go binding around an Ethereum contract,
  9009. // with pre-set call and transact options.
  9010. type IERC165Session struct {
  9011. Contract *IERC165 // Generic contract binding to set the session for
  9012. CallOpts bind.CallOpts // Call options to use throughout this session
  9013. TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
  9014. }
  9015. // IERC165CallerSession is an auto generated read-only Go binding around an Ethereum contract,
  9016. // with pre-set call options.
  9017. type IERC165CallerSession struct {
  9018. Contract *IERC165Caller // Generic contract caller binding to set the session for
  9019. CallOpts bind.CallOpts // Call options to use throughout this session
  9020. }
  9021. // IERC165TransactorSession is an auto generated write-only Go binding around an Ethereum contract,
  9022. // with pre-set transact options.
  9023. type IERC165TransactorSession struct {
  9024. Contract *IERC165Transactor // Generic contract transactor binding to set the session for
  9025. TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
  9026. }
  9027. // IERC165Raw is an auto generated low-level Go binding around an Ethereum contract.
  9028. type IERC165Raw struct {
  9029. Contract *IERC165 // Generic contract binding to access the raw methods on
  9030. }
  9031. // IERC165CallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
  9032. type IERC165CallerRaw struct {
  9033. Contract *IERC165Caller // Generic read-only contract binding to access the raw methods on
  9034. }
  9035. // IERC165TransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
  9036. type IERC165TransactorRaw struct {
  9037. Contract *IERC165Transactor // Generic write-only contract binding to access the raw methods on
  9038. }
  9039. // NewIERC165 creates a new instance of IERC165, bound to a specific deployed contract.
  9040. func NewIERC165(address common.Address, backend bind.ContractBackend) (*IERC165, error) {
  9041. contract, err := bindIERC165(address, backend, backend, backend)
  9042. if err != nil {
  9043. return nil, err
  9044. }
  9045. return &IERC165{IERC165Caller: IERC165Caller{contract: contract}, IERC165Transactor: IERC165Transactor{contract: contract}, IERC165Filterer: IERC165Filterer{contract: contract}}, nil
  9046. }
  9047. // NewIERC165Caller creates a new read-only instance of IERC165, bound to a specific deployed contract.
  9048. func NewIERC165Caller(address common.Address, caller bind.ContractCaller) (*IERC165Caller, error) {
  9049. contract, err := bindIERC165(address, caller, nil, nil)
  9050. if err != nil {
  9051. return nil, err
  9052. }
  9053. return &IERC165Caller{contract: contract}, nil
  9054. }
  9055. // NewIERC165Transactor creates a new write-only instance of IERC165, bound to a specific deployed contract.
  9056. func NewIERC165Transactor(address common.Address, transactor bind.ContractTransactor) (*IERC165Transactor, error) {
  9057. contract, err := bindIERC165(address, nil, transactor, nil)
  9058. if err != nil {
  9059. return nil, err
  9060. }
  9061. return &IERC165Transactor{contract: contract}, nil
  9062. }
  9063. // NewIERC165Filterer creates a new log filterer instance of IERC165, bound to a specific deployed contract.
  9064. func NewIERC165Filterer(address common.Address, filterer bind.ContractFilterer) (*IERC165Filterer, error) {
  9065. contract, err := bindIERC165(address, nil, nil, filterer)
  9066. if err != nil {
  9067. return nil, err
  9068. }
  9069. return &IERC165Filterer{contract: contract}, nil
  9070. }
  9071. // bindIERC165 binds a generic wrapper to an already deployed contract.
  9072. func bindIERC165(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
  9073. parsed, err := abi.JSON(strings.NewReader(IERC165ABI))
  9074. if err != nil {
  9075. return nil, err
  9076. }
  9077. return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil
  9078. }
  9079. // Call invokes the (constant) contract method with params as input values and
  9080. // sets the output to result. The result type might be a single field for simple
  9081. // returns, a slice of interfaces for anonymous returns and a struct for named
  9082. // returns.
  9083. func (_IERC165 *IERC165Raw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
  9084. return _IERC165.Contract.IERC165Caller.contract.Call(opts, result, method, params...)
  9085. }
  9086. // Transfer initiates a plain transaction to move funds to the contract, calling
  9087. // its default method if one is available.
  9088. func (_IERC165 *IERC165Raw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
  9089. return _IERC165.Contract.IERC165Transactor.contract.Transfer(opts)
  9090. }
  9091. // Transact invokes the (paid) contract method with params as input values.
  9092. func (_IERC165 *IERC165Raw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
  9093. return _IERC165.Contract.IERC165Transactor.contract.Transact(opts, method, params...)
  9094. }
  9095. // Call invokes the (constant) contract method with params as input values and
  9096. // sets the output to result. The result type might be a single field for simple
  9097. // returns, a slice of interfaces for anonymous returns and a struct for named
  9098. // returns.
  9099. func (_IERC165 *IERC165CallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
  9100. return _IERC165.Contract.contract.Call(opts, result, method, params...)
  9101. }
  9102. // Transfer initiates a plain transaction to move funds to the contract, calling
  9103. // its default method if one is available.
  9104. func (_IERC165 *IERC165TransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
  9105. return _IERC165.Contract.contract.Transfer(opts)
  9106. }
  9107. // Transact invokes the (paid) contract method with params as input values.
  9108. func (_IERC165 *IERC165TransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
  9109. return _IERC165.Contract.contract.Transact(opts, method, params...)
  9110. }
  9111. // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
  9112. //
  9113. // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
  9114. func (_IERC165 *IERC165Caller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) {
  9115. var out []interface{}
  9116. err := _IERC165.contract.Call(opts, &out, "supportsInterface", interfaceId)
  9117. if err != nil {
  9118. return *new(bool), err
  9119. }
  9120. out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
  9121. return out0, err
  9122. }
  9123. // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
  9124. //
  9125. // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
  9126. func (_IERC165 *IERC165Session) SupportsInterface(interfaceId [4]byte) (bool, error) {
  9127. return _IERC165.Contract.SupportsInterface(&_IERC165.CallOpts, interfaceId)
  9128. }
  9129. // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
  9130. //
  9131. // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
  9132. func (_IERC165 *IERC165CallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) {
  9133. return _IERC165.Contract.SupportsInterface(&_IERC165.CallOpts, interfaceId)
  9134. }
  9135. // IERC721MetaData contains all meta data concerning the IERC721 contract.
  9136. var IERC721MetaData = &bind.MetaData{
  9137. ABI: "[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]",
  9138. Sigs: map[string]string{
  9139. "095ea7b3": "approve(address,uint256)",
  9140. "70a08231": "balanceOf(address)",
  9141. "081812fc": "getApproved(uint256)",
  9142. "e985e9c5": "isApprovedForAll(address,address)",
  9143. "6352211e": "ownerOf(uint256)",
  9144. "42842e0e": "safeTransferFrom(address,address,uint256)",
  9145. "b88d4fde": "safeTransferFrom(address,address,uint256,bytes)",
  9146. "a22cb465": "setApprovalForAll(address,bool)",
  9147. "01ffc9a7": "supportsInterface(bytes4)",
  9148. "23b872dd": "transferFrom(address,address,uint256)",
  9149. },
  9150. }
  9151. // IERC721ABI is the input ABI used to generate the binding from.
  9152. // Deprecated: Use IERC721MetaData.ABI instead.
  9153. var IERC721ABI = IERC721MetaData.ABI
  9154. // Deprecated: Use IERC721MetaData.Sigs instead.
  9155. // IERC721FuncSigs maps the 4-byte function signature to its string representation.
  9156. var IERC721FuncSigs = IERC721MetaData.Sigs
  9157. // IERC721 is an auto generated Go binding around an Ethereum contract.
  9158. type IERC721 struct {
  9159. IERC721Caller // Read-only binding to the contract
  9160. IERC721Transactor // Write-only binding to the contract
  9161. IERC721Filterer // Log filterer for contract events
  9162. }
  9163. // IERC721Caller is an auto generated read-only Go binding around an Ethereum contract.
  9164. type IERC721Caller struct {
  9165. contract *bind.BoundContract // Generic contract wrapper for the low level calls
  9166. }
  9167. // IERC721Transactor is an auto generated write-only Go binding around an Ethereum contract.
  9168. type IERC721Transactor struct {
  9169. contract *bind.BoundContract // Generic contract wrapper for the low level calls
  9170. }
  9171. // IERC721Filterer is an auto generated log filtering Go binding around an Ethereum contract events.
  9172. type IERC721Filterer struct {
  9173. contract *bind.BoundContract // Generic contract wrapper for the low level calls
  9174. }
  9175. // IERC721Session is an auto generated Go binding around an Ethereum contract,
  9176. // with pre-set call and transact options.
  9177. type IERC721Session struct {
  9178. Contract *IERC721 // Generic contract binding to set the session for
  9179. CallOpts bind.CallOpts // Call options to use throughout this session
  9180. TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
  9181. }
  9182. // IERC721CallerSession is an auto generated read-only Go binding around an Ethereum contract,
  9183. // with pre-set call options.
  9184. type IERC721CallerSession struct {
  9185. Contract *IERC721Caller // Generic contract caller binding to set the session for
  9186. CallOpts bind.CallOpts // Call options to use throughout this session
  9187. }
  9188. // IERC721TransactorSession is an auto generated write-only Go binding around an Ethereum contract,
  9189. // with pre-set transact options.
  9190. type IERC721TransactorSession struct {
  9191. Contract *IERC721Transactor // Generic contract transactor binding to set the session for
  9192. TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
  9193. }
  9194. // IERC721Raw is an auto generated low-level Go binding around an Ethereum contract.
  9195. type IERC721Raw struct {
  9196. Contract *IERC721 // Generic contract binding to access the raw methods on
  9197. }
  9198. // IERC721CallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
  9199. type IERC721CallerRaw struct {
  9200. Contract *IERC721Caller // Generic read-only contract binding to access the raw methods on
  9201. }
  9202. // IERC721TransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
  9203. type IERC721TransactorRaw struct {
  9204. Contract *IERC721Transactor // Generic write-only contract binding to access the raw methods on
  9205. }
  9206. // NewIERC721 creates a new instance of IERC721, bound to a specific deployed contract.
  9207. func NewIERC721(address common.Address, backend bind.ContractBackend) (*IERC721, error) {
  9208. contract, err := bindIERC721(address, backend, backend, backend)
  9209. if err != nil {
  9210. return nil, err
  9211. }
  9212. return &IERC721{IERC721Caller: IERC721Caller{contract: contract}, IERC721Transactor: IERC721Transactor{contract: contract}, IERC721Filterer: IERC721Filterer{contract: contract}}, nil
  9213. }
  9214. // NewIERC721Caller creates a new read-only instance of IERC721, bound to a specific deployed contract.
  9215. func NewIERC721Caller(address common.Address, caller bind.ContractCaller) (*IERC721Caller, error) {
  9216. contract, err := bindIERC721(address, caller, nil, nil)
  9217. if err != nil {
  9218. return nil, err
  9219. }
  9220. return &IERC721Caller{contract: contract}, nil
  9221. }
  9222. // NewIERC721Transactor creates a new write-only instance of IERC721, bound to a specific deployed contract.
  9223. func NewIERC721Transactor(address common.Address, transactor bind.ContractTransactor) (*IERC721Transactor, error) {
  9224. contract, err := bindIERC721(address, nil, transactor, nil)
  9225. if err != nil {
  9226. return nil, err
  9227. }
  9228. return &IERC721Transactor{contract: contract}, nil
  9229. }
  9230. // NewIERC721Filterer creates a new log filterer instance of IERC721, bound to a specific deployed contract.
  9231. func NewIERC721Filterer(address common.Address, filterer bind.ContractFilterer) (*IERC721Filterer, error) {
  9232. contract, err := bindIERC721(address, nil, nil, filterer)
  9233. if err != nil {
  9234. return nil, err
  9235. }
  9236. return &IERC721Filterer{contract: contract}, nil
  9237. }
  9238. // bindIERC721 binds a generic wrapper to an already deployed contract.
  9239. func bindIERC721(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
  9240. parsed, err := abi.JSON(strings.NewReader(IERC721ABI))
  9241. if err != nil {
  9242. return nil, err
  9243. }
  9244. return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil
  9245. }
  9246. // Call invokes the (constant) contract method with params as input values and
  9247. // sets the output to result. The result type might be a single field for simple
  9248. // returns, a slice of interfaces for anonymous returns and a struct for named
  9249. // returns.
  9250. func (_IERC721 *IERC721Raw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
  9251. return _IERC721.Contract.IERC721Caller.contract.Call(opts, result, method, params...)
  9252. }
  9253. // Transfer initiates a plain transaction to move funds to the contract, calling
  9254. // its default method if one is available.
  9255. func (_IERC721 *IERC721Raw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
  9256. return _IERC721.Contract.IERC721Transactor.contract.Transfer(opts)
  9257. }
  9258. // Transact invokes the (paid) contract method with params as input values.
  9259. func (_IERC721 *IERC721Raw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
  9260. return _IERC721.Contract.IERC721Transactor.contract.Transact(opts, method, params...)
  9261. }
  9262. // Call invokes the (constant) contract method with params as input values and
  9263. // sets the output to result. The result type might be a single field for simple
  9264. // returns, a slice of interfaces for anonymous returns and a struct for named
  9265. // returns.
  9266. func (_IERC721 *IERC721CallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
  9267. return _IERC721.Contract.contract.Call(opts, result, method, params...)
  9268. }
  9269. // Transfer initiates a plain transaction to move funds to the contract, calling
  9270. // its default method if one is available.
  9271. func (_IERC721 *IERC721TransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
  9272. return _IERC721.Contract.contract.Transfer(opts)
  9273. }
  9274. // Transact invokes the (paid) contract method with params as input values.
  9275. func (_IERC721 *IERC721TransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
  9276. return _IERC721.Contract.contract.Transact(opts, method, params...)
  9277. }
  9278. // BalanceOf is a free data retrieval call binding the contract method 0x70a08231.
  9279. //
  9280. // Solidity: function balanceOf(address owner) view returns(uint256 balance)
  9281. func (_IERC721 *IERC721Caller) BalanceOf(opts *bind.CallOpts, owner common.Address) (*big.Int, error) {
  9282. var out []interface{}
  9283. err := _IERC721.contract.Call(opts, &out, "balanceOf", owner)
  9284. if err != nil {
  9285. return *new(*big.Int), err
  9286. }
  9287. out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
  9288. return out0, err
  9289. }
  9290. // BalanceOf is a free data retrieval call binding the contract method 0x70a08231.
  9291. //
  9292. // Solidity: function balanceOf(address owner) view returns(uint256 balance)
  9293. func (_IERC721 *IERC721Session) BalanceOf(owner common.Address) (*big.Int, error) {
  9294. return _IERC721.Contract.BalanceOf(&_IERC721.CallOpts, owner)
  9295. }
  9296. // BalanceOf is a free data retrieval call binding the contract method 0x70a08231.
  9297. //
  9298. // Solidity: function balanceOf(address owner) view returns(uint256 balance)
  9299. func (_IERC721 *IERC721CallerSession) BalanceOf(owner common.Address) (*big.Int, error) {
  9300. return _IERC721.Contract.BalanceOf(&_IERC721.CallOpts, owner)
  9301. }
  9302. // GetApproved is a free data retrieval call binding the contract method 0x081812fc.
  9303. //
  9304. // Solidity: function getApproved(uint256 tokenId) view returns(address operator)
  9305. func (_IERC721 *IERC721Caller) GetApproved(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) {
  9306. var out []interface{}
  9307. err := _IERC721.contract.Call(opts, &out, "getApproved", tokenId)
  9308. if err != nil {
  9309. return *new(common.Address), err
  9310. }
  9311. out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
  9312. return out0, err
  9313. }
  9314. // GetApproved is a free data retrieval call binding the contract method 0x081812fc.
  9315. //
  9316. // Solidity: function getApproved(uint256 tokenId) view returns(address operator)
  9317. func (_IERC721 *IERC721Session) GetApproved(tokenId *big.Int) (common.Address, error) {
  9318. return _IERC721.Contract.GetApproved(&_IERC721.CallOpts, tokenId)
  9319. }
  9320. // GetApproved is a free data retrieval call binding the contract method 0x081812fc.
  9321. //
  9322. // Solidity: function getApproved(uint256 tokenId) view returns(address operator)
  9323. func (_IERC721 *IERC721CallerSession) GetApproved(tokenId *big.Int) (common.Address, error) {
  9324. return _IERC721.Contract.GetApproved(&_IERC721.CallOpts, tokenId)
  9325. }
  9326. // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5.
  9327. //
  9328. // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool)
  9329. func (_IERC721 *IERC721Caller) IsApprovedForAll(opts *bind.CallOpts, owner common.Address, operator common.Address) (bool, error) {
  9330. var out []interface{}
  9331. err := _IERC721.contract.Call(opts, &out, "isApprovedForAll", owner, operator)
  9332. if err != nil {
  9333. return *new(bool), err
  9334. }
  9335. out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
  9336. return out0, err
  9337. }
  9338. // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5.
  9339. //
  9340. // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool)
  9341. func (_IERC721 *IERC721Session) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) {
  9342. return _IERC721.Contract.IsApprovedForAll(&_IERC721.CallOpts, owner, operator)
  9343. }
  9344. // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5.
  9345. //
  9346. // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool)
  9347. func (_IERC721 *IERC721CallerSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) {
  9348. return _IERC721.Contract.IsApprovedForAll(&_IERC721.CallOpts, owner, operator)
  9349. }
  9350. // OwnerOf is a free data retrieval call binding the contract method 0x6352211e.
  9351. //
  9352. // Solidity: function ownerOf(uint256 tokenId) view returns(address owner)
  9353. func (_IERC721 *IERC721Caller) OwnerOf(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) {
  9354. var out []interface{}
  9355. err := _IERC721.contract.Call(opts, &out, "ownerOf", tokenId)
  9356. if err != nil {
  9357. return *new(common.Address), err
  9358. }
  9359. out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
  9360. return out0, err
  9361. }
  9362. // OwnerOf is a free data retrieval call binding the contract method 0x6352211e.
  9363. //
  9364. // Solidity: function ownerOf(uint256 tokenId) view returns(address owner)
  9365. func (_IERC721 *IERC721Session) OwnerOf(tokenId *big.Int) (common.Address, error) {
  9366. return _IERC721.Contract.OwnerOf(&_IERC721.CallOpts, tokenId)
  9367. }
  9368. // OwnerOf is a free data retrieval call binding the contract method 0x6352211e.
  9369. //
  9370. // Solidity: function ownerOf(uint256 tokenId) view returns(address owner)
  9371. func (_IERC721 *IERC721CallerSession) OwnerOf(tokenId *big.Int) (common.Address, error) {
  9372. return _IERC721.Contract.OwnerOf(&_IERC721.CallOpts, tokenId)
  9373. }
  9374. // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
  9375. //
  9376. // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
  9377. func (_IERC721 *IERC721Caller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) {
  9378. var out []interface{}
  9379. err := _IERC721.contract.Call(opts, &out, "supportsInterface", interfaceId)
  9380. if err != nil {
  9381. return *new(bool), err
  9382. }
  9383. out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
  9384. return out0, err
  9385. }
  9386. // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
  9387. //
  9388. // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
  9389. func (_IERC721 *IERC721Session) SupportsInterface(interfaceId [4]byte) (bool, error) {
  9390. return _IERC721.Contract.SupportsInterface(&_IERC721.CallOpts, interfaceId)
  9391. }
  9392. // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
  9393. //
  9394. // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
  9395. func (_IERC721 *IERC721CallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) {
  9396. return _IERC721.Contract.SupportsInterface(&_IERC721.CallOpts, interfaceId)
  9397. }
  9398. // Approve is a paid mutator transaction binding the contract method 0x095ea7b3.
  9399. //
  9400. // Solidity: function approve(address to, uint256 tokenId) returns()
  9401. func (_IERC721 *IERC721Transactor) Approve(opts *bind.TransactOpts, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
  9402. return _IERC721.contract.Transact(opts, "approve", to, tokenId)
  9403. }
  9404. // Approve is a paid mutator transaction binding the contract method 0x095ea7b3.
  9405. //
  9406. // Solidity: function approve(address to, uint256 tokenId) returns()
  9407. func (_IERC721 *IERC721Session) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) {
  9408. return _IERC721.Contract.Approve(&_IERC721.TransactOpts, to, tokenId)
  9409. }
  9410. // Approve is a paid mutator transaction binding the contract method 0x095ea7b3.
  9411. //
  9412. // Solidity: function approve(address to, uint256 tokenId) returns()
  9413. func (_IERC721 *IERC721TransactorSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) {
  9414. return _IERC721.Contract.Approve(&_IERC721.TransactOpts, to, tokenId)
  9415. }
  9416. // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e.
  9417. //
  9418. // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns()
  9419. func (_IERC721 *IERC721Transactor) SafeTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
  9420. return _IERC721.contract.Transact(opts, "safeTransferFrom", from, to, tokenId)
  9421. }
  9422. // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e.
  9423. //
  9424. // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns()
  9425. func (_IERC721 *IERC721Session) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
  9426. return _IERC721.Contract.SafeTransferFrom(&_IERC721.TransactOpts, from, to, tokenId)
  9427. }
  9428. // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e.
  9429. //
  9430. // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns()
  9431. func (_IERC721 *IERC721TransactorSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
  9432. return _IERC721.Contract.SafeTransferFrom(&_IERC721.TransactOpts, from, to, tokenId)
  9433. }
  9434. // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde.
  9435. //
  9436. // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes data) returns()
  9437. func (_IERC721 *IERC721Transactor) SafeTransferFrom0(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) {
  9438. return _IERC721.contract.Transact(opts, "safeTransferFrom0", from, to, tokenId, data)
  9439. }
  9440. // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde.
  9441. //
  9442. // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes data) returns()
  9443. func (_IERC721 *IERC721Session) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) {
  9444. return _IERC721.Contract.SafeTransferFrom0(&_IERC721.TransactOpts, from, to, tokenId, data)
  9445. }
  9446. // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde.
  9447. //
  9448. // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes data) returns()
  9449. func (_IERC721 *IERC721TransactorSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) {
  9450. return _IERC721.Contract.SafeTransferFrom0(&_IERC721.TransactOpts, from, to, tokenId, data)
  9451. }
  9452. // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465.
  9453. //
  9454. // Solidity: function setApprovalForAll(address operator, bool _approved) returns()
  9455. func (_IERC721 *IERC721Transactor) SetApprovalForAll(opts *bind.TransactOpts, operator common.Address, _approved bool) (*types.Transaction, error) {
  9456. return _IERC721.contract.Transact(opts, "setApprovalForAll", operator, _approved)
  9457. }
  9458. // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465.
  9459. //
  9460. // Solidity: function setApprovalForAll(address operator, bool _approved) returns()
  9461. func (_IERC721 *IERC721Session) SetApprovalForAll(operator common.Address, _approved bool) (*types.Transaction, error) {
  9462. return _IERC721.Contract.SetApprovalForAll(&_IERC721.TransactOpts, operator, _approved)
  9463. }
  9464. // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465.
  9465. //
  9466. // Solidity: function setApprovalForAll(address operator, bool _approved) returns()
  9467. func (_IERC721 *IERC721TransactorSession) SetApprovalForAll(operator common.Address, _approved bool) (*types.Transaction, error) {
  9468. return _IERC721.Contract.SetApprovalForAll(&_IERC721.TransactOpts, operator, _approved)
  9469. }
  9470. // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd.
  9471. //
  9472. // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns()
  9473. func (_IERC721 *IERC721Transactor) TransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
  9474. return _IERC721.contract.Transact(opts, "transferFrom", from, to, tokenId)
  9475. }
  9476. // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd.
  9477. //
  9478. // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns()
  9479. func (_IERC721 *IERC721Session) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
  9480. return _IERC721.Contract.TransferFrom(&_IERC721.TransactOpts, from, to, tokenId)
  9481. }
  9482. // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd.
  9483. //
  9484. // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns()
  9485. func (_IERC721 *IERC721TransactorSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
  9486. return _IERC721.Contract.TransferFrom(&_IERC721.TransactOpts, from, to, tokenId)
  9487. }
  9488. // IERC721ApprovalIterator is returned from FilterApproval and is used to iterate over the raw logs and unpacked data for Approval events raised by the IERC721 contract.
  9489. type IERC721ApprovalIterator struct {
  9490. Event *IERC721Approval // Event containing the contract specifics and raw log
  9491. contract *bind.BoundContract // Generic contract to use for unpacking event data
  9492. event string // Event name to use for unpacking event data
  9493. logs chan types.Log // Log channel receiving the found contract events
  9494. sub ethereum.Subscription // Subscription for errors, completion and termination
  9495. done bool // Whether the subscription completed delivering logs
  9496. fail error // Occurred error to stop iteration
  9497. }
  9498. // Next advances the iterator to the subsequent event, returning whether there
  9499. // are any more events found. In case of a retrieval or parsing error, false is
  9500. // returned and Error() can be queried for the exact failure.
  9501. func (it *IERC721ApprovalIterator) Next() bool {
  9502. // If the iterator failed, stop iterating
  9503. if it.fail != nil {
  9504. return false
  9505. }
  9506. // If the iterator completed, deliver directly whatever's available
  9507. if it.done {
  9508. select {
  9509. case log := <-it.logs:
  9510. it.Event = new(IERC721Approval)
  9511. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  9512. it.fail = err
  9513. return false
  9514. }
  9515. it.Event.Raw = log
  9516. return true
  9517. default:
  9518. return false
  9519. }
  9520. }
  9521. // Iterator still in progress, wait for either a data or an error event
  9522. select {
  9523. case log := <-it.logs:
  9524. it.Event = new(IERC721Approval)
  9525. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  9526. it.fail = err
  9527. return false
  9528. }
  9529. it.Event.Raw = log
  9530. return true
  9531. case err := <-it.sub.Err():
  9532. it.done = true
  9533. it.fail = err
  9534. return it.Next()
  9535. }
  9536. }
  9537. // Error returns any retrieval or parsing error occurred during filtering.
  9538. func (it *IERC721ApprovalIterator) Error() error {
  9539. return it.fail
  9540. }
  9541. // Close terminates the iteration process, releasing any pending underlying
  9542. // resources.
  9543. func (it *IERC721ApprovalIterator) Close() error {
  9544. it.sub.Unsubscribe()
  9545. return nil
  9546. }
  9547. // IERC721Approval represents a Approval event raised by the IERC721 contract.
  9548. type IERC721Approval struct {
  9549. Owner common.Address
  9550. Approved common.Address
  9551. TokenId *big.Int
  9552. Raw types.Log // Blockchain specific contextual infos
  9553. }
  9554. // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925.
  9555. //
  9556. // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)
  9557. func (_IERC721 *IERC721Filterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, approved []common.Address, tokenId []*big.Int) (*IERC721ApprovalIterator, error) {
  9558. var ownerRule []interface{}
  9559. for _, ownerItem := range owner {
  9560. ownerRule = append(ownerRule, ownerItem)
  9561. }
  9562. var approvedRule []interface{}
  9563. for _, approvedItem := range approved {
  9564. approvedRule = append(approvedRule, approvedItem)
  9565. }
  9566. var tokenIdRule []interface{}
  9567. for _, tokenIdItem := range tokenId {
  9568. tokenIdRule = append(tokenIdRule, tokenIdItem)
  9569. }
  9570. logs, sub, err := _IERC721.contract.FilterLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule)
  9571. if err != nil {
  9572. return nil, err
  9573. }
  9574. return &IERC721ApprovalIterator{contract: _IERC721.contract, event: "Approval", logs: logs, sub: sub}, nil
  9575. }
  9576. // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925.
  9577. //
  9578. // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)
  9579. func (_IERC721 *IERC721Filterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *IERC721Approval, owner []common.Address, approved []common.Address, tokenId []*big.Int) (event.Subscription, error) {
  9580. var ownerRule []interface{}
  9581. for _, ownerItem := range owner {
  9582. ownerRule = append(ownerRule, ownerItem)
  9583. }
  9584. var approvedRule []interface{}
  9585. for _, approvedItem := range approved {
  9586. approvedRule = append(approvedRule, approvedItem)
  9587. }
  9588. var tokenIdRule []interface{}
  9589. for _, tokenIdItem := range tokenId {
  9590. tokenIdRule = append(tokenIdRule, tokenIdItem)
  9591. }
  9592. logs, sub, err := _IERC721.contract.WatchLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule)
  9593. if err != nil {
  9594. return nil, err
  9595. }
  9596. return event.NewSubscription(func(quit <-chan struct{}) error {
  9597. defer sub.Unsubscribe()
  9598. for {
  9599. select {
  9600. case log := <-logs:
  9601. // New log arrived, parse the event and forward to the user
  9602. event := new(IERC721Approval)
  9603. if err := _IERC721.contract.UnpackLog(event, "Approval", log); err != nil {
  9604. return err
  9605. }
  9606. event.Raw = log
  9607. select {
  9608. case sink <- event:
  9609. case err := <-sub.Err():
  9610. return err
  9611. case <-quit:
  9612. return nil
  9613. }
  9614. case err := <-sub.Err():
  9615. return err
  9616. case <-quit:
  9617. return nil
  9618. }
  9619. }
  9620. }), nil
  9621. }
  9622. // ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925.
  9623. //
  9624. // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)
  9625. func (_IERC721 *IERC721Filterer) ParseApproval(log types.Log) (*IERC721Approval, error) {
  9626. event := new(IERC721Approval)
  9627. if err := _IERC721.contract.UnpackLog(event, "Approval", log); err != nil {
  9628. return nil, err
  9629. }
  9630. event.Raw = log
  9631. return event, nil
  9632. }
  9633. // IERC721ApprovalForAllIterator is returned from FilterApprovalForAll and is used to iterate over the raw logs and unpacked data for ApprovalForAll events raised by the IERC721 contract.
  9634. type IERC721ApprovalForAllIterator struct {
  9635. Event *IERC721ApprovalForAll // Event containing the contract specifics and raw log
  9636. contract *bind.BoundContract // Generic contract to use for unpacking event data
  9637. event string // Event name to use for unpacking event data
  9638. logs chan types.Log // Log channel receiving the found contract events
  9639. sub ethereum.Subscription // Subscription for errors, completion and termination
  9640. done bool // Whether the subscription completed delivering logs
  9641. fail error // Occurred error to stop iteration
  9642. }
  9643. // Next advances the iterator to the subsequent event, returning whether there
  9644. // are any more events found. In case of a retrieval or parsing error, false is
  9645. // returned and Error() can be queried for the exact failure.
  9646. func (it *IERC721ApprovalForAllIterator) Next() bool {
  9647. // If the iterator failed, stop iterating
  9648. if it.fail != nil {
  9649. return false
  9650. }
  9651. // If the iterator completed, deliver directly whatever's available
  9652. if it.done {
  9653. select {
  9654. case log := <-it.logs:
  9655. it.Event = new(IERC721ApprovalForAll)
  9656. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  9657. it.fail = err
  9658. return false
  9659. }
  9660. it.Event.Raw = log
  9661. return true
  9662. default:
  9663. return false
  9664. }
  9665. }
  9666. // Iterator still in progress, wait for either a data or an error event
  9667. select {
  9668. case log := <-it.logs:
  9669. it.Event = new(IERC721ApprovalForAll)
  9670. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  9671. it.fail = err
  9672. return false
  9673. }
  9674. it.Event.Raw = log
  9675. return true
  9676. case err := <-it.sub.Err():
  9677. it.done = true
  9678. it.fail = err
  9679. return it.Next()
  9680. }
  9681. }
  9682. // Error returns any retrieval or parsing error occurred during filtering.
  9683. func (it *IERC721ApprovalForAllIterator) Error() error {
  9684. return it.fail
  9685. }
  9686. // Close terminates the iteration process, releasing any pending underlying
  9687. // resources.
  9688. func (it *IERC721ApprovalForAllIterator) Close() error {
  9689. it.sub.Unsubscribe()
  9690. return nil
  9691. }
  9692. // IERC721ApprovalForAll represents a ApprovalForAll event raised by the IERC721 contract.
  9693. type IERC721ApprovalForAll struct {
  9694. Owner common.Address
  9695. Operator common.Address
  9696. Approved bool
  9697. Raw types.Log // Blockchain specific contextual infos
  9698. }
  9699. // FilterApprovalForAll is a free log retrieval operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31.
  9700. //
  9701. // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved)
  9702. func (_IERC721 *IERC721Filterer) FilterApprovalForAll(opts *bind.FilterOpts, owner []common.Address, operator []common.Address) (*IERC721ApprovalForAllIterator, error) {
  9703. var ownerRule []interface{}
  9704. for _, ownerItem := range owner {
  9705. ownerRule = append(ownerRule, ownerItem)
  9706. }
  9707. var operatorRule []interface{}
  9708. for _, operatorItem := range operator {
  9709. operatorRule = append(operatorRule, operatorItem)
  9710. }
  9711. logs, sub, err := _IERC721.contract.FilterLogs(opts, "ApprovalForAll", ownerRule, operatorRule)
  9712. if err != nil {
  9713. return nil, err
  9714. }
  9715. return &IERC721ApprovalForAllIterator{contract: _IERC721.contract, event: "ApprovalForAll", logs: logs, sub: sub}, nil
  9716. }
  9717. // WatchApprovalForAll is a free log subscription operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31.
  9718. //
  9719. // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved)
  9720. func (_IERC721 *IERC721Filterer) WatchApprovalForAll(opts *bind.WatchOpts, sink chan<- *IERC721ApprovalForAll, owner []common.Address, operator []common.Address) (event.Subscription, error) {
  9721. var ownerRule []interface{}
  9722. for _, ownerItem := range owner {
  9723. ownerRule = append(ownerRule, ownerItem)
  9724. }
  9725. var operatorRule []interface{}
  9726. for _, operatorItem := range operator {
  9727. operatorRule = append(operatorRule, operatorItem)
  9728. }
  9729. logs, sub, err := _IERC721.contract.WatchLogs(opts, "ApprovalForAll", ownerRule, operatorRule)
  9730. if err != nil {
  9731. return nil, err
  9732. }
  9733. return event.NewSubscription(func(quit <-chan struct{}) error {
  9734. defer sub.Unsubscribe()
  9735. for {
  9736. select {
  9737. case log := <-logs:
  9738. // New log arrived, parse the event and forward to the user
  9739. event := new(IERC721ApprovalForAll)
  9740. if err := _IERC721.contract.UnpackLog(event, "ApprovalForAll", log); err != nil {
  9741. return err
  9742. }
  9743. event.Raw = log
  9744. select {
  9745. case sink <- event:
  9746. case err := <-sub.Err():
  9747. return err
  9748. case <-quit:
  9749. return nil
  9750. }
  9751. case err := <-sub.Err():
  9752. return err
  9753. case <-quit:
  9754. return nil
  9755. }
  9756. }
  9757. }), nil
  9758. }
  9759. // ParseApprovalForAll is a log parse operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31.
  9760. //
  9761. // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved)
  9762. func (_IERC721 *IERC721Filterer) ParseApprovalForAll(log types.Log) (*IERC721ApprovalForAll, error) {
  9763. event := new(IERC721ApprovalForAll)
  9764. if err := _IERC721.contract.UnpackLog(event, "ApprovalForAll", log); err != nil {
  9765. return nil, err
  9766. }
  9767. event.Raw = log
  9768. return event, nil
  9769. }
  9770. // IERC721TransferIterator is returned from FilterTransfer and is used to iterate over the raw logs and unpacked data for Transfer events raised by the IERC721 contract.
  9771. type IERC721TransferIterator struct {
  9772. Event *IERC721Transfer // Event containing the contract specifics and raw log
  9773. contract *bind.BoundContract // Generic contract to use for unpacking event data
  9774. event string // Event name to use for unpacking event data
  9775. logs chan types.Log // Log channel receiving the found contract events
  9776. sub ethereum.Subscription // Subscription for errors, completion and termination
  9777. done bool // Whether the subscription completed delivering logs
  9778. fail error // Occurred error to stop iteration
  9779. }
  9780. // Next advances the iterator to the subsequent event, returning whether there
  9781. // are any more events found. In case of a retrieval or parsing error, false is
  9782. // returned and Error() can be queried for the exact failure.
  9783. func (it *IERC721TransferIterator) Next() bool {
  9784. // If the iterator failed, stop iterating
  9785. if it.fail != nil {
  9786. return false
  9787. }
  9788. // If the iterator completed, deliver directly whatever's available
  9789. if it.done {
  9790. select {
  9791. case log := <-it.logs:
  9792. it.Event = new(IERC721Transfer)
  9793. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  9794. it.fail = err
  9795. return false
  9796. }
  9797. it.Event.Raw = log
  9798. return true
  9799. default:
  9800. return false
  9801. }
  9802. }
  9803. // Iterator still in progress, wait for either a data or an error event
  9804. select {
  9805. case log := <-it.logs:
  9806. it.Event = new(IERC721Transfer)
  9807. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  9808. it.fail = err
  9809. return false
  9810. }
  9811. it.Event.Raw = log
  9812. return true
  9813. case err := <-it.sub.Err():
  9814. it.done = true
  9815. it.fail = err
  9816. return it.Next()
  9817. }
  9818. }
  9819. // Error returns any retrieval or parsing error occurred during filtering.
  9820. func (it *IERC721TransferIterator) Error() error {
  9821. return it.fail
  9822. }
  9823. // Close terminates the iteration process, releasing any pending underlying
  9824. // resources.
  9825. func (it *IERC721TransferIterator) Close() error {
  9826. it.sub.Unsubscribe()
  9827. return nil
  9828. }
  9829. // IERC721Transfer represents a Transfer event raised by the IERC721 contract.
  9830. type IERC721Transfer struct {
  9831. From common.Address
  9832. To common.Address
  9833. TokenId *big.Int
  9834. Raw types.Log // Blockchain specific contextual infos
  9835. }
  9836. // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef.
  9837. //
  9838. // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)
  9839. func (_IERC721 *IERC721Filterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address, tokenId []*big.Int) (*IERC721TransferIterator, error) {
  9840. var fromRule []interface{}
  9841. for _, fromItem := range from {
  9842. fromRule = append(fromRule, fromItem)
  9843. }
  9844. var toRule []interface{}
  9845. for _, toItem := range to {
  9846. toRule = append(toRule, toItem)
  9847. }
  9848. var tokenIdRule []interface{}
  9849. for _, tokenIdItem := range tokenId {
  9850. tokenIdRule = append(tokenIdRule, tokenIdItem)
  9851. }
  9852. logs, sub, err := _IERC721.contract.FilterLogs(opts, "Transfer", fromRule, toRule, tokenIdRule)
  9853. if err != nil {
  9854. return nil, err
  9855. }
  9856. return &IERC721TransferIterator{contract: _IERC721.contract, event: "Transfer", logs: logs, sub: sub}, nil
  9857. }
  9858. // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef.
  9859. //
  9860. // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)
  9861. func (_IERC721 *IERC721Filterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *IERC721Transfer, from []common.Address, to []common.Address, tokenId []*big.Int) (event.Subscription, error) {
  9862. var fromRule []interface{}
  9863. for _, fromItem := range from {
  9864. fromRule = append(fromRule, fromItem)
  9865. }
  9866. var toRule []interface{}
  9867. for _, toItem := range to {
  9868. toRule = append(toRule, toItem)
  9869. }
  9870. var tokenIdRule []interface{}
  9871. for _, tokenIdItem := range tokenId {
  9872. tokenIdRule = append(tokenIdRule, tokenIdItem)
  9873. }
  9874. logs, sub, err := _IERC721.contract.WatchLogs(opts, "Transfer", fromRule, toRule, tokenIdRule)
  9875. if err != nil {
  9876. return nil, err
  9877. }
  9878. return event.NewSubscription(func(quit <-chan struct{}) error {
  9879. defer sub.Unsubscribe()
  9880. for {
  9881. select {
  9882. case log := <-logs:
  9883. // New log arrived, parse the event and forward to the user
  9884. event := new(IERC721Transfer)
  9885. if err := _IERC721.contract.UnpackLog(event, "Transfer", log); err != nil {
  9886. return err
  9887. }
  9888. event.Raw = log
  9889. select {
  9890. case sink <- event:
  9891. case err := <-sub.Err():
  9892. return err
  9893. case <-quit:
  9894. return nil
  9895. }
  9896. case err := <-sub.Err():
  9897. return err
  9898. case <-quit:
  9899. return nil
  9900. }
  9901. }
  9902. }), nil
  9903. }
  9904. // ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef.
  9905. //
  9906. // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)
  9907. func (_IERC721 *IERC721Filterer) ParseTransfer(log types.Log) (*IERC721Transfer, error) {
  9908. event := new(IERC721Transfer)
  9909. if err := _IERC721.contract.UnpackLog(event, "Transfer", log); err != nil {
  9910. return nil, err
  9911. }
  9912. event.Raw = log
  9913. return event, nil
  9914. }
  9915. // IERC721EnumerableMetaData contains all meta data concerning the IERC721Enumerable contract.
  9916. var IERC721EnumerableMetaData = &bind.MetaData{
  9917. ABI: "[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenOfOwnerByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]",
  9918. Sigs: map[string]string{
  9919. "095ea7b3": "approve(address,uint256)",
  9920. "70a08231": "balanceOf(address)",
  9921. "081812fc": "getApproved(uint256)",
  9922. "e985e9c5": "isApprovedForAll(address,address)",
  9923. "6352211e": "ownerOf(uint256)",
  9924. "42842e0e": "safeTransferFrom(address,address,uint256)",
  9925. "b88d4fde": "safeTransferFrom(address,address,uint256,bytes)",
  9926. "a22cb465": "setApprovalForAll(address,bool)",
  9927. "01ffc9a7": "supportsInterface(bytes4)",
  9928. "4f6ccce7": "tokenByIndex(uint256)",
  9929. "2f745c59": "tokenOfOwnerByIndex(address,uint256)",
  9930. "18160ddd": "totalSupply()",
  9931. "23b872dd": "transferFrom(address,address,uint256)",
  9932. },
  9933. }
  9934. // IERC721EnumerableABI is the input ABI used to generate the binding from.
  9935. // Deprecated: Use IERC721EnumerableMetaData.ABI instead.
  9936. var IERC721EnumerableABI = IERC721EnumerableMetaData.ABI
  9937. // Deprecated: Use IERC721EnumerableMetaData.Sigs instead.
  9938. // IERC721EnumerableFuncSigs maps the 4-byte function signature to its string representation.
  9939. var IERC721EnumerableFuncSigs = IERC721EnumerableMetaData.Sigs
  9940. // IERC721Enumerable is an auto generated Go binding around an Ethereum contract.
  9941. type IERC721Enumerable struct {
  9942. IERC721EnumerableCaller // Read-only binding to the contract
  9943. IERC721EnumerableTransactor // Write-only binding to the contract
  9944. IERC721EnumerableFilterer // Log filterer for contract events
  9945. }
  9946. // IERC721EnumerableCaller is an auto generated read-only Go binding around an Ethereum contract.
  9947. type IERC721EnumerableCaller struct {
  9948. contract *bind.BoundContract // Generic contract wrapper for the low level calls
  9949. }
  9950. // IERC721EnumerableTransactor is an auto generated write-only Go binding around an Ethereum contract.
  9951. type IERC721EnumerableTransactor struct {
  9952. contract *bind.BoundContract // Generic contract wrapper for the low level calls
  9953. }
  9954. // IERC721EnumerableFilterer is an auto generated log filtering Go binding around an Ethereum contract events.
  9955. type IERC721EnumerableFilterer struct {
  9956. contract *bind.BoundContract // Generic contract wrapper for the low level calls
  9957. }
  9958. // IERC721EnumerableSession is an auto generated Go binding around an Ethereum contract,
  9959. // with pre-set call and transact options.
  9960. type IERC721EnumerableSession struct {
  9961. Contract *IERC721Enumerable // Generic contract binding to set the session for
  9962. CallOpts bind.CallOpts // Call options to use throughout this session
  9963. TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
  9964. }
  9965. // IERC721EnumerableCallerSession is an auto generated read-only Go binding around an Ethereum contract,
  9966. // with pre-set call options.
  9967. type IERC721EnumerableCallerSession struct {
  9968. Contract *IERC721EnumerableCaller // Generic contract caller binding to set the session for
  9969. CallOpts bind.CallOpts // Call options to use throughout this session
  9970. }
  9971. // IERC721EnumerableTransactorSession is an auto generated write-only Go binding around an Ethereum contract,
  9972. // with pre-set transact options.
  9973. type IERC721EnumerableTransactorSession struct {
  9974. Contract *IERC721EnumerableTransactor // Generic contract transactor binding to set the session for
  9975. TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
  9976. }
  9977. // IERC721EnumerableRaw is an auto generated low-level Go binding around an Ethereum contract.
  9978. type IERC721EnumerableRaw struct {
  9979. Contract *IERC721Enumerable // Generic contract binding to access the raw methods on
  9980. }
  9981. // IERC721EnumerableCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
  9982. type IERC721EnumerableCallerRaw struct {
  9983. Contract *IERC721EnumerableCaller // Generic read-only contract binding to access the raw methods on
  9984. }
  9985. // IERC721EnumerableTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
  9986. type IERC721EnumerableTransactorRaw struct {
  9987. Contract *IERC721EnumerableTransactor // Generic write-only contract binding to access the raw methods on
  9988. }
  9989. // NewIERC721Enumerable creates a new instance of IERC721Enumerable, bound to a specific deployed contract.
  9990. func NewIERC721Enumerable(address common.Address, backend bind.ContractBackend) (*IERC721Enumerable, error) {
  9991. contract, err := bindIERC721Enumerable(address, backend, backend, backend)
  9992. if err != nil {
  9993. return nil, err
  9994. }
  9995. return &IERC721Enumerable{IERC721EnumerableCaller: IERC721EnumerableCaller{contract: contract}, IERC721EnumerableTransactor: IERC721EnumerableTransactor{contract: contract}, IERC721EnumerableFilterer: IERC721EnumerableFilterer{contract: contract}}, nil
  9996. }
  9997. // NewIERC721EnumerableCaller creates a new read-only instance of IERC721Enumerable, bound to a specific deployed contract.
  9998. func NewIERC721EnumerableCaller(address common.Address, caller bind.ContractCaller) (*IERC721EnumerableCaller, error) {
  9999. contract, err := bindIERC721Enumerable(address, caller, nil, nil)
  10000. if err != nil {
  10001. return nil, err
  10002. }
  10003. return &IERC721EnumerableCaller{contract: contract}, nil
  10004. }
  10005. // NewIERC721EnumerableTransactor creates a new write-only instance of IERC721Enumerable, bound to a specific deployed contract.
  10006. func NewIERC721EnumerableTransactor(address common.Address, transactor bind.ContractTransactor) (*IERC721EnumerableTransactor, error) {
  10007. contract, err := bindIERC721Enumerable(address, nil, transactor, nil)
  10008. if err != nil {
  10009. return nil, err
  10010. }
  10011. return &IERC721EnumerableTransactor{contract: contract}, nil
  10012. }
  10013. // NewIERC721EnumerableFilterer creates a new log filterer instance of IERC721Enumerable, bound to a specific deployed contract.
  10014. func NewIERC721EnumerableFilterer(address common.Address, filterer bind.ContractFilterer) (*IERC721EnumerableFilterer, error) {
  10015. contract, err := bindIERC721Enumerable(address, nil, nil, filterer)
  10016. if err != nil {
  10017. return nil, err
  10018. }
  10019. return &IERC721EnumerableFilterer{contract: contract}, nil
  10020. }
  10021. // bindIERC721Enumerable binds a generic wrapper to an already deployed contract.
  10022. func bindIERC721Enumerable(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
  10023. parsed, err := abi.JSON(strings.NewReader(IERC721EnumerableABI))
  10024. if err != nil {
  10025. return nil, err
  10026. }
  10027. return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil
  10028. }
  10029. // Call invokes the (constant) contract method with params as input values and
  10030. // sets the output to result. The result type might be a single field for simple
  10031. // returns, a slice of interfaces for anonymous returns and a struct for named
  10032. // returns.
  10033. func (_IERC721Enumerable *IERC721EnumerableRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
  10034. return _IERC721Enumerable.Contract.IERC721EnumerableCaller.contract.Call(opts, result, method, params...)
  10035. }
  10036. // Transfer initiates a plain transaction to move funds to the contract, calling
  10037. // its default method if one is available.
  10038. func (_IERC721Enumerable *IERC721EnumerableRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
  10039. return _IERC721Enumerable.Contract.IERC721EnumerableTransactor.contract.Transfer(opts)
  10040. }
  10041. // Transact invokes the (paid) contract method with params as input values.
  10042. func (_IERC721Enumerable *IERC721EnumerableRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
  10043. return _IERC721Enumerable.Contract.IERC721EnumerableTransactor.contract.Transact(opts, method, params...)
  10044. }
  10045. // Call invokes the (constant) contract method with params as input values and
  10046. // sets the output to result. The result type might be a single field for simple
  10047. // returns, a slice of interfaces for anonymous returns and a struct for named
  10048. // returns.
  10049. func (_IERC721Enumerable *IERC721EnumerableCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
  10050. return _IERC721Enumerable.Contract.contract.Call(opts, result, method, params...)
  10051. }
  10052. // Transfer initiates a plain transaction to move funds to the contract, calling
  10053. // its default method if one is available.
  10054. func (_IERC721Enumerable *IERC721EnumerableTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
  10055. return _IERC721Enumerable.Contract.contract.Transfer(opts)
  10056. }
  10057. // Transact invokes the (paid) contract method with params as input values.
  10058. func (_IERC721Enumerable *IERC721EnumerableTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
  10059. return _IERC721Enumerable.Contract.contract.Transact(opts, method, params...)
  10060. }
  10061. // BalanceOf is a free data retrieval call binding the contract method 0x70a08231.
  10062. //
  10063. // Solidity: function balanceOf(address owner) view returns(uint256 balance)
  10064. func (_IERC721Enumerable *IERC721EnumerableCaller) BalanceOf(opts *bind.CallOpts, owner common.Address) (*big.Int, error) {
  10065. var out []interface{}
  10066. err := _IERC721Enumerable.contract.Call(opts, &out, "balanceOf", owner)
  10067. if err != nil {
  10068. return *new(*big.Int), err
  10069. }
  10070. out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
  10071. return out0, err
  10072. }
  10073. // BalanceOf is a free data retrieval call binding the contract method 0x70a08231.
  10074. //
  10075. // Solidity: function balanceOf(address owner) view returns(uint256 balance)
  10076. func (_IERC721Enumerable *IERC721EnumerableSession) BalanceOf(owner common.Address) (*big.Int, error) {
  10077. return _IERC721Enumerable.Contract.BalanceOf(&_IERC721Enumerable.CallOpts, owner)
  10078. }
  10079. // BalanceOf is a free data retrieval call binding the contract method 0x70a08231.
  10080. //
  10081. // Solidity: function balanceOf(address owner) view returns(uint256 balance)
  10082. func (_IERC721Enumerable *IERC721EnumerableCallerSession) BalanceOf(owner common.Address) (*big.Int, error) {
  10083. return _IERC721Enumerable.Contract.BalanceOf(&_IERC721Enumerable.CallOpts, owner)
  10084. }
  10085. // GetApproved is a free data retrieval call binding the contract method 0x081812fc.
  10086. //
  10087. // Solidity: function getApproved(uint256 tokenId) view returns(address operator)
  10088. func (_IERC721Enumerable *IERC721EnumerableCaller) GetApproved(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) {
  10089. var out []interface{}
  10090. err := _IERC721Enumerable.contract.Call(opts, &out, "getApproved", tokenId)
  10091. if err != nil {
  10092. return *new(common.Address), err
  10093. }
  10094. out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
  10095. return out0, err
  10096. }
  10097. // GetApproved is a free data retrieval call binding the contract method 0x081812fc.
  10098. //
  10099. // Solidity: function getApproved(uint256 tokenId) view returns(address operator)
  10100. func (_IERC721Enumerable *IERC721EnumerableSession) GetApproved(tokenId *big.Int) (common.Address, error) {
  10101. return _IERC721Enumerable.Contract.GetApproved(&_IERC721Enumerable.CallOpts, tokenId)
  10102. }
  10103. // GetApproved is a free data retrieval call binding the contract method 0x081812fc.
  10104. //
  10105. // Solidity: function getApproved(uint256 tokenId) view returns(address operator)
  10106. func (_IERC721Enumerable *IERC721EnumerableCallerSession) GetApproved(tokenId *big.Int) (common.Address, error) {
  10107. return _IERC721Enumerable.Contract.GetApproved(&_IERC721Enumerable.CallOpts, tokenId)
  10108. }
  10109. // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5.
  10110. //
  10111. // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool)
  10112. func (_IERC721Enumerable *IERC721EnumerableCaller) IsApprovedForAll(opts *bind.CallOpts, owner common.Address, operator common.Address) (bool, error) {
  10113. var out []interface{}
  10114. err := _IERC721Enumerable.contract.Call(opts, &out, "isApprovedForAll", owner, operator)
  10115. if err != nil {
  10116. return *new(bool), err
  10117. }
  10118. out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
  10119. return out0, err
  10120. }
  10121. // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5.
  10122. //
  10123. // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool)
  10124. func (_IERC721Enumerable *IERC721EnumerableSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) {
  10125. return _IERC721Enumerable.Contract.IsApprovedForAll(&_IERC721Enumerable.CallOpts, owner, operator)
  10126. }
  10127. // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5.
  10128. //
  10129. // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool)
  10130. func (_IERC721Enumerable *IERC721EnumerableCallerSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) {
  10131. return _IERC721Enumerable.Contract.IsApprovedForAll(&_IERC721Enumerable.CallOpts, owner, operator)
  10132. }
  10133. // OwnerOf is a free data retrieval call binding the contract method 0x6352211e.
  10134. //
  10135. // Solidity: function ownerOf(uint256 tokenId) view returns(address owner)
  10136. func (_IERC721Enumerable *IERC721EnumerableCaller) OwnerOf(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) {
  10137. var out []interface{}
  10138. err := _IERC721Enumerable.contract.Call(opts, &out, "ownerOf", tokenId)
  10139. if err != nil {
  10140. return *new(common.Address), err
  10141. }
  10142. out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
  10143. return out0, err
  10144. }
  10145. // OwnerOf is a free data retrieval call binding the contract method 0x6352211e.
  10146. //
  10147. // Solidity: function ownerOf(uint256 tokenId) view returns(address owner)
  10148. func (_IERC721Enumerable *IERC721EnumerableSession) OwnerOf(tokenId *big.Int) (common.Address, error) {
  10149. return _IERC721Enumerable.Contract.OwnerOf(&_IERC721Enumerable.CallOpts, tokenId)
  10150. }
  10151. // OwnerOf is a free data retrieval call binding the contract method 0x6352211e.
  10152. //
  10153. // Solidity: function ownerOf(uint256 tokenId) view returns(address owner)
  10154. func (_IERC721Enumerable *IERC721EnumerableCallerSession) OwnerOf(tokenId *big.Int) (common.Address, error) {
  10155. return _IERC721Enumerable.Contract.OwnerOf(&_IERC721Enumerable.CallOpts, tokenId)
  10156. }
  10157. // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
  10158. //
  10159. // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
  10160. func (_IERC721Enumerable *IERC721EnumerableCaller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) {
  10161. var out []interface{}
  10162. err := _IERC721Enumerable.contract.Call(opts, &out, "supportsInterface", interfaceId)
  10163. if err != nil {
  10164. return *new(bool), err
  10165. }
  10166. out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
  10167. return out0, err
  10168. }
  10169. // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
  10170. //
  10171. // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
  10172. func (_IERC721Enumerable *IERC721EnumerableSession) SupportsInterface(interfaceId [4]byte) (bool, error) {
  10173. return _IERC721Enumerable.Contract.SupportsInterface(&_IERC721Enumerable.CallOpts, interfaceId)
  10174. }
  10175. // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
  10176. //
  10177. // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
  10178. func (_IERC721Enumerable *IERC721EnumerableCallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) {
  10179. return _IERC721Enumerable.Contract.SupportsInterface(&_IERC721Enumerable.CallOpts, interfaceId)
  10180. }
  10181. // TokenByIndex is a free data retrieval call binding the contract method 0x4f6ccce7.
  10182. //
  10183. // Solidity: function tokenByIndex(uint256 index) view returns(uint256)
  10184. func (_IERC721Enumerable *IERC721EnumerableCaller) TokenByIndex(opts *bind.CallOpts, index *big.Int) (*big.Int, error) {
  10185. var out []interface{}
  10186. err := _IERC721Enumerable.contract.Call(opts, &out, "tokenByIndex", index)
  10187. if err != nil {
  10188. return *new(*big.Int), err
  10189. }
  10190. out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
  10191. return out0, err
  10192. }
  10193. // TokenByIndex is a free data retrieval call binding the contract method 0x4f6ccce7.
  10194. //
  10195. // Solidity: function tokenByIndex(uint256 index) view returns(uint256)
  10196. func (_IERC721Enumerable *IERC721EnumerableSession) TokenByIndex(index *big.Int) (*big.Int, error) {
  10197. return _IERC721Enumerable.Contract.TokenByIndex(&_IERC721Enumerable.CallOpts, index)
  10198. }
  10199. // TokenByIndex is a free data retrieval call binding the contract method 0x4f6ccce7.
  10200. //
  10201. // Solidity: function tokenByIndex(uint256 index) view returns(uint256)
  10202. func (_IERC721Enumerable *IERC721EnumerableCallerSession) TokenByIndex(index *big.Int) (*big.Int, error) {
  10203. return _IERC721Enumerable.Contract.TokenByIndex(&_IERC721Enumerable.CallOpts, index)
  10204. }
  10205. // TokenOfOwnerByIndex is a free data retrieval call binding the contract method 0x2f745c59.
  10206. //
  10207. // Solidity: function tokenOfOwnerByIndex(address owner, uint256 index) view returns(uint256)
  10208. func (_IERC721Enumerable *IERC721EnumerableCaller) TokenOfOwnerByIndex(opts *bind.CallOpts, owner common.Address, index *big.Int) (*big.Int, error) {
  10209. var out []interface{}
  10210. err := _IERC721Enumerable.contract.Call(opts, &out, "tokenOfOwnerByIndex", owner, index)
  10211. if err != nil {
  10212. return *new(*big.Int), err
  10213. }
  10214. out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
  10215. return out0, err
  10216. }
  10217. // TokenOfOwnerByIndex is a free data retrieval call binding the contract method 0x2f745c59.
  10218. //
  10219. // Solidity: function tokenOfOwnerByIndex(address owner, uint256 index) view returns(uint256)
  10220. func (_IERC721Enumerable *IERC721EnumerableSession) TokenOfOwnerByIndex(owner common.Address, index *big.Int) (*big.Int, error) {
  10221. return _IERC721Enumerable.Contract.TokenOfOwnerByIndex(&_IERC721Enumerable.CallOpts, owner, index)
  10222. }
  10223. // TokenOfOwnerByIndex is a free data retrieval call binding the contract method 0x2f745c59.
  10224. //
  10225. // Solidity: function tokenOfOwnerByIndex(address owner, uint256 index) view returns(uint256)
  10226. func (_IERC721Enumerable *IERC721EnumerableCallerSession) TokenOfOwnerByIndex(owner common.Address, index *big.Int) (*big.Int, error) {
  10227. return _IERC721Enumerable.Contract.TokenOfOwnerByIndex(&_IERC721Enumerable.CallOpts, owner, index)
  10228. }
  10229. // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd.
  10230. //
  10231. // Solidity: function totalSupply() view returns(uint256)
  10232. func (_IERC721Enumerable *IERC721EnumerableCaller) TotalSupply(opts *bind.CallOpts) (*big.Int, error) {
  10233. var out []interface{}
  10234. err := _IERC721Enumerable.contract.Call(opts, &out, "totalSupply")
  10235. if err != nil {
  10236. return *new(*big.Int), err
  10237. }
  10238. out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
  10239. return out0, err
  10240. }
  10241. // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd.
  10242. //
  10243. // Solidity: function totalSupply() view returns(uint256)
  10244. func (_IERC721Enumerable *IERC721EnumerableSession) TotalSupply() (*big.Int, error) {
  10245. return _IERC721Enumerable.Contract.TotalSupply(&_IERC721Enumerable.CallOpts)
  10246. }
  10247. // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd.
  10248. //
  10249. // Solidity: function totalSupply() view returns(uint256)
  10250. func (_IERC721Enumerable *IERC721EnumerableCallerSession) TotalSupply() (*big.Int, error) {
  10251. return _IERC721Enumerable.Contract.TotalSupply(&_IERC721Enumerable.CallOpts)
  10252. }
  10253. // Approve is a paid mutator transaction binding the contract method 0x095ea7b3.
  10254. //
  10255. // Solidity: function approve(address to, uint256 tokenId) returns()
  10256. func (_IERC721Enumerable *IERC721EnumerableTransactor) Approve(opts *bind.TransactOpts, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
  10257. return _IERC721Enumerable.contract.Transact(opts, "approve", to, tokenId)
  10258. }
  10259. // Approve is a paid mutator transaction binding the contract method 0x095ea7b3.
  10260. //
  10261. // Solidity: function approve(address to, uint256 tokenId) returns()
  10262. func (_IERC721Enumerable *IERC721EnumerableSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) {
  10263. return _IERC721Enumerable.Contract.Approve(&_IERC721Enumerable.TransactOpts, to, tokenId)
  10264. }
  10265. // Approve is a paid mutator transaction binding the contract method 0x095ea7b3.
  10266. //
  10267. // Solidity: function approve(address to, uint256 tokenId) returns()
  10268. func (_IERC721Enumerable *IERC721EnumerableTransactorSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) {
  10269. return _IERC721Enumerable.Contract.Approve(&_IERC721Enumerable.TransactOpts, to, tokenId)
  10270. }
  10271. // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e.
  10272. //
  10273. // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns()
  10274. func (_IERC721Enumerable *IERC721EnumerableTransactor) SafeTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
  10275. return _IERC721Enumerable.contract.Transact(opts, "safeTransferFrom", from, to, tokenId)
  10276. }
  10277. // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e.
  10278. //
  10279. // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns()
  10280. func (_IERC721Enumerable *IERC721EnumerableSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
  10281. return _IERC721Enumerable.Contract.SafeTransferFrom(&_IERC721Enumerable.TransactOpts, from, to, tokenId)
  10282. }
  10283. // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e.
  10284. //
  10285. // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns()
  10286. func (_IERC721Enumerable *IERC721EnumerableTransactorSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
  10287. return _IERC721Enumerable.Contract.SafeTransferFrom(&_IERC721Enumerable.TransactOpts, from, to, tokenId)
  10288. }
  10289. // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde.
  10290. //
  10291. // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes data) returns()
  10292. func (_IERC721Enumerable *IERC721EnumerableTransactor) SafeTransferFrom0(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) {
  10293. return _IERC721Enumerable.contract.Transact(opts, "safeTransferFrom0", from, to, tokenId, data)
  10294. }
  10295. // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde.
  10296. //
  10297. // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes data) returns()
  10298. func (_IERC721Enumerable *IERC721EnumerableSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) {
  10299. return _IERC721Enumerable.Contract.SafeTransferFrom0(&_IERC721Enumerable.TransactOpts, from, to, tokenId, data)
  10300. }
  10301. // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde.
  10302. //
  10303. // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes data) returns()
  10304. func (_IERC721Enumerable *IERC721EnumerableTransactorSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) {
  10305. return _IERC721Enumerable.Contract.SafeTransferFrom0(&_IERC721Enumerable.TransactOpts, from, to, tokenId, data)
  10306. }
  10307. // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465.
  10308. //
  10309. // Solidity: function setApprovalForAll(address operator, bool _approved) returns()
  10310. func (_IERC721Enumerable *IERC721EnumerableTransactor) SetApprovalForAll(opts *bind.TransactOpts, operator common.Address, _approved bool) (*types.Transaction, error) {
  10311. return _IERC721Enumerable.contract.Transact(opts, "setApprovalForAll", operator, _approved)
  10312. }
  10313. // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465.
  10314. //
  10315. // Solidity: function setApprovalForAll(address operator, bool _approved) returns()
  10316. func (_IERC721Enumerable *IERC721EnumerableSession) SetApprovalForAll(operator common.Address, _approved bool) (*types.Transaction, error) {
  10317. return _IERC721Enumerable.Contract.SetApprovalForAll(&_IERC721Enumerable.TransactOpts, operator, _approved)
  10318. }
  10319. // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465.
  10320. //
  10321. // Solidity: function setApprovalForAll(address operator, bool _approved) returns()
  10322. func (_IERC721Enumerable *IERC721EnumerableTransactorSession) SetApprovalForAll(operator common.Address, _approved bool) (*types.Transaction, error) {
  10323. return _IERC721Enumerable.Contract.SetApprovalForAll(&_IERC721Enumerable.TransactOpts, operator, _approved)
  10324. }
  10325. // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd.
  10326. //
  10327. // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns()
  10328. func (_IERC721Enumerable *IERC721EnumerableTransactor) TransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
  10329. return _IERC721Enumerable.contract.Transact(opts, "transferFrom", from, to, tokenId)
  10330. }
  10331. // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd.
  10332. //
  10333. // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns()
  10334. func (_IERC721Enumerable *IERC721EnumerableSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
  10335. return _IERC721Enumerable.Contract.TransferFrom(&_IERC721Enumerable.TransactOpts, from, to, tokenId)
  10336. }
  10337. // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd.
  10338. //
  10339. // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns()
  10340. func (_IERC721Enumerable *IERC721EnumerableTransactorSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
  10341. return _IERC721Enumerable.Contract.TransferFrom(&_IERC721Enumerable.TransactOpts, from, to, tokenId)
  10342. }
  10343. // IERC721EnumerableApprovalIterator is returned from FilterApproval and is used to iterate over the raw logs and unpacked data for Approval events raised by the IERC721Enumerable contract.
  10344. type IERC721EnumerableApprovalIterator struct {
  10345. Event *IERC721EnumerableApproval // Event containing the contract specifics and raw log
  10346. contract *bind.BoundContract // Generic contract to use for unpacking event data
  10347. event string // Event name to use for unpacking event data
  10348. logs chan types.Log // Log channel receiving the found contract events
  10349. sub ethereum.Subscription // Subscription for errors, completion and termination
  10350. done bool // Whether the subscription completed delivering logs
  10351. fail error // Occurred error to stop iteration
  10352. }
  10353. // Next advances the iterator to the subsequent event, returning whether there
  10354. // are any more events found. In case of a retrieval or parsing error, false is
  10355. // returned and Error() can be queried for the exact failure.
  10356. func (it *IERC721EnumerableApprovalIterator) Next() bool {
  10357. // If the iterator failed, stop iterating
  10358. if it.fail != nil {
  10359. return false
  10360. }
  10361. // If the iterator completed, deliver directly whatever's available
  10362. if it.done {
  10363. select {
  10364. case log := <-it.logs:
  10365. it.Event = new(IERC721EnumerableApproval)
  10366. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  10367. it.fail = err
  10368. return false
  10369. }
  10370. it.Event.Raw = log
  10371. return true
  10372. default:
  10373. return false
  10374. }
  10375. }
  10376. // Iterator still in progress, wait for either a data or an error event
  10377. select {
  10378. case log := <-it.logs:
  10379. it.Event = new(IERC721EnumerableApproval)
  10380. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  10381. it.fail = err
  10382. return false
  10383. }
  10384. it.Event.Raw = log
  10385. return true
  10386. case err := <-it.sub.Err():
  10387. it.done = true
  10388. it.fail = err
  10389. return it.Next()
  10390. }
  10391. }
  10392. // Error returns any retrieval or parsing error occurred during filtering.
  10393. func (it *IERC721EnumerableApprovalIterator) Error() error {
  10394. return it.fail
  10395. }
  10396. // Close terminates the iteration process, releasing any pending underlying
  10397. // resources.
  10398. func (it *IERC721EnumerableApprovalIterator) Close() error {
  10399. it.sub.Unsubscribe()
  10400. return nil
  10401. }
  10402. // IERC721EnumerableApproval represents a Approval event raised by the IERC721Enumerable contract.
  10403. type IERC721EnumerableApproval struct {
  10404. Owner common.Address
  10405. Approved common.Address
  10406. TokenId *big.Int
  10407. Raw types.Log // Blockchain specific contextual infos
  10408. }
  10409. // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925.
  10410. //
  10411. // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)
  10412. func (_IERC721Enumerable *IERC721EnumerableFilterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, approved []common.Address, tokenId []*big.Int) (*IERC721EnumerableApprovalIterator, error) {
  10413. var ownerRule []interface{}
  10414. for _, ownerItem := range owner {
  10415. ownerRule = append(ownerRule, ownerItem)
  10416. }
  10417. var approvedRule []interface{}
  10418. for _, approvedItem := range approved {
  10419. approvedRule = append(approvedRule, approvedItem)
  10420. }
  10421. var tokenIdRule []interface{}
  10422. for _, tokenIdItem := range tokenId {
  10423. tokenIdRule = append(tokenIdRule, tokenIdItem)
  10424. }
  10425. logs, sub, err := _IERC721Enumerable.contract.FilterLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule)
  10426. if err != nil {
  10427. return nil, err
  10428. }
  10429. return &IERC721EnumerableApprovalIterator{contract: _IERC721Enumerable.contract, event: "Approval", logs: logs, sub: sub}, nil
  10430. }
  10431. // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925.
  10432. //
  10433. // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)
  10434. func (_IERC721Enumerable *IERC721EnumerableFilterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *IERC721EnumerableApproval, owner []common.Address, approved []common.Address, tokenId []*big.Int) (event.Subscription, error) {
  10435. var ownerRule []interface{}
  10436. for _, ownerItem := range owner {
  10437. ownerRule = append(ownerRule, ownerItem)
  10438. }
  10439. var approvedRule []interface{}
  10440. for _, approvedItem := range approved {
  10441. approvedRule = append(approvedRule, approvedItem)
  10442. }
  10443. var tokenIdRule []interface{}
  10444. for _, tokenIdItem := range tokenId {
  10445. tokenIdRule = append(tokenIdRule, tokenIdItem)
  10446. }
  10447. logs, sub, err := _IERC721Enumerable.contract.WatchLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule)
  10448. if err != nil {
  10449. return nil, err
  10450. }
  10451. return event.NewSubscription(func(quit <-chan struct{}) error {
  10452. defer sub.Unsubscribe()
  10453. for {
  10454. select {
  10455. case log := <-logs:
  10456. // New log arrived, parse the event and forward to the user
  10457. event := new(IERC721EnumerableApproval)
  10458. if err := _IERC721Enumerable.contract.UnpackLog(event, "Approval", log); err != nil {
  10459. return err
  10460. }
  10461. event.Raw = log
  10462. select {
  10463. case sink <- event:
  10464. case err := <-sub.Err():
  10465. return err
  10466. case <-quit:
  10467. return nil
  10468. }
  10469. case err := <-sub.Err():
  10470. return err
  10471. case <-quit:
  10472. return nil
  10473. }
  10474. }
  10475. }), nil
  10476. }
  10477. // ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925.
  10478. //
  10479. // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)
  10480. func (_IERC721Enumerable *IERC721EnumerableFilterer) ParseApproval(log types.Log) (*IERC721EnumerableApproval, error) {
  10481. event := new(IERC721EnumerableApproval)
  10482. if err := _IERC721Enumerable.contract.UnpackLog(event, "Approval", log); err != nil {
  10483. return nil, err
  10484. }
  10485. event.Raw = log
  10486. return event, nil
  10487. }
  10488. // IERC721EnumerableApprovalForAllIterator is returned from FilterApprovalForAll and is used to iterate over the raw logs and unpacked data for ApprovalForAll events raised by the IERC721Enumerable contract.
  10489. type IERC721EnumerableApprovalForAllIterator struct {
  10490. Event *IERC721EnumerableApprovalForAll // Event containing the contract specifics and raw log
  10491. contract *bind.BoundContract // Generic contract to use for unpacking event data
  10492. event string // Event name to use for unpacking event data
  10493. logs chan types.Log // Log channel receiving the found contract events
  10494. sub ethereum.Subscription // Subscription for errors, completion and termination
  10495. done bool // Whether the subscription completed delivering logs
  10496. fail error // Occurred error to stop iteration
  10497. }
  10498. // Next advances the iterator to the subsequent event, returning whether there
  10499. // are any more events found. In case of a retrieval or parsing error, false is
  10500. // returned and Error() can be queried for the exact failure.
  10501. func (it *IERC721EnumerableApprovalForAllIterator) Next() bool {
  10502. // If the iterator failed, stop iterating
  10503. if it.fail != nil {
  10504. return false
  10505. }
  10506. // If the iterator completed, deliver directly whatever's available
  10507. if it.done {
  10508. select {
  10509. case log := <-it.logs:
  10510. it.Event = new(IERC721EnumerableApprovalForAll)
  10511. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  10512. it.fail = err
  10513. return false
  10514. }
  10515. it.Event.Raw = log
  10516. return true
  10517. default:
  10518. return false
  10519. }
  10520. }
  10521. // Iterator still in progress, wait for either a data or an error event
  10522. select {
  10523. case log := <-it.logs:
  10524. it.Event = new(IERC721EnumerableApprovalForAll)
  10525. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  10526. it.fail = err
  10527. return false
  10528. }
  10529. it.Event.Raw = log
  10530. return true
  10531. case err := <-it.sub.Err():
  10532. it.done = true
  10533. it.fail = err
  10534. return it.Next()
  10535. }
  10536. }
  10537. // Error returns any retrieval or parsing error occurred during filtering.
  10538. func (it *IERC721EnumerableApprovalForAllIterator) Error() error {
  10539. return it.fail
  10540. }
  10541. // Close terminates the iteration process, releasing any pending underlying
  10542. // resources.
  10543. func (it *IERC721EnumerableApprovalForAllIterator) Close() error {
  10544. it.sub.Unsubscribe()
  10545. return nil
  10546. }
  10547. // IERC721EnumerableApprovalForAll represents a ApprovalForAll event raised by the IERC721Enumerable contract.
  10548. type IERC721EnumerableApprovalForAll struct {
  10549. Owner common.Address
  10550. Operator common.Address
  10551. Approved bool
  10552. Raw types.Log // Blockchain specific contextual infos
  10553. }
  10554. // FilterApprovalForAll is a free log retrieval operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31.
  10555. //
  10556. // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved)
  10557. func (_IERC721Enumerable *IERC721EnumerableFilterer) FilterApprovalForAll(opts *bind.FilterOpts, owner []common.Address, operator []common.Address) (*IERC721EnumerableApprovalForAllIterator, error) {
  10558. var ownerRule []interface{}
  10559. for _, ownerItem := range owner {
  10560. ownerRule = append(ownerRule, ownerItem)
  10561. }
  10562. var operatorRule []interface{}
  10563. for _, operatorItem := range operator {
  10564. operatorRule = append(operatorRule, operatorItem)
  10565. }
  10566. logs, sub, err := _IERC721Enumerable.contract.FilterLogs(opts, "ApprovalForAll", ownerRule, operatorRule)
  10567. if err != nil {
  10568. return nil, err
  10569. }
  10570. return &IERC721EnumerableApprovalForAllIterator{contract: _IERC721Enumerable.contract, event: "ApprovalForAll", logs: logs, sub: sub}, nil
  10571. }
  10572. // WatchApprovalForAll is a free log subscription operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31.
  10573. //
  10574. // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved)
  10575. func (_IERC721Enumerable *IERC721EnumerableFilterer) WatchApprovalForAll(opts *bind.WatchOpts, sink chan<- *IERC721EnumerableApprovalForAll, owner []common.Address, operator []common.Address) (event.Subscription, error) {
  10576. var ownerRule []interface{}
  10577. for _, ownerItem := range owner {
  10578. ownerRule = append(ownerRule, ownerItem)
  10579. }
  10580. var operatorRule []interface{}
  10581. for _, operatorItem := range operator {
  10582. operatorRule = append(operatorRule, operatorItem)
  10583. }
  10584. logs, sub, err := _IERC721Enumerable.contract.WatchLogs(opts, "ApprovalForAll", ownerRule, operatorRule)
  10585. if err != nil {
  10586. return nil, err
  10587. }
  10588. return event.NewSubscription(func(quit <-chan struct{}) error {
  10589. defer sub.Unsubscribe()
  10590. for {
  10591. select {
  10592. case log := <-logs:
  10593. // New log arrived, parse the event and forward to the user
  10594. event := new(IERC721EnumerableApprovalForAll)
  10595. if err := _IERC721Enumerable.contract.UnpackLog(event, "ApprovalForAll", log); err != nil {
  10596. return err
  10597. }
  10598. event.Raw = log
  10599. select {
  10600. case sink <- event:
  10601. case err := <-sub.Err():
  10602. return err
  10603. case <-quit:
  10604. return nil
  10605. }
  10606. case err := <-sub.Err():
  10607. return err
  10608. case <-quit:
  10609. return nil
  10610. }
  10611. }
  10612. }), nil
  10613. }
  10614. // ParseApprovalForAll is a log parse operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31.
  10615. //
  10616. // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved)
  10617. func (_IERC721Enumerable *IERC721EnumerableFilterer) ParseApprovalForAll(log types.Log) (*IERC721EnumerableApprovalForAll, error) {
  10618. event := new(IERC721EnumerableApprovalForAll)
  10619. if err := _IERC721Enumerable.contract.UnpackLog(event, "ApprovalForAll", log); err != nil {
  10620. return nil, err
  10621. }
  10622. event.Raw = log
  10623. return event, nil
  10624. }
  10625. // IERC721EnumerableTransferIterator is returned from FilterTransfer and is used to iterate over the raw logs and unpacked data for Transfer events raised by the IERC721Enumerable contract.
  10626. type IERC721EnumerableTransferIterator struct {
  10627. Event *IERC721EnumerableTransfer // Event containing the contract specifics and raw log
  10628. contract *bind.BoundContract // Generic contract to use for unpacking event data
  10629. event string // Event name to use for unpacking event data
  10630. logs chan types.Log // Log channel receiving the found contract events
  10631. sub ethereum.Subscription // Subscription for errors, completion and termination
  10632. done bool // Whether the subscription completed delivering logs
  10633. fail error // Occurred error to stop iteration
  10634. }
  10635. // Next advances the iterator to the subsequent event, returning whether there
  10636. // are any more events found. In case of a retrieval or parsing error, false is
  10637. // returned and Error() can be queried for the exact failure.
  10638. func (it *IERC721EnumerableTransferIterator) Next() bool {
  10639. // If the iterator failed, stop iterating
  10640. if it.fail != nil {
  10641. return false
  10642. }
  10643. // If the iterator completed, deliver directly whatever's available
  10644. if it.done {
  10645. select {
  10646. case log := <-it.logs:
  10647. it.Event = new(IERC721EnumerableTransfer)
  10648. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  10649. it.fail = err
  10650. return false
  10651. }
  10652. it.Event.Raw = log
  10653. return true
  10654. default:
  10655. return false
  10656. }
  10657. }
  10658. // Iterator still in progress, wait for either a data or an error event
  10659. select {
  10660. case log := <-it.logs:
  10661. it.Event = new(IERC721EnumerableTransfer)
  10662. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  10663. it.fail = err
  10664. return false
  10665. }
  10666. it.Event.Raw = log
  10667. return true
  10668. case err := <-it.sub.Err():
  10669. it.done = true
  10670. it.fail = err
  10671. return it.Next()
  10672. }
  10673. }
  10674. // Error returns any retrieval or parsing error occurred during filtering.
  10675. func (it *IERC721EnumerableTransferIterator) Error() error {
  10676. return it.fail
  10677. }
  10678. // Close terminates the iteration process, releasing any pending underlying
  10679. // resources.
  10680. func (it *IERC721EnumerableTransferIterator) Close() error {
  10681. it.sub.Unsubscribe()
  10682. return nil
  10683. }
  10684. // IERC721EnumerableTransfer represents a Transfer event raised by the IERC721Enumerable contract.
  10685. type IERC721EnumerableTransfer struct {
  10686. From common.Address
  10687. To common.Address
  10688. TokenId *big.Int
  10689. Raw types.Log // Blockchain specific contextual infos
  10690. }
  10691. // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef.
  10692. //
  10693. // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)
  10694. func (_IERC721Enumerable *IERC721EnumerableFilterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address, tokenId []*big.Int) (*IERC721EnumerableTransferIterator, error) {
  10695. var fromRule []interface{}
  10696. for _, fromItem := range from {
  10697. fromRule = append(fromRule, fromItem)
  10698. }
  10699. var toRule []interface{}
  10700. for _, toItem := range to {
  10701. toRule = append(toRule, toItem)
  10702. }
  10703. var tokenIdRule []interface{}
  10704. for _, tokenIdItem := range tokenId {
  10705. tokenIdRule = append(tokenIdRule, tokenIdItem)
  10706. }
  10707. logs, sub, err := _IERC721Enumerable.contract.FilterLogs(opts, "Transfer", fromRule, toRule, tokenIdRule)
  10708. if err != nil {
  10709. return nil, err
  10710. }
  10711. return &IERC721EnumerableTransferIterator{contract: _IERC721Enumerable.contract, event: "Transfer", logs: logs, sub: sub}, nil
  10712. }
  10713. // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef.
  10714. //
  10715. // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)
  10716. func (_IERC721Enumerable *IERC721EnumerableFilterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *IERC721EnumerableTransfer, from []common.Address, to []common.Address, tokenId []*big.Int) (event.Subscription, error) {
  10717. var fromRule []interface{}
  10718. for _, fromItem := range from {
  10719. fromRule = append(fromRule, fromItem)
  10720. }
  10721. var toRule []interface{}
  10722. for _, toItem := range to {
  10723. toRule = append(toRule, toItem)
  10724. }
  10725. var tokenIdRule []interface{}
  10726. for _, tokenIdItem := range tokenId {
  10727. tokenIdRule = append(tokenIdRule, tokenIdItem)
  10728. }
  10729. logs, sub, err := _IERC721Enumerable.contract.WatchLogs(opts, "Transfer", fromRule, toRule, tokenIdRule)
  10730. if err != nil {
  10731. return nil, err
  10732. }
  10733. return event.NewSubscription(func(quit <-chan struct{}) error {
  10734. defer sub.Unsubscribe()
  10735. for {
  10736. select {
  10737. case log := <-logs:
  10738. // New log arrived, parse the event and forward to the user
  10739. event := new(IERC721EnumerableTransfer)
  10740. if err := _IERC721Enumerable.contract.UnpackLog(event, "Transfer", log); err != nil {
  10741. return err
  10742. }
  10743. event.Raw = log
  10744. select {
  10745. case sink <- event:
  10746. case err := <-sub.Err():
  10747. return err
  10748. case <-quit:
  10749. return nil
  10750. }
  10751. case err := <-sub.Err():
  10752. return err
  10753. case <-quit:
  10754. return nil
  10755. }
  10756. }
  10757. }), nil
  10758. }
  10759. // ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef.
  10760. //
  10761. // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)
  10762. func (_IERC721Enumerable *IERC721EnumerableFilterer) ParseTransfer(log types.Log) (*IERC721EnumerableTransfer, error) {
  10763. event := new(IERC721EnumerableTransfer)
  10764. if err := _IERC721Enumerable.contract.UnpackLog(event, "Transfer", log); err != nil {
  10765. return nil, err
  10766. }
  10767. event.Raw = log
  10768. return event, nil
  10769. }
  10770. // IERC721MetadataMetaData contains all meta data concerning the IERC721Metadata contract.
  10771. var IERC721MetadataMetaData = &bind.MetaData{
  10772. ABI: "[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]",
  10773. Sigs: map[string]string{
  10774. "095ea7b3": "approve(address,uint256)",
  10775. "70a08231": "balanceOf(address)",
  10776. "081812fc": "getApproved(uint256)",
  10777. "e985e9c5": "isApprovedForAll(address,address)",
  10778. "06fdde03": "name()",
  10779. "6352211e": "ownerOf(uint256)",
  10780. "42842e0e": "safeTransferFrom(address,address,uint256)",
  10781. "b88d4fde": "safeTransferFrom(address,address,uint256,bytes)",
  10782. "a22cb465": "setApprovalForAll(address,bool)",
  10783. "01ffc9a7": "supportsInterface(bytes4)",
  10784. "95d89b41": "symbol()",
  10785. "c87b56dd": "tokenURI(uint256)",
  10786. "23b872dd": "transferFrom(address,address,uint256)",
  10787. },
  10788. }
  10789. // IERC721MetadataABI is the input ABI used to generate the binding from.
  10790. // Deprecated: Use IERC721MetadataMetaData.ABI instead.
  10791. var IERC721MetadataABI = IERC721MetadataMetaData.ABI
  10792. // Deprecated: Use IERC721MetadataMetaData.Sigs instead.
  10793. // IERC721MetadataFuncSigs maps the 4-byte function signature to its string representation.
  10794. var IERC721MetadataFuncSigs = IERC721MetadataMetaData.Sigs
  10795. // IERC721Metadata is an auto generated Go binding around an Ethereum contract.
  10796. type IERC721Metadata struct {
  10797. IERC721MetadataCaller // Read-only binding to the contract
  10798. IERC721MetadataTransactor // Write-only binding to the contract
  10799. IERC721MetadataFilterer // Log filterer for contract events
  10800. }
  10801. // IERC721MetadataCaller is an auto generated read-only Go binding around an Ethereum contract.
  10802. type IERC721MetadataCaller struct {
  10803. contract *bind.BoundContract // Generic contract wrapper for the low level calls
  10804. }
  10805. // IERC721MetadataTransactor is an auto generated write-only Go binding around an Ethereum contract.
  10806. type IERC721MetadataTransactor struct {
  10807. contract *bind.BoundContract // Generic contract wrapper for the low level calls
  10808. }
  10809. // IERC721MetadataFilterer is an auto generated log filtering Go binding around an Ethereum contract events.
  10810. type IERC721MetadataFilterer struct {
  10811. contract *bind.BoundContract // Generic contract wrapper for the low level calls
  10812. }
  10813. // IERC721MetadataSession is an auto generated Go binding around an Ethereum contract,
  10814. // with pre-set call and transact options.
  10815. type IERC721MetadataSession struct {
  10816. Contract *IERC721Metadata // Generic contract binding to set the session for
  10817. CallOpts bind.CallOpts // Call options to use throughout this session
  10818. TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
  10819. }
  10820. // IERC721MetadataCallerSession is an auto generated read-only Go binding around an Ethereum contract,
  10821. // with pre-set call options.
  10822. type IERC721MetadataCallerSession struct {
  10823. Contract *IERC721MetadataCaller // Generic contract caller binding to set the session for
  10824. CallOpts bind.CallOpts // Call options to use throughout this session
  10825. }
  10826. // IERC721MetadataTransactorSession is an auto generated write-only Go binding around an Ethereum contract,
  10827. // with pre-set transact options.
  10828. type IERC721MetadataTransactorSession struct {
  10829. Contract *IERC721MetadataTransactor // Generic contract transactor binding to set the session for
  10830. TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
  10831. }
  10832. // IERC721MetadataRaw is an auto generated low-level Go binding around an Ethereum contract.
  10833. type IERC721MetadataRaw struct {
  10834. Contract *IERC721Metadata // Generic contract binding to access the raw methods on
  10835. }
  10836. // IERC721MetadataCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
  10837. type IERC721MetadataCallerRaw struct {
  10838. Contract *IERC721MetadataCaller // Generic read-only contract binding to access the raw methods on
  10839. }
  10840. // IERC721MetadataTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
  10841. type IERC721MetadataTransactorRaw struct {
  10842. Contract *IERC721MetadataTransactor // Generic write-only contract binding to access the raw methods on
  10843. }
  10844. // NewIERC721Metadata creates a new instance of IERC721Metadata, bound to a specific deployed contract.
  10845. func NewIERC721Metadata(address common.Address, backend bind.ContractBackend) (*IERC721Metadata, error) {
  10846. contract, err := bindIERC721Metadata(address, backend, backend, backend)
  10847. if err != nil {
  10848. return nil, err
  10849. }
  10850. return &IERC721Metadata{IERC721MetadataCaller: IERC721MetadataCaller{contract: contract}, IERC721MetadataTransactor: IERC721MetadataTransactor{contract: contract}, IERC721MetadataFilterer: IERC721MetadataFilterer{contract: contract}}, nil
  10851. }
  10852. // NewIERC721MetadataCaller creates a new read-only instance of IERC721Metadata, bound to a specific deployed contract.
  10853. func NewIERC721MetadataCaller(address common.Address, caller bind.ContractCaller) (*IERC721MetadataCaller, error) {
  10854. contract, err := bindIERC721Metadata(address, caller, nil, nil)
  10855. if err != nil {
  10856. return nil, err
  10857. }
  10858. return &IERC721MetadataCaller{contract: contract}, nil
  10859. }
  10860. // NewIERC721MetadataTransactor creates a new write-only instance of IERC721Metadata, bound to a specific deployed contract.
  10861. func NewIERC721MetadataTransactor(address common.Address, transactor bind.ContractTransactor) (*IERC721MetadataTransactor, error) {
  10862. contract, err := bindIERC721Metadata(address, nil, transactor, nil)
  10863. if err != nil {
  10864. return nil, err
  10865. }
  10866. return &IERC721MetadataTransactor{contract: contract}, nil
  10867. }
  10868. // NewIERC721MetadataFilterer creates a new log filterer instance of IERC721Metadata, bound to a specific deployed contract.
  10869. func NewIERC721MetadataFilterer(address common.Address, filterer bind.ContractFilterer) (*IERC721MetadataFilterer, error) {
  10870. contract, err := bindIERC721Metadata(address, nil, nil, filterer)
  10871. if err != nil {
  10872. return nil, err
  10873. }
  10874. return &IERC721MetadataFilterer{contract: contract}, nil
  10875. }
  10876. // bindIERC721Metadata binds a generic wrapper to an already deployed contract.
  10877. func bindIERC721Metadata(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
  10878. parsed, err := abi.JSON(strings.NewReader(IERC721MetadataABI))
  10879. if err != nil {
  10880. return nil, err
  10881. }
  10882. return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil
  10883. }
  10884. // Call invokes the (constant) contract method with params as input values and
  10885. // sets the output to result. The result type might be a single field for simple
  10886. // returns, a slice of interfaces for anonymous returns and a struct for named
  10887. // returns.
  10888. func (_IERC721Metadata *IERC721MetadataRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
  10889. return _IERC721Metadata.Contract.IERC721MetadataCaller.contract.Call(opts, result, method, params...)
  10890. }
  10891. // Transfer initiates a plain transaction to move funds to the contract, calling
  10892. // its default method if one is available.
  10893. func (_IERC721Metadata *IERC721MetadataRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
  10894. return _IERC721Metadata.Contract.IERC721MetadataTransactor.contract.Transfer(opts)
  10895. }
  10896. // Transact invokes the (paid) contract method with params as input values.
  10897. func (_IERC721Metadata *IERC721MetadataRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
  10898. return _IERC721Metadata.Contract.IERC721MetadataTransactor.contract.Transact(opts, method, params...)
  10899. }
  10900. // Call invokes the (constant) contract method with params as input values and
  10901. // sets the output to result. The result type might be a single field for simple
  10902. // returns, a slice of interfaces for anonymous returns and a struct for named
  10903. // returns.
  10904. func (_IERC721Metadata *IERC721MetadataCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
  10905. return _IERC721Metadata.Contract.contract.Call(opts, result, method, params...)
  10906. }
  10907. // Transfer initiates a plain transaction to move funds to the contract, calling
  10908. // its default method if one is available.
  10909. func (_IERC721Metadata *IERC721MetadataTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
  10910. return _IERC721Metadata.Contract.contract.Transfer(opts)
  10911. }
  10912. // Transact invokes the (paid) contract method with params as input values.
  10913. func (_IERC721Metadata *IERC721MetadataTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
  10914. return _IERC721Metadata.Contract.contract.Transact(opts, method, params...)
  10915. }
  10916. // BalanceOf is a free data retrieval call binding the contract method 0x70a08231.
  10917. //
  10918. // Solidity: function balanceOf(address owner) view returns(uint256 balance)
  10919. func (_IERC721Metadata *IERC721MetadataCaller) BalanceOf(opts *bind.CallOpts, owner common.Address) (*big.Int, error) {
  10920. var out []interface{}
  10921. err := _IERC721Metadata.contract.Call(opts, &out, "balanceOf", owner)
  10922. if err != nil {
  10923. return *new(*big.Int), err
  10924. }
  10925. out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
  10926. return out0, err
  10927. }
  10928. // BalanceOf is a free data retrieval call binding the contract method 0x70a08231.
  10929. //
  10930. // Solidity: function balanceOf(address owner) view returns(uint256 balance)
  10931. func (_IERC721Metadata *IERC721MetadataSession) BalanceOf(owner common.Address) (*big.Int, error) {
  10932. return _IERC721Metadata.Contract.BalanceOf(&_IERC721Metadata.CallOpts, owner)
  10933. }
  10934. // BalanceOf is a free data retrieval call binding the contract method 0x70a08231.
  10935. //
  10936. // Solidity: function balanceOf(address owner) view returns(uint256 balance)
  10937. func (_IERC721Metadata *IERC721MetadataCallerSession) BalanceOf(owner common.Address) (*big.Int, error) {
  10938. return _IERC721Metadata.Contract.BalanceOf(&_IERC721Metadata.CallOpts, owner)
  10939. }
  10940. // GetApproved is a free data retrieval call binding the contract method 0x081812fc.
  10941. //
  10942. // Solidity: function getApproved(uint256 tokenId) view returns(address operator)
  10943. func (_IERC721Metadata *IERC721MetadataCaller) GetApproved(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) {
  10944. var out []interface{}
  10945. err := _IERC721Metadata.contract.Call(opts, &out, "getApproved", tokenId)
  10946. if err != nil {
  10947. return *new(common.Address), err
  10948. }
  10949. out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
  10950. return out0, err
  10951. }
  10952. // GetApproved is a free data retrieval call binding the contract method 0x081812fc.
  10953. //
  10954. // Solidity: function getApproved(uint256 tokenId) view returns(address operator)
  10955. func (_IERC721Metadata *IERC721MetadataSession) GetApproved(tokenId *big.Int) (common.Address, error) {
  10956. return _IERC721Metadata.Contract.GetApproved(&_IERC721Metadata.CallOpts, tokenId)
  10957. }
  10958. // GetApproved is a free data retrieval call binding the contract method 0x081812fc.
  10959. //
  10960. // Solidity: function getApproved(uint256 tokenId) view returns(address operator)
  10961. func (_IERC721Metadata *IERC721MetadataCallerSession) GetApproved(tokenId *big.Int) (common.Address, error) {
  10962. return _IERC721Metadata.Contract.GetApproved(&_IERC721Metadata.CallOpts, tokenId)
  10963. }
  10964. // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5.
  10965. //
  10966. // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool)
  10967. func (_IERC721Metadata *IERC721MetadataCaller) IsApprovedForAll(opts *bind.CallOpts, owner common.Address, operator common.Address) (bool, error) {
  10968. var out []interface{}
  10969. err := _IERC721Metadata.contract.Call(opts, &out, "isApprovedForAll", owner, operator)
  10970. if err != nil {
  10971. return *new(bool), err
  10972. }
  10973. out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
  10974. return out0, err
  10975. }
  10976. // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5.
  10977. //
  10978. // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool)
  10979. func (_IERC721Metadata *IERC721MetadataSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) {
  10980. return _IERC721Metadata.Contract.IsApprovedForAll(&_IERC721Metadata.CallOpts, owner, operator)
  10981. }
  10982. // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5.
  10983. //
  10984. // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool)
  10985. func (_IERC721Metadata *IERC721MetadataCallerSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) {
  10986. return _IERC721Metadata.Contract.IsApprovedForAll(&_IERC721Metadata.CallOpts, owner, operator)
  10987. }
  10988. // Name is a free data retrieval call binding the contract method 0x06fdde03.
  10989. //
  10990. // Solidity: function name() view returns(string)
  10991. func (_IERC721Metadata *IERC721MetadataCaller) Name(opts *bind.CallOpts) (string, error) {
  10992. var out []interface{}
  10993. err := _IERC721Metadata.contract.Call(opts, &out, "name")
  10994. if err != nil {
  10995. return *new(string), err
  10996. }
  10997. out0 := *abi.ConvertType(out[0], new(string)).(*string)
  10998. return out0, err
  10999. }
  11000. // Name is a free data retrieval call binding the contract method 0x06fdde03.
  11001. //
  11002. // Solidity: function name() view returns(string)
  11003. func (_IERC721Metadata *IERC721MetadataSession) Name() (string, error) {
  11004. return _IERC721Metadata.Contract.Name(&_IERC721Metadata.CallOpts)
  11005. }
  11006. // Name is a free data retrieval call binding the contract method 0x06fdde03.
  11007. //
  11008. // Solidity: function name() view returns(string)
  11009. func (_IERC721Metadata *IERC721MetadataCallerSession) Name() (string, error) {
  11010. return _IERC721Metadata.Contract.Name(&_IERC721Metadata.CallOpts)
  11011. }
  11012. // OwnerOf is a free data retrieval call binding the contract method 0x6352211e.
  11013. //
  11014. // Solidity: function ownerOf(uint256 tokenId) view returns(address owner)
  11015. func (_IERC721Metadata *IERC721MetadataCaller) OwnerOf(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) {
  11016. var out []interface{}
  11017. err := _IERC721Metadata.contract.Call(opts, &out, "ownerOf", tokenId)
  11018. if err != nil {
  11019. return *new(common.Address), err
  11020. }
  11021. out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
  11022. return out0, err
  11023. }
  11024. // OwnerOf is a free data retrieval call binding the contract method 0x6352211e.
  11025. //
  11026. // Solidity: function ownerOf(uint256 tokenId) view returns(address owner)
  11027. func (_IERC721Metadata *IERC721MetadataSession) OwnerOf(tokenId *big.Int) (common.Address, error) {
  11028. return _IERC721Metadata.Contract.OwnerOf(&_IERC721Metadata.CallOpts, tokenId)
  11029. }
  11030. // OwnerOf is a free data retrieval call binding the contract method 0x6352211e.
  11031. //
  11032. // Solidity: function ownerOf(uint256 tokenId) view returns(address owner)
  11033. func (_IERC721Metadata *IERC721MetadataCallerSession) OwnerOf(tokenId *big.Int) (common.Address, error) {
  11034. return _IERC721Metadata.Contract.OwnerOf(&_IERC721Metadata.CallOpts, tokenId)
  11035. }
  11036. // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
  11037. //
  11038. // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
  11039. func (_IERC721Metadata *IERC721MetadataCaller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) {
  11040. var out []interface{}
  11041. err := _IERC721Metadata.contract.Call(opts, &out, "supportsInterface", interfaceId)
  11042. if err != nil {
  11043. return *new(bool), err
  11044. }
  11045. out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
  11046. return out0, err
  11047. }
  11048. // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
  11049. //
  11050. // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
  11051. func (_IERC721Metadata *IERC721MetadataSession) SupportsInterface(interfaceId [4]byte) (bool, error) {
  11052. return _IERC721Metadata.Contract.SupportsInterface(&_IERC721Metadata.CallOpts, interfaceId)
  11053. }
  11054. // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
  11055. //
  11056. // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
  11057. func (_IERC721Metadata *IERC721MetadataCallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) {
  11058. return _IERC721Metadata.Contract.SupportsInterface(&_IERC721Metadata.CallOpts, interfaceId)
  11059. }
  11060. // Symbol is a free data retrieval call binding the contract method 0x95d89b41.
  11061. //
  11062. // Solidity: function symbol() view returns(string)
  11063. func (_IERC721Metadata *IERC721MetadataCaller) Symbol(opts *bind.CallOpts) (string, error) {
  11064. var out []interface{}
  11065. err := _IERC721Metadata.contract.Call(opts, &out, "symbol")
  11066. if err != nil {
  11067. return *new(string), err
  11068. }
  11069. out0 := *abi.ConvertType(out[0], new(string)).(*string)
  11070. return out0, err
  11071. }
  11072. // Symbol is a free data retrieval call binding the contract method 0x95d89b41.
  11073. //
  11074. // Solidity: function symbol() view returns(string)
  11075. func (_IERC721Metadata *IERC721MetadataSession) Symbol() (string, error) {
  11076. return _IERC721Metadata.Contract.Symbol(&_IERC721Metadata.CallOpts)
  11077. }
  11078. // Symbol is a free data retrieval call binding the contract method 0x95d89b41.
  11079. //
  11080. // Solidity: function symbol() view returns(string)
  11081. func (_IERC721Metadata *IERC721MetadataCallerSession) Symbol() (string, error) {
  11082. return _IERC721Metadata.Contract.Symbol(&_IERC721Metadata.CallOpts)
  11083. }
  11084. // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd.
  11085. //
  11086. // Solidity: function tokenURI(uint256 tokenId) view returns(string)
  11087. func (_IERC721Metadata *IERC721MetadataCaller) TokenURI(opts *bind.CallOpts, tokenId *big.Int) (string, error) {
  11088. var out []interface{}
  11089. err := _IERC721Metadata.contract.Call(opts, &out, "tokenURI", tokenId)
  11090. if err != nil {
  11091. return *new(string), err
  11092. }
  11093. out0 := *abi.ConvertType(out[0], new(string)).(*string)
  11094. return out0, err
  11095. }
  11096. // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd.
  11097. //
  11098. // Solidity: function tokenURI(uint256 tokenId) view returns(string)
  11099. func (_IERC721Metadata *IERC721MetadataSession) TokenURI(tokenId *big.Int) (string, error) {
  11100. return _IERC721Metadata.Contract.TokenURI(&_IERC721Metadata.CallOpts, tokenId)
  11101. }
  11102. // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd.
  11103. //
  11104. // Solidity: function tokenURI(uint256 tokenId) view returns(string)
  11105. func (_IERC721Metadata *IERC721MetadataCallerSession) TokenURI(tokenId *big.Int) (string, error) {
  11106. return _IERC721Metadata.Contract.TokenURI(&_IERC721Metadata.CallOpts, tokenId)
  11107. }
  11108. // Approve is a paid mutator transaction binding the contract method 0x095ea7b3.
  11109. //
  11110. // Solidity: function approve(address to, uint256 tokenId) returns()
  11111. func (_IERC721Metadata *IERC721MetadataTransactor) Approve(opts *bind.TransactOpts, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
  11112. return _IERC721Metadata.contract.Transact(opts, "approve", to, tokenId)
  11113. }
  11114. // Approve is a paid mutator transaction binding the contract method 0x095ea7b3.
  11115. //
  11116. // Solidity: function approve(address to, uint256 tokenId) returns()
  11117. func (_IERC721Metadata *IERC721MetadataSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) {
  11118. return _IERC721Metadata.Contract.Approve(&_IERC721Metadata.TransactOpts, to, tokenId)
  11119. }
  11120. // Approve is a paid mutator transaction binding the contract method 0x095ea7b3.
  11121. //
  11122. // Solidity: function approve(address to, uint256 tokenId) returns()
  11123. func (_IERC721Metadata *IERC721MetadataTransactorSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) {
  11124. return _IERC721Metadata.Contract.Approve(&_IERC721Metadata.TransactOpts, to, tokenId)
  11125. }
  11126. // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e.
  11127. //
  11128. // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns()
  11129. func (_IERC721Metadata *IERC721MetadataTransactor) SafeTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
  11130. return _IERC721Metadata.contract.Transact(opts, "safeTransferFrom", from, to, tokenId)
  11131. }
  11132. // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e.
  11133. //
  11134. // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns()
  11135. func (_IERC721Metadata *IERC721MetadataSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
  11136. return _IERC721Metadata.Contract.SafeTransferFrom(&_IERC721Metadata.TransactOpts, from, to, tokenId)
  11137. }
  11138. // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e.
  11139. //
  11140. // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns()
  11141. func (_IERC721Metadata *IERC721MetadataTransactorSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
  11142. return _IERC721Metadata.Contract.SafeTransferFrom(&_IERC721Metadata.TransactOpts, from, to, tokenId)
  11143. }
  11144. // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde.
  11145. //
  11146. // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes data) returns()
  11147. func (_IERC721Metadata *IERC721MetadataTransactor) SafeTransferFrom0(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) {
  11148. return _IERC721Metadata.contract.Transact(opts, "safeTransferFrom0", from, to, tokenId, data)
  11149. }
  11150. // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde.
  11151. //
  11152. // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes data) returns()
  11153. func (_IERC721Metadata *IERC721MetadataSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) {
  11154. return _IERC721Metadata.Contract.SafeTransferFrom0(&_IERC721Metadata.TransactOpts, from, to, tokenId, data)
  11155. }
  11156. // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde.
  11157. //
  11158. // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes data) returns()
  11159. func (_IERC721Metadata *IERC721MetadataTransactorSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) {
  11160. return _IERC721Metadata.Contract.SafeTransferFrom0(&_IERC721Metadata.TransactOpts, from, to, tokenId, data)
  11161. }
  11162. // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465.
  11163. //
  11164. // Solidity: function setApprovalForAll(address operator, bool _approved) returns()
  11165. func (_IERC721Metadata *IERC721MetadataTransactor) SetApprovalForAll(opts *bind.TransactOpts, operator common.Address, _approved bool) (*types.Transaction, error) {
  11166. return _IERC721Metadata.contract.Transact(opts, "setApprovalForAll", operator, _approved)
  11167. }
  11168. // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465.
  11169. //
  11170. // Solidity: function setApprovalForAll(address operator, bool _approved) returns()
  11171. func (_IERC721Metadata *IERC721MetadataSession) SetApprovalForAll(operator common.Address, _approved bool) (*types.Transaction, error) {
  11172. return _IERC721Metadata.Contract.SetApprovalForAll(&_IERC721Metadata.TransactOpts, operator, _approved)
  11173. }
  11174. // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465.
  11175. //
  11176. // Solidity: function setApprovalForAll(address operator, bool _approved) returns()
  11177. func (_IERC721Metadata *IERC721MetadataTransactorSession) SetApprovalForAll(operator common.Address, _approved bool) (*types.Transaction, error) {
  11178. return _IERC721Metadata.Contract.SetApprovalForAll(&_IERC721Metadata.TransactOpts, operator, _approved)
  11179. }
  11180. // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd.
  11181. //
  11182. // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns()
  11183. func (_IERC721Metadata *IERC721MetadataTransactor) TransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
  11184. return _IERC721Metadata.contract.Transact(opts, "transferFrom", from, to, tokenId)
  11185. }
  11186. // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd.
  11187. //
  11188. // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns()
  11189. func (_IERC721Metadata *IERC721MetadataSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
  11190. return _IERC721Metadata.Contract.TransferFrom(&_IERC721Metadata.TransactOpts, from, to, tokenId)
  11191. }
  11192. // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd.
  11193. //
  11194. // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns()
  11195. func (_IERC721Metadata *IERC721MetadataTransactorSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
  11196. return _IERC721Metadata.Contract.TransferFrom(&_IERC721Metadata.TransactOpts, from, to, tokenId)
  11197. }
  11198. // IERC721MetadataApprovalIterator is returned from FilterApproval and is used to iterate over the raw logs and unpacked data for Approval events raised by the IERC721Metadata contract.
  11199. type IERC721MetadataApprovalIterator struct {
  11200. Event *IERC721MetadataApproval // Event containing the contract specifics and raw log
  11201. contract *bind.BoundContract // Generic contract to use for unpacking event data
  11202. event string // Event name to use for unpacking event data
  11203. logs chan types.Log // Log channel receiving the found contract events
  11204. sub ethereum.Subscription // Subscription for errors, completion and termination
  11205. done bool // Whether the subscription completed delivering logs
  11206. fail error // Occurred error to stop iteration
  11207. }
  11208. // Next advances the iterator to the subsequent event, returning whether there
  11209. // are any more events found. In case of a retrieval or parsing error, false is
  11210. // returned and Error() can be queried for the exact failure.
  11211. func (it *IERC721MetadataApprovalIterator) Next() bool {
  11212. // If the iterator failed, stop iterating
  11213. if it.fail != nil {
  11214. return false
  11215. }
  11216. // If the iterator completed, deliver directly whatever's available
  11217. if it.done {
  11218. select {
  11219. case log := <-it.logs:
  11220. it.Event = new(IERC721MetadataApproval)
  11221. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  11222. it.fail = err
  11223. return false
  11224. }
  11225. it.Event.Raw = log
  11226. return true
  11227. default:
  11228. return false
  11229. }
  11230. }
  11231. // Iterator still in progress, wait for either a data or an error event
  11232. select {
  11233. case log := <-it.logs:
  11234. it.Event = new(IERC721MetadataApproval)
  11235. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  11236. it.fail = err
  11237. return false
  11238. }
  11239. it.Event.Raw = log
  11240. return true
  11241. case err := <-it.sub.Err():
  11242. it.done = true
  11243. it.fail = err
  11244. return it.Next()
  11245. }
  11246. }
  11247. // Error returns any retrieval or parsing error occurred during filtering.
  11248. func (it *IERC721MetadataApprovalIterator) Error() error {
  11249. return it.fail
  11250. }
  11251. // Close terminates the iteration process, releasing any pending underlying
  11252. // resources.
  11253. func (it *IERC721MetadataApprovalIterator) Close() error {
  11254. it.sub.Unsubscribe()
  11255. return nil
  11256. }
  11257. // IERC721MetadataApproval represents a Approval event raised by the IERC721Metadata contract.
  11258. type IERC721MetadataApproval struct {
  11259. Owner common.Address
  11260. Approved common.Address
  11261. TokenId *big.Int
  11262. Raw types.Log // Blockchain specific contextual infos
  11263. }
  11264. // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925.
  11265. //
  11266. // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)
  11267. func (_IERC721Metadata *IERC721MetadataFilterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, approved []common.Address, tokenId []*big.Int) (*IERC721MetadataApprovalIterator, error) {
  11268. var ownerRule []interface{}
  11269. for _, ownerItem := range owner {
  11270. ownerRule = append(ownerRule, ownerItem)
  11271. }
  11272. var approvedRule []interface{}
  11273. for _, approvedItem := range approved {
  11274. approvedRule = append(approvedRule, approvedItem)
  11275. }
  11276. var tokenIdRule []interface{}
  11277. for _, tokenIdItem := range tokenId {
  11278. tokenIdRule = append(tokenIdRule, tokenIdItem)
  11279. }
  11280. logs, sub, err := _IERC721Metadata.contract.FilterLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule)
  11281. if err != nil {
  11282. return nil, err
  11283. }
  11284. return &IERC721MetadataApprovalIterator{contract: _IERC721Metadata.contract, event: "Approval", logs: logs, sub: sub}, nil
  11285. }
  11286. // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925.
  11287. //
  11288. // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)
  11289. func (_IERC721Metadata *IERC721MetadataFilterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *IERC721MetadataApproval, owner []common.Address, approved []common.Address, tokenId []*big.Int) (event.Subscription, error) {
  11290. var ownerRule []interface{}
  11291. for _, ownerItem := range owner {
  11292. ownerRule = append(ownerRule, ownerItem)
  11293. }
  11294. var approvedRule []interface{}
  11295. for _, approvedItem := range approved {
  11296. approvedRule = append(approvedRule, approvedItem)
  11297. }
  11298. var tokenIdRule []interface{}
  11299. for _, tokenIdItem := range tokenId {
  11300. tokenIdRule = append(tokenIdRule, tokenIdItem)
  11301. }
  11302. logs, sub, err := _IERC721Metadata.contract.WatchLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule)
  11303. if err != nil {
  11304. return nil, err
  11305. }
  11306. return event.NewSubscription(func(quit <-chan struct{}) error {
  11307. defer sub.Unsubscribe()
  11308. for {
  11309. select {
  11310. case log := <-logs:
  11311. // New log arrived, parse the event and forward to the user
  11312. event := new(IERC721MetadataApproval)
  11313. if err := _IERC721Metadata.contract.UnpackLog(event, "Approval", log); err != nil {
  11314. return err
  11315. }
  11316. event.Raw = log
  11317. select {
  11318. case sink <- event:
  11319. case err := <-sub.Err():
  11320. return err
  11321. case <-quit:
  11322. return nil
  11323. }
  11324. case err := <-sub.Err():
  11325. return err
  11326. case <-quit:
  11327. return nil
  11328. }
  11329. }
  11330. }), nil
  11331. }
  11332. // ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925.
  11333. //
  11334. // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)
  11335. func (_IERC721Metadata *IERC721MetadataFilterer) ParseApproval(log types.Log) (*IERC721MetadataApproval, error) {
  11336. event := new(IERC721MetadataApproval)
  11337. if err := _IERC721Metadata.contract.UnpackLog(event, "Approval", log); err != nil {
  11338. return nil, err
  11339. }
  11340. event.Raw = log
  11341. return event, nil
  11342. }
  11343. // IERC721MetadataApprovalForAllIterator is returned from FilterApprovalForAll and is used to iterate over the raw logs and unpacked data for ApprovalForAll events raised by the IERC721Metadata contract.
  11344. type IERC721MetadataApprovalForAllIterator struct {
  11345. Event *IERC721MetadataApprovalForAll // Event containing the contract specifics and raw log
  11346. contract *bind.BoundContract // Generic contract to use for unpacking event data
  11347. event string // Event name to use for unpacking event data
  11348. logs chan types.Log // Log channel receiving the found contract events
  11349. sub ethereum.Subscription // Subscription for errors, completion and termination
  11350. done bool // Whether the subscription completed delivering logs
  11351. fail error // Occurred error to stop iteration
  11352. }
  11353. // Next advances the iterator to the subsequent event, returning whether there
  11354. // are any more events found. In case of a retrieval or parsing error, false is
  11355. // returned and Error() can be queried for the exact failure.
  11356. func (it *IERC721MetadataApprovalForAllIterator) Next() bool {
  11357. // If the iterator failed, stop iterating
  11358. if it.fail != nil {
  11359. return false
  11360. }
  11361. // If the iterator completed, deliver directly whatever's available
  11362. if it.done {
  11363. select {
  11364. case log := <-it.logs:
  11365. it.Event = new(IERC721MetadataApprovalForAll)
  11366. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  11367. it.fail = err
  11368. return false
  11369. }
  11370. it.Event.Raw = log
  11371. return true
  11372. default:
  11373. return false
  11374. }
  11375. }
  11376. // Iterator still in progress, wait for either a data or an error event
  11377. select {
  11378. case log := <-it.logs:
  11379. it.Event = new(IERC721MetadataApprovalForAll)
  11380. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  11381. it.fail = err
  11382. return false
  11383. }
  11384. it.Event.Raw = log
  11385. return true
  11386. case err := <-it.sub.Err():
  11387. it.done = true
  11388. it.fail = err
  11389. return it.Next()
  11390. }
  11391. }
  11392. // Error returns any retrieval or parsing error occurred during filtering.
  11393. func (it *IERC721MetadataApprovalForAllIterator) Error() error {
  11394. return it.fail
  11395. }
  11396. // Close terminates the iteration process, releasing any pending underlying
  11397. // resources.
  11398. func (it *IERC721MetadataApprovalForAllIterator) Close() error {
  11399. it.sub.Unsubscribe()
  11400. return nil
  11401. }
  11402. // IERC721MetadataApprovalForAll represents a ApprovalForAll event raised by the IERC721Metadata contract.
  11403. type IERC721MetadataApprovalForAll struct {
  11404. Owner common.Address
  11405. Operator common.Address
  11406. Approved bool
  11407. Raw types.Log // Blockchain specific contextual infos
  11408. }
  11409. // FilterApprovalForAll is a free log retrieval operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31.
  11410. //
  11411. // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved)
  11412. func (_IERC721Metadata *IERC721MetadataFilterer) FilterApprovalForAll(opts *bind.FilterOpts, owner []common.Address, operator []common.Address) (*IERC721MetadataApprovalForAllIterator, error) {
  11413. var ownerRule []interface{}
  11414. for _, ownerItem := range owner {
  11415. ownerRule = append(ownerRule, ownerItem)
  11416. }
  11417. var operatorRule []interface{}
  11418. for _, operatorItem := range operator {
  11419. operatorRule = append(operatorRule, operatorItem)
  11420. }
  11421. logs, sub, err := _IERC721Metadata.contract.FilterLogs(opts, "ApprovalForAll", ownerRule, operatorRule)
  11422. if err != nil {
  11423. return nil, err
  11424. }
  11425. return &IERC721MetadataApprovalForAllIterator{contract: _IERC721Metadata.contract, event: "ApprovalForAll", logs: logs, sub: sub}, nil
  11426. }
  11427. // WatchApprovalForAll is a free log subscription operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31.
  11428. //
  11429. // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved)
  11430. func (_IERC721Metadata *IERC721MetadataFilterer) WatchApprovalForAll(opts *bind.WatchOpts, sink chan<- *IERC721MetadataApprovalForAll, owner []common.Address, operator []common.Address) (event.Subscription, error) {
  11431. var ownerRule []interface{}
  11432. for _, ownerItem := range owner {
  11433. ownerRule = append(ownerRule, ownerItem)
  11434. }
  11435. var operatorRule []interface{}
  11436. for _, operatorItem := range operator {
  11437. operatorRule = append(operatorRule, operatorItem)
  11438. }
  11439. logs, sub, err := _IERC721Metadata.contract.WatchLogs(opts, "ApprovalForAll", ownerRule, operatorRule)
  11440. if err != nil {
  11441. return nil, err
  11442. }
  11443. return event.NewSubscription(func(quit <-chan struct{}) error {
  11444. defer sub.Unsubscribe()
  11445. for {
  11446. select {
  11447. case log := <-logs:
  11448. // New log arrived, parse the event and forward to the user
  11449. event := new(IERC721MetadataApprovalForAll)
  11450. if err := _IERC721Metadata.contract.UnpackLog(event, "ApprovalForAll", log); err != nil {
  11451. return err
  11452. }
  11453. event.Raw = log
  11454. select {
  11455. case sink <- event:
  11456. case err := <-sub.Err():
  11457. return err
  11458. case <-quit:
  11459. return nil
  11460. }
  11461. case err := <-sub.Err():
  11462. return err
  11463. case <-quit:
  11464. return nil
  11465. }
  11466. }
  11467. }), nil
  11468. }
  11469. // ParseApprovalForAll is a log parse operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31.
  11470. //
  11471. // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved)
  11472. func (_IERC721Metadata *IERC721MetadataFilterer) ParseApprovalForAll(log types.Log) (*IERC721MetadataApprovalForAll, error) {
  11473. event := new(IERC721MetadataApprovalForAll)
  11474. if err := _IERC721Metadata.contract.UnpackLog(event, "ApprovalForAll", log); err != nil {
  11475. return nil, err
  11476. }
  11477. event.Raw = log
  11478. return event, nil
  11479. }
  11480. // IERC721MetadataTransferIterator is returned from FilterTransfer and is used to iterate over the raw logs and unpacked data for Transfer events raised by the IERC721Metadata contract.
  11481. type IERC721MetadataTransferIterator struct {
  11482. Event *IERC721MetadataTransfer // Event containing the contract specifics and raw log
  11483. contract *bind.BoundContract // Generic contract to use for unpacking event data
  11484. event string // Event name to use for unpacking event data
  11485. logs chan types.Log // Log channel receiving the found contract events
  11486. sub ethereum.Subscription // Subscription for errors, completion and termination
  11487. done bool // Whether the subscription completed delivering logs
  11488. fail error // Occurred error to stop iteration
  11489. }
  11490. // Next advances the iterator to the subsequent event, returning whether there
  11491. // are any more events found. In case of a retrieval or parsing error, false is
  11492. // returned and Error() can be queried for the exact failure.
  11493. func (it *IERC721MetadataTransferIterator) Next() bool {
  11494. // If the iterator failed, stop iterating
  11495. if it.fail != nil {
  11496. return false
  11497. }
  11498. // If the iterator completed, deliver directly whatever's available
  11499. if it.done {
  11500. select {
  11501. case log := <-it.logs:
  11502. it.Event = new(IERC721MetadataTransfer)
  11503. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  11504. it.fail = err
  11505. return false
  11506. }
  11507. it.Event.Raw = log
  11508. return true
  11509. default:
  11510. return false
  11511. }
  11512. }
  11513. // Iterator still in progress, wait for either a data or an error event
  11514. select {
  11515. case log := <-it.logs:
  11516. it.Event = new(IERC721MetadataTransfer)
  11517. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  11518. it.fail = err
  11519. return false
  11520. }
  11521. it.Event.Raw = log
  11522. return true
  11523. case err := <-it.sub.Err():
  11524. it.done = true
  11525. it.fail = err
  11526. return it.Next()
  11527. }
  11528. }
  11529. // Error returns any retrieval or parsing error occurred during filtering.
  11530. func (it *IERC721MetadataTransferIterator) Error() error {
  11531. return it.fail
  11532. }
  11533. // Close terminates the iteration process, releasing any pending underlying
  11534. // resources.
  11535. func (it *IERC721MetadataTransferIterator) Close() error {
  11536. it.sub.Unsubscribe()
  11537. return nil
  11538. }
  11539. // IERC721MetadataTransfer represents a Transfer event raised by the IERC721Metadata contract.
  11540. type IERC721MetadataTransfer struct {
  11541. From common.Address
  11542. To common.Address
  11543. TokenId *big.Int
  11544. Raw types.Log // Blockchain specific contextual infos
  11545. }
  11546. // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef.
  11547. //
  11548. // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)
  11549. func (_IERC721Metadata *IERC721MetadataFilterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address, tokenId []*big.Int) (*IERC721MetadataTransferIterator, error) {
  11550. var fromRule []interface{}
  11551. for _, fromItem := range from {
  11552. fromRule = append(fromRule, fromItem)
  11553. }
  11554. var toRule []interface{}
  11555. for _, toItem := range to {
  11556. toRule = append(toRule, toItem)
  11557. }
  11558. var tokenIdRule []interface{}
  11559. for _, tokenIdItem := range tokenId {
  11560. tokenIdRule = append(tokenIdRule, tokenIdItem)
  11561. }
  11562. logs, sub, err := _IERC721Metadata.contract.FilterLogs(opts, "Transfer", fromRule, toRule, tokenIdRule)
  11563. if err != nil {
  11564. return nil, err
  11565. }
  11566. return &IERC721MetadataTransferIterator{contract: _IERC721Metadata.contract, event: "Transfer", logs: logs, sub: sub}, nil
  11567. }
  11568. // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef.
  11569. //
  11570. // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)
  11571. func (_IERC721Metadata *IERC721MetadataFilterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *IERC721MetadataTransfer, from []common.Address, to []common.Address, tokenId []*big.Int) (event.Subscription, error) {
  11572. var fromRule []interface{}
  11573. for _, fromItem := range from {
  11574. fromRule = append(fromRule, fromItem)
  11575. }
  11576. var toRule []interface{}
  11577. for _, toItem := range to {
  11578. toRule = append(toRule, toItem)
  11579. }
  11580. var tokenIdRule []interface{}
  11581. for _, tokenIdItem := range tokenId {
  11582. tokenIdRule = append(tokenIdRule, tokenIdItem)
  11583. }
  11584. logs, sub, err := _IERC721Metadata.contract.WatchLogs(opts, "Transfer", fromRule, toRule, tokenIdRule)
  11585. if err != nil {
  11586. return nil, err
  11587. }
  11588. return event.NewSubscription(func(quit <-chan struct{}) error {
  11589. defer sub.Unsubscribe()
  11590. for {
  11591. select {
  11592. case log := <-logs:
  11593. // New log arrived, parse the event and forward to the user
  11594. event := new(IERC721MetadataTransfer)
  11595. if err := _IERC721Metadata.contract.UnpackLog(event, "Transfer", log); err != nil {
  11596. return err
  11597. }
  11598. event.Raw = log
  11599. select {
  11600. case sink <- event:
  11601. case err := <-sub.Err():
  11602. return err
  11603. case <-quit:
  11604. return nil
  11605. }
  11606. case err := <-sub.Err():
  11607. return err
  11608. case <-quit:
  11609. return nil
  11610. }
  11611. }
  11612. }), nil
  11613. }
  11614. // ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef.
  11615. //
  11616. // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)
  11617. func (_IERC721Metadata *IERC721MetadataFilterer) ParseTransfer(log types.Log) (*IERC721MetadataTransfer, error) {
  11618. event := new(IERC721MetadataTransfer)
  11619. if err := _IERC721Metadata.contract.UnpackLog(event, "Transfer", log); err != nil {
  11620. return nil, err
  11621. }
  11622. event.Raw = log
  11623. return event, nil
  11624. }
  11625. // IERC721ReceiverMetaData contains all meta data concerning the IERC721Receiver contract.
  11626. var IERC721ReceiverMetaData = &bind.MetaData{
  11627. ABI: "[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"onERC721Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]",
  11628. Sigs: map[string]string{
  11629. "150b7a02": "onERC721Received(address,address,uint256,bytes)",
  11630. },
  11631. }
  11632. // IERC721ReceiverABI is the input ABI used to generate the binding from.
  11633. // Deprecated: Use IERC721ReceiverMetaData.ABI instead.
  11634. var IERC721ReceiverABI = IERC721ReceiverMetaData.ABI
  11635. // Deprecated: Use IERC721ReceiverMetaData.Sigs instead.
  11636. // IERC721ReceiverFuncSigs maps the 4-byte function signature to its string representation.
  11637. var IERC721ReceiverFuncSigs = IERC721ReceiverMetaData.Sigs
  11638. // IERC721Receiver is an auto generated Go binding around an Ethereum contract.
  11639. type IERC721Receiver struct {
  11640. IERC721ReceiverCaller // Read-only binding to the contract
  11641. IERC721ReceiverTransactor // Write-only binding to the contract
  11642. IERC721ReceiverFilterer // Log filterer for contract events
  11643. }
  11644. // IERC721ReceiverCaller is an auto generated read-only Go binding around an Ethereum contract.
  11645. type IERC721ReceiverCaller struct {
  11646. contract *bind.BoundContract // Generic contract wrapper for the low level calls
  11647. }
  11648. // IERC721ReceiverTransactor is an auto generated write-only Go binding around an Ethereum contract.
  11649. type IERC721ReceiverTransactor struct {
  11650. contract *bind.BoundContract // Generic contract wrapper for the low level calls
  11651. }
  11652. // IERC721ReceiverFilterer is an auto generated log filtering Go binding around an Ethereum contract events.
  11653. type IERC721ReceiverFilterer struct {
  11654. contract *bind.BoundContract // Generic contract wrapper for the low level calls
  11655. }
  11656. // IERC721ReceiverSession is an auto generated Go binding around an Ethereum contract,
  11657. // with pre-set call and transact options.
  11658. type IERC721ReceiverSession struct {
  11659. Contract *IERC721Receiver // Generic contract binding to set the session for
  11660. CallOpts bind.CallOpts // Call options to use throughout this session
  11661. TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
  11662. }
  11663. // IERC721ReceiverCallerSession is an auto generated read-only Go binding around an Ethereum contract,
  11664. // with pre-set call options.
  11665. type IERC721ReceiverCallerSession struct {
  11666. Contract *IERC721ReceiverCaller // Generic contract caller binding to set the session for
  11667. CallOpts bind.CallOpts // Call options to use throughout this session
  11668. }
  11669. // IERC721ReceiverTransactorSession is an auto generated write-only Go binding around an Ethereum contract,
  11670. // with pre-set transact options.
  11671. type IERC721ReceiverTransactorSession struct {
  11672. Contract *IERC721ReceiverTransactor // Generic contract transactor binding to set the session for
  11673. TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
  11674. }
  11675. // IERC721ReceiverRaw is an auto generated low-level Go binding around an Ethereum contract.
  11676. type IERC721ReceiverRaw struct {
  11677. Contract *IERC721Receiver // Generic contract binding to access the raw methods on
  11678. }
  11679. // IERC721ReceiverCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
  11680. type IERC721ReceiverCallerRaw struct {
  11681. Contract *IERC721ReceiverCaller // Generic read-only contract binding to access the raw methods on
  11682. }
  11683. // IERC721ReceiverTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
  11684. type IERC721ReceiverTransactorRaw struct {
  11685. Contract *IERC721ReceiverTransactor // Generic write-only contract binding to access the raw methods on
  11686. }
  11687. // NewIERC721Receiver creates a new instance of IERC721Receiver, bound to a specific deployed contract.
  11688. func NewIERC721Receiver(address common.Address, backend bind.ContractBackend) (*IERC721Receiver, error) {
  11689. contract, err := bindIERC721Receiver(address, backend, backend, backend)
  11690. if err != nil {
  11691. return nil, err
  11692. }
  11693. return &IERC721Receiver{IERC721ReceiverCaller: IERC721ReceiverCaller{contract: contract}, IERC721ReceiverTransactor: IERC721ReceiverTransactor{contract: contract}, IERC721ReceiverFilterer: IERC721ReceiverFilterer{contract: contract}}, nil
  11694. }
  11695. // NewIERC721ReceiverCaller creates a new read-only instance of IERC721Receiver, bound to a specific deployed contract.
  11696. func NewIERC721ReceiverCaller(address common.Address, caller bind.ContractCaller) (*IERC721ReceiverCaller, error) {
  11697. contract, err := bindIERC721Receiver(address, caller, nil, nil)
  11698. if err != nil {
  11699. return nil, err
  11700. }
  11701. return &IERC721ReceiverCaller{contract: contract}, nil
  11702. }
  11703. // NewIERC721ReceiverTransactor creates a new write-only instance of IERC721Receiver, bound to a specific deployed contract.
  11704. func NewIERC721ReceiverTransactor(address common.Address, transactor bind.ContractTransactor) (*IERC721ReceiverTransactor, error) {
  11705. contract, err := bindIERC721Receiver(address, nil, transactor, nil)
  11706. if err != nil {
  11707. return nil, err
  11708. }
  11709. return &IERC721ReceiverTransactor{contract: contract}, nil
  11710. }
  11711. // NewIERC721ReceiverFilterer creates a new log filterer instance of IERC721Receiver, bound to a specific deployed contract.
  11712. func NewIERC721ReceiverFilterer(address common.Address, filterer bind.ContractFilterer) (*IERC721ReceiverFilterer, error) {
  11713. contract, err := bindIERC721Receiver(address, nil, nil, filterer)
  11714. if err != nil {
  11715. return nil, err
  11716. }
  11717. return &IERC721ReceiverFilterer{contract: contract}, nil
  11718. }
  11719. // bindIERC721Receiver binds a generic wrapper to an already deployed contract.
  11720. func bindIERC721Receiver(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
  11721. parsed, err := abi.JSON(strings.NewReader(IERC721ReceiverABI))
  11722. if err != nil {
  11723. return nil, err
  11724. }
  11725. return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil
  11726. }
  11727. // Call invokes the (constant) contract method with params as input values and
  11728. // sets the output to result. The result type might be a single field for simple
  11729. // returns, a slice of interfaces for anonymous returns and a struct for named
  11730. // returns.
  11731. func (_IERC721Receiver *IERC721ReceiverRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
  11732. return _IERC721Receiver.Contract.IERC721ReceiverCaller.contract.Call(opts, result, method, params...)
  11733. }
  11734. // Transfer initiates a plain transaction to move funds to the contract, calling
  11735. // its default method if one is available.
  11736. func (_IERC721Receiver *IERC721ReceiverRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
  11737. return _IERC721Receiver.Contract.IERC721ReceiverTransactor.contract.Transfer(opts)
  11738. }
  11739. // Transact invokes the (paid) contract method with params as input values.
  11740. func (_IERC721Receiver *IERC721ReceiverRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
  11741. return _IERC721Receiver.Contract.IERC721ReceiverTransactor.contract.Transact(opts, method, params...)
  11742. }
  11743. // Call invokes the (constant) contract method with params as input values and
  11744. // sets the output to result. The result type might be a single field for simple
  11745. // returns, a slice of interfaces for anonymous returns and a struct for named
  11746. // returns.
  11747. func (_IERC721Receiver *IERC721ReceiverCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
  11748. return _IERC721Receiver.Contract.contract.Call(opts, result, method, params...)
  11749. }
  11750. // Transfer initiates a plain transaction to move funds to the contract, calling
  11751. // its default method if one is available.
  11752. func (_IERC721Receiver *IERC721ReceiverTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
  11753. return _IERC721Receiver.Contract.contract.Transfer(opts)
  11754. }
  11755. // Transact invokes the (paid) contract method with params as input values.
  11756. func (_IERC721Receiver *IERC721ReceiverTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
  11757. return _IERC721Receiver.Contract.contract.Transact(opts, method, params...)
  11758. }
  11759. // OnERC721Received is a paid mutator transaction binding the contract method 0x150b7a02.
  11760. //
  11761. // Solidity: function onERC721Received(address operator, address from, uint256 tokenId, bytes data) returns(bytes4)
  11762. func (_IERC721Receiver *IERC721ReceiverTransactor) OnERC721Received(opts *bind.TransactOpts, operator common.Address, from common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) {
  11763. return _IERC721Receiver.contract.Transact(opts, "onERC721Received", operator, from, tokenId, data)
  11764. }
  11765. // OnERC721Received is a paid mutator transaction binding the contract method 0x150b7a02.
  11766. //
  11767. // Solidity: function onERC721Received(address operator, address from, uint256 tokenId, bytes data) returns(bytes4)
  11768. func (_IERC721Receiver *IERC721ReceiverSession) OnERC721Received(operator common.Address, from common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) {
  11769. return _IERC721Receiver.Contract.OnERC721Received(&_IERC721Receiver.TransactOpts, operator, from, tokenId, data)
  11770. }
  11771. // OnERC721Received is a paid mutator transaction binding the contract method 0x150b7a02.
  11772. //
  11773. // Solidity: function onERC721Received(address operator, address from, uint256 tokenId, bytes data) returns(bytes4)
  11774. func (_IERC721Receiver *IERC721ReceiverTransactorSession) OnERC721Received(operator common.Address, from common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) {
  11775. return _IERC721Receiver.Contract.OnERC721Received(&_IERC721Receiver.TransactOpts, operator, from, tokenId, data)
  11776. }
  11777. // IMetaRareERC1155CollectionMetaData contains all meta data concerning the IMetaRareERC1155Collection contract.
  11778. var IMetaRareERC1155CollectionMetaData = &bind.MetaData{
  11779. ABI: "[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]",
  11780. Sigs: map[string]string{
  11781. "d6d0faee": "initialize(string,string,string,address,address)",
  11782. },
  11783. }
  11784. // IMetaRareERC1155CollectionABI is the input ABI used to generate the binding from.
  11785. // Deprecated: Use IMetaRareERC1155CollectionMetaData.ABI instead.
  11786. var IMetaRareERC1155CollectionABI = IMetaRareERC1155CollectionMetaData.ABI
  11787. // Deprecated: Use IMetaRareERC1155CollectionMetaData.Sigs instead.
  11788. // IMetaRareERC1155CollectionFuncSigs maps the 4-byte function signature to its string representation.
  11789. var IMetaRareERC1155CollectionFuncSigs = IMetaRareERC1155CollectionMetaData.Sigs
  11790. // IMetaRareERC1155Collection is an auto generated Go binding around an Ethereum contract.
  11791. type IMetaRareERC1155Collection struct {
  11792. IMetaRareERC1155CollectionCaller // Read-only binding to the contract
  11793. IMetaRareERC1155CollectionTransactor // Write-only binding to the contract
  11794. IMetaRareERC1155CollectionFilterer // Log filterer for contract events
  11795. }
  11796. // IMetaRareERC1155CollectionCaller is an auto generated read-only Go binding around an Ethereum contract.
  11797. type IMetaRareERC1155CollectionCaller struct {
  11798. contract *bind.BoundContract // Generic contract wrapper for the low level calls
  11799. }
  11800. // IMetaRareERC1155CollectionTransactor is an auto generated write-only Go binding around an Ethereum contract.
  11801. type IMetaRareERC1155CollectionTransactor struct {
  11802. contract *bind.BoundContract // Generic contract wrapper for the low level calls
  11803. }
  11804. // IMetaRareERC1155CollectionFilterer is an auto generated log filtering Go binding around an Ethereum contract events.
  11805. type IMetaRareERC1155CollectionFilterer struct {
  11806. contract *bind.BoundContract // Generic contract wrapper for the low level calls
  11807. }
  11808. // IMetaRareERC1155CollectionSession is an auto generated Go binding around an Ethereum contract,
  11809. // with pre-set call and transact options.
  11810. type IMetaRareERC1155CollectionSession struct {
  11811. Contract *IMetaRareERC1155Collection // Generic contract binding to set the session for
  11812. CallOpts bind.CallOpts // Call options to use throughout this session
  11813. TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
  11814. }
  11815. // IMetaRareERC1155CollectionCallerSession is an auto generated read-only Go binding around an Ethereum contract,
  11816. // with pre-set call options.
  11817. type IMetaRareERC1155CollectionCallerSession struct {
  11818. Contract *IMetaRareERC1155CollectionCaller // Generic contract caller binding to set the session for
  11819. CallOpts bind.CallOpts // Call options to use throughout this session
  11820. }
  11821. // IMetaRareERC1155CollectionTransactorSession is an auto generated write-only Go binding around an Ethereum contract,
  11822. // with pre-set transact options.
  11823. type IMetaRareERC1155CollectionTransactorSession struct {
  11824. Contract *IMetaRareERC1155CollectionTransactor // Generic contract transactor binding to set the session for
  11825. TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
  11826. }
  11827. // IMetaRareERC1155CollectionRaw is an auto generated low-level Go binding around an Ethereum contract.
  11828. type IMetaRareERC1155CollectionRaw struct {
  11829. Contract *IMetaRareERC1155Collection // Generic contract binding to access the raw methods on
  11830. }
  11831. // IMetaRareERC1155CollectionCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
  11832. type IMetaRareERC1155CollectionCallerRaw struct {
  11833. Contract *IMetaRareERC1155CollectionCaller // Generic read-only contract binding to access the raw methods on
  11834. }
  11835. // IMetaRareERC1155CollectionTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
  11836. type IMetaRareERC1155CollectionTransactorRaw struct {
  11837. Contract *IMetaRareERC1155CollectionTransactor // Generic write-only contract binding to access the raw methods on
  11838. }
  11839. // NewIMetaRareERC1155Collection creates a new instance of IMetaRareERC1155Collection, bound to a specific deployed contract.
  11840. func NewIMetaRareERC1155Collection(address common.Address, backend bind.ContractBackend) (*IMetaRareERC1155Collection, error) {
  11841. contract, err := bindIMetaRareERC1155Collection(address, backend, backend, backend)
  11842. if err != nil {
  11843. return nil, err
  11844. }
  11845. return &IMetaRareERC1155Collection{IMetaRareERC1155CollectionCaller: IMetaRareERC1155CollectionCaller{contract: contract}, IMetaRareERC1155CollectionTransactor: IMetaRareERC1155CollectionTransactor{contract: contract}, IMetaRareERC1155CollectionFilterer: IMetaRareERC1155CollectionFilterer{contract: contract}}, nil
  11846. }
  11847. // NewIMetaRareERC1155CollectionCaller creates a new read-only instance of IMetaRareERC1155Collection, bound to a specific deployed contract.
  11848. func NewIMetaRareERC1155CollectionCaller(address common.Address, caller bind.ContractCaller) (*IMetaRareERC1155CollectionCaller, error) {
  11849. contract, err := bindIMetaRareERC1155Collection(address, caller, nil, nil)
  11850. if err != nil {
  11851. return nil, err
  11852. }
  11853. return &IMetaRareERC1155CollectionCaller{contract: contract}, nil
  11854. }
  11855. // NewIMetaRareERC1155CollectionTransactor creates a new write-only instance of IMetaRareERC1155Collection, bound to a specific deployed contract.
  11856. func NewIMetaRareERC1155CollectionTransactor(address common.Address, transactor bind.ContractTransactor) (*IMetaRareERC1155CollectionTransactor, error) {
  11857. contract, err := bindIMetaRareERC1155Collection(address, nil, transactor, nil)
  11858. if err != nil {
  11859. return nil, err
  11860. }
  11861. return &IMetaRareERC1155CollectionTransactor{contract: contract}, nil
  11862. }
  11863. // NewIMetaRareERC1155CollectionFilterer creates a new log filterer instance of IMetaRareERC1155Collection, bound to a specific deployed contract.
  11864. func NewIMetaRareERC1155CollectionFilterer(address common.Address, filterer bind.ContractFilterer) (*IMetaRareERC1155CollectionFilterer, error) {
  11865. contract, err := bindIMetaRareERC1155Collection(address, nil, nil, filterer)
  11866. if err != nil {
  11867. return nil, err
  11868. }
  11869. return &IMetaRareERC1155CollectionFilterer{contract: contract}, nil
  11870. }
  11871. // bindIMetaRareERC1155Collection binds a generic wrapper to an already deployed contract.
  11872. func bindIMetaRareERC1155Collection(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
  11873. parsed, err := abi.JSON(strings.NewReader(IMetaRareERC1155CollectionABI))
  11874. if err != nil {
  11875. return nil, err
  11876. }
  11877. return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil
  11878. }
  11879. // Call invokes the (constant) contract method with params as input values and
  11880. // sets the output to result. The result type might be a single field for simple
  11881. // returns, a slice of interfaces for anonymous returns and a struct for named
  11882. // returns.
  11883. func (_IMetaRareERC1155Collection *IMetaRareERC1155CollectionRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
  11884. return _IMetaRareERC1155Collection.Contract.IMetaRareERC1155CollectionCaller.contract.Call(opts, result, method, params...)
  11885. }
  11886. // Transfer initiates a plain transaction to move funds to the contract, calling
  11887. // its default method if one is available.
  11888. func (_IMetaRareERC1155Collection *IMetaRareERC1155CollectionRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
  11889. return _IMetaRareERC1155Collection.Contract.IMetaRareERC1155CollectionTransactor.contract.Transfer(opts)
  11890. }
  11891. // Transact invokes the (paid) contract method with params as input values.
  11892. func (_IMetaRareERC1155Collection *IMetaRareERC1155CollectionRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
  11893. return _IMetaRareERC1155Collection.Contract.IMetaRareERC1155CollectionTransactor.contract.Transact(opts, method, params...)
  11894. }
  11895. // Call invokes the (constant) contract method with params as input values and
  11896. // sets the output to result. The result type might be a single field for simple
  11897. // returns, a slice of interfaces for anonymous returns and a struct for named
  11898. // returns.
  11899. func (_IMetaRareERC1155Collection *IMetaRareERC1155CollectionCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
  11900. return _IMetaRareERC1155Collection.Contract.contract.Call(opts, result, method, params...)
  11901. }
  11902. // Transfer initiates a plain transaction to move funds to the contract, calling
  11903. // its default method if one is available.
  11904. func (_IMetaRareERC1155Collection *IMetaRareERC1155CollectionTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
  11905. return _IMetaRareERC1155Collection.Contract.contract.Transfer(opts)
  11906. }
  11907. // Transact invokes the (paid) contract method with params as input values.
  11908. func (_IMetaRareERC1155Collection *IMetaRareERC1155CollectionTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
  11909. return _IMetaRareERC1155Collection.Contract.contract.Transact(opts, method, params...)
  11910. }
  11911. // Initialize is a paid mutator transaction binding the contract method 0xd6d0faee.
  11912. //
  11913. // Solidity: function initialize(string , string , string , address , address ) returns()
  11914. func (_IMetaRareERC1155Collection *IMetaRareERC1155CollectionTransactor) Initialize(opts *bind.TransactOpts, arg0 string, arg1 string, arg2 string, arg3 common.Address, arg4 common.Address) (*types.Transaction, error) {
  11915. return _IMetaRareERC1155Collection.contract.Transact(opts, "initialize", arg0, arg1, arg2, arg3, arg4)
  11916. }
  11917. // Initialize is a paid mutator transaction binding the contract method 0xd6d0faee.
  11918. //
  11919. // Solidity: function initialize(string , string , string , address , address ) returns()
  11920. func (_IMetaRareERC1155Collection *IMetaRareERC1155CollectionSession) Initialize(arg0 string, arg1 string, arg2 string, arg3 common.Address, arg4 common.Address) (*types.Transaction, error) {
  11921. return _IMetaRareERC1155Collection.Contract.Initialize(&_IMetaRareERC1155Collection.TransactOpts, arg0, arg1, arg2, arg3, arg4)
  11922. }
  11923. // Initialize is a paid mutator transaction binding the contract method 0xd6d0faee.
  11924. //
  11925. // Solidity: function initialize(string , string , string , address , address ) returns()
  11926. func (_IMetaRareERC1155Collection *IMetaRareERC1155CollectionTransactorSession) Initialize(arg0 string, arg1 string, arg2 string, arg3 common.Address, arg4 common.Address) (*types.Transaction, error) {
  11927. return _IMetaRareERC1155Collection.Contract.Initialize(&_IMetaRareERC1155Collection.TransactOpts, arg0, arg1, arg2, arg3, arg4)
  11928. }
  11929. // IMetaRareERC721CollectionMetaData contains all meta data concerning the IMetaRareERC721Collection contract.
  11930. var IMetaRareERC721CollectionMetaData = &bind.MetaData{
  11931. ABI: "[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]",
  11932. Sigs: map[string]string{
  11933. "d6d0faee": "initialize(string,string,string,address,address)",
  11934. },
  11935. }
  11936. // IMetaRareERC721CollectionABI is the input ABI used to generate the binding from.
  11937. // Deprecated: Use IMetaRareERC721CollectionMetaData.ABI instead.
  11938. var IMetaRareERC721CollectionABI = IMetaRareERC721CollectionMetaData.ABI
  11939. // Deprecated: Use IMetaRareERC721CollectionMetaData.Sigs instead.
  11940. // IMetaRareERC721CollectionFuncSigs maps the 4-byte function signature to its string representation.
  11941. var IMetaRareERC721CollectionFuncSigs = IMetaRareERC721CollectionMetaData.Sigs
  11942. // IMetaRareERC721Collection is an auto generated Go binding around an Ethereum contract.
  11943. type IMetaRareERC721Collection struct {
  11944. IMetaRareERC721CollectionCaller // Read-only binding to the contract
  11945. IMetaRareERC721CollectionTransactor // Write-only binding to the contract
  11946. IMetaRareERC721CollectionFilterer // Log filterer for contract events
  11947. }
  11948. // IMetaRareERC721CollectionCaller is an auto generated read-only Go binding around an Ethereum contract.
  11949. type IMetaRareERC721CollectionCaller struct {
  11950. contract *bind.BoundContract // Generic contract wrapper for the low level calls
  11951. }
  11952. // IMetaRareERC721CollectionTransactor is an auto generated write-only Go binding around an Ethereum contract.
  11953. type IMetaRareERC721CollectionTransactor struct {
  11954. contract *bind.BoundContract // Generic contract wrapper for the low level calls
  11955. }
  11956. // IMetaRareERC721CollectionFilterer is an auto generated log filtering Go binding around an Ethereum contract events.
  11957. type IMetaRareERC721CollectionFilterer struct {
  11958. contract *bind.BoundContract // Generic contract wrapper for the low level calls
  11959. }
  11960. // IMetaRareERC721CollectionSession is an auto generated Go binding around an Ethereum contract,
  11961. // with pre-set call and transact options.
  11962. type IMetaRareERC721CollectionSession struct {
  11963. Contract *IMetaRareERC721Collection // Generic contract binding to set the session for
  11964. CallOpts bind.CallOpts // Call options to use throughout this session
  11965. TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
  11966. }
  11967. // IMetaRareERC721CollectionCallerSession is an auto generated read-only Go binding around an Ethereum contract,
  11968. // with pre-set call options.
  11969. type IMetaRareERC721CollectionCallerSession struct {
  11970. Contract *IMetaRareERC721CollectionCaller // Generic contract caller binding to set the session for
  11971. CallOpts bind.CallOpts // Call options to use throughout this session
  11972. }
  11973. // IMetaRareERC721CollectionTransactorSession is an auto generated write-only Go binding around an Ethereum contract,
  11974. // with pre-set transact options.
  11975. type IMetaRareERC721CollectionTransactorSession struct {
  11976. Contract *IMetaRareERC721CollectionTransactor // Generic contract transactor binding to set the session for
  11977. TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
  11978. }
  11979. // IMetaRareERC721CollectionRaw is an auto generated low-level Go binding around an Ethereum contract.
  11980. type IMetaRareERC721CollectionRaw struct {
  11981. Contract *IMetaRareERC721Collection // Generic contract binding to access the raw methods on
  11982. }
  11983. // IMetaRareERC721CollectionCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
  11984. type IMetaRareERC721CollectionCallerRaw struct {
  11985. Contract *IMetaRareERC721CollectionCaller // Generic read-only contract binding to access the raw methods on
  11986. }
  11987. // IMetaRareERC721CollectionTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
  11988. type IMetaRareERC721CollectionTransactorRaw struct {
  11989. Contract *IMetaRareERC721CollectionTransactor // Generic write-only contract binding to access the raw methods on
  11990. }
  11991. // NewIMetaRareERC721Collection creates a new instance of IMetaRareERC721Collection, bound to a specific deployed contract.
  11992. func NewIMetaRareERC721Collection(address common.Address, backend bind.ContractBackend) (*IMetaRareERC721Collection, error) {
  11993. contract, err := bindIMetaRareERC721Collection(address, backend, backend, backend)
  11994. if err != nil {
  11995. return nil, err
  11996. }
  11997. return &IMetaRareERC721Collection{IMetaRareERC721CollectionCaller: IMetaRareERC721CollectionCaller{contract: contract}, IMetaRareERC721CollectionTransactor: IMetaRareERC721CollectionTransactor{contract: contract}, IMetaRareERC721CollectionFilterer: IMetaRareERC721CollectionFilterer{contract: contract}}, nil
  11998. }
  11999. // NewIMetaRareERC721CollectionCaller creates a new read-only instance of IMetaRareERC721Collection, bound to a specific deployed contract.
  12000. func NewIMetaRareERC721CollectionCaller(address common.Address, caller bind.ContractCaller) (*IMetaRareERC721CollectionCaller, error) {
  12001. contract, err := bindIMetaRareERC721Collection(address, caller, nil, nil)
  12002. if err != nil {
  12003. return nil, err
  12004. }
  12005. return &IMetaRareERC721CollectionCaller{contract: contract}, nil
  12006. }
  12007. // NewIMetaRareERC721CollectionTransactor creates a new write-only instance of IMetaRareERC721Collection, bound to a specific deployed contract.
  12008. func NewIMetaRareERC721CollectionTransactor(address common.Address, transactor bind.ContractTransactor) (*IMetaRareERC721CollectionTransactor, error) {
  12009. contract, err := bindIMetaRareERC721Collection(address, nil, transactor, nil)
  12010. if err != nil {
  12011. return nil, err
  12012. }
  12013. return &IMetaRareERC721CollectionTransactor{contract: contract}, nil
  12014. }
  12015. // NewIMetaRareERC721CollectionFilterer creates a new log filterer instance of IMetaRareERC721Collection, bound to a specific deployed contract.
  12016. func NewIMetaRareERC721CollectionFilterer(address common.Address, filterer bind.ContractFilterer) (*IMetaRareERC721CollectionFilterer, error) {
  12017. contract, err := bindIMetaRareERC721Collection(address, nil, nil, filterer)
  12018. if err != nil {
  12019. return nil, err
  12020. }
  12021. return &IMetaRareERC721CollectionFilterer{contract: contract}, nil
  12022. }
  12023. // bindIMetaRareERC721Collection binds a generic wrapper to an already deployed contract.
  12024. func bindIMetaRareERC721Collection(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
  12025. parsed, err := abi.JSON(strings.NewReader(IMetaRareERC721CollectionABI))
  12026. if err != nil {
  12027. return nil, err
  12028. }
  12029. return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil
  12030. }
  12031. // Call invokes the (constant) contract method with params as input values and
  12032. // sets the output to result. The result type might be a single field for simple
  12033. // returns, a slice of interfaces for anonymous returns and a struct for named
  12034. // returns.
  12035. func (_IMetaRareERC721Collection *IMetaRareERC721CollectionRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
  12036. return _IMetaRareERC721Collection.Contract.IMetaRareERC721CollectionCaller.contract.Call(opts, result, method, params...)
  12037. }
  12038. // Transfer initiates a plain transaction to move funds to the contract, calling
  12039. // its default method if one is available.
  12040. func (_IMetaRareERC721Collection *IMetaRareERC721CollectionRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
  12041. return _IMetaRareERC721Collection.Contract.IMetaRareERC721CollectionTransactor.contract.Transfer(opts)
  12042. }
  12043. // Transact invokes the (paid) contract method with params as input values.
  12044. func (_IMetaRareERC721Collection *IMetaRareERC721CollectionRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
  12045. return _IMetaRareERC721Collection.Contract.IMetaRareERC721CollectionTransactor.contract.Transact(opts, method, params...)
  12046. }
  12047. // Call invokes the (constant) contract method with params as input values and
  12048. // sets the output to result. The result type might be a single field for simple
  12049. // returns, a slice of interfaces for anonymous returns and a struct for named
  12050. // returns.
  12051. func (_IMetaRareERC721Collection *IMetaRareERC721CollectionCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
  12052. return _IMetaRareERC721Collection.Contract.contract.Call(opts, result, method, params...)
  12053. }
  12054. // Transfer initiates a plain transaction to move funds to the contract, calling
  12055. // its default method if one is available.
  12056. func (_IMetaRareERC721Collection *IMetaRareERC721CollectionTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
  12057. return _IMetaRareERC721Collection.Contract.contract.Transfer(opts)
  12058. }
  12059. // Transact invokes the (paid) contract method with params as input values.
  12060. func (_IMetaRareERC721Collection *IMetaRareERC721CollectionTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
  12061. return _IMetaRareERC721Collection.Contract.contract.Transact(opts, method, params...)
  12062. }
  12063. // Initialize is a paid mutator transaction binding the contract method 0xd6d0faee.
  12064. //
  12065. // Solidity: function initialize(string , string , string , address , address ) returns()
  12066. func (_IMetaRareERC721Collection *IMetaRareERC721CollectionTransactor) Initialize(opts *bind.TransactOpts, arg0 string, arg1 string, arg2 string, arg3 common.Address, arg4 common.Address) (*types.Transaction, error) {
  12067. return _IMetaRareERC721Collection.contract.Transact(opts, "initialize", arg0, arg1, arg2, arg3, arg4)
  12068. }
  12069. // Initialize is a paid mutator transaction binding the contract method 0xd6d0faee.
  12070. //
  12071. // Solidity: function initialize(string , string , string , address , address ) returns()
  12072. func (_IMetaRareERC721Collection *IMetaRareERC721CollectionSession) Initialize(arg0 string, arg1 string, arg2 string, arg3 common.Address, arg4 common.Address) (*types.Transaction, error) {
  12073. return _IMetaRareERC721Collection.Contract.Initialize(&_IMetaRareERC721Collection.TransactOpts, arg0, arg1, arg2, arg3, arg4)
  12074. }
  12075. // Initialize is a paid mutator transaction binding the contract method 0xd6d0faee.
  12076. //
  12077. // Solidity: function initialize(string , string , string , address , address ) returns()
  12078. func (_IMetaRareERC721Collection *IMetaRareERC721CollectionTransactorSession) Initialize(arg0 string, arg1 string, arg2 string, arg3 common.Address, arg4 common.Address) (*types.Transaction, error) {
  12079. return _IMetaRareERC721Collection.Contract.Initialize(&_IMetaRareERC721Collection.TransactOpts, arg0, arg1, arg2, arg3, arg4)
  12080. }
  12081. // MetaRareCollectionFactoryMetaData contains all meta data concerning the MetaRareCollectionFactory contract.
  12082. var MetaRareCollectionFactoryMetaData = &bind.MetaData{
  12083. ABI: "[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"collection\",\"type\":\"address\"}],\"name\":\"CreateERC1155Collection\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"collection\",\"type\":\"address\"}],\"name\":\"CreateERC721Collection\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"uri\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"OperatorContract\",\"type\":\"address\"}],\"name\":\"CreateMetaRareERC1155Collection\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"baseURI\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"OperatorContract\",\"type\":\"address\"}],\"name\":\"CreateMetaRareERC721Collection\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]",
  12084. Sigs: map[string]string{
  12085. "ce5216cf": "CreateMetaRareERC1155Collection(string,string,string,address)",
  12086. "5167cf80": "CreateMetaRareERC721Collection(string,string,string,address)",
  12087. },
  12088. Bin: "0x608060405234801561001057600080fd5b5060008055616002806100246000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80635167cf801461003b578063ce5216cf14610050575b600080fd5b61004e610049366004610304565b610063565b005b61004e61005e366004610304565b610117565b60006100708585856101bc565b604051636b687d7760e11b81529091506001600160a01b0382169063d6d0faee906100a7908890889088903390899060040161042f565b600060405180830381600087803b1580156100c157600080fd5b505af11580156100d5573d6000803e3d6000fd5b505050507fd6d8f7b07325e6b897eeb15a60d044c62db3616c8c636fca706fb22e3bc656f581604051610108919061041b565b60405180910390a15050505050565b6000610124858585610250565b604051636b687d7760e11b81529091506001600160a01b0382169063d6d0faee9061015b908890889088903390899060040161042f565b600060405180830381600087803b15801561017557600080fd5b505af1158015610189573d6000803e3d6000fd5b505050507f0d3de3f5754e9b4e85f7c08370a9ee6420616bddaa78ece20378473b8de6979281604051610108919061041b565b600080604051806020016101cf90610263565b6020820181038252601f19601f820116604052509050600085858560005460405160200161020094939291906103d2565b604051602081830303815290604052805190602001209050600160008082825461022a919061048e565b909155505081518190602084016000f59250823b61024757600080fd5b50509392505050565b600080604051806020016101cf90610270565b612ead806104f983390190565b612c27806133a683390190565b600082601f83011261028d578081fd5b813567ffffffffffffffff808211156102a8576102a86104e2565b604051601f8301601f19908116603f011681019082821181831017156102d0576102d06104e2565b816040528381528660208588010111156102e8578485fd5b8360208701602083013792830160200193909352509392505050565b60008060008060808587031215610319578384fd5b843567ffffffffffffffff80821115610330578586fd5b61033c8883890161027d565b95506020870135915080821115610351578485fd5b61035d8883890161027d565b94506040870135915080821115610372578384fd5b5061037f8782880161027d565b92505060608501356001600160a01b038116811461039b578182fd5b939692955090935050565b600081518084526103be8160208601602086016104b2565b601f01601f19169290920160200192915050565b600085516103e4818460208a016104b2565b8551908301906103f8818360208a016104b2565b855191019061040b8183602089016104b2565b0192835250506020019392505050565b6001600160a01b0391909116815260200190565b600060a0825261044260a08301886103a6565b828103602084015261045481886103a6565b9050828103604084015261046881876103a6565b6001600160a01b0395861660608501529390941660809092019190915250949350505050565b600082198211156104ad57634e487b7160e01b81526011600452602481fd5b500190565b60005b838110156104cd5781810151838201526020016104b5565b838111156104dc576000848401525b50505050565b634e487b7160e01b600052604160045260246000fdfe60806040523480156200001157600080fd5b506040805180820182526008815267696e69744e616d6560c01b60208083019182528351808501909452600a8452691a5b9a5d14de5b589bdb60b21b908401528151919291620000649160029162000095565b5080516200007a90600390602084019062000095565b5050600d80546001600160a01b031916331790555062000178565b828054620000a3906200013b565b90600052602060002090601f016020900481019282620000c7576000855562000112565b82601f10620000e257805160ff191683800117855562000112565b8280016001018555821562000112579182015b8281111562000112578251825591602001919060010190620000f5565b506200012092915062000124565b5090565b5b8082111562000120576000815560010162000125565b6002810460018216806200015057607f821691505b602082108114156200017257634e487b7160e01b600052602260045260246000fd5b50919050565b612d2580620001886000396000f3fe608060405234801561001057600080fd5b50600436106102115760003560e01c80636352211e11610125578063b88d4fde116100ad578063cf25a2fd1161007c578063cf25a2fd14610458578063d539139314610460578063d547741f14610468578063d6d0faee1461047b578063e985e9c51461048e57610211565b8063b88d4fde1461040c578063c47f00271461041f578063c87b56dd14610432578063ca15c8731461044557610211565b806391d14854116100f457806391d14854146103c357806395d89b41146103d6578063a217fddf146103de578063a22cb465146103e6578063b84c8246146103f957610211565b80636352211e146103825780636585690d1461039557806370a082311461039d5780639010d07c146103b057610211565b80632f2ff15d116101a857806342842e0e1161017757806342842e0e1461032357806342966c68146103365780634f6ccce7146103495780635145dc571461035c57806355f804b31461036f57610211565b80632f2ff15d146102d75780632f745c59146102ea57806336568abe146102fd57806340c10f191461031057610211565b8063162094c4116101e4578063162094c41461028957806318160ddd1461029c57806323b872dd146102b1578063248a9ca3146102c457610211565b806301ffc9a71461021657806306fdde031461023f578063081812fc14610254578063095ea7b314610274575b600080fd5b61022961022436600461214f565b6104a1565b60405161023691906123c6565b60405180910390f35b6102476104ce565b60405161023691906123da565b6102676102623660046120f4565b610560565b6040516102369190612375565b6102876102823660046120cb565b6105ac565b005b610287610297366004612260565b610644565b6102a461067b565b60405161023691906123d1565b6102876102bf366004611fdd565b610681565b6102a46102d23660046120f4565b6106b9565b6102876102e536600461210c565b6106ce565b6102a46102f83660046120cb565b6106f2565b61028761030b36600461210c565b610747565b61028761031e3660046120cb565b610789565b610287610331366004611fdd565b6107c9565b6102876103443660046120f4565b6107e4565b6102a46103573660046120f4565b610817565b61028761036a366004611fdd565b610872565b61028761037d366004612187565b6108a7565b6102676103903660046120f4565b6108e3565b610267610918565b6102a46103ab366004611f91565b610927565b6102676103be36600461212e565b61096b565b6102296103d136600461210c565b61098a565b6102476109b3565b6102a46109c2565b6102876103f4366004612091565b6109c7565b610287610407366004612187565b6109d9565b61028761041a366004612018565b610a15565b61028761042d366004612187565b610a54565b6102476104403660046120f4565b610a90565b6102a46104533660046120f4565b610a9b565b610267610ab2565b6102a4610ac1565b61028761047636600461210c565b610ad3565b6102876104893660046121ba565b610af2565b61022961049c366004611fab565b610bda565b60006001600160e01b0319821663780e9d6360e01b14806104c657506104c682610c08565b90505b919050565b6060601080546104dd90612c0d565b80601f016020809104026020016040519081016040528092919081815260200182805461050990612c0d565b80156105565780601f1061052b57610100808354040283529160200191610556565b820191906000526020600020905b81548152906001019060200180831161053957829003601f168201915b5050505050905090565b600061056b82610c2d565b6105905760405162461bcd60e51b81526004016105879061286f565b60405180910390fd5b506000908152600660205260409020546001600160a01b031690565b60006105b7826108e3565b9050806001600160a01b0316836001600160a01b031614156105eb5760405162461bcd60e51b815260040161058790612958565b806001600160a01b03166105fd610c4a565b6001600160a01b0316148061061957506106198161049c610c4a565b6106355760405162461bcd60e51b815260040161058790612630565b61063f8383610c4e565b505050565b61065160006103d1610c4a565b61066d5760405162461bcd60e51b81526004016105879061290a565b6106778282610cbc565b5050565b600a5490565b61069261068c610c4a565b82610d00565b6106ae5760405162461bcd60e51b815260040161058790612999565b61063f838383610d85565b60009081526020819052604090206001015490565b6106d7826106b9565b6106e8816106e3610c4a565b610eb8565b61063f8383610f1c565b60006106fd83610927565b821061071b5760405162461bcd60e51b815260040161058790612422565b506001600160a01b03821660009081526008602090815260408083208484529091529020545b92915050565b61074f610c4a565b6001600160a01b0316816001600160a01b03161461077f5760405162461bcd60e51b815260040161058790612b19565b6106778282610f3e565b6107a3600080516020612cd08339815191526103d1610c4a565b6107bf5760405162461bcd60e51b815260040161058790612ad4565b6106778282610f60565b61063f83838360405180602001604052806000815250610a15565b6107ef61068c610c4a565b61080b5760405162461bcd60e51b815260040161058790612a84565b61081481611047565b50565b600061082161067b565b821061083f5760405162461bcd60e51b815260040161058790612a38565b600a828154811061086057634e487b7160e01b600052603260045260246000fd5b90600052602060002001549050919050565b600e546001600160a01b0316331461089c5760405162461bcd60e51b8152600401610587906127da565b61063f838383611050565b6108b460006103d1610c4a565b6108d05760405162461bcd60e51b8152600401610587906129ea565b805161067790600f906020840190611e14565b6000818152600460205260408120546001600160a01b0316806104c65760405162461bcd60e51b8152600401610587906126d7565b600e546001600160a01b031681565b60006001600160a01b03821661094f5760405162461bcd60e51b81526004016105879061268d565b506001600160a01b031660009081526005602052604090205490565b6000828152600160205260408120610983908361106b565b9392505050565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b6060601180546104dd90612c0d565b600081565b6106776109d2610c4a565b8383611077565b6109e660006103d1610c4a565b610a025760405162461bcd60e51b81526004016105879061253b565b8051610677906011906020840190611e14565b610a26610a20610c4a565b83610d00565b610a425760405162461bcd60e51b815260040161058790612999565b610a4e8484848461111a565b50505050565b610a6160006103d1610c4a565b610a7d5760405162461bcd60e51b81526004016105879061253b565b8051610677906010906020840190611e14565b60606104c68261114d565b60008181526001602052604081206104c690611266565b600d546001600160a01b031681565b600080516020612cd083398151915281565b610adc826106b9565b610ae8816106e3610c4a565b61063f8383610f3e565b600d546001600160a01b03163314610b1c5760405162461bcd60e51b81526004016105879061276e565b610b2e6000610b29610c4a565b611271565b610b48600080516020612cd0833981519152610b29610c4a565b610b60600080516020612cd083398151915283611271565b610b78600080516020612cd083398151915282611271565b8251610b8b90600f906020860190611e14565b508451610b9f906010906020880190611e14565b508351610bb3906011906020870190611e14565b50600e80546001600160a01b0319166001600160a01b039290921691909117905550505050565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205460ff1690565b60006001600160e01b0319821663780e9d6360e01b14806104c657506104c68261127b565b6000908152600460205260409020546001600160a01b0316151590565b3390565b600081815260066020526040902080546001600160a01b0319166001600160a01b0384169081179091558190610c83826108e3565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b610cc582610c2d565b610ce15760405162461bcd60e51b815260040161058790612720565b6000828152600c60209081526040909120825161063f92840190611e14565b6000610d0b82610c2d565b610d275760405162461bcd60e51b8152600401610587906125e4565b6000610d32836108e3565b9050806001600160a01b0316846001600160a01b03161480610d6d5750836001600160a01b0316610d6284610560565b6001600160a01b0316145b80610d7d5750610d7d8185610bda565b949350505050565b826001600160a01b0316610d98826108e3565b6001600160a01b031614610dbe5760405162461bcd60e51b8152600401610587906124bf565b6001600160a01b038216610de45760405162461bcd60e51b815260040161058790612569565b610def8383836112bb565b610dfa600082610c4e565b6001600160a01b0383166000908152600560205260408120805460019290610e23908490612bb3565b90915550506001600160a01b0382166000908152600560205260408120805460019290610e51908490612b68565b909155505060008181526004602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a461063f83838361063f565b610ec2828261098a565b61067757610eda816001600160a01b031660146112c6565b610ee58360206112c6565b604051602001610ef6929190612300565b60408051601f198184030181529082905262461bcd60e51b8252610587916004016123da565b610f268282611478565b600082815260016020526040902061063f90826114fd565b610f488282611512565b600082815260016020526040902061063f9082611595565b6001600160a01b038216610f865760405162461bcd60e51b8152600401610587906127a5565b610f8f81610c2d565b15610fac5760405162461bcd60e51b815260040161058790612504565b610fb8600083836112bb565b6001600160a01b0382166000908152600560205260408120805460019290610fe1908490612b68565b909155505060008181526004602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a46106776000838361063f565b610814816115aa565b61063f8383836040518060200160405280600081525061111a565b600061098383836115ea565b816001600160a01b0316836001600160a01b031614156110a95760405162461bcd60e51b8152600401610587906125ad565b6001600160a01b0383811660008181526007602090815260408083209487168084529490915290819020805460ff1916851515179055517f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c319061110d9085906123c6565b60405180910390a3505050565b611125848484610d85565b61113184848484611622565b610a4e5760405162461bcd60e51b81526004016105879061246d565b606061115882610c2d565b6111745760405162461bcd60e51b81526004016105879061281e565b6000828152600c60205260408120805461118d90612c0d565b80601f01602080910402602001604051908101604052809291908181526020018280546111b990612c0d565b80156112065780601f106111db57610100808354040283529160200191611206565b820191906000526020600020905b8154815290600101906020018083116111e957829003601f168201915b50505050509050600061121761173d565b905080516000141561122b575090506104c9565b81511561125d5780826040516020016112459291906122d1565b604051602081830303815290604052925050506104c9565b610d7d8461174c565b60006104c6826117ce565b6106778282610f1c565b60006001600160e01b031982166380ac58cd60e01b14806112ac57506001600160e01b03198216635b5e139f60e01b145b806104c657506104c6826117d2565b61063f8383836117f7565b606060006112d5836002612b94565b6112e0906002612b68565b67ffffffffffffffff81111561130657634e487b7160e01b600052604160045260246000fd5b6040519080825280601f01601f191660200182016040528015611330576020820181803683370190505b509050600360fc1b8160008151811061135957634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061139657634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a90535060006113ba846002612b94565b6113c5906001612b68565b90505b6001811115611459576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061140757634e487b7160e01b600052603260045260246000fd5b1a60f81b82828151811061142b57634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a90535060049490941c9361145281612bf6565b90506113c8565b5083156109835760405162461bcd60e51b8152600401610587906123ed565b611482828261098a565b610677576000828152602081815260408083206001600160a01b03851684529091529020805460ff191660011790556114b9610c4a565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000610983836001600160a01b038416611880565b61151c828261098a565b15610677576000828152602081815260408083206001600160a01b03851684529091529020805460ff19169055611551610c4a565b6001600160a01b0316816001600160a01b0316837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45050565b6000610983836001600160a01b0384166118ca565b6115b3816119e7565b6000818152600c6020526040902080546115cc90612c0d565b159050610814576000818152600c6020526040812061081491611e98565b600082600001828154811061160f57634e487b7160e01b600052603260045260246000fd5b9060005260206000200154905092915050565b6000611636846001600160a01b0316611a96565b1561173257836001600160a01b031663150b7a02611652610c4a565b8786866040518563ffffffff1660e01b81526004016116749493929190612389565b602060405180830381600087803b15801561168e57600080fd5b505af19250505080156116be575060408051601f3d908101601f191682019092526116bb9181019061216b565b60015b611718573d8080156116ec576040519150601f19603f3d011682016040523d82523d6000602084013e6116f1565b606091505b5080516117105760405162461bcd60e51b81526004016105879061246d565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050610d7d565b506001949350505050565b6060600f80546104dd90612c0d565b606061175782610c2d565b6117735760405162461bcd60e51b8152600401610587906128bb565b600061177d61173d565b9050600081511161179d5760405180602001604052806000815250610983565b806117a784611aa5565b6040516020016117b89291906122d1565b6040516020818303038152906040529392505050565b5490565b60006001600160e01b03198216635a05180f60e01b14806104c657506104c682611bc0565b61180283838361063f565b6001600160a01b03831661181e5761181981611be5565b611841565b816001600160a01b0316836001600160a01b031614611841576118418382611c29565b6001600160a01b03821661185d5761185881611cc6565b61063f565b826001600160a01b0316826001600160a01b03161461063f5761063f8282611d9f565b600061188c8383611de3565b6118c257508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610741565b506000610741565b600081815260018301602052604081205480156119dd5760006118ee600183612bb3565b855490915060009061190290600190612bb3565b905081811461198357600086600001828154811061193057634e487b7160e01b600052603260045260246000fd5b906000526020600020015490508087600001848154811061196157634e487b7160e01b600052603260045260246000fd5b6000918252602080832090910192909255918252600188019052604090208390555b85548690806119a257634e487b7160e01b600052603160045260246000fd5b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610741565b6000915050610741565b60006119f2826108e3565b9050611a00816000846112bb565b611a0b600083610c4e565b6001600160a01b0381166000908152600560205260408120805460019290611a34908490612bb3565b909155505060008281526004602052604080822080546001600160a01b0319169055518391906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a46106778160008461063f565b6001600160a01b03163b151590565b606081611aca57506040805180820190915260018152600360fc1b60208201526104c9565b8160005b8115611af45780611ade81612c48565b9150611aed9050600a83612b80565b9150611ace565b60008167ffffffffffffffff811115611b1d57634e487b7160e01b600052604160045260246000fd5b6040519080825280601f01601f191660200182016040528015611b47576020820181803683370190505b5090505b8415610d7d57611b5c600183612bb3565b9150611b69600a86612c63565b611b74906030612b68565b60f81b818381518110611b9757634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a905350611bb9600a86612b80565b9450611b4b565b60006001600160e01b03198216637965db0b60e01b14806104c657506104c682611dfb565b600a80546000838152600b60205260408120829055600182018355919091527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a80155565b60006001611c3684610927565b611c409190612bb3565b600083815260096020526040902054909150808214611c93576001600160a01b03841660009081526008602090815260408083208584528252808320548484528184208190558352600990915290208190555b5060009182526009602090815260408084208490556001600160a01b039094168352600881528383209183525290812055565b600a54600090611cd890600190612bb3565b6000838152600b6020526040812054600a8054939450909284908110611d0e57634e487b7160e01b600052603260045260246000fd5b9060005260206000200154905080600a8381548110611d3d57634e487b7160e01b600052603260045260246000fd5b6000918252602080832090910192909255828152600b9091526040808220849055858252812055600a805480611d8357634e487b7160e01b600052603160045260246000fd5b6001900381819060005260206000200160009055905550505050565b6000611daa83610927565b6001600160a01b039093166000908152600860209081526040808320868452825280832085905593825260099052919091209190915550565b60009081526001919091016020526040902054151590565b6001600160e01b031981166301ffc9a760e01b14919050565b828054611e2090612c0d565b90600052602060002090601f016020900481019282611e425760008555611e88565b82601f10611e5b57805160ff1916838001178555611e88565b82800160010185558215611e88579182015b82811115611e88578251825591602001919060010190611e6d565b50611e94929150611ed0565b5090565b508054611ea490612c0d565b6000825580601f10611eb65750610814565b601f01602090049060005260206000209081019061081491905b5b80821115611e945760008155600101611ed1565b600067ffffffffffffffff80841115611f0057611f00612ca3565b604051601f8501601f19908116603f01168101908282118183101715611f2857611f28612ca3565b81604052809350858152868686011115611f4157600080fd5b858560208301376000602087830101525050509392505050565b80356001600160a01b03811681146104c957600080fd5b600082601f830112611f82578081fd5b61098383833560208501611ee5565b600060208284031215611fa2578081fd5b61098382611f5b565b60008060408385031215611fbd578081fd5b611fc683611f5b565b9150611fd460208401611f5b565b90509250929050565b600080600060608486031215611ff1578081fd5b611ffa84611f5b565b925061200860208501611f5b565b9150604084013590509250925092565b6000806000806080858703121561202d578081fd5b61203685611f5b565b935061204460208601611f5b565b925060408501359150606085013567ffffffffffffffff811115612066578182fd5b8501601f81018713612076578182fd5b61208587823560208401611ee5565b91505092959194509250565b600080604083850312156120a3578182fd5b6120ac83611f5b565b9150602083013580151581146120c0578182fd5b809150509250929050565b600080604083850312156120dd578182fd5b6120e683611f5b565b946020939093013593505050565b600060208284031215612105578081fd5b5035919050565b6000806040838503121561211e578182fd5b82359150611fd460208401611f5b565b60008060408385031215612140578182fd5b50508035926020909101359150565b600060208284031215612160578081fd5b813561098381612cb9565b60006020828403121561217c578081fd5b815161098381612cb9565b600060208284031215612198578081fd5b813567ffffffffffffffff8111156121ae578182fd5b610d7d84828501611f72565b600080600080600060a086880312156121d1578081fd5b853567ffffffffffffffff808211156121e8578283fd5b6121f489838a01611f72565b96506020880135915080821115612209578283fd5b61221589838a01611f72565b9550604088013591508082111561222a578283fd5b5061223788828901611f72565b93505061224660608701611f5b565b915061225460808701611f5b565b90509295509295909350565b60008060408385031215612272578182fd5b82359150602083013567ffffffffffffffff81111561228f578182fd5b61229b85828601611f72565b9150509250929050565b600081518084526122bd816020860160208601612bca565b601f01601f19169290920160200192915050565b600083516122e3818460208801612bca565b8351908301906122f7818360208801612bca565b01949350505050565b60007f416363657373436f6e74726f6c3a206163636f756e742000000000000000000082528351612338816017850160208801612bca565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351612369816028840160208801612bca565b01602801949350505050565b6001600160a01b0391909116815260200190565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906123bc908301846122a5565b9695505050505050565b901515815260200190565b90815260200190565b60006020825261098360208301846122a5565b6020808252818101527f537472696e67733a20686578206c656e67746820696e73756666696369656e74604082015260600190565b6020808252602b908201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560408201526a74206f6620626f756e647360a81b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b6020808252601c908201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604082015260600190565b6020808252601490820152734d75737420686176652041646d696e20726f6c6560601b604082015260600190565b60208082526024908201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646040820152637265737360e01b606082015260800190565b60208082526019908201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604082015260600190565b6020808252602c908201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860408201526b34b9ba32b73a103a37b5b2b760a11b606082015260800190565b60208082526038908201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760408201527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000606082015260800190565b6020808252602a908201527f4552433732313a2062616c616e636520717565727920666f7220746865207a65604082015269726f206164647265737360b01b606082015260800190565b60208082526029908201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460408201526832b73a103a37b5b2b760b91b606082015260800190565b6020808252602e908201527f45524337323155524953746f726167653a2055524920736574206f66206e6f6e60408201526d32bc34b9ba32b73a103a37b5b2b760911b606082015260800190565b6020808252601c908201527f4552433732313a20494e495449414c495a4520464f5242494444454e00000000604082015260600190565b6020808252818101527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604082015260600190565b60208082526024908201527f4f7065726174726f6e206f6e6c792063616e2075736520746869732066756e636040820152633a34b7b760e11b606082015260800190565b60208082526031908201527f45524337323155524953746f726167653a2055524920717565727920666f72206040820152703737b732bc34b9ba32b73a103a37b5b2b760791b606082015260800190565b6020808252602c908201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860408201526b34b9ba32b73a103a37b5b2b760a11b606082015260800190565b6020808252602f908201527f4552433732314d657461646174613a2055524920717565727920666f72206e6f60408201526e3732bc34b9ba32b73a103a37b5b2b760891b606082015260800190565b6020808252602e908201527f4552433732313a206d75737420686176652061646d696e20726f6c6520746f2060408201526d73657420546f6b656e205552497360901b606082015260800190565b60208082526021908201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656040820152603960f91b606082015260800190565b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b6020808252602e908201527f4552433732313a206d75737420686176652061646d696e20726f6c6520746f2060408201526d6368616e6765206261736555726960901b606082015260800190565b6020808252602c908201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60408201526b7574206f6620626f756e647360a01b606082015260800190565b60208082526030908201527f4552433732314275726e61626c653a2063616c6c6572206973206e6f74206f7760408201526f1b995c881b9bdc88185c1c1c9bdd995960821b606082015260800190565b60208082526025908201527f4552433732313a206d7573742068617665206d696e74657220726f6c6520746f604082015264081b5a5b9d60da1b606082015260800190565b6020808252602f908201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560408201526e103937b632b9903337b91039b2b63360891b606082015260800190565b60008219821115612b7b57612b7b612c77565b500190565b600082612b8f57612b8f612c8d565b500490565b6000816000190483118215151615612bae57612bae612c77565b500290565b600082821015612bc557612bc5612c77565b500390565b60005b83811015612be5578181015183820152602001612bcd565b83811115610a4e5750506000910152565b600081612c0557612c05612c77565b506000190190565b600281046001821680612c2157607f821691505b60208210811415612c4257634e487b7160e01b600052602260045260246000fd5b50919050565b6000600019821415612c5c57612c5c612c77565b5060010190565b600082612c7257612c72612c8d565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160e01b03198116811461081457600080fdfe9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6a2646970667358221220b030f4f70553d52f8e53838cf6b36cebd96c32ddf8ea9b9b3425e184b80967a664736f6c6343000801003360806040523480156200001157600080fd5b506040805180820190915260048152635f75726960e01b6020820152620000388162000065565b506200004d620000476200007e565b62000082565b600480546001600160a01b03191633179055620001b7565b80516200007a906002906020840190620000d4565b5050565b3390565b600380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b828054620000e2906200017a565b90600052602060002090601f01602090048101928262000106576000855562000151565b82601f106200012157805160ff191683800117855562000151565b8280016001018555821562000151579182015b828111156200015157825182559160200191906001019062000134565b506200015f92915062000163565b5090565b5b808211156200015f576000815560010162000164565b6002810460018216806200018f57607f821691505b60208210811415620001b157634e487b7160e01b600052602260045260246000fd5b50919050565b612a6080620001c76000396000f3fe608060405234801561001057600080fd5b50600436106101ce5760003560e01c8063731133e911610104578063bd85b039116100a2578063d6d0faee11610071578063d6d0faee146103b8578063e985e9c5146103cb578063f242432a146103de578063f2fde38b146103f1576101ce565b8063bd85b03914610377578063cd53d08e1461038a578063cf25a2fd1461039d578063d2a6b51a146103a5576101ce565b80638da5cb5b116100de5780638da5cb5b1461034157806395d89b4114610349578063a22cb46514610351578063b48ab8b614610364576101ce565b8063731133e9146103085780637c7ae4d11461031b5780638a28a5a21461032e576101ce565b806336a100d5116101715780634f558e791161014b5780634f558e79146102c557806361321c14146102d85780636585690d146102eb578063715018a614610300576101ce565b806336a100d51461027f5780633adf80b4146102925780634e1273f4146102a5576101ce565b806306fdde03116101ad57806306fdde03146102315780630e89341c146102465780632693ebf2146102595780632eb2c2d61461026c576101ce565b8062fdd58e146101d357806301ffc9a7146101fc57806302fe53051461021c575b600080fd5b6101e66101e1366004611e1e565b610404565b6040516101f39190612872565b60405180910390f35b61020f61020a366004611fac565b61045b565b6040516101f39190612292565b61022f61022a366004611fe4565b6104a3565b005b6102396104ee565b6040516101f3919061229d565b6102396102543660046120c3565b61057c565b6101e66102673660046120c3565b6106fc565b61022f61027a366004611bbd565b61070e565b6101e661028d366004611e99565b61076c565b61022f6102a03660046120db565b61088a565b6102b86102b3366004611eee565b610929565b6040516101f39190612251565b61020f6102d33660046120c3565b610a48565b6101e66102e6366004611e99565b610a53565b6102f3610af3565b6040516101f3919061219a565b61022f610b02565b61022f610316366004611e47565b610b4d565b61022f610329366004611c62565b610bcd565b61023961033c3660046120c3565b610c09565b6102f3610c22565b610239610c32565b61022f61035f366004611de4565b610c3f565b61022f610372366004611d50565b610c55565b6101e66103853660046120c3565b610d53565b6102f36103983660046120c3565b610d65565b6102f3610d80565b61022f6103b3366004611d05565b610d8f565b61022f6103c636600461201e565b610e0f565b61020f6103d9366004611b8b565b610e99565b61022f6103ec366004611ca3565b610eac565b61022f6103ff366004611b71565b610f03565b60006001600160a01b0383166104355760405162461bcd60e51b815260040161042c90612409565b60405180910390fd5b506000908152602081815260408083206001600160a01b03949094168352929052205490565b60006001600160e01b03198216636cdb3d1360e11b148061048c57506001600160e01b031982166303a24d0760e21b145b8061049b575061049b82610f71565b90505b919050565b6104ab610f8a565b6001600160a01b03166104bc610c22565b6001600160a01b0316146104e25760405162461bcd60e51b815260040161042c9061264e565b6104eb81610f8e565b50565b600980546104fb906128c4565b80601f0160208091040260200160405190810160405280929190818152602001828054610527906128c4565b80156105745780601f1061054957610100808354040283529160200191610574565b820191906000526020600020905b81548152906001019060200180831161055757829003601f168201915b505050505081565b606061058782610fa1565b6105a35760405162461bcd60e51b815260040161042c9061257a565b600082815260086020526040812080546105bc906128c4565b80601f01602080910402602001604051908101604052809291908181526020018280546105e8906128c4565b80156106355780601f1061060a57610100808354040283529160200191610635565b820191906000526020600020905b81548152906001019060200180831161061857829003601f168201915b505050505090506000815111156106e5576000838152600860205260409020805461065f906128c4565b80601f016020809104026020016040519081016040528092919081815260200182805461068b906128c4565b80156106d85780601f106106ad576101008083540402835291602001916106d8565b820191906000526020600020905b8154815290600101906020018083116106bb57829003601f168201915b505050505091505061049e565b6106ee83610fbe565b91505061049e565b50919050565b60076020526000908152604090205481565b610716610f8a565b6001600160a01b0316856001600160a01b0316148061073c575061073c856103d9610f8a565b6107585760405162461bcd60e51b815260040161042c90612528565b6107658585858585611052565b5050505050565b6000610776610f8a565b6001600160a01b0316610787610c22565b6001600160a01b0316146107ad5760405162461bcd60e51b815260040161042c9061264e565b6107b685610fa1565b156107d35760405162461bcd60e51b815260040161042c90612304565b6107db610f8a565b600086815260066020526040902080546001600160a01b0319166001600160a01b0392909216919091179055825115610867576000858152600860209081526040909120845161082d928601906119e1565b50847f6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b8460405161085e919061229d565b60405180910390a25b61087386868685611223565b505050600082815260076020526040902055919050565b81610893610f8a565b6000828152600660205260409020546001600160a01b039081169116146108cc5760405162461bcd60e51b815260040161042c906127ea565b600083815260086020908152604090912083516108eb928501906119e1565b50827f6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b8360405161091c919061229d565b60405180910390a2505050565b6060815183511461094c5760405162461bcd60e51b815260040161042c90612718565b600083516001600160401b0381111561097557634e487b7160e01b600052604160045260246000fd5b60405190808252806020026020018201604052801561099e578160200160208202803683370190505b50905060005b8451811015610a4057610a058582815181106109d057634e487b7160e01b600052603260045260246000fd5b60200260200101518583815181106109f857634e487b7160e01b600052603260045260246000fd5b6020026020010151610404565b828281518110610a2557634e487b7160e01b600052603260045260246000fd5b6020908102919091010152610a3981612925565b90506109a4565b509392505050565b600061049b82610fa1565b6005546000906001600160a01b03163314610a805760405162461bcd60e51b815260040161042c90612383565b610a8985610fa1565b15610aa65760405162461bcd60e51b815260040161042c90612304565b600085815260066020526040902080546001600160a01b0319166001600160a01b038816179055825115610867576000858152600860209081526040909120845161082d928601906119e1565b6005546001600160a01b031681565b610b0a610f8a565b6001600160a01b0316610b1b610c22565b6001600160a01b031614610b415760405162461bcd60e51b815260040161042c9061264e565b610b4b6000611312565b565b82610b56610f8a565b6000828152600660205260409020546001600160a01b03908116911614610b8f5760405162461bcd60e51b815260040161042c906127ea565b610b9b85858585611223565b600084815260076020526040902054610bb49084611364565b6000948552600760205260409094209390935550505050565b6005546001600160a01b03163314610bf75760405162461bcd60e51b815260040161042c9061260a565b610c0384848484611370565b50505050565b600860205260009081526040902080546104fb906128c4565b6003546001600160a01b03165b90565b600a80546104fb906128c4565b610c51610c4a610f8a565b838361138c565b5050565b60005b8351811015610d46576000848281518110610c8357634e487b7160e01b600052603260045260246000fd5b60200260200101519050610c95610f8a565b6000828152600660205260409020546001600160a01b03908116911614610cce5760405162461bcd60e51b815260040161042c906123ba565b6000848381518110610cf057634e487b7160e01b600052603260045260246000fd5b60200260200101519050610d2081600760008581526020019081526020016000205461136490919063ffffffff16565b600092835260076020526040909220919091555080610d3e81612925565b915050610c58565b50610c038484848461142f565b60009081526007602052604090205490565b6006602052600090815260409020546001600160a01b031681565b6004546001600160a01b031681565b6001600160a01b038216610db55760405162461bcd60e51b815260040161042c90612683565b60005b8151811015610e0a576000828281518110610de357634e487b7160e01b600052603260045260246000fd5b60200260200101519050610df784826115b0565b5080610e0281612925565b915050610db8565b505050565b6004546001600160a01b03163314610e395760405162461bcd60e51b815260040161042c9061283b565b8451610e4c9060099060208801906119e1565b508351610e6090600a9060208701906119e1565b50610e6a83610f8e565b600580546001600160a01b0319166001600160a01b038316179055610e8e82610f03565b610765816001610c3f565b6000610ea58383611621565b9392505050565b610eb4610f8a565b6001600160a01b0316856001600160a01b03161480610eda5750610eda856103d9610f8a565b610ef65760405162461bcd60e51b815260040161042c9061249a565b610765858585858561164f565b610f0b610f8a565b6001600160a01b0316610f1c610c22565b6001600160a01b031614610f425760405162461bcd60e51b815260040161042c9061264e565b6001600160a01b038116610f685760405162461bcd60e51b815260040161042c90612454565b6104eb81611312565b6001600160e01b031981166301ffc9a760e01b14919050565b3390565b8051610c519060029060208401906119e1565b6000908152600660205260409020546001600160a01b0316151590565b606060028054610fcd906128c4565b80601f0160208091040260200160405190810160405280929190818152602001828054610ff9906128c4565b80156110465780601f1061101b57610100808354040283529160200191611046565b820191906000526020600020905b81548152906001019060200180831161102957829003601f168201915b50505050509050919050565b81518351146110735760405162461bcd60e51b815260040161042c90612761565b6001600160a01b0384166110995760405162461bcd60e51b815260040161042c906124e3565b60006110a3610f8a565b90506110b381878787878761121b565b60005b84518110156111b55760008582815181106110e157634e487b7160e01b600052603260045260246000fd5b60200260200101519050600085838151811061110d57634e487b7160e01b600052603260045260246000fd5b602090810291909101810151600084815280835260408082206001600160a01b038e16835290935291909120549091508181101561115d5760405162461bcd60e51b815260040161042c906125c0565b6000838152602081815260408083206001600160a01b038e8116855292528083208585039055908b1682528120805484929061119a9084906128ac565b92505081905550505050806111ae90612925565b90506110b6565b50846001600160a01b0316866001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051611205929190612264565b60405180910390a461121b818787878787611783565b505050505050565b6001600160a01b0384166112495760405162461bcd60e51b815260040161042c906127a9565b6000611253610f8a565b905061127481600087611265886118a8565b61126e886118a8565b8761121b565b6000848152602081815260408083206001600160a01b0389168452909152812080548592906112a49084906128ac565b92505081905550846001600160a01b031660006001600160a01b0316826001600160a01b03167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6287876040516112fb92919061287b565b60405180910390a461076581600087878787611901565b600380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000610ea582846128ac565b610c03848484846040518060200160405280600081525061164f565b816001600160a01b0316836001600160a01b031614156113be5760405162461bcd60e51b815260040161042c906126cf565b6001600160a01b0383811660008181526001602090815260408083209487168084529490915290819020805460ff1916851515179055517f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3190611422908590612292565b60405180910390a3505050565b6001600160a01b0384166114555760405162461bcd60e51b815260040161042c906127a9565b81518351146114765760405162461bcd60e51b815260040161042c90612761565b6000611480610f8a565b90506114918160008787878761121b565b60005b8451811015611548578381815181106114bd57634e487b7160e01b600052603260045260246000fd5b60200260200101516000808784815181106114e857634e487b7160e01b600052603260045260246000fd5b602002602001015181526020019081526020016000206000886001600160a01b03166001600160a01b03168152602001908152602001600020600082825461153091906128ac565b9091555081905061154081612925565b915050611494565b50846001600160a01b031660006001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051611599929190612264565b60405180910390a461076581600087878787611783565b806115b9610f8a565b6000828152600660205260409020546001600160a01b039081169116146115f25760405162461bcd60e51b815260040161042c906127ea565b50600090815260066020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205460ff1690565b6001600160a01b0384166116755760405162461bcd60e51b815260040161042c906124e3565b600061167f610f8a565b9050611690818787611265886118a8565b6000848152602081815260408083206001600160a01b038a168452909152902054838110156116d15760405162461bcd60e51b815260040161042c906125c0565b6000858152602081815260408083206001600160a01b038b811685529252808320878503905590881682528120805486929061170e9084906128ac565b92505081905550856001600160a01b0316876001600160a01b0316836001600160a01b03167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62888860405161176492919061287b565b60405180910390a461177a828888888888611901565b50505050505050565b611795846001600160a01b03166119d2565b1561121b5760405163bc197c8160e01b81526001600160a01b0385169063bc197c81906117ce90899089908890889088906004016121ae565b602060405180830381600087803b1580156117e857600080fd5b505af1925050508015611818575060408051601f3d908101601f1916820190925261181591810190611fc8565b60015b6118785761182461296c565b806308c379a0141561185e5750611839612983565b806118445750611860565b8060405162461bcd60e51b815260040161042c919061229d565b505b60405162461bcd60e51b815260040161042c906122b0565b6001600160e01b0319811663bc197c8160e01b1461177a5760405162461bcd60e51b815260040161042c9061233b565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106118f057634e487b7160e01b600052603260045260246000fd5b602090810291909101015292915050565b611913846001600160a01b03166119d2565b1561121b5760405163f23a6e6160e01b81526001600160a01b0385169063f23a6e619061194c908990899088908890889060040161220c565b602060405180830381600087803b15801561196657600080fd5b505af1925050508015611996575060408051601f3d908101601f1916820190925261199391810190611fc8565b60015b6119a25761182461296c565b6001600160e01b0319811663f23a6e6160e01b1461177a5760405162461bcd60e51b815260040161042c9061233b565b6001600160a01b03163b151590565b8280546119ed906128c4565b90600052602060002090601f016020900481019282611a0f5760008555611a55565b82601f10611a2857805160ff1916838001178555611a55565b82800160010185558215611a55579182015b82811115611a55578251825591602001919060010190611a3a565b50611a61929150611a65565b5090565b5b80821115611a615760008155600101611a66565b80356001600160a01b038116811461049e57600080fd5b600082601f830112611aa1578081fd5b81356020611aae82612889565b604051611abb82826128f9565b838152828101915085830183850287018401881015611ad8578586fd5b855b85811015611af657813584529284019290840190600101611ada565b5090979650505050505050565b600082601f830112611b13578081fd5b81356001600160401b03811115611b2c57611b2c612956565b604051611b43601f8301601f1916602001826128f9565b818152846020838601011115611b57578283fd5b816020850160208301379081016020019190915292915050565b600060208284031215611b82578081fd5b610ea582611a7a565b60008060408385031215611b9d578081fd5b611ba683611a7a565b9150611bb460208401611a7a565b90509250929050565b600080600080600060a08688031215611bd4578081fd5b611bdd86611a7a565b9450611beb60208701611a7a565b935060408601356001600160401b0380821115611c06578283fd5b611c1289838a01611a91565b94506060880135915080821115611c27578283fd5b611c3389838a01611a91565b93506080880135915080821115611c48578283fd5b50611c5588828901611b03565b9150509295509295909350565b60008060008060808587031215611c77578384fd5b611c8085611a7a565b9350611c8e60208601611a7a565b93969395505050506040820135916060013590565b600080600080600060a08688031215611cba578081fd5b611cc386611a7a565b9450611cd160208701611a7a565b9350604086013592506060860135915060808601356001600160401b03811115611cf9578182fd5b611c5588828901611b03565b60008060408385031215611d17578182fd5b611d2083611a7a565b915060208301356001600160401b03811115611d3a578182fd5b611d4685828601611a91565b9150509250929050565b60008060008060808587031215611d65578384fd5b611d6e85611a7a565b935060208501356001600160401b0380821115611d89578485fd5b611d9588838901611a91565b94506040870135915080821115611daa578384fd5b611db688838901611a91565b93506060870135915080821115611dcb578283fd5b50611dd887828801611b03565b91505092959194509250565b60008060408385031215611df6578182fd5b611dff83611a7a565b915060208301358015158114611e13578182fd5b809150509250929050565b60008060408385031215611e30578182fd5b611e3983611a7a565b946020939093013593505050565b60008060008060808587031215611e5c578182fd5b611e6585611a7a565b9350602085013592506040850135915060608501356001600160401b03811115611e8d578182fd5b611dd887828801611b03565b600080600080600060a08688031215611eb0578283fd5b611eb986611a7a565b9450602086013593506040860135925060608601356001600160401b0380821115611ee2578283fd5b611c3389838a01611b03565b60008060408385031215611f00578182fd5b82356001600160401b0380821115611f16578384fd5b818501915085601f830112611f29578384fd5b81356020611f3682612889565b604051611f4382826128f9565b8381528281019150858301838502870184018b1015611f60578889fd5b8896505b84871015611f8957611f7581611a7a565b835260019690960195918301918301611f64565b5096505086013592505080821115611f9f578283fd5b50611d4685828601611a91565b600060208284031215611fbd578081fd5b8135610ea581612a14565b600060208284031215611fd9578081fd5b8151610ea581612a14565b600060208284031215611ff5578081fd5b81356001600160401b0381111561200a578182fd5b61201684828501611b03565b949350505050565b600080600080600060a08688031215612035578283fd5b85356001600160401b038082111561204b578485fd5b61205789838a01611b03565b9650602088013591508082111561206c578485fd5b61207889838a01611b03565b9550604088013591508082111561208d578485fd5b5061209a88828901611b03565b9350506120a960608701611a7a565b91506120b760808701611a7a565b90509295509295909350565b6000602082840312156120d4578081fd5b5035919050565b600080604083850312156120ed578182fd5b8235915060208301356001600160401b03811115612109578182fd5b611d4685828601611b03565b6000815180845260208085019450808401835b8381101561214457815187529582019590820190600101612128565b509495945050505050565b60008151808452815b8181101561217457602081850181015186830182015201612158565b818111156121855782602083870101525b50601f01601f19169290920160200192915050565b6001600160a01b0391909116815260200190565b6001600160a01b0386811682528516602082015260a0604082018190526000906121da90830186612115565b82810360608401526121ec8186612115565b90508281036080840152612200818561214f565b98975050505050505050565b6001600160a01b03868116825285166020820152604081018490526060810183905260a0608082018190526000906122469083018461214f565b979650505050505050565b600060208252610ea56020830184612115565b6000604082526122776040830185612115565b82810360208401526122898185612115565b95945050505050565b901515815260200190565b600060208252610ea5602083018461214f565b60208082526034908201527f455243313135353a207472616e7366657220746f206e6f6e20455243313135356040820152732932b1b2b4bb32b91034b6b83632b6b2b73a32b960611b606082015260800190565b60208082526018908201527f746f6b656e205f696420616c7265616479206578697374730000000000000000604082015260600190565b60208082526028908201527f455243313135353a204552433131353552656365697665722072656a656374656040820152676420746f6b656e7360c01b606082015260800190565b6020808252601d908201527f43616e6e6f742063616c6c6564206279206e6f74206f70657261746f72000000604082015260600190565b6020808252602f908201527f455243313135355472616461626c652362617463684d696e743a204f4e4c595f60408201526e10d491505513d497d0531313d5d151608a1b606082015260800190565b6020808252602b908201527f455243313135353a2062616c616e636520717565727920666f7220746865207a60408201526a65726f206164647265737360a81b606082015260800190565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201526564647265737360d01b606082015260800190565b60208082526029908201527f455243313135353a2063616c6c6572206973206e6f74206f776e6572206e6f7260408201526808185c1c1c9bdd995960ba1b606082015260800190565b60208082526025908201527f455243313135353a207472616e7366657220746f20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526032908201527f455243313135353a207472616e736665722063616c6c6572206973206e6f74206040820152711bdddb995c881b9bdc88185c1c1c9bdd995960721b606082015260800190565b60208082526026908201527f455243313135355472616461626c65237572693a204e4f4e4558495354454e546040820152652faa27a5a2a760d11b606082015260800190565b6020808252602a908201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60408201526939103a3930b739b332b960b11b606082015260800190565b60208082526024908201527f4f7065726174726f6e206f6e6c792063616e2075736520746869732066756e636040820152633a34b7b760e11b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252602c908201527f455243313135355472616461626c652373657443726561746f723a20494e564160408201526b2624a22fa0a2222922a9a99760a11b606082015260800190565b60208082526029908201527f455243313135353a2073657474696e6720617070726f76616c20737461747573604082015268103337b91039b2b63360b91b606082015260800190565b60208082526029908201527f455243313135353a206163636f756e747320616e6420696473206c656e677468604082015268040dad2e6dac2e8c6d60bb1b606082015260800190565b60208082526028908201527f455243313135353a2069647320616e6420616d6f756e7473206c656e677468206040820152670dad2e6dac2e8c6d60c31b606082015260800190565b60208082526021908201527f455243313135353a206d696e7420746f20746865207a65726f206164647265736040820152607360f81b606082015260800190565b60208082526031908201527f455243313135355472616461626c652363726561746f724f6e6c793a204f4e4c6040820152701657d0d491505513d497d0531313d5d151607a1b606082015260800190565b6020808252601d908201527f455243313135353a20494e495449414c495a4520464f5242494444454e000000604082015260600190565b90815260200190565b918252602082015260400190565b60006001600160401b038211156128a2576128a2612956565b5060209081020190565b600082198211156128bf576128bf612940565b500190565b6002810460018216806128d857607f821691505b602082108114156106f657634e487b7160e01b600052602260045260246000fd5b601f8201601f191681016001600160401b038111828210171561291e5761291e612956565b6040525050565b600060001982141561293957612939612940565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b600060033d1115610c2f57600481823e5160e01c90565b600060443d101561299357610c2f565b6040516003193d81016004833e81513d6001600160401b0381602484011181841117156129c4575050505050610c2f565b82850191508151818111156129de57505050505050610c2f565b843d87010160208285010111156129fa57505050505050610c2f565b612a09602082860101876128f9565b509094505050505090565b6001600160e01b0319811681146104eb57600080fdfea2646970667358221220f78e3718344884bd7316b6a520c284da62c9c926c0b9bc9b54ccad0bffa695d364736f6c63430008010033a26469706673582212207edbcd58bfd6be43ca42a397426c1a0776436066dbbfaa2742d16b0b7ba15a7364736f6c63430008010033",
  12089. }
  12090. // MetaRareCollectionFactoryABI is the input ABI used to generate the binding from.
  12091. // Deprecated: Use MetaRareCollectionFactoryMetaData.ABI instead.
  12092. var MetaRareCollectionFactoryABI = MetaRareCollectionFactoryMetaData.ABI
  12093. // Deprecated: Use MetaRareCollectionFactoryMetaData.Sigs instead.
  12094. // MetaRareCollectionFactoryFuncSigs maps the 4-byte function signature to its string representation.
  12095. var MetaRareCollectionFactoryFuncSigs = MetaRareCollectionFactoryMetaData.Sigs
  12096. // MetaRareCollectionFactoryBin is the compiled bytecode used for deploying new contracts.
  12097. // Deprecated: Use MetaRareCollectionFactoryMetaData.Bin instead.
  12098. var MetaRareCollectionFactoryBin = MetaRareCollectionFactoryMetaData.Bin
  12099. // DeployMetaRareCollectionFactory deploys a new Ethereum contract, binding an instance of MetaRareCollectionFactory to it.
  12100. func DeployMetaRareCollectionFactory(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *MetaRareCollectionFactory, error) {
  12101. parsed, err := MetaRareCollectionFactoryMetaData.GetAbi()
  12102. if err != nil {
  12103. return common.Address{}, nil, nil, err
  12104. }
  12105. if parsed == nil {
  12106. return common.Address{}, nil, nil, errors.New("GetABI returned nil")
  12107. }
  12108. address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(MetaRareCollectionFactoryBin), backend)
  12109. if err != nil {
  12110. return common.Address{}, nil, nil, err
  12111. }
  12112. return address, tx, &MetaRareCollectionFactory{MetaRareCollectionFactoryCaller: MetaRareCollectionFactoryCaller{contract: contract}, MetaRareCollectionFactoryTransactor: MetaRareCollectionFactoryTransactor{contract: contract}, MetaRareCollectionFactoryFilterer: MetaRareCollectionFactoryFilterer{contract: contract}}, nil
  12113. }
  12114. // MetaRareCollectionFactory is an auto generated Go binding around an Ethereum contract.
  12115. type MetaRareCollectionFactory struct {
  12116. MetaRareCollectionFactoryCaller // Read-only binding to the contract
  12117. MetaRareCollectionFactoryTransactor // Write-only binding to the contract
  12118. MetaRareCollectionFactoryFilterer // Log filterer for contract events
  12119. }
  12120. // MetaRareCollectionFactoryCaller is an auto generated read-only Go binding around an Ethereum contract.
  12121. type MetaRareCollectionFactoryCaller struct {
  12122. contract *bind.BoundContract // Generic contract wrapper for the low level calls
  12123. }
  12124. // MetaRareCollectionFactoryTransactor is an auto generated write-only Go binding around an Ethereum contract.
  12125. type MetaRareCollectionFactoryTransactor struct {
  12126. contract *bind.BoundContract // Generic contract wrapper for the low level calls
  12127. }
  12128. // MetaRareCollectionFactoryFilterer is an auto generated log filtering Go binding around an Ethereum contract events.
  12129. type MetaRareCollectionFactoryFilterer struct {
  12130. contract *bind.BoundContract // Generic contract wrapper for the low level calls
  12131. }
  12132. // MetaRareCollectionFactorySession is an auto generated Go binding around an Ethereum contract,
  12133. // with pre-set call and transact options.
  12134. type MetaRareCollectionFactorySession struct {
  12135. Contract *MetaRareCollectionFactory // Generic contract binding to set the session for
  12136. CallOpts bind.CallOpts // Call options to use throughout this session
  12137. TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
  12138. }
  12139. // MetaRareCollectionFactoryCallerSession is an auto generated read-only Go binding around an Ethereum contract,
  12140. // with pre-set call options.
  12141. type MetaRareCollectionFactoryCallerSession struct {
  12142. Contract *MetaRareCollectionFactoryCaller // Generic contract caller binding to set the session for
  12143. CallOpts bind.CallOpts // Call options to use throughout this session
  12144. }
  12145. // MetaRareCollectionFactoryTransactorSession is an auto generated write-only Go binding around an Ethereum contract,
  12146. // with pre-set transact options.
  12147. type MetaRareCollectionFactoryTransactorSession struct {
  12148. Contract *MetaRareCollectionFactoryTransactor // Generic contract transactor binding to set the session for
  12149. TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
  12150. }
  12151. // MetaRareCollectionFactoryRaw is an auto generated low-level Go binding around an Ethereum contract.
  12152. type MetaRareCollectionFactoryRaw struct {
  12153. Contract *MetaRareCollectionFactory // Generic contract binding to access the raw methods on
  12154. }
  12155. // MetaRareCollectionFactoryCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
  12156. type MetaRareCollectionFactoryCallerRaw struct {
  12157. Contract *MetaRareCollectionFactoryCaller // Generic read-only contract binding to access the raw methods on
  12158. }
  12159. // MetaRareCollectionFactoryTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
  12160. type MetaRareCollectionFactoryTransactorRaw struct {
  12161. Contract *MetaRareCollectionFactoryTransactor // Generic write-only contract binding to access the raw methods on
  12162. }
  12163. // NewMetaRareCollectionFactory creates a new instance of MetaRareCollectionFactory, bound to a specific deployed contract.
  12164. func NewMetaRareCollectionFactory(address common.Address, backend bind.ContractBackend) (*MetaRareCollectionFactory, error) {
  12165. contract, err := bindMetaRareCollectionFactory(address, backend, backend, backend)
  12166. if err != nil {
  12167. return nil, err
  12168. }
  12169. return &MetaRareCollectionFactory{MetaRareCollectionFactoryCaller: MetaRareCollectionFactoryCaller{contract: contract}, MetaRareCollectionFactoryTransactor: MetaRareCollectionFactoryTransactor{contract: contract}, MetaRareCollectionFactoryFilterer: MetaRareCollectionFactoryFilterer{contract: contract}}, nil
  12170. }
  12171. // NewMetaRareCollectionFactoryCaller creates a new read-only instance of MetaRareCollectionFactory, bound to a specific deployed contract.
  12172. func NewMetaRareCollectionFactoryCaller(address common.Address, caller bind.ContractCaller) (*MetaRareCollectionFactoryCaller, error) {
  12173. contract, err := bindMetaRareCollectionFactory(address, caller, nil, nil)
  12174. if err != nil {
  12175. return nil, err
  12176. }
  12177. return &MetaRareCollectionFactoryCaller{contract: contract}, nil
  12178. }
  12179. // NewMetaRareCollectionFactoryTransactor creates a new write-only instance of MetaRareCollectionFactory, bound to a specific deployed contract.
  12180. func NewMetaRareCollectionFactoryTransactor(address common.Address, transactor bind.ContractTransactor) (*MetaRareCollectionFactoryTransactor, error) {
  12181. contract, err := bindMetaRareCollectionFactory(address, nil, transactor, nil)
  12182. if err != nil {
  12183. return nil, err
  12184. }
  12185. return &MetaRareCollectionFactoryTransactor{contract: contract}, nil
  12186. }
  12187. // NewMetaRareCollectionFactoryFilterer creates a new log filterer instance of MetaRareCollectionFactory, bound to a specific deployed contract.
  12188. func NewMetaRareCollectionFactoryFilterer(address common.Address, filterer bind.ContractFilterer) (*MetaRareCollectionFactoryFilterer, error) {
  12189. contract, err := bindMetaRareCollectionFactory(address, nil, nil, filterer)
  12190. if err != nil {
  12191. return nil, err
  12192. }
  12193. return &MetaRareCollectionFactoryFilterer{contract: contract}, nil
  12194. }
  12195. // bindMetaRareCollectionFactory binds a generic wrapper to an already deployed contract.
  12196. func bindMetaRareCollectionFactory(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
  12197. parsed, err := abi.JSON(strings.NewReader(MetaRareCollectionFactoryABI))
  12198. if err != nil {
  12199. return nil, err
  12200. }
  12201. return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil
  12202. }
  12203. // Call invokes the (constant) contract method with params as input values and
  12204. // sets the output to result. The result type might be a single field for simple
  12205. // returns, a slice of interfaces for anonymous returns and a struct for named
  12206. // returns.
  12207. func (_MetaRareCollectionFactory *MetaRareCollectionFactoryRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
  12208. return _MetaRareCollectionFactory.Contract.MetaRareCollectionFactoryCaller.contract.Call(opts, result, method, params...)
  12209. }
  12210. // Transfer initiates a plain transaction to move funds to the contract, calling
  12211. // its default method if one is available.
  12212. func (_MetaRareCollectionFactory *MetaRareCollectionFactoryRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
  12213. return _MetaRareCollectionFactory.Contract.MetaRareCollectionFactoryTransactor.contract.Transfer(opts)
  12214. }
  12215. // Transact invokes the (paid) contract method with params as input values.
  12216. func (_MetaRareCollectionFactory *MetaRareCollectionFactoryRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
  12217. return _MetaRareCollectionFactory.Contract.MetaRareCollectionFactoryTransactor.contract.Transact(opts, method, params...)
  12218. }
  12219. // Call invokes the (constant) contract method with params as input values and
  12220. // sets the output to result. The result type might be a single field for simple
  12221. // returns, a slice of interfaces for anonymous returns and a struct for named
  12222. // returns.
  12223. func (_MetaRareCollectionFactory *MetaRareCollectionFactoryCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
  12224. return _MetaRareCollectionFactory.Contract.contract.Call(opts, result, method, params...)
  12225. }
  12226. // Transfer initiates a plain transaction to move funds to the contract, calling
  12227. // its default method if one is available.
  12228. func (_MetaRareCollectionFactory *MetaRareCollectionFactoryTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
  12229. return _MetaRareCollectionFactory.Contract.contract.Transfer(opts)
  12230. }
  12231. // Transact invokes the (paid) contract method with params as input values.
  12232. func (_MetaRareCollectionFactory *MetaRareCollectionFactoryTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
  12233. return _MetaRareCollectionFactory.Contract.contract.Transact(opts, method, params...)
  12234. }
  12235. // CreateMetaRareERC1155Collection is a paid mutator transaction binding the contract method 0xce5216cf.
  12236. //
  12237. // Solidity: function CreateMetaRareERC1155Collection(string name, string symbol, string uri, address OperatorContract) returns()
  12238. func (_MetaRareCollectionFactory *MetaRareCollectionFactoryTransactor) CreateMetaRareERC1155Collection(opts *bind.TransactOpts, name string, symbol string, uri string, OperatorContract common.Address) (*types.Transaction, error) {
  12239. return _MetaRareCollectionFactory.contract.Transact(opts, "CreateMetaRareERC1155Collection", name, symbol, uri, OperatorContract)
  12240. }
  12241. // CreateMetaRareERC1155Collection is a paid mutator transaction binding the contract method 0xce5216cf.
  12242. //
  12243. // Solidity: function CreateMetaRareERC1155Collection(string name, string symbol, string uri, address OperatorContract) returns()
  12244. func (_MetaRareCollectionFactory *MetaRareCollectionFactorySession) CreateMetaRareERC1155Collection(name string, symbol string, uri string, OperatorContract common.Address) (*types.Transaction, error) {
  12245. return _MetaRareCollectionFactory.Contract.CreateMetaRareERC1155Collection(&_MetaRareCollectionFactory.TransactOpts, name, symbol, uri, OperatorContract)
  12246. }
  12247. // CreateMetaRareERC1155Collection is a paid mutator transaction binding the contract method 0xce5216cf.
  12248. //
  12249. // Solidity: function CreateMetaRareERC1155Collection(string name, string symbol, string uri, address OperatorContract) returns()
  12250. func (_MetaRareCollectionFactory *MetaRareCollectionFactoryTransactorSession) CreateMetaRareERC1155Collection(name string, symbol string, uri string, OperatorContract common.Address) (*types.Transaction, error) {
  12251. return _MetaRareCollectionFactory.Contract.CreateMetaRareERC1155Collection(&_MetaRareCollectionFactory.TransactOpts, name, symbol, uri, OperatorContract)
  12252. }
  12253. // CreateMetaRareERC721Collection is a paid mutator transaction binding the contract method 0x5167cf80.
  12254. //
  12255. // Solidity: function CreateMetaRareERC721Collection(string name, string symbol, string baseURI, address OperatorContract) returns()
  12256. func (_MetaRareCollectionFactory *MetaRareCollectionFactoryTransactor) CreateMetaRareERC721Collection(opts *bind.TransactOpts, name string, symbol string, baseURI string, OperatorContract common.Address) (*types.Transaction, error) {
  12257. return _MetaRareCollectionFactory.contract.Transact(opts, "CreateMetaRareERC721Collection", name, symbol, baseURI, OperatorContract)
  12258. }
  12259. // CreateMetaRareERC721Collection is a paid mutator transaction binding the contract method 0x5167cf80.
  12260. //
  12261. // Solidity: function CreateMetaRareERC721Collection(string name, string symbol, string baseURI, address OperatorContract) returns()
  12262. func (_MetaRareCollectionFactory *MetaRareCollectionFactorySession) CreateMetaRareERC721Collection(name string, symbol string, baseURI string, OperatorContract common.Address) (*types.Transaction, error) {
  12263. return _MetaRareCollectionFactory.Contract.CreateMetaRareERC721Collection(&_MetaRareCollectionFactory.TransactOpts, name, symbol, baseURI, OperatorContract)
  12264. }
  12265. // CreateMetaRareERC721Collection is a paid mutator transaction binding the contract method 0x5167cf80.
  12266. //
  12267. // Solidity: function CreateMetaRareERC721Collection(string name, string symbol, string baseURI, address OperatorContract) returns()
  12268. func (_MetaRareCollectionFactory *MetaRareCollectionFactoryTransactorSession) CreateMetaRareERC721Collection(name string, symbol string, baseURI string, OperatorContract common.Address) (*types.Transaction, error) {
  12269. return _MetaRareCollectionFactory.Contract.CreateMetaRareERC721Collection(&_MetaRareCollectionFactory.TransactOpts, name, symbol, baseURI, OperatorContract)
  12270. }
  12271. // MetaRareCollectionFactoryCreateERC1155CollectionIterator is returned from FilterCreateERC1155Collection and is used to iterate over the raw logs and unpacked data for CreateERC1155Collection events raised by the MetaRareCollectionFactory contract.
  12272. type MetaRareCollectionFactoryCreateERC1155CollectionIterator struct {
  12273. Event *MetaRareCollectionFactoryCreateERC1155Collection // Event containing the contract specifics and raw log
  12274. contract *bind.BoundContract // Generic contract to use for unpacking event data
  12275. event string // Event name to use for unpacking event data
  12276. logs chan types.Log // Log channel receiving the found contract events
  12277. sub ethereum.Subscription // Subscription for errors, completion and termination
  12278. done bool // Whether the subscription completed delivering logs
  12279. fail error // Occurred error to stop iteration
  12280. }
  12281. // Next advances the iterator to the subsequent event, returning whether there
  12282. // are any more events found. In case of a retrieval or parsing error, false is
  12283. // returned and Error() can be queried for the exact failure.
  12284. func (it *MetaRareCollectionFactoryCreateERC1155CollectionIterator) Next() bool {
  12285. // If the iterator failed, stop iterating
  12286. if it.fail != nil {
  12287. return false
  12288. }
  12289. // If the iterator completed, deliver directly whatever's available
  12290. if it.done {
  12291. select {
  12292. case log := <-it.logs:
  12293. it.Event = new(MetaRareCollectionFactoryCreateERC1155Collection)
  12294. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  12295. it.fail = err
  12296. return false
  12297. }
  12298. it.Event.Raw = log
  12299. return true
  12300. default:
  12301. return false
  12302. }
  12303. }
  12304. // Iterator still in progress, wait for either a data or an error event
  12305. select {
  12306. case log := <-it.logs:
  12307. it.Event = new(MetaRareCollectionFactoryCreateERC1155Collection)
  12308. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  12309. it.fail = err
  12310. return false
  12311. }
  12312. it.Event.Raw = log
  12313. return true
  12314. case err := <-it.sub.Err():
  12315. it.done = true
  12316. it.fail = err
  12317. return it.Next()
  12318. }
  12319. }
  12320. // Error returns any retrieval or parsing error occurred during filtering.
  12321. func (it *MetaRareCollectionFactoryCreateERC1155CollectionIterator) Error() error {
  12322. return it.fail
  12323. }
  12324. // Close terminates the iteration process, releasing any pending underlying
  12325. // resources.
  12326. func (it *MetaRareCollectionFactoryCreateERC1155CollectionIterator) Close() error {
  12327. it.sub.Unsubscribe()
  12328. return nil
  12329. }
  12330. // MetaRareCollectionFactoryCreateERC1155Collection represents a CreateERC1155Collection event raised by the MetaRareCollectionFactory contract.
  12331. type MetaRareCollectionFactoryCreateERC1155Collection struct {
  12332. Collection common.Address
  12333. Raw types.Log // Blockchain specific contextual infos
  12334. }
  12335. // FilterCreateERC1155Collection is a free log retrieval operation binding the contract event 0x0d3de3f5754e9b4e85f7c08370a9ee6420616bddaa78ece20378473b8de69792.
  12336. //
  12337. // Solidity: event CreateERC1155Collection(address collection)
  12338. func (_MetaRareCollectionFactory *MetaRareCollectionFactoryFilterer) FilterCreateERC1155Collection(opts *bind.FilterOpts) (*MetaRareCollectionFactoryCreateERC1155CollectionIterator, error) {
  12339. logs, sub, err := _MetaRareCollectionFactory.contract.FilterLogs(opts, "CreateERC1155Collection")
  12340. if err != nil {
  12341. return nil, err
  12342. }
  12343. return &MetaRareCollectionFactoryCreateERC1155CollectionIterator{contract: _MetaRareCollectionFactory.contract, event: "CreateERC1155Collection", logs: logs, sub: sub}, nil
  12344. }
  12345. // WatchCreateERC1155Collection is a free log subscription operation binding the contract event 0x0d3de3f5754e9b4e85f7c08370a9ee6420616bddaa78ece20378473b8de69792.
  12346. //
  12347. // Solidity: event CreateERC1155Collection(address collection)
  12348. func (_MetaRareCollectionFactory *MetaRareCollectionFactoryFilterer) WatchCreateERC1155Collection(opts *bind.WatchOpts, sink chan<- *MetaRareCollectionFactoryCreateERC1155Collection) (event.Subscription, error) {
  12349. logs, sub, err := _MetaRareCollectionFactory.contract.WatchLogs(opts, "CreateERC1155Collection")
  12350. if err != nil {
  12351. return nil, err
  12352. }
  12353. return event.NewSubscription(func(quit <-chan struct{}) error {
  12354. defer sub.Unsubscribe()
  12355. for {
  12356. select {
  12357. case log := <-logs:
  12358. // New log arrived, parse the event and forward to the user
  12359. event := new(MetaRareCollectionFactoryCreateERC1155Collection)
  12360. if err := _MetaRareCollectionFactory.contract.UnpackLog(event, "CreateERC1155Collection", log); err != nil {
  12361. return err
  12362. }
  12363. event.Raw = log
  12364. select {
  12365. case sink <- event:
  12366. case err := <-sub.Err():
  12367. return err
  12368. case <-quit:
  12369. return nil
  12370. }
  12371. case err := <-sub.Err():
  12372. return err
  12373. case <-quit:
  12374. return nil
  12375. }
  12376. }
  12377. }), nil
  12378. }
  12379. // ParseCreateERC1155Collection is a log parse operation binding the contract event 0x0d3de3f5754e9b4e85f7c08370a9ee6420616bddaa78ece20378473b8de69792.
  12380. //
  12381. // Solidity: event CreateERC1155Collection(address collection)
  12382. func (_MetaRareCollectionFactory *MetaRareCollectionFactoryFilterer) ParseCreateERC1155Collection(log types.Log) (*MetaRareCollectionFactoryCreateERC1155Collection, error) {
  12383. event := new(MetaRareCollectionFactoryCreateERC1155Collection)
  12384. if err := _MetaRareCollectionFactory.contract.UnpackLog(event, "CreateERC1155Collection", log); err != nil {
  12385. return nil, err
  12386. }
  12387. event.Raw = log
  12388. return event, nil
  12389. }
  12390. // MetaRareCollectionFactoryCreateERC721CollectionIterator is returned from FilterCreateERC721Collection and is used to iterate over the raw logs and unpacked data for CreateERC721Collection events raised by the MetaRareCollectionFactory contract.
  12391. type MetaRareCollectionFactoryCreateERC721CollectionIterator struct {
  12392. Event *MetaRareCollectionFactoryCreateERC721Collection // Event containing the contract specifics and raw log
  12393. contract *bind.BoundContract // Generic contract to use for unpacking event data
  12394. event string // Event name to use for unpacking event data
  12395. logs chan types.Log // Log channel receiving the found contract events
  12396. sub ethereum.Subscription // Subscription for errors, completion and termination
  12397. done bool // Whether the subscription completed delivering logs
  12398. fail error // Occurred error to stop iteration
  12399. }
  12400. // Next advances the iterator to the subsequent event, returning whether there
  12401. // are any more events found. In case of a retrieval or parsing error, false is
  12402. // returned and Error() can be queried for the exact failure.
  12403. func (it *MetaRareCollectionFactoryCreateERC721CollectionIterator) Next() bool {
  12404. // If the iterator failed, stop iterating
  12405. if it.fail != nil {
  12406. return false
  12407. }
  12408. // If the iterator completed, deliver directly whatever's available
  12409. if it.done {
  12410. select {
  12411. case log := <-it.logs:
  12412. it.Event = new(MetaRareCollectionFactoryCreateERC721Collection)
  12413. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  12414. it.fail = err
  12415. return false
  12416. }
  12417. it.Event.Raw = log
  12418. return true
  12419. default:
  12420. return false
  12421. }
  12422. }
  12423. // Iterator still in progress, wait for either a data or an error event
  12424. select {
  12425. case log := <-it.logs:
  12426. it.Event = new(MetaRareCollectionFactoryCreateERC721Collection)
  12427. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  12428. it.fail = err
  12429. return false
  12430. }
  12431. it.Event.Raw = log
  12432. return true
  12433. case err := <-it.sub.Err():
  12434. it.done = true
  12435. it.fail = err
  12436. return it.Next()
  12437. }
  12438. }
  12439. // Error returns any retrieval or parsing error occurred during filtering.
  12440. func (it *MetaRareCollectionFactoryCreateERC721CollectionIterator) Error() error {
  12441. return it.fail
  12442. }
  12443. // Close terminates the iteration process, releasing any pending underlying
  12444. // resources.
  12445. func (it *MetaRareCollectionFactoryCreateERC721CollectionIterator) Close() error {
  12446. it.sub.Unsubscribe()
  12447. return nil
  12448. }
  12449. // MetaRareCollectionFactoryCreateERC721Collection represents a CreateERC721Collection event raised by the MetaRareCollectionFactory contract.
  12450. type MetaRareCollectionFactoryCreateERC721Collection struct {
  12451. Collection common.Address
  12452. Raw types.Log // Blockchain specific contextual infos
  12453. }
  12454. // FilterCreateERC721Collection is a free log retrieval operation binding the contract event 0xd6d8f7b07325e6b897eeb15a60d044c62db3616c8c636fca706fb22e3bc656f5.
  12455. //
  12456. // Solidity: event CreateERC721Collection(address collection)
  12457. func (_MetaRareCollectionFactory *MetaRareCollectionFactoryFilterer) FilterCreateERC721Collection(opts *bind.FilterOpts) (*MetaRareCollectionFactoryCreateERC721CollectionIterator, error) {
  12458. logs, sub, err := _MetaRareCollectionFactory.contract.FilterLogs(opts, "CreateERC721Collection")
  12459. if err != nil {
  12460. return nil, err
  12461. }
  12462. return &MetaRareCollectionFactoryCreateERC721CollectionIterator{contract: _MetaRareCollectionFactory.contract, event: "CreateERC721Collection", logs: logs, sub: sub}, nil
  12463. }
  12464. // WatchCreateERC721Collection is a free log subscription operation binding the contract event 0xd6d8f7b07325e6b897eeb15a60d044c62db3616c8c636fca706fb22e3bc656f5.
  12465. //
  12466. // Solidity: event CreateERC721Collection(address collection)
  12467. func (_MetaRareCollectionFactory *MetaRareCollectionFactoryFilterer) WatchCreateERC721Collection(opts *bind.WatchOpts, sink chan<- *MetaRareCollectionFactoryCreateERC721Collection) (event.Subscription, error) {
  12468. logs, sub, err := _MetaRareCollectionFactory.contract.WatchLogs(opts, "CreateERC721Collection")
  12469. if err != nil {
  12470. return nil, err
  12471. }
  12472. return event.NewSubscription(func(quit <-chan struct{}) error {
  12473. defer sub.Unsubscribe()
  12474. for {
  12475. select {
  12476. case log := <-logs:
  12477. // New log arrived, parse the event and forward to the user
  12478. event := new(MetaRareCollectionFactoryCreateERC721Collection)
  12479. if err := _MetaRareCollectionFactory.contract.UnpackLog(event, "CreateERC721Collection", log); err != nil {
  12480. return err
  12481. }
  12482. event.Raw = log
  12483. select {
  12484. case sink <- event:
  12485. case err := <-sub.Err():
  12486. return err
  12487. case <-quit:
  12488. return nil
  12489. }
  12490. case err := <-sub.Err():
  12491. return err
  12492. case <-quit:
  12493. return nil
  12494. }
  12495. }
  12496. }), nil
  12497. }
  12498. // ParseCreateERC721Collection is a log parse operation binding the contract event 0xd6d8f7b07325e6b897eeb15a60d044c62db3616c8c636fca706fb22e3bc656f5.
  12499. //
  12500. // Solidity: event CreateERC721Collection(address collection)
  12501. func (_MetaRareCollectionFactory *MetaRareCollectionFactoryFilterer) ParseCreateERC721Collection(log types.Log) (*MetaRareCollectionFactoryCreateERC721Collection, error) {
  12502. event := new(MetaRareCollectionFactoryCreateERC721Collection)
  12503. if err := _MetaRareCollectionFactory.contract.UnpackLog(event, "CreateERC721Collection", log); err != nil {
  12504. return nil, err
  12505. }
  12506. event.Raw = log
  12507. return event, nil
  12508. }
  12509. // MetaRareERC1155CollectionMetaData contains all meta data concerning the MetaRareERC1155Collection contract.
  12510. var MetaRareERC1155CollectionMetaData = &bind.MetaData{
  12511. ABI: "[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"}],\"name\":\"TransferBatch\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"TransferSingle\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"URI\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"MetaRareOperator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"accounts\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"}],\"name\":\"balanceOfBatch\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"_ids\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"_quantities\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"batchMint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"collectionFactory\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_initialOwner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_initialSupply\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_uri\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"create\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_initialOwner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_initialSupply\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_uri\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"createByOperator\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"creators\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"customUri\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"}],\"name\":\"exists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_uri\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"collectionOwner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operatorContract\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isOperator\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_quantity\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeBatchTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"_ids\",\"type\":\"uint256[]\"}],\"name\":\"setCreator\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_newURI\",\"type\":\"string\"}],\"name\":\"setCustomURI\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_newURI\",\"type\":\"string\"}],\"name\":\"setURI\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"tokenSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"}],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferOnlyOperator\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"}],\"name\":\"uri\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]",
  12512. Sigs: map[string]string{
  12513. "6585690d": "MetaRareOperator()",
  12514. "00fdd58e": "balanceOf(address,uint256)",
  12515. "4e1273f4": "balanceOfBatch(address[],uint256[])",
  12516. "b48ab8b6": "batchMint(address,uint256[],uint256[],bytes)",
  12517. "cf25a2fd": "collectionFactory()",
  12518. "36a100d5": "create(address,uint256,uint256,string,bytes)",
  12519. "61321c14": "createByOperator(address,uint256,uint256,string,bytes)",
  12520. "cd53d08e": "creators(uint256)",
  12521. "8a28a5a2": "customUri(uint256)",
  12522. "4f558e79": "exists(uint256)",
  12523. "d6d0faee": "initialize(string,string,string,address,address)",
  12524. "e985e9c5": "isApprovedForAll(address,address)",
  12525. "731133e9": "mint(address,uint256,uint256,bytes)",
  12526. "06fdde03": "name()",
  12527. "8da5cb5b": "owner()",
  12528. "715018a6": "renounceOwnership()",
  12529. "2eb2c2d6": "safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)",
  12530. "f242432a": "safeTransferFrom(address,address,uint256,uint256,bytes)",
  12531. "a22cb465": "setApprovalForAll(address,bool)",
  12532. "d2a6b51a": "setCreator(address,uint256[])",
  12533. "3adf80b4": "setCustomURI(uint256,string)",
  12534. "02fe5305": "setURI(string)",
  12535. "01ffc9a7": "supportsInterface(bytes4)",
  12536. "95d89b41": "symbol()",
  12537. "2693ebf2": "tokenSupply(uint256)",
  12538. "bd85b039": "totalSupply(uint256)",
  12539. "7c7ae4d1": "transferOnlyOperator(address,address,uint256,uint256)",
  12540. "f2fde38b": "transferOwnership(address)",
  12541. "0e89341c": "uri(uint256)",
  12542. },
  12543. Bin: "0x60806040523480156200001157600080fd5b506040805180820190915260048152635f75726960e01b6020820152620000388162000065565b506200004d620000476200007e565b62000082565b600480546001600160a01b03191633179055620001b7565b80516200007a906002906020840190620000d4565b5050565b3390565b600380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b828054620000e2906200017a565b90600052602060002090601f01602090048101928262000106576000855562000151565b82601f106200012157805160ff191683800117855562000151565b8280016001018555821562000151579182015b828111156200015157825182559160200191906001019062000134565b506200015f92915062000163565b5090565b5b808211156200015f576000815560010162000164565b6002810460018216806200018f57607f821691505b60208210811415620001b157634e487b7160e01b600052602260045260246000fd5b50919050565b612a6080620001c76000396000f3fe608060405234801561001057600080fd5b50600436106101ce5760003560e01c8063731133e911610104578063bd85b039116100a2578063d6d0faee11610071578063d6d0faee146103b8578063e985e9c5146103cb578063f242432a146103de578063f2fde38b146103f1576101ce565b8063bd85b03914610377578063cd53d08e1461038a578063cf25a2fd1461039d578063d2a6b51a146103a5576101ce565b80638da5cb5b116100de5780638da5cb5b1461034157806395d89b4114610349578063a22cb46514610351578063b48ab8b614610364576101ce565b8063731133e9146103085780637c7ae4d11461031b5780638a28a5a21461032e576101ce565b806336a100d5116101715780634f558e791161014b5780634f558e79146102c557806361321c14146102d85780636585690d146102eb578063715018a614610300576101ce565b806336a100d51461027f5780633adf80b4146102925780634e1273f4146102a5576101ce565b806306fdde03116101ad57806306fdde03146102315780630e89341c146102465780632693ebf2146102595780632eb2c2d61461026c576101ce565b8062fdd58e146101d357806301ffc9a7146101fc57806302fe53051461021c575b600080fd5b6101e66101e1366004611e1e565b610404565b6040516101f39190612872565b60405180910390f35b61020f61020a366004611fac565b61045b565b6040516101f39190612292565b61022f61022a366004611fe4565b6104a3565b005b6102396104ee565b6040516101f3919061229d565b6102396102543660046120c3565b61057c565b6101e66102673660046120c3565b6106fc565b61022f61027a366004611bbd565b61070e565b6101e661028d366004611e99565b61076c565b61022f6102a03660046120db565b61088a565b6102b86102b3366004611eee565b610929565b6040516101f39190612251565b61020f6102d33660046120c3565b610a48565b6101e66102e6366004611e99565b610a53565b6102f3610af3565b6040516101f3919061219a565b61022f610b02565b61022f610316366004611e47565b610b4d565b61022f610329366004611c62565b610bcd565b61023961033c3660046120c3565b610c09565b6102f3610c22565b610239610c32565b61022f61035f366004611de4565b610c3f565b61022f610372366004611d50565b610c55565b6101e66103853660046120c3565b610d53565b6102f36103983660046120c3565b610d65565b6102f3610d80565b61022f6103b3366004611d05565b610d8f565b61022f6103c636600461201e565b610e0f565b61020f6103d9366004611b8b565b610e99565b61022f6103ec366004611ca3565b610eac565b61022f6103ff366004611b71565b610f03565b60006001600160a01b0383166104355760405162461bcd60e51b815260040161042c90612409565b60405180910390fd5b506000908152602081815260408083206001600160a01b03949094168352929052205490565b60006001600160e01b03198216636cdb3d1360e11b148061048c57506001600160e01b031982166303a24d0760e21b145b8061049b575061049b82610f71565b90505b919050565b6104ab610f8a565b6001600160a01b03166104bc610c22565b6001600160a01b0316146104e25760405162461bcd60e51b815260040161042c9061264e565b6104eb81610f8e565b50565b600980546104fb906128c4565b80601f0160208091040260200160405190810160405280929190818152602001828054610527906128c4565b80156105745780601f1061054957610100808354040283529160200191610574565b820191906000526020600020905b81548152906001019060200180831161055757829003601f168201915b505050505081565b606061058782610fa1565b6105a35760405162461bcd60e51b815260040161042c9061257a565b600082815260086020526040812080546105bc906128c4565b80601f01602080910402602001604051908101604052809291908181526020018280546105e8906128c4565b80156106355780601f1061060a57610100808354040283529160200191610635565b820191906000526020600020905b81548152906001019060200180831161061857829003601f168201915b505050505090506000815111156106e5576000838152600860205260409020805461065f906128c4565b80601f016020809104026020016040519081016040528092919081815260200182805461068b906128c4565b80156106d85780601f106106ad576101008083540402835291602001916106d8565b820191906000526020600020905b8154815290600101906020018083116106bb57829003601f168201915b505050505091505061049e565b6106ee83610fbe565b91505061049e565b50919050565b60076020526000908152604090205481565b610716610f8a565b6001600160a01b0316856001600160a01b0316148061073c575061073c856103d9610f8a565b6107585760405162461bcd60e51b815260040161042c90612528565b6107658585858585611052565b5050505050565b6000610776610f8a565b6001600160a01b0316610787610c22565b6001600160a01b0316146107ad5760405162461bcd60e51b815260040161042c9061264e565b6107b685610fa1565b156107d35760405162461bcd60e51b815260040161042c90612304565b6107db610f8a565b600086815260066020526040902080546001600160a01b0319166001600160a01b0392909216919091179055825115610867576000858152600860209081526040909120845161082d928601906119e1565b50847f6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b8460405161085e919061229d565b60405180910390a25b61087386868685611223565b505050600082815260076020526040902055919050565b81610893610f8a565b6000828152600660205260409020546001600160a01b039081169116146108cc5760405162461bcd60e51b815260040161042c906127ea565b600083815260086020908152604090912083516108eb928501906119e1565b50827f6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b8360405161091c919061229d565b60405180910390a2505050565b6060815183511461094c5760405162461bcd60e51b815260040161042c90612718565b600083516001600160401b0381111561097557634e487b7160e01b600052604160045260246000fd5b60405190808252806020026020018201604052801561099e578160200160208202803683370190505b50905060005b8451811015610a4057610a058582815181106109d057634e487b7160e01b600052603260045260246000fd5b60200260200101518583815181106109f857634e487b7160e01b600052603260045260246000fd5b6020026020010151610404565b828281518110610a2557634e487b7160e01b600052603260045260246000fd5b6020908102919091010152610a3981612925565b90506109a4565b509392505050565b600061049b82610fa1565b6005546000906001600160a01b03163314610a805760405162461bcd60e51b815260040161042c90612383565b610a8985610fa1565b15610aa65760405162461bcd60e51b815260040161042c90612304565b600085815260066020526040902080546001600160a01b0319166001600160a01b038816179055825115610867576000858152600860209081526040909120845161082d928601906119e1565b6005546001600160a01b031681565b610b0a610f8a565b6001600160a01b0316610b1b610c22565b6001600160a01b031614610b415760405162461bcd60e51b815260040161042c9061264e565b610b4b6000611312565b565b82610b56610f8a565b6000828152600660205260409020546001600160a01b03908116911614610b8f5760405162461bcd60e51b815260040161042c906127ea565b610b9b85858585611223565b600084815260076020526040902054610bb49084611364565b6000948552600760205260409094209390935550505050565b6005546001600160a01b03163314610bf75760405162461bcd60e51b815260040161042c9061260a565b610c0384848484611370565b50505050565b600860205260009081526040902080546104fb906128c4565b6003546001600160a01b03165b90565b600a80546104fb906128c4565b610c51610c4a610f8a565b838361138c565b5050565b60005b8351811015610d46576000848281518110610c8357634e487b7160e01b600052603260045260246000fd5b60200260200101519050610c95610f8a565b6000828152600660205260409020546001600160a01b03908116911614610cce5760405162461bcd60e51b815260040161042c906123ba565b6000848381518110610cf057634e487b7160e01b600052603260045260246000fd5b60200260200101519050610d2081600760008581526020019081526020016000205461136490919063ffffffff16565b600092835260076020526040909220919091555080610d3e81612925565b915050610c58565b50610c038484848461142f565b60009081526007602052604090205490565b6006602052600090815260409020546001600160a01b031681565b6004546001600160a01b031681565b6001600160a01b038216610db55760405162461bcd60e51b815260040161042c90612683565b60005b8151811015610e0a576000828281518110610de357634e487b7160e01b600052603260045260246000fd5b60200260200101519050610df784826115b0565b5080610e0281612925565b915050610db8565b505050565b6004546001600160a01b03163314610e395760405162461bcd60e51b815260040161042c9061283b565b8451610e4c9060099060208801906119e1565b508351610e6090600a9060208701906119e1565b50610e6a83610f8e565b600580546001600160a01b0319166001600160a01b038316179055610e8e82610f03565b610765816001610c3f565b6000610ea58383611621565b9392505050565b610eb4610f8a565b6001600160a01b0316856001600160a01b03161480610eda5750610eda856103d9610f8a565b610ef65760405162461bcd60e51b815260040161042c9061249a565b610765858585858561164f565b610f0b610f8a565b6001600160a01b0316610f1c610c22565b6001600160a01b031614610f425760405162461bcd60e51b815260040161042c9061264e565b6001600160a01b038116610f685760405162461bcd60e51b815260040161042c90612454565b6104eb81611312565b6001600160e01b031981166301ffc9a760e01b14919050565b3390565b8051610c519060029060208401906119e1565b6000908152600660205260409020546001600160a01b0316151590565b606060028054610fcd906128c4565b80601f0160208091040260200160405190810160405280929190818152602001828054610ff9906128c4565b80156110465780601f1061101b57610100808354040283529160200191611046565b820191906000526020600020905b81548152906001019060200180831161102957829003601f168201915b50505050509050919050565b81518351146110735760405162461bcd60e51b815260040161042c90612761565b6001600160a01b0384166110995760405162461bcd60e51b815260040161042c906124e3565b60006110a3610f8a565b90506110b381878787878761121b565b60005b84518110156111b55760008582815181106110e157634e487b7160e01b600052603260045260246000fd5b60200260200101519050600085838151811061110d57634e487b7160e01b600052603260045260246000fd5b602090810291909101810151600084815280835260408082206001600160a01b038e16835290935291909120549091508181101561115d5760405162461bcd60e51b815260040161042c906125c0565b6000838152602081815260408083206001600160a01b038e8116855292528083208585039055908b1682528120805484929061119a9084906128ac565b92505081905550505050806111ae90612925565b90506110b6565b50846001600160a01b0316866001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051611205929190612264565b60405180910390a461121b818787878787611783565b505050505050565b6001600160a01b0384166112495760405162461bcd60e51b815260040161042c906127a9565b6000611253610f8a565b905061127481600087611265886118a8565b61126e886118a8565b8761121b565b6000848152602081815260408083206001600160a01b0389168452909152812080548592906112a49084906128ac565b92505081905550846001600160a01b031660006001600160a01b0316826001600160a01b03167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6287876040516112fb92919061287b565b60405180910390a461076581600087878787611901565b600380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000610ea582846128ac565b610c03848484846040518060200160405280600081525061164f565b816001600160a01b0316836001600160a01b031614156113be5760405162461bcd60e51b815260040161042c906126cf565b6001600160a01b0383811660008181526001602090815260408083209487168084529490915290819020805460ff1916851515179055517f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3190611422908590612292565b60405180910390a3505050565b6001600160a01b0384166114555760405162461bcd60e51b815260040161042c906127a9565b81518351146114765760405162461bcd60e51b815260040161042c90612761565b6000611480610f8a565b90506114918160008787878761121b565b60005b8451811015611548578381815181106114bd57634e487b7160e01b600052603260045260246000fd5b60200260200101516000808784815181106114e857634e487b7160e01b600052603260045260246000fd5b602002602001015181526020019081526020016000206000886001600160a01b03166001600160a01b03168152602001908152602001600020600082825461153091906128ac565b9091555081905061154081612925565b915050611494565b50846001600160a01b031660006001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051611599929190612264565b60405180910390a461076581600087878787611783565b806115b9610f8a565b6000828152600660205260409020546001600160a01b039081169116146115f25760405162461bcd60e51b815260040161042c906127ea565b50600090815260066020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205460ff1690565b6001600160a01b0384166116755760405162461bcd60e51b815260040161042c906124e3565b600061167f610f8a565b9050611690818787611265886118a8565b6000848152602081815260408083206001600160a01b038a168452909152902054838110156116d15760405162461bcd60e51b815260040161042c906125c0565b6000858152602081815260408083206001600160a01b038b811685529252808320878503905590881682528120805486929061170e9084906128ac565b92505081905550856001600160a01b0316876001600160a01b0316836001600160a01b03167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62888860405161176492919061287b565b60405180910390a461177a828888888888611901565b50505050505050565b611795846001600160a01b03166119d2565b1561121b5760405163bc197c8160e01b81526001600160a01b0385169063bc197c81906117ce90899089908890889088906004016121ae565b602060405180830381600087803b1580156117e857600080fd5b505af1925050508015611818575060408051601f3d908101601f1916820190925261181591810190611fc8565b60015b6118785761182461296c565b806308c379a0141561185e5750611839612983565b806118445750611860565b8060405162461bcd60e51b815260040161042c919061229d565b505b60405162461bcd60e51b815260040161042c906122b0565b6001600160e01b0319811663bc197c8160e01b1461177a5760405162461bcd60e51b815260040161042c9061233b565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106118f057634e487b7160e01b600052603260045260246000fd5b602090810291909101015292915050565b611913846001600160a01b03166119d2565b1561121b5760405163f23a6e6160e01b81526001600160a01b0385169063f23a6e619061194c908990899088908890889060040161220c565b602060405180830381600087803b15801561196657600080fd5b505af1925050508015611996575060408051601f3d908101601f1916820190925261199391810190611fc8565b60015b6119a25761182461296c565b6001600160e01b0319811663f23a6e6160e01b1461177a5760405162461bcd60e51b815260040161042c9061233b565b6001600160a01b03163b151590565b8280546119ed906128c4565b90600052602060002090601f016020900481019282611a0f5760008555611a55565b82601f10611a2857805160ff1916838001178555611a55565b82800160010185558215611a55579182015b82811115611a55578251825591602001919060010190611a3a565b50611a61929150611a65565b5090565b5b80821115611a615760008155600101611a66565b80356001600160a01b038116811461049e57600080fd5b600082601f830112611aa1578081fd5b81356020611aae82612889565b604051611abb82826128f9565b838152828101915085830183850287018401881015611ad8578586fd5b855b85811015611af657813584529284019290840190600101611ada565b5090979650505050505050565b600082601f830112611b13578081fd5b81356001600160401b03811115611b2c57611b2c612956565b604051611b43601f8301601f1916602001826128f9565b818152846020838601011115611b57578283fd5b816020850160208301379081016020019190915292915050565b600060208284031215611b82578081fd5b610ea582611a7a565b60008060408385031215611b9d578081fd5b611ba683611a7a565b9150611bb460208401611a7a565b90509250929050565b600080600080600060a08688031215611bd4578081fd5b611bdd86611a7a565b9450611beb60208701611a7a565b935060408601356001600160401b0380821115611c06578283fd5b611c1289838a01611a91565b94506060880135915080821115611c27578283fd5b611c3389838a01611a91565b93506080880135915080821115611c48578283fd5b50611c5588828901611b03565b9150509295509295909350565b60008060008060808587031215611c77578384fd5b611c8085611a7a565b9350611c8e60208601611a7a565b93969395505050506040820135916060013590565b600080600080600060a08688031215611cba578081fd5b611cc386611a7a565b9450611cd160208701611a7a565b9350604086013592506060860135915060808601356001600160401b03811115611cf9578182fd5b611c5588828901611b03565b60008060408385031215611d17578182fd5b611d2083611a7a565b915060208301356001600160401b03811115611d3a578182fd5b611d4685828601611a91565b9150509250929050565b60008060008060808587031215611d65578384fd5b611d6e85611a7a565b935060208501356001600160401b0380821115611d89578485fd5b611d9588838901611a91565b94506040870135915080821115611daa578384fd5b611db688838901611a91565b93506060870135915080821115611dcb578283fd5b50611dd887828801611b03565b91505092959194509250565b60008060408385031215611df6578182fd5b611dff83611a7a565b915060208301358015158114611e13578182fd5b809150509250929050565b60008060408385031215611e30578182fd5b611e3983611a7a565b946020939093013593505050565b60008060008060808587031215611e5c578182fd5b611e6585611a7a565b9350602085013592506040850135915060608501356001600160401b03811115611e8d578182fd5b611dd887828801611b03565b600080600080600060a08688031215611eb0578283fd5b611eb986611a7a565b9450602086013593506040860135925060608601356001600160401b0380821115611ee2578283fd5b611c3389838a01611b03565b60008060408385031215611f00578182fd5b82356001600160401b0380821115611f16578384fd5b818501915085601f830112611f29578384fd5b81356020611f3682612889565b604051611f4382826128f9565b8381528281019150858301838502870184018b1015611f60578889fd5b8896505b84871015611f8957611f7581611a7a565b835260019690960195918301918301611f64565b5096505086013592505080821115611f9f578283fd5b50611d4685828601611a91565b600060208284031215611fbd578081fd5b8135610ea581612a14565b600060208284031215611fd9578081fd5b8151610ea581612a14565b600060208284031215611ff5578081fd5b81356001600160401b0381111561200a578182fd5b61201684828501611b03565b949350505050565b600080600080600060a08688031215612035578283fd5b85356001600160401b038082111561204b578485fd5b61205789838a01611b03565b9650602088013591508082111561206c578485fd5b61207889838a01611b03565b9550604088013591508082111561208d578485fd5b5061209a88828901611b03565b9350506120a960608701611a7a565b91506120b760808701611a7a565b90509295509295909350565b6000602082840312156120d4578081fd5b5035919050565b600080604083850312156120ed578182fd5b8235915060208301356001600160401b03811115612109578182fd5b611d4685828601611b03565b6000815180845260208085019450808401835b8381101561214457815187529582019590820190600101612128565b509495945050505050565b60008151808452815b8181101561217457602081850181015186830182015201612158565b818111156121855782602083870101525b50601f01601f19169290920160200192915050565b6001600160a01b0391909116815260200190565b6001600160a01b0386811682528516602082015260a0604082018190526000906121da90830186612115565b82810360608401526121ec8186612115565b90508281036080840152612200818561214f565b98975050505050505050565b6001600160a01b03868116825285166020820152604081018490526060810183905260a0608082018190526000906122469083018461214f565b979650505050505050565b600060208252610ea56020830184612115565b6000604082526122776040830185612115565b82810360208401526122898185612115565b95945050505050565b901515815260200190565b600060208252610ea5602083018461214f565b60208082526034908201527f455243313135353a207472616e7366657220746f206e6f6e20455243313135356040820152732932b1b2b4bb32b91034b6b83632b6b2b73a32b960611b606082015260800190565b60208082526018908201527f746f6b656e205f696420616c7265616479206578697374730000000000000000604082015260600190565b60208082526028908201527f455243313135353a204552433131353552656365697665722072656a656374656040820152676420746f6b656e7360c01b606082015260800190565b6020808252601d908201527f43616e6e6f742063616c6c6564206279206e6f74206f70657261746f72000000604082015260600190565b6020808252602f908201527f455243313135355472616461626c652362617463684d696e743a204f4e4c595f60408201526e10d491505513d497d0531313d5d151608a1b606082015260800190565b6020808252602b908201527f455243313135353a2062616c616e636520717565727920666f7220746865207a60408201526a65726f206164647265737360a81b606082015260800190565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201526564647265737360d01b606082015260800190565b60208082526029908201527f455243313135353a2063616c6c6572206973206e6f74206f776e6572206e6f7260408201526808185c1c1c9bdd995960ba1b606082015260800190565b60208082526025908201527f455243313135353a207472616e7366657220746f20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526032908201527f455243313135353a207472616e736665722063616c6c6572206973206e6f74206040820152711bdddb995c881b9bdc88185c1c1c9bdd995960721b606082015260800190565b60208082526026908201527f455243313135355472616461626c65237572693a204e4f4e4558495354454e546040820152652faa27a5a2a760d11b606082015260800190565b6020808252602a908201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60408201526939103a3930b739b332b960b11b606082015260800190565b60208082526024908201527f4f7065726174726f6e206f6e6c792063616e2075736520746869732066756e636040820152633a34b7b760e11b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252602c908201527f455243313135355472616461626c652373657443726561746f723a20494e564160408201526b2624a22fa0a2222922a9a99760a11b606082015260800190565b60208082526029908201527f455243313135353a2073657474696e6720617070726f76616c20737461747573604082015268103337b91039b2b63360b91b606082015260800190565b60208082526029908201527f455243313135353a206163636f756e747320616e6420696473206c656e677468604082015268040dad2e6dac2e8c6d60bb1b606082015260800190565b60208082526028908201527f455243313135353a2069647320616e6420616d6f756e7473206c656e677468206040820152670dad2e6dac2e8c6d60c31b606082015260800190565b60208082526021908201527f455243313135353a206d696e7420746f20746865207a65726f206164647265736040820152607360f81b606082015260800190565b60208082526031908201527f455243313135355472616461626c652363726561746f724f6e6c793a204f4e4c6040820152701657d0d491505513d497d0531313d5d151607a1b606082015260800190565b6020808252601d908201527f455243313135353a20494e495449414c495a4520464f5242494444454e000000604082015260600190565b90815260200190565b918252602082015260400190565b60006001600160401b038211156128a2576128a2612956565b5060209081020190565b600082198211156128bf576128bf612940565b500190565b6002810460018216806128d857607f821691505b602082108114156106f657634e487b7160e01b600052602260045260246000fd5b601f8201601f191681016001600160401b038111828210171561291e5761291e612956565b6040525050565b600060001982141561293957612939612940565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b600060033d1115610c2f57600481823e5160e01c90565b600060443d101561299357610c2f565b6040516003193d81016004833e81513d6001600160401b0381602484011181841117156129c4575050505050610c2f565b82850191508151818111156129de57505050505050610c2f565b843d87010160208285010111156129fa57505050505050610c2f565b612a09602082860101876128f9565b509094505050505090565b6001600160e01b0319811681146104eb57600080fdfea2646970667358221220f78e3718344884bd7316b6a520c284da62c9c926c0b9bc9b54ccad0bffa695d364736f6c63430008010033",
  12544. }
  12545. // MetaRareERC1155CollectionABI is the input ABI used to generate the binding from.
  12546. // Deprecated: Use MetaRareERC1155CollectionMetaData.ABI instead.
  12547. var MetaRareERC1155CollectionABI = MetaRareERC1155CollectionMetaData.ABI
  12548. // Deprecated: Use MetaRareERC1155CollectionMetaData.Sigs instead.
  12549. // MetaRareERC1155CollectionFuncSigs maps the 4-byte function signature to its string representation.
  12550. var MetaRareERC1155CollectionFuncSigs = MetaRareERC1155CollectionMetaData.Sigs
  12551. // MetaRareERC1155CollectionBin is the compiled bytecode used for deploying new contracts.
  12552. // Deprecated: Use MetaRareERC1155CollectionMetaData.Bin instead.
  12553. var MetaRareERC1155CollectionBin = MetaRareERC1155CollectionMetaData.Bin
  12554. // DeployMetaRareERC1155Collection deploys a new Ethereum contract, binding an instance of MetaRareERC1155Collection to it.
  12555. func DeployMetaRareERC1155Collection(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *MetaRareERC1155Collection, error) {
  12556. parsed, err := MetaRareERC1155CollectionMetaData.GetAbi()
  12557. if err != nil {
  12558. return common.Address{}, nil, nil, err
  12559. }
  12560. if parsed == nil {
  12561. return common.Address{}, nil, nil, errors.New("GetABI returned nil")
  12562. }
  12563. address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(MetaRareERC1155CollectionBin), backend)
  12564. if err != nil {
  12565. return common.Address{}, nil, nil, err
  12566. }
  12567. return address, tx, &MetaRareERC1155Collection{MetaRareERC1155CollectionCaller: MetaRareERC1155CollectionCaller{contract: contract}, MetaRareERC1155CollectionTransactor: MetaRareERC1155CollectionTransactor{contract: contract}, MetaRareERC1155CollectionFilterer: MetaRareERC1155CollectionFilterer{contract: contract}}, nil
  12568. }
  12569. // MetaRareERC1155Collection is an auto generated Go binding around an Ethereum contract.
  12570. type MetaRareERC1155Collection struct {
  12571. MetaRareERC1155CollectionCaller // Read-only binding to the contract
  12572. MetaRareERC1155CollectionTransactor // Write-only binding to the contract
  12573. MetaRareERC1155CollectionFilterer // Log filterer for contract events
  12574. }
  12575. // MetaRareERC1155CollectionCaller is an auto generated read-only Go binding around an Ethereum contract.
  12576. type MetaRareERC1155CollectionCaller struct {
  12577. contract *bind.BoundContract // Generic contract wrapper for the low level calls
  12578. }
  12579. // MetaRareERC1155CollectionTransactor is an auto generated write-only Go binding around an Ethereum contract.
  12580. type MetaRareERC1155CollectionTransactor struct {
  12581. contract *bind.BoundContract // Generic contract wrapper for the low level calls
  12582. }
  12583. // MetaRareERC1155CollectionFilterer is an auto generated log filtering Go binding around an Ethereum contract events.
  12584. type MetaRareERC1155CollectionFilterer struct {
  12585. contract *bind.BoundContract // Generic contract wrapper for the low level calls
  12586. }
  12587. // MetaRareERC1155CollectionSession is an auto generated Go binding around an Ethereum contract,
  12588. // with pre-set call and transact options.
  12589. type MetaRareERC1155CollectionSession struct {
  12590. Contract *MetaRareERC1155Collection // Generic contract binding to set the session for
  12591. CallOpts bind.CallOpts // Call options to use throughout this session
  12592. TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
  12593. }
  12594. // MetaRareERC1155CollectionCallerSession is an auto generated read-only Go binding around an Ethereum contract,
  12595. // with pre-set call options.
  12596. type MetaRareERC1155CollectionCallerSession struct {
  12597. Contract *MetaRareERC1155CollectionCaller // Generic contract caller binding to set the session for
  12598. CallOpts bind.CallOpts // Call options to use throughout this session
  12599. }
  12600. // MetaRareERC1155CollectionTransactorSession is an auto generated write-only Go binding around an Ethereum contract,
  12601. // with pre-set transact options.
  12602. type MetaRareERC1155CollectionTransactorSession struct {
  12603. Contract *MetaRareERC1155CollectionTransactor // Generic contract transactor binding to set the session for
  12604. TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
  12605. }
  12606. // MetaRareERC1155CollectionRaw is an auto generated low-level Go binding around an Ethereum contract.
  12607. type MetaRareERC1155CollectionRaw struct {
  12608. Contract *MetaRareERC1155Collection // Generic contract binding to access the raw methods on
  12609. }
  12610. // MetaRareERC1155CollectionCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
  12611. type MetaRareERC1155CollectionCallerRaw struct {
  12612. Contract *MetaRareERC1155CollectionCaller // Generic read-only contract binding to access the raw methods on
  12613. }
  12614. // MetaRareERC1155CollectionTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
  12615. type MetaRareERC1155CollectionTransactorRaw struct {
  12616. Contract *MetaRareERC1155CollectionTransactor // Generic write-only contract binding to access the raw methods on
  12617. }
  12618. // NewMetaRareERC1155Collection creates a new instance of MetaRareERC1155Collection, bound to a specific deployed contract.
  12619. func NewMetaRareERC1155Collection(address common.Address, backend bind.ContractBackend) (*MetaRareERC1155Collection, error) {
  12620. contract, err := bindMetaRareERC1155Collection(address, backend, backend, backend)
  12621. if err != nil {
  12622. return nil, err
  12623. }
  12624. return &MetaRareERC1155Collection{MetaRareERC1155CollectionCaller: MetaRareERC1155CollectionCaller{contract: contract}, MetaRareERC1155CollectionTransactor: MetaRareERC1155CollectionTransactor{contract: contract}, MetaRareERC1155CollectionFilterer: MetaRareERC1155CollectionFilterer{contract: contract}}, nil
  12625. }
  12626. // NewMetaRareERC1155CollectionCaller creates a new read-only instance of MetaRareERC1155Collection, bound to a specific deployed contract.
  12627. func NewMetaRareERC1155CollectionCaller(address common.Address, caller bind.ContractCaller) (*MetaRareERC1155CollectionCaller, error) {
  12628. contract, err := bindMetaRareERC1155Collection(address, caller, nil, nil)
  12629. if err != nil {
  12630. return nil, err
  12631. }
  12632. return &MetaRareERC1155CollectionCaller{contract: contract}, nil
  12633. }
  12634. // NewMetaRareERC1155CollectionTransactor creates a new write-only instance of MetaRareERC1155Collection, bound to a specific deployed contract.
  12635. func NewMetaRareERC1155CollectionTransactor(address common.Address, transactor bind.ContractTransactor) (*MetaRareERC1155CollectionTransactor, error) {
  12636. contract, err := bindMetaRareERC1155Collection(address, nil, transactor, nil)
  12637. if err != nil {
  12638. return nil, err
  12639. }
  12640. return &MetaRareERC1155CollectionTransactor{contract: contract}, nil
  12641. }
  12642. // NewMetaRareERC1155CollectionFilterer creates a new log filterer instance of MetaRareERC1155Collection, bound to a specific deployed contract.
  12643. func NewMetaRareERC1155CollectionFilterer(address common.Address, filterer bind.ContractFilterer) (*MetaRareERC1155CollectionFilterer, error) {
  12644. contract, err := bindMetaRareERC1155Collection(address, nil, nil, filterer)
  12645. if err != nil {
  12646. return nil, err
  12647. }
  12648. return &MetaRareERC1155CollectionFilterer{contract: contract}, nil
  12649. }
  12650. // bindMetaRareERC1155Collection binds a generic wrapper to an already deployed contract.
  12651. func bindMetaRareERC1155Collection(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
  12652. parsed, err := abi.JSON(strings.NewReader(MetaRareERC1155CollectionABI))
  12653. if err != nil {
  12654. return nil, err
  12655. }
  12656. return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil
  12657. }
  12658. // Call invokes the (constant) contract method with params as input values and
  12659. // sets the output to result. The result type might be a single field for simple
  12660. // returns, a slice of interfaces for anonymous returns and a struct for named
  12661. // returns.
  12662. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
  12663. return _MetaRareERC1155Collection.Contract.MetaRareERC1155CollectionCaller.contract.Call(opts, result, method, params...)
  12664. }
  12665. // Transfer initiates a plain transaction to move funds to the contract, calling
  12666. // its default method if one is available.
  12667. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
  12668. return _MetaRareERC1155Collection.Contract.MetaRareERC1155CollectionTransactor.contract.Transfer(opts)
  12669. }
  12670. // Transact invokes the (paid) contract method with params as input values.
  12671. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
  12672. return _MetaRareERC1155Collection.Contract.MetaRareERC1155CollectionTransactor.contract.Transact(opts, method, params...)
  12673. }
  12674. // Call invokes the (constant) contract method with params as input values and
  12675. // sets the output to result. The result type might be a single field for simple
  12676. // returns, a slice of interfaces for anonymous returns and a struct for named
  12677. // returns.
  12678. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
  12679. return _MetaRareERC1155Collection.Contract.contract.Call(opts, result, method, params...)
  12680. }
  12681. // Transfer initiates a plain transaction to move funds to the contract, calling
  12682. // its default method if one is available.
  12683. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
  12684. return _MetaRareERC1155Collection.Contract.contract.Transfer(opts)
  12685. }
  12686. // Transact invokes the (paid) contract method with params as input values.
  12687. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
  12688. return _MetaRareERC1155Collection.Contract.contract.Transact(opts, method, params...)
  12689. }
  12690. // MetaRareOperator is a free data retrieval call binding the contract method 0x6585690d.
  12691. //
  12692. // Solidity: function MetaRareOperator() view returns(address)
  12693. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionCaller) MetaRareOperator(opts *bind.CallOpts) (common.Address, error) {
  12694. var out []interface{}
  12695. err := _MetaRareERC1155Collection.contract.Call(opts, &out, "MetaRareOperator")
  12696. if err != nil {
  12697. return *new(common.Address), err
  12698. }
  12699. out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
  12700. return out0, err
  12701. }
  12702. // MetaRareOperator is a free data retrieval call binding the contract method 0x6585690d.
  12703. //
  12704. // Solidity: function MetaRareOperator() view returns(address)
  12705. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionSession) MetaRareOperator() (common.Address, error) {
  12706. return _MetaRareERC1155Collection.Contract.MetaRareOperator(&_MetaRareERC1155Collection.CallOpts)
  12707. }
  12708. // MetaRareOperator is a free data retrieval call binding the contract method 0x6585690d.
  12709. //
  12710. // Solidity: function MetaRareOperator() view returns(address)
  12711. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionCallerSession) MetaRareOperator() (common.Address, error) {
  12712. return _MetaRareERC1155Collection.Contract.MetaRareOperator(&_MetaRareERC1155Collection.CallOpts)
  12713. }
  12714. // BalanceOf is a free data retrieval call binding the contract method 0x00fdd58e.
  12715. //
  12716. // Solidity: function balanceOf(address account, uint256 id) view returns(uint256)
  12717. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionCaller) BalanceOf(opts *bind.CallOpts, account common.Address, id *big.Int) (*big.Int, error) {
  12718. var out []interface{}
  12719. err := _MetaRareERC1155Collection.contract.Call(opts, &out, "balanceOf", account, id)
  12720. if err != nil {
  12721. return *new(*big.Int), err
  12722. }
  12723. out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
  12724. return out0, err
  12725. }
  12726. // BalanceOf is a free data retrieval call binding the contract method 0x00fdd58e.
  12727. //
  12728. // Solidity: function balanceOf(address account, uint256 id) view returns(uint256)
  12729. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionSession) BalanceOf(account common.Address, id *big.Int) (*big.Int, error) {
  12730. return _MetaRareERC1155Collection.Contract.BalanceOf(&_MetaRareERC1155Collection.CallOpts, account, id)
  12731. }
  12732. // BalanceOf is a free data retrieval call binding the contract method 0x00fdd58e.
  12733. //
  12734. // Solidity: function balanceOf(address account, uint256 id) view returns(uint256)
  12735. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionCallerSession) BalanceOf(account common.Address, id *big.Int) (*big.Int, error) {
  12736. return _MetaRareERC1155Collection.Contract.BalanceOf(&_MetaRareERC1155Collection.CallOpts, account, id)
  12737. }
  12738. // BalanceOfBatch is a free data retrieval call binding the contract method 0x4e1273f4.
  12739. //
  12740. // Solidity: function balanceOfBatch(address[] accounts, uint256[] ids) view returns(uint256[])
  12741. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionCaller) BalanceOfBatch(opts *bind.CallOpts, accounts []common.Address, ids []*big.Int) ([]*big.Int, error) {
  12742. var out []interface{}
  12743. err := _MetaRareERC1155Collection.contract.Call(opts, &out, "balanceOfBatch", accounts, ids)
  12744. if err != nil {
  12745. return *new([]*big.Int), err
  12746. }
  12747. out0 := *abi.ConvertType(out[0], new([]*big.Int)).(*[]*big.Int)
  12748. return out0, err
  12749. }
  12750. // BalanceOfBatch is a free data retrieval call binding the contract method 0x4e1273f4.
  12751. //
  12752. // Solidity: function balanceOfBatch(address[] accounts, uint256[] ids) view returns(uint256[])
  12753. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionSession) BalanceOfBatch(accounts []common.Address, ids []*big.Int) ([]*big.Int, error) {
  12754. return _MetaRareERC1155Collection.Contract.BalanceOfBatch(&_MetaRareERC1155Collection.CallOpts, accounts, ids)
  12755. }
  12756. // BalanceOfBatch is a free data retrieval call binding the contract method 0x4e1273f4.
  12757. //
  12758. // Solidity: function balanceOfBatch(address[] accounts, uint256[] ids) view returns(uint256[])
  12759. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionCallerSession) BalanceOfBatch(accounts []common.Address, ids []*big.Int) ([]*big.Int, error) {
  12760. return _MetaRareERC1155Collection.Contract.BalanceOfBatch(&_MetaRareERC1155Collection.CallOpts, accounts, ids)
  12761. }
  12762. // CollectionFactory is a free data retrieval call binding the contract method 0xcf25a2fd.
  12763. //
  12764. // Solidity: function collectionFactory() view returns(address)
  12765. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionCaller) CollectionFactory(opts *bind.CallOpts) (common.Address, error) {
  12766. var out []interface{}
  12767. err := _MetaRareERC1155Collection.contract.Call(opts, &out, "collectionFactory")
  12768. if err != nil {
  12769. return *new(common.Address), err
  12770. }
  12771. out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
  12772. return out0, err
  12773. }
  12774. // CollectionFactory is a free data retrieval call binding the contract method 0xcf25a2fd.
  12775. //
  12776. // Solidity: function collectionFactory() view returns(address)
  12777. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionSession) CollectionFactory() (common.Address, error) {
  12778. return _MetaRareERC1155Collection.Contract.CollectionFactory(&_MetaRareERC1155Collection.CallOpts)
  12779. }
  12780. // CollectionFactory is a free data retrieval call binding the contract method 0xcf25a2fd.
  12781. //
  12782. // Solidity: function collectionFactory() view returns(address)
  12783. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionCallerSession) CollectionFactory() (common.Address, error) {
  12784. return _MetaRareERC1155Collection.Contract.CollectionFactory(&_MetaRareERC1155Collection.CallOpts)
  12785. }
  12786. // Creators is a free data retrieval call binding the contract method 0xcd53d08e.
  12787. //
  12788. // Solidity: function creators(uint256 ) view returns(address)
  12789. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionCaller) Creators(opts *bind.CallOpts, arg0 *big.Int) (common.Address, error) {
  12790. var out []interface{}
  12791. err := _MetaRareERC1155Collection.contract.Call(opts, &out, "creators", arg0)
  12792. if err != nil {
  12793. return *new(common.Address), err
  12794. }
  12795. out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
  12796. return out0, err
  12797. }
  12798. // Creators is a free data retrieval call binding the contract method 0xcd53d08e.
  12799. //
  12800. // Solidity: function creators(uint256 ) view returns(address)
  12801. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionSession) Creators(arg0 *big.Int) (common.Address, error) {
  12802. return _MetaRareERC1155Collection.Contract.Creators(&_MetaRareERC1155Collection.CallOpts, arg0)
  12803. }
  12804. // Creators is a free data retrieval call binding the contract method 0xcd53d08e.
  12805. //
  12806. // Solidity: function creators(uint256 ) view returns(address)
  12807. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionCallerSession) Creators(arg0 *big.Int) (common.Address, error) {
  12808. return _MetaRareERC1155Collection.Contract.Creators(&_MetaRareERC1155Collection.CallOpts, arg0)
  12809. }
  12810. // CustomUri is a free data retrieval call binding the contract method 0x8a28a5a2.
  12811. //
  12812. // Solidity: function customUri(uint256 ) view returns(string)
  12813. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionCaller) CustomUri(opts *bind.CallOpts, arg0 *big.Int) (string, error) {
  12814. var out []interface{}
  12815. err := _MetaRareERC1155Collection.contract.Call(opts, &out, "customUri", arg0)
  12816. if err != nil {
  12817. return *new(string), err
  12818. }
  12819. out0 := *abi.ConvertType(out[0], new(string)).(*string)
  12820. return out0, err
  12821. }
  12822. // CustomUri is a free data retrieval call binding the contract method 0x8a28a5a2.
  12823. //
  12824. // Solidity: function customUri(uint256 ) view returns(string)
  12825. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionSession) CustomUri(arg0 *big.Int) (string, error) {
  12826. return _MetaRareERC1155Collection.Contract.CustomUri(&_MetaRareERC1155Collection.CallOpts, arg0)
  12827. }
  12828. // CustomUri is a free data retrieval call binding the contract method 0x8a28a5a2.
  12829. //
  12830. // Solidity: function customUri(uint256 ) view returns(string)
  12831. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionCallerSession) CustomUri(arg0 *big.Int) (string, error) {
  12832. return _MetaRareERC1155Collection.Contract.CustomUri(&_MetaRareERC1155Collection.CallOpts, arg0)
  12833. }
  12834. // Exists is a free data retrieval call binding the contract method 0x4f558e79.
  12835. //
  12836. // Solidity: function exists(uint256 _id) view returns(bool)
  12837. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionCaller) Exists(opts *bind.CallOpts, _id *big.Int) (bool, error) {
  12838. var out []interface{}
  12839. err := _MetaRareERC1155Collection.contract.Call(opts, &out, "exists", _id)
  12840. if err != nil {
  12841. return *new(bool), err
  12842. }
  12843. out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
  12844. return out0, err
  12845. }
  12846. // Exists is a free data retrieval call binding the contract method 0x4f558e79.
  12847. //
  12848. // Solidity: function exists(uint256 _id) view returns(bool)
  12849. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionSession) Exists(_id *big.Int) (bool, error) {
  12850. return _MetaRareERC1155Collection.Contract.Exists(&_MetaRareERC1155Collection.CallOpts, _id)
  12851. }
  12852. // Exists is a free data retrieval call binding the contract method 0x4f558e79.
  12853. //
  12854. // Solidity: function exists(uint256 _id) view returns(bool)
  12855. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionCallerSession) Exists(_id *big.Int) (bool, error) {
  12856. return _MetaRareERC1155Collection.Contract.Exists(&_MetaRareERC1155Collection.CallOpts, _id)
  12857. }
  12858. // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5.
  12859. //
  12860. // Solidity: function isApprovedForAll(address _owner, address _operator) view returns(bool isOperator)
  12861. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionCaller) IsApprovedForAll(opts *bind.CallOpts, _owner common.Address, _operator common.Address) (bool, error) {
  12862. var out []interface{}
  12863. err := _MetaRareERC1155Collection.contract.Call(opts, &out, "isApprovedForAll", _owner, _operator)
  12864. if err != nil {
  12865. return *new(bool), err
  12866. }
  12867. out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
  12868. return out0, err
  12869. }
  12870. // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5.
  12871. //
  12872. // Solidity: function isApprovedForAll(address _owner, address _operator) view returns(bool isOperator)
  12873. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionSession) IsApprovedForAll(_owner common.Address, _operator common.Address) (bool, error) {
  12874. return _MetaRareERC1155Collection.Contract.IsApprovedForAll(&_MetaRareERC1155Collection.CallOpts, _owner, _operator)
  12875. }
  12876. // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5.
  12877. //
  12878. // Solidity: function isApprovedForAll(address _owner, address _operator) view returns(bool isOperator)
  12879. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionCallerSession) IsApprovedForAll(_owner common.Address, _operator common.Address) (bool, error) {
  12880. return _MetaRareERC1155Collection.Contract.IsApprovedForAll(&_MetaRareERC1155Collection.CallOpts, _owner, _operator)
  12881. }
  12882. // Name is a free data retrieval call binding the contract method 0x06fdde03.
  12883. //
  12884. // Solidity: function name() view returns(string)
  12885. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionCaller) Name(opts *bind.CallOpts) (string, error) {
  12886. var out []interface{}
  12887. err := _MetaRareERC1155Collection.contract.Call(opts, &out, "name")
  12888. if err != nil {
  12889. return *new(string), err
  12890. }
  12891. out0 := *abi.ConvertType(out[0], new(string)).(*string)
  12892. return out0, err
  12893. }
  12894. // Name is a free data retrieval call binding the contract method 0x06fdde03.
  12895. //
  12896. // Solidity: function name() view returns(string)
  12897. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionSession) Name() (string, error) {
  12898. return _MetaRareERC1155Collection.Contract.Name(&_MetaRareERC1155Collection.CallOpts)
  12899. }
  12900. // Name is a free data retrieval call binding the contract method 0x06fdde03.
  12901. //
  12902. // Solidity: function name() view returns(string)
  12903. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionCallerSession) Name() (string, error) {
  12904. return _MetaRareERC1155Collection.Contract.Name(&_MetaRareERC1155Collection.CallOpts)
  12905. }
  12906. // Owner is a free data retrieval call binding the contract method 0x8da5cb5b.
  12907. //
  12908. // Solidity: function owner() view returns(address)
  12909. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionCaller) Owner(opts *bind.CallOpts) (common.Address, error) {
  12910. var out []interface{}
  12911. err := _MetaRareERC1155Collection.contract.Call(opts, &out, "owner")
  12912. if err != nil {
  12913. return *new(common.Address), err
  12914. }
  12915. out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
  12916. return out0, err
  12917. }
  12918. // Owner is a free data retrieval call binding the contract method 0x8da5cb5b.
  12919. //
  12920. // Solidity: function owner() view returns(address)
  12921. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionSession) Owner() (common.Address, error) {
  12922. return _MetaRareERC1155Collection.Contract.Owner(&_MetaRareERC1155Collection.CallOpts)
  12923. }
  12924. // Owner is a free data retrieval call binding the contract method 0x8da5cb5b.
  12925. //
  12926. // Solidity: function owner() view returns(address)
  12927. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionCallerSession) Owner() (common.Address, error) {
  12928. return _MetaRareERC1155Collection.Contract.Owner(&_MetaRareERC1155Collection.CallOpts)
  12929. }
  12930. // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
  12931. //
  12932. // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
  12933. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionCaller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) {
  12934. var out []interface{}
  12935. err := _MetaRareERC1155Collection.contract.Call(opts, &out, "supportsInterface", interfaceId)
  12936. if err != nil {
  12937. return *new(bool), err
  12938. }
  12939. out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
  12940. return out0, err
  12941. }
  12942. // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
  12943. //
  12944. // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
  12945. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionSession) SupportsInterface(interfaceId [4]byte) (bool, error) {
  12946. return _MetaRareERC1155Collection.Contract.SupportsInterface(&_MetaRareERC1155Collection.CallOpts, interfaceId)
  12947. }
  12948. // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
  12949. //
  12950. // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
  12951. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionCallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) {
  12952. return _MetaRareERC1155Collection.Contract.SupportsInterface(&_MetaRareERC1155Collection.CallOpts, interfaceId)
  12953. }
  12954. // Symbol is a free data retrieval call binding the contract method 0x95d89b41.
  12955. //
  12956. // Solidity: function symbol() view returns(string)
  12957. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionCaller) Symbol(opts *bind.CallOpts) (string, error) {
  12958. var out []interface{}
  12959. err := _MetaRareERC1155Collection.contract.Call(opts, &out, "symbol")
  12960. if err != nil {
  12961. return *new(string), err
  12962. }
  12963. out0 := *abi.ConvertType(out[0], new(string)).(*string)
  12964. return out0, err
  12965. }
  12966. // Symbol is a free data retrieval call binding the contract method 0x95d89b41.
  12967. //
  12968. // Solidity: function symbol() view returns(string)
  12969. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionSession) Symbol() (string, error) {
  12970. return _MetaRareERC1155Collection.Contract.Symbol(&_MetaRareERC1155Collection.CallOpts)
  12971. }
  12972. // Symbol is a free data retrieval call binding the contract method 0x95d89b41.
  12973. //
  12974. // Solidity: function symbol() view returns(string)
  12975. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionCallerSession) Symbol() (string, error) {
  12976. return _MetaRareERC1155Collection.Contract.Symbol(&_MetaRareERC1155Collection.CallOpts)
  12977. }
  12978. // TokenSupply is a free data retrieval call binding the contract method 0x2693ebf2.
  12979. //
  12980. // Solidity: function tokenSupply(uint256 ) view returns(uint256)
  12981. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionCaller) TokenSupply(opts *bind.CallOpts, arg0 *big.Int) (*big.Int, error) {
  12982. var out []interface{}
  12983. err := _MetaRareERC1155Collection.contract.Call(opts, &out, "tokenSupply", arg0)
  12984. if err != nil {
  12985. return *new(*big.Int), err
  12986. }
  12987. out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
  12988. return out0, err
  12989. }
  12990. // TokenSupply is a free data retrieval call binding the contract method 0x2693ebf2.
  12991. //
  12992. // Solidity: function tokenSupply(uint256 ) view returns(uint256)
  12993. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionSession) TokenSupply(arg0 *big.Int) (*big.Int, error) {
  12994. return _MetaRareERC1155Collection.Contract.TokenSupply(&_MetaRareERC1155Collection.CallOpts, arg0)
  12995. }
  12996. // TokenSupply is a free data retrieval call binding the contract method 0x2693ebf2.
  12997. //
  12998. // Solidity: function tokenSupply(uint256 ) view returns(uint256)
  12999. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionCallerSession) TokenSupply(arg0 *big.Int) (*big.Int, error) {
  13000. return _MetaRareERC1155Collection.Contract.TokenSupply(&_MetaRareERC1155Collection.CallOpts, arg0)
  13001. }
  13002. // TotalSupply is a free data retrieval call binding the contract method 0xbd85b039.
  13003. //
  13004. // Solidity: function totalSupply(uint256 _id) view returns(uint256)
  13005. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionCaller) TotalSupply(opts *bind.CallOpts, _id *big.Int) (*big.Int, error) {
  13006. var out []interface{}
  13007. err := _MetaRareERC1155Collection.contract.Call(opts, &out, "totalSupply", _id)
  13008. if err != nil {
  13009. return *new(*big.Int), err
  13010. }
  13011. out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
  13012. return out0, err
  13013. }
  13014. // TotalSupply is a free data retrieval call binding the contract method 0xbd85b039.
  13015. //
  13016. // Solidity: function totalSupply(uint256 _id) view returns(uint256)
  13017. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionSession) TotalSupply(_id *big.Int) (*big.Int, error) {
  13018. return _MetaRareERC1155Collection.Contract.TotalSupply(&_MetaRareERC1155Collection.CallOpts, _id)
  13019. }
  13020. // TotalSupply is a free data retrieval call binding the contract method 0xbd85b039.
  13021. //
  13022. // Solidity: function totalSupply(uint256 _id) view returns(uint256)
  13023. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionCallerSession) TotalSupply(_id *big.Int) (*big.Int, error) {
  13024. return _MetaRareERC1155Collection.Contract.TotalSupply(&_MetaRareERC1155Collection.CallOpts, _id)
  13025. }
  13026. // Uri is a free data retrieval call binding the contract method 0x0e89341c.
  13027. //
  13028. // Solidity: function uri(uint256 _id) view returns(string)
  13029. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionCaller) Uri(opts *bind.CallOpts, _id *big.Int) (string, error) {
  13030. var out []interface{}
  13031. err := _MetaRareERC1155Collection.contract.Call(opts, &out, "uri", _id)
  13032. if err != nil {
  13033. return *new(string), err
  13034. }
  13035. out0 := *abi.ConvertType(out[0], new(string)).(*string)
  13036. return out0, err
  13037. }
  13038. // Uri is a free data retrieval call binding the contract method 0x0e89341c.
  13039. //
  13040. // Solidity: function uri(uint256 _id) view returns(string)
  13041. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionSession) Uri(_id *big.Int) (string, error) {
  13042. return _MetaRareERC1155Collection.Contract.Uri(&_MetaRareERC1155Collection.CallOpts, _id)
  13043. }
  13044. // Uri is a free data retrieval call binding the contract method 0x0e89341c.
  13045. //
  13046. // Solidity: function uri(uint256 _id) view returns(string)
  13047. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionCallerSession) Uri(_id *big.Int) (string, error) {
  13048. return _MetaRareERC1155Collection.Contract.Uri(&_MetaRareERC1155Collection.CallOpts, _id)
  13049. }
  13050. // BatchMint is a paid mutator transaction binding the contract method 0xb48ab8b6.
  13051. //
  13052. // Solidity: function batchMint(address _to, uint256[] _ids, uint256[] _quantities, bytes _data) returns()
  13053. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionTransactor) BatchMint(opts *bind.TransactOpts, _to common.Address, _ids []*big.Int, _quantities []*big.Int, _data []byte) (*types.Transaction, error) {
  13054. return _MetaRareERC1155Collection.contract.Transact(opts, "batchMint", _to, _ids, _quantities, _data)
  13055. }
  13056. // BatchMint is a paid mutator transaction binding the contract method 0xb48ab8b6.
  13057. //
  13058. // Solidity: function batchMint(address _to, uint256[] _ids, uint256[] _quantities, bytes _data) returns()
  13059. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionSession) BatchMint(_to common.Address, _ids []*big.Int, _quantities []*big.Int, _data []byte) (*types.Transaction, error) {
  13060. return _MetaRareERC1155Collection.Contract.BatchMint(&_MetaRareERC1155Collection.TransactOpts, _to, _ids, _quantities, _data)
  13061. }
  13062. // BatchMint is a paid mutator transaction binding the contract method 0xb48ab8b6.
  13063. //
  13064. // Solidity: function batchMint(address _to, uint256[] _ids, uint256[] _quantities, bytes _data) returns()
  13065. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionTransactorSession) BatchMint(_to common.Address, _ids []*big.Int, _quantities []*big.Int, _data []byte) (*types.Transaction, error) {
  13066. return _MetaRareERC1155Collection.Contract.BatchMint(&_MetaRareERC1155Collection.TransactOpts, _to, _ids, _quantities, _data)
  13067. }
  13068. // Create is a paid mutator transaction binding the contract method 0x36a100d5.
  13069. //
  13070. // Solidity: function create(address _initialOwner, uint256 _id, uint256 _initialSupply, string _uri, bytes _data) returns(uint256)
  13071. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionTransactor) Create(opts *bind.TransactOpts, _initialOwner common.Address, _id *big.Int, _initialSupply *big.Int, _uri string, _data []byte) (*types.Transaction, error) {
  13072. return _MetaRareERC1155Collection.contract.Transact(opts, "create", _initialOwner, _id, _initialSupply, _uri, _data)
  13073. }
  13074. // Create is a paid mutator transaction binding the contract method 0x36a100d5.
  13075. //
  13076. // Solidity: function create(address _initialOwner, uint256 _id, uint256 _initialSupply, string _uri, bytes _data) returns(uint256)
  13077. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionSession) Create(_initialOwner common.Address, _id *big.Int, _initialSupply *big.Int, _uri string, _data []byte) (*types.Transaction, error) {
  13078. return _MetaRareERC1155Collection.Contract.Create(&_MetaRareERC1155Collection.TransactOpts, _initialOwner, _id, _initialSupply, _uri, _data)
  13079. }
  13080. // Create is a paid mutator transaction binding the contract method 0x36a100d5.
  13081. //
  13082. // Solidity: function create(address _initialOwner, uint256 _id, uint256 _initialSupply, string _uri, bytes _data) returns(uint256)
  13083. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionTransactorSession) Create(_initialOwner common.Address, _id *big.Int, _initialSupply *big.Int, _uri string, _data []byte) (*types.Transaction, error) {
  13084. return _MetaRareERC1155Collection.Contract.Create(&_MetaRareERC1155Collection.TransactOpts, _initialOwner, _id, _initialSupply, _uri, _data)
  13085. }
  13086. // CreateByOperator is a paid mutator transaction binding the contract method 0x61321c14.
  13087. //
  13088. // Solidity: function createByOperator(address _initialOwner, uint256 _id, uint256 _initialSupply, string _uri, bytes _data) returns(uint256)
  13089. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionTransactor) CreateByOperator(opts *bind.TransactOpts, _initialOwner common.Address, _id *big.Int, _initialSupply *big.Int, _uri string, _data []byte) (*types.Transaction, error) {
  13090. return _MetaRareERC1155Collection.contract.Transact(opts, "createByOperator", _initialOwner, _id, _initialSupply, _uri, _data)
  13091. }
  13092. // CreateByOperator is a paid mutator transaction binding the contract method 0x61321c14.
  13093. //
  13094. // Solidity: function createByOperator(address _initialOwner, uint256 _id, uint256 _initialSupply, string _uri, bytes _data) returns(uint256)
  13095. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionSession) CreateByOperator(_initialOwner common.Address, _id *big.Int, _initialSupply *big.Int, _uri string, _data []byte) (*types.Transaction, error) {
  13096. return _MetaRareERC1155Collection.Contract.CreateByOperator(&_MetaRareERC1155Collection.TransactOpts, _initialOwner, _id, _initialSupply, _uri, _data)
  13097. }
  13098. // CreateByOperator is a paid mutator transaction binding the contract method 0x61321c14.
  13099. //
  13100. // Solidity: function createByOperator(address _initialOwner, uint256 _id, uint256 _initialSupply, string _uri, bytes _data) returns(uint256)
  13101. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionTransactorSession) CreateByOperator(_initialOwner common.Address, _id *big.Int, _initialSupply *big.Int, _uri string, _data []byte) (*types.Transaction, error) {
  13102. return _MetaRareERC1155Collection.Contract.CreateByOperator(&_MetaRareERC1155Collection.TransactOpts, _initialOwner, _id, _initialSupply, _uri, _data)
  13103. }
  13104. // Initialize is a paid mutator transaction binding the contract method 0xd6d0faee.
  13105. //
  13106. // Solidity: function initialize(string _name, string _symbol, string _uri, address collectionOwner, address operatorContract) returns()
  13107. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionTransactor) Initialize(opts *bind.TransactOpts, _name string, _symbol string, _uri string, collectionOwner common.Address, operatorContract common.Address) (*types.Transaction, error) {
  13108. return _MetaRareERC1155Collection.contract.Transact(opts, "initialize", _name, _symbol, _uri, collectionOwner, operatorContract)
  13109. }
  13110. // Initialize is a paid mutator transaction binding the contract method 0xd6d0faee.
  13111. //
  13112. // Solidity: function initialize(string _name, string _symbol, string _uri, address collectionOwner, address operatorContract) returns()
  13113. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionSession) Initialize(_name string, _symbol string, _uri string, collectionOwner common.Address, operatorContract common.Address) (*types.Transaction, error) {
  13114. return _MetaRareERC1155Collection.Contract.Initialize(&_MetaRareERC1155Collection.TransactOpts, _name, _symbol, _uri, collectionOwner, operatorContract)
  13115. }
  13116. // Initialize is a paid mutator transaction binding the contract method 0xd6d0faee.
  13117. //
  13118. // Solidity: function initialize(string _name, string _symbol, string _uri, address collectionOwner, address operatorContract) returns()
  13119. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionTransactorSession) Initialize(_name string, _symbol string, _uri string, collectionOwner common.Address, operatorContract common.Address) (*types.Transaction, error) {
  13120. return _MetaRareERC1155Collection.Contract.Initialize(&_MetaRareERC1155Collection.TransactOpts, _name, _symbol, _uri, collectionOwner, operatorContract)
  13121. }
  13122. // Mint is a paid mutator transaction binding the contract method 0x731133e9.
  13123. //
  13124. // Solidity: function mint(address _to, uint256 _id, uint256 _quantity, bytes _data) returns()
  13125. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionTransactor) Mint(opts *bind.TransactOpts, _to common.Address, _id *big.Int, _quantity *big.Int, _data []byte) (*types.Transaction, error) {
  13126. return _MetaRareERC1155Collection.contract.Transact(opts, "mint", _to, _id, _quantity, _data)
  13127. }
  13128. // Mint is a paid mutator transaction binding the contract method 0x731133e9.
  13129. //
  13130. // Solidity: function mint(address _to, uint256 _id, uint256 _quantity, bytes _data) returns()
  13131. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionSession) Mint(_to common.Address, _id *big.Int, _quantity *big.Int, _data []byte) (*types.Transaction, error) {
  13132. return _MetaRareERC1155Collection.Contract.Mint(&_MetaRareERC1155Collection.TransactOpts, _to, _id, _quantity, _data)
  13133. }
  13134. // Mint is a paid mutator transaction binding the contract method 0x731133e9.
  13135. //
  13136. // Solidity: function mint(address _to, uint256 _id, uint256 _quantity, bytes _data) returns()
  13137. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionTransactorSession) Mint(_to common.Address, _id *big.Int, _quantity *big.Int, _data []byte) (*types.Transaction, error) {
  13138. return _MetaRareERC1155Collection.Contract.Mint(&_MetaRareERC1155Collection.TransactOpts, _to, _id, _quantity, _data)
  13139. }
  13140. // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6.
  13141. //
  13142. // Solidity: function renounceOwnership() returns()
  13143. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionTransactor) RenounceOwnership(opts *bind.TransactOpts) (*types.Transaction, error) {
  13144. return _MetaRareERC1155Collection.contract.Transact(opts, "renounceOwnership")
  13145. }
  13146. // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6.
  13147. //
  13148. // Solidity: function renounceOwnership() returns()
  13149. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionSession) RenounceOwnership() (*types.Transaction, error) {
  13150. return _MetaRareERC1155Collection.Contract.RenounceOwnership(&_MetaRareERC1155Collection.TransactOpts)
  13151. }
  13152. // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6.
  13153. //
  13154. // Solidity: function renounceOwnership() returns()
  13155. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionTransactorSession) RenounceOwnership() (*types.Transaction, error) {
  13156. return _MetaRareERC1155Collection.Contract.RenounceOwnership(&_MetaRareERC1155Collection.TransactOpts)
  13157. }
  13158. // SafeBatchTransferFrom is a paid mutator transaction binding the contract method 0x2eb2c2d6.
  13159. //
  13160. // Solidity: function safeBatchTransferFrom(address from, address to, uint256[] ids, uint256[] amounts, bytes data) returns()
  13161. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionTransactor) SafeBatchTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, ids []*big.Int, amounts []*big.Int, data []byte) (*types.Transaction, error) {
  13162. return _MetaRareERC1155Collection.contract.Transact(opts, "safeBatchTransferFrom", from, to, ids, amounts, data)
  13163. }
  13164. // SafeBatchTransferFrom is a paid mutator transaction binding the contract method 0x2eb2c2d6.
  13165. //
  13166. // Solidity: function safeBatchTransferFrom(address from, address to, uint256[] ids, uint256[] amounts, bytes data) returns()
  13167. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionSession) SafeBatchTransferFrom(from common.Address, to common.Address, ids []*big.Int, amounts []*big.Int, data []byte) (*types.Transaction, error) {
  13168. return _MetaRareERC1155Collection.Contract.SafeBatchTransferFrom(&_MetaRareERC1155Collection.TransactOpts, from, to, ids, amounts, data)
  13169. }
  13170. // SafeBatchTransferFrom is a paid mutator transaction binding the contract method 0x2eb2c2d6.
  13171. //
  13172. // Solidity: function safeBatchTransferFrom(address from, address to, uint256[] ids, uint256[] amounts, bytes data) returns()
  13173. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionTransactorSession) SafeBatchTransferFrom(from common.Address, to common.Address, ids []*big.Int, amounts []*big.Int, data []byte) (*types.Transaction, error) {
  13174. return _MetaRareERC1155Collection.Contract.SafeBatchTransferFrom(&_MetaRareERC1155Collection.TransactOpts, from, to, ids, amounts, data)
  13175. }
  13176. // SafeTransferFrom is a paid mutator transaction binding the contract method 0xf242432a.
  13177. //
  13178. // Solidity: function safeTransferFrom(address from, address to, uint256 id, uint256 amount, bytes data) returns()
  13179. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionTransactor) SafeTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, id *big.Int, amount *big.Int, data []byte) (*types.Transaction, error) {
  13180. return _MetaRareERC1155Collection.contract.Transact(opts, "safeTransferFrom", from, to, id, amount, data)
  13181. }
  13182. // SafeTransferFrom is a paid mutator transaction binding the contract method 0xf242432a.
  13183. //
  13184. // Solidity: function safeTransferFrom(address from, address to, uint256 id, uint256 amount, bytes data) returns()
  13185. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionSession) SafeTransferFrom(from common.Address, to common.Address, id *big.Int, amount *big.Int, data []byte) (*types.Transaction, error) {
  13186. return _MetaRareERC1155Collection.Contract.SafeTransferFrom(&_MetaRareERC1155Collection.TransactOpts, from, to, id, amount, data)
  13187. }
  13188. // SafeTransferFrom is a paid mutator transaction binding the contract method 0xf242432a.
  13189. //
  13190. // Solidity: function safeTransferFrom(address from, address to, uint256 id, uint256 amount, bytes data) returns()
  13191. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionTransactorSession) SafeTransferFrom(from common.Address, to common.Address, id *big.Int, amount *big.Int, data []byte) (*types.Transaction, error) {
  13192. return _MetaRareERC1155Collection.Contract.SafeTransferFrom(&_MetaRareERC1155Collection.TransactOpts, from, to, id, amount, data)
  13193. }
  13194. // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465.
  13195. //
  13196. // Solidity: function setApprovalForAll(address operator, bool approved) returns()
  13197. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionTransactor) SetApprovalForAll(opts *bind.TransactOpts, operator common.Address, approved bool) (*types.Transaction, error) {
  13198. return _MetaRareERC1155Collection.contract.Transact(opts, "setApprovalForAll", operator, approved)
  13199. }
  13200. // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465.
  13201. //
  13202. // Solidity: function setApprovalForAll(address operator, bool approved) returns()
  13203. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionSession) SetApprovalForAll(operator common.Address, approved bool) (*types.Transaction, error) {
  13204. return _MetaRareERC1155Collection.Contract.SetApprovalForAll(&_MetaRareERC1155Collection.TransactOpts, operator, approved)
  13205. }
  13206. // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465.
  13207. //
  13208. // Solidity: function setApprovalForAll(address operator, bool approved) returns()
  13209. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionTransactorSession) SetApprovalForAll(operator common.Address, approved bool) (*types.Transaction, error) {
  13210. return _MetaRareERC1155Collection.Contract.SetApprovalForAll(&_MetaRareERC1155Collection.TransactOpts, operator, approved)
  13211. }
  13212. // SetCreator is a paid mutator transaction binding the contract method 0xd2a6b51a.
  13213. //
  13214. // Solidity: function setCreator(address _to, uint256[] _ids) returns()
  13215. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionTransactor) SetCreator(opts *bind.TransactOpts, _to common.Address, _ids []*big.Int) (*types.Transaction, error) {
  13216. return _MetaRareERC1155Collection.contract.Transact(opts, "setCreator", _to, _ids)
  13217. }
  13218. // SetCreator is a paid mutator transaction binding the contract method 0xd2a6b51a.
  13219. //
  13220. // Solidity: function setCreator(address _to, uint256[] _ids) returns()
  13221. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionSession) SetCreator(_to common.Address, _ids []*big.Int) (*types.Transaction, error) {
  13222. return _MetaRareERC1155Collection.Contract.SetCreator(&_MetaRareERC1155Collection.TransactOpts, _to, _ids)
  13223. }
  13224. // SetCreator is a paid mutator transaction binding the contract method 0xd2a6b51a.
  13225. //
  13226. // Solidity: function setCreator(address _to, uint256[] _ids) returns()
  13227. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionTransactorSession) SetCreator(_to common.Address, _ids []*big.Int) (*types.Transaction, error) {
  13228. return _MetaRareERC1155Collection.Contract.SetCreator(&_MetaRareERC1155Collection.TransactOpts, _to, _ids)
  13229. }
  13230. // SetCustomURI is a paid mutator transaction binding the contract method 0x3adf80b4.
  13231. //
  13232. // Solidity: function setCustomURI(uint256 _tokenId, string _newURI) returns()
  13233. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionTransactor) SetCustomURI(opts *bind.TransactOpts, _tokenId *big.Int, _newURI string) (*types.Transaction, error) {
  13234. return _MetaRareERC1155Collection.contract.Transact(opts, "setCustomURI", _tokenId, _newURI)
  13235. }
  13236. // SetCustomURI is a paid mutator transaction binding the contract method 0x3adf80b4.
  13237. //
  13238. // Solidity: function setCustomURI(uint256 _tokenId, string _newURI) returns()
  13239. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionSession) SetCustomURI(_tokenId *big.Int, _newURI string) (*types.Transaction, error) {
  13240. return _MetaRareERC1155Collection.Contract.SetCustomURI(&_MetaRareERC1155Collection.TransactOpts, _tokenId, _newURI)
  13241. }
  13242. // SetCustomURI is a paid mutator transaction binding the contract method 0x3adf80b4.
  13243. //
  13244. // Solidity: function setCustomURI(uint256 _tokenId, string _newURI) returns()
  13245. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionTransactorSession) SetCustomURI(_tokenId *big.Int, _newURI string) (*types.Transaction, error) {
  13246. return _MetaRareERC1155Collection.Contract.SetCustomURI(&_MetaRareERC1155Collection.TransactOpts, _tokenId, _newURI)
  13247. }
  13248. // SetURI is a paid mutator transaction binding the contract method 0x02fe5305.
  13249. //
  13250. // Solidity: function setURI(string _newURI) returns()
  13251. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionTransactor) SetURI(opts *bind.TransactOpts, _newURI string) (*types.Transaction, error) {
  13252. return _MetaRareERC1155Collection.contract.Transact(opts, "setURI", _newURI)
  13253. }
  13254. // SetURI is a paid mutator transaction binding the contract method 0x02fe5305.
  13255. //
  13256. // Solidity: function setURI(string _newURI) returns()
  13257. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionSession) SetURI(_newURI string) (*types.Transaction, error) {
  13258. return _MetaRareERC1155Collection.Contract.SetURI(&_MetaRareERC1155Collection.TransactOpts, _newURI)
  13259. }
  13260. // SetURI is a paid mutator transaction binding the contract method 0x02fe5305.
  13261. //
  13262. // Solidity: function setURI(string _newURI) returns()
  13263. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionTransactorSession) SetURI(_newURI string) (*types.Transaction, error) {
  13264. return _MetaRareERC1155Collection.Contract.SetURI(&_MetaRareERC1155Collection.TransactOpts, _newURI)
  13265. }
  13266. // TransferOnlyOperator is a paid mutator transaction binding the contract method 0x7c7ae4d1.
  13267. //
  13268. // Solidity: function transferOnlyOperator(address from, address to, uint256 tokenId, uint256 amount) returns()
  13269. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionTransactor) TransferOnlyOperator(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int, amount *big.Int) (*types.Transaction, error) {
  13270. return _MetaRareERC1155Collection.contract.Transact(opts, "transferOnlyOperator", from, to, tokenId, amount)
  13271. }
  13272. // TransferOnlyOperator is a paid mutator transaction binding the contract method 0x7c7ae4d1.
  13273. //
  13274. // Solidity: function transferOnlyOperator(address from, address to, uint256 tokenId, uint256 amount) returns()
  13275. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionSession) TransferOnlyOperator(from common.Address, to common.Address, tokenId *big.Int, amount *big.Int) (*types.Transaction, error) {
  13276. return _MetaRareERC1155Collection.Contract.TransferOnlyOperator(&_MetaRareERC1155Collection.TransactOpts, from, to, tokenId, amount)
  13277. }
  13278. // TransferOnlyOperator is a paid mutator transaction binding the contract method 0x7c7ae4d1.
  13279. //
  13280. // Solidity: function transferOnlyOperator(address from, address to, uint256 tokenId, uint256 amount) returns()
  13281. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionTransactorSession) TransferOnlyOperator(from common.Address, to common.Address, tokenId *big.Int, amount *big.Int) (*types.Transaction, error) {
  13282. return _MetaRareERC1155Collection.Contract.TransferOnlyOperator(&_MetaRareERC1155Collection.TransactOpts, from, to, tokenId, amount)
  13283. }
  13284. // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b.
  13285. //
  13286. // Solidity: function transferOwnership(address newOwner) returns()
  13287. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionTransactor) TransferOwnership(opts *bind.TransactOpts, newOwner common.Address) (*types.Transaction, error) {
  13288. return _MetaRareERC1155Collection.contract.Transact(opts, "transferOwnership", newOwner)
  13289. }
  13290. // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b.
  13291. //
  13292. // Solidity: function transferOwnership(address newOwner) returns()
  13293. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) {
  13294. return _MetaRareERC1155Collection.Contract.TransferOwnership(&_MetaRareERC1155Collection.TransactOpts, newOwner)
  13295. }
  13296. // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b.
  13297. //
  13298. // Solidity: function transferOwnership(address newOwner) returns()
  13299. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionTransactorSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) {
  13300. return _MetaRareERC1155Collection.Contract.TransferOwnership(&_MetaRareERC1155Collection.TransactOpts, newOwner)
  13301. }
  13302. // MetaRareERC1155CollectionApprovalForAllIterator is returned from FilterApprovalForAll and is used to iterate over the raw logs and unpacked data for ApprovalForAll events raised by the MetaRareERC1155Collection contract.
  13303. type MetaRareERC1155CollectionApprovalForAllIterator struct {
  13304. Event *MetaRareERC1155CollectionApprovalForAll // Event containing the contract specifics and raw log
  13305. contract *bind.BoundContract // Generic contract to use for unpacking event data
  13306. event string // Event name to use for unpacking event data
  13307. logs chan types.Log // Log channel receiving the found contract events
  13308. sub ethereum.Subscription // Subscription for errors, completion and termination
  13309. done bool // Whether the subscription completed delivering logs
  13310. fail error // Occurred error to stop iteration
  13311. }
  13312. // Next advances the iterator to the subsequent event, returning whether there
  13313. // are any more events found. In case of a retrieval or parsing error, false is
  13314. // returned and Error() can be queried for the exact failure.
  13315. func (it *MetaRareERC1155CollectionApprovalForAllIterator) Next() bool {
  13316. // If the iterator failed, stop iterating
  13317. if it.fail != nil {
  13318. return false
  13319. }
  13320. // If the iterator completed, deliver directly whatever's available
  13321. if it.done {
  13322. select {
  13323. case log := <-it.logs:
  13324. it.Event = new(MetaRareERC1155CollectionApprovalForAll)
  13325. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  13326. it.fail = err
  13327. return false
  13328. }
  13329. it.Event.Raw = log
  13330. return true
  13331. default:
  13332. return false
  13333. }
  13334. }
  13335. // Iterator still in progress, wait for either a data or an error event
  13336. select {
  13337. case log := <-it.logs:
  13338. it.Event = new(MetaRareERC1155CollectionApprovalForAll)
  13339. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  13340. it.fail = err
  13341. return false
  13342. }
  13343. it.Event.Raw = log
  13344. return true
  13345. case err := <-it.sub.Err():
  13346. it.done = true
  13347. it.fail = err
  13348. return it.Next()
  13349. }
  13350. }
  13351. // Error returns any retrieval or parsing error occurred during filtering.
  13352. func (it *MetaRareERC1155CollectionApprovalForAllIterator) Error() error {
  13353. return it.fail
  13354. }
  13355. // Close terminates the iteration process, releasing any pending underlying
  13356. // resources.
  13357. func (it *MetaRareERC1155CollectionApprovalForAllIterator) Close() error {
  13358. it.sub.Unsubscribe()
  13359. return nil
  13360. }
  13361. // MetaRareERC1155CollectionApprovalForAll represents a ApprovalForAll event raised by the MetaRareERC1155Collection contract.
  13362. type MetaRareERC1155CollectionApprovalForAll struct {
  13363. Account common.Address
  13364. Operator common.Address
  13365. Approved bool
  13366. Raw types.Log // Blockchain specific contextual infos
  13367. }
  13368. // FilterApprovalForAll is a free log retrieval operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31.
  13369. //
  13370. // Solidity: event ApprovalForAll(address indexed account, address indexed operator, bool approved)
  13371. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionFilterer) FilterApprovalForAll(opts *bind.FilterOpts, account []common.Address, operator []common.Address) (*MetaRareERC1155CollectionApprovalForAllIterator, error) {
  13372. var accountRule []interface{}
  13373. for _, accountItem := range account {
  13374. accountRule = append(accountRule, accountItem)
  13375. }
  13376. var operatorRule []interface{}
  13377. for _, operatorItem := range operator {
  13378. operatorRule = append(operatorRule, operatorItem)
  13379. }
  13380. logs, sub, err := _MetaRareERC1155Collection.contract.FilterLogs(opts, "ApprovalForAll", accountRule, operatorRule)
  13381. if err != nil {
  13382. return nil, err
  13383. }
  13384. return &MetaRareERC1155CollectionApprovalForAllIterator{contract: _MetaRareERC1155Collection.contract, event: "ApprovalForAll", logs: logs, sub: sub}, nil
  13385. }
  13386. // WatchApprovalForAll is a free log subscription operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31.
  13387. //
  13388. // Solidity: event ApprovalForAll(address indexed account, address indexed operator, bool approved)
  13389. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionFilterer) WatchApprovalForAll(opts *bind.WatchOpts, sink chan<- *MetaRareERC1155CollectionApprovalForAll, account []common.Address, operator []common.Address) (event.Subscription, error) {
  13390. var accountRule []interface{}
  13391. for _, accountItem := range account {
  13392. accountRule = append(accountRule, accountItem)
  13393. }
  13394. var operatorRule []interface{}
  13395. for _, operatorItem := range operator {
  13396. operatorRule = append(operatorRule, operatorItem)
  13397. }
  13398. logs, sub, err := _MetaRareERC1155Collection.contract.WatchLogs(opts, "ApprovalForAll", accountRule, operatorRule)
  13399. if err != nil {
  13400. return nil, err
  13401. }
  13402. return event.NewSubscription(func(quit <-chan struct{}) error {
  13403. defer sub.Unsubscribe()
  13404. for {
  13405. select {
  13406. case log := <-logs:
  13407. // New log arrived, parse the event and forward to the user
  13408. event := new(MetaRareERC1155CollectionApprovalForAll)
  13409. if err := _MetaRareERC1155Collection.contract.UnpackLog(event, "ApprovalForAll", log); err != nil {
  13410. return err
  13411. }
  13412. event.Raw = log
  13413. select {
  13414. case sink <- event:
  13415. case err := <-sub.Err():
  13416. return err
  13417. case <-quit:
  13418. return nil
  13419. }
  13420. case err := <-sub.Err():
  13421. return err
  13422. case <-quit:
  13423. return nil
  13424. }
  13425. }
  13426. }), nil
  13427. }
  13428. // ParseApprovalForAll is a log parse operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31.
  13429. //
  13430. // Solidity: event ApprovalForAll(address indexed account, address indexed operator, bool approved)
  13431. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionFilterer) ParseApprovalForAll(log types.Log) (*MetaRareERC1155CollectionApprovalForAll, error) {
  13432. event := new(MetaRareERC1155CollectionApprovalForAll)
  13433. if err := _MetaRareERC1155Collection.contract.UnpackLog(event, "ApprovalForAll", log); err != nil {
  13434. return nil, err
  13435. }
  13436. event.Raw = log
  13437. return event, nil
  13438. }
  13439. // MetaRareERC1155CollectionOwnershipTransferredIterator is returned from FilterOwnershipTransferred and is used to iterate over the raw logs and unpacked data for OwnershipTransferred events raised by the MetaRareERC1155Collection contract.
  13440. type MetaRareERC1155CollectionOwnershipTransferredIterator struct {
  13441. Event *MetaRareERC1155CollectionOwnershipTransferred // Event containing the contract specifics and raw log
  13442. contract *bind.BoundContract // Generic contract to use for unpacking event data
  13443. event string // Event name to use for unpacking event data
  13444. logs chan types.Log // Log channel receiving the found contract events
  13445. sub ethereum.Subscription // Subscription for errors, completion and termination
  13446. done bool // Whether the subscription completed delivering logs
  13447. fail error // Occurred error to stop iteration
  13448. }
  13449. // Next advances the iterator to the subsequent event, returning whether there
  13450. // are any more events found. In case of a retrieval or parsing error, false is
  13451. // returned and Error() can be queried for the exact failure.
  13452. func (it *MetaRareERC1155CollectionOwnershipTransferredIterator) Next() bool {
  13453. // If the iterator failed, stop iterating
  13454. if it.fail != nil {
  13455. return false
  13456. }
  13457. // If the iterator completed, deliver directly whatever's available
  13458. if it.done {
  13459. select {
  13460. case log := <-it.logs:
  13461. it.Event = new(MetaRareERC1155CollectionOwnershipTransferred)
  13462. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  13463. it.fail = err
  13464. return false
  13465. }
  13466. it.Event.Raw = log
  13467. return true
  13468. default:
  13469. return false
  13470. }
  13471. }
  13472. // Iterator still in progress, wait for either a data or an error event
  13473. select {
  13474. case log := <-it.logs:
  13475. it.Event = new(MetaRareERC1155CollectionOwnershipTransferred)
  13476. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  13477. it.fail = err
  13478. return false
  13479. }
  13480. it.Event.Raw = log
  13481. return true
  13482. case err := <-it.sub.Err():
  13483. it.done = true
  13484. it.fail = err
  13485. return it.Next()
  13486. }
  13487. }
  13488. // Error returns any retrieval or parsing error occurred during filtering.
  13489. func (it *MetaRareERC1155CollectionOwnershipTransferredIterator) Error() error {
  13490. return it.fail
  13491. }
  13492. // Close terminates the iteration process, releasing any pending underlying
  13493. // resources.
  13494. func (it *MetaRareERC1155CollectionOwnershipTransferredIterator) Close() error {
  13495. it.sub.Unsubscribe()
  13496. return nil
  13497. }
  13498. // MetaRareERC1155CollectionOwnershipTransferred represents a OwnershipTransferred event raised by the MetaRareERC1155Collection contract.
  13499. type MetaRareERC1155CollectionOwnershipTransferred struct {
  13500. PreviousOwner common.Address
  13501. NewOwner common.Address
  13502. Raw types.Log // Blockchain specific contextual infos
  13503. }
  13504. // FilterOwnershipTransferred is a free log retrieval operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0.
  13505. //
  13506. // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
  13507. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionFilterer) FilterOwnershipTransferred(opts *bind.FilterOpts, previousOwner []common.Address, newOwner []common.Address) (*MetaRareERC1155CollectionOwnershipTransferredIterator, error) {
  13508. var previousOwnerRule []interface{}
  13509. for _, previousOwnerItem := range previousOwner {
  13510. previousOwnerRule = append(previousOwnerRule, previousOwnerItem)
  13511. }
  13512. var newOwnerRule []interface{}
  13513. for _, newOwnerItem := range newOwner {
  13514. newOwnerRule = append(newOwnerRule, newOwnerItem)
  13515. }
  13516. logs, sub, err := _MetaRareERC1155Collection.contract.FilterLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule)
  13517. if err != nil {
  13518. return nil, err
  13519. }
  13520. return &MetaRareERC1155CollectionOwnershipTransferredIterator{contract: _MetaRareERC1155Collection.contract, event: "OwnershipTransferred", logs: logs, sub: sub}, nil
  13521. }
  13522. // WatchOwnershipTransferred is a free log subscription operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0.
  13523. //
  13524. // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
  13525. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionFilterer) WatchOwnershipTransferred(opts *bind.WatchOpts, sink chan<- *MetaRareERC1155CollectionOwnershipTransferred, previousOwner []common.Address, newOwner []common.Address) (event.Subscription, error) {
  13526. var previousOwnerRule []interface{}
  13527. for _, previousOwnerItem := range previousOwner {
  13528. previousOwnerRule = append(previousOwnerRule, previousOwnerItem)
  13529. }
  13530. var newOwnerRule []interface{}
  13531. for _, newOwnerItem := range newOwner {
  13532. newOwnerRule = append(newOwnerRule, newOwnerItem)
  13533. }
  13534. logs, sub, err := _MetaRareERC1155Collection.contract.WatchLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule)
  13535. if err != nil {
  13536. return nil, err
  13537. }
  13538. return event.NewSubscription(func(quit <-chan struct{}) error {
  13539. defer sub.Unsubscribe()
  13540. for {
  13541. select {
  13542. case log := <-logs:
  13543. // New log arrived, parse the event and forward to the user
  13544. event := new(MetaRareERC1155CollectionOwnershipTransferred)
  13545. if err := _MetaRareERC1155Collection.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil {
  13546. return err
  13547. }
  13548. event.Raw = log
  13549. select {
  13550. case sink <- event:
  13551. case err := <-sub.Err():
  13552. return err
  13553. case <-quit:
  13554. return nil
  13555. }
  13556. case err := <-sub.Err():
  13557. return err
  13558. case <-quit:
  13559. return nil
  13560. }
  13561. }
  13562. }), nil
  13563. }
  13564. // ParseOwnershipTransferred is a log parse operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0.
  13565. //
  13566. // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
  13567. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionFilterer) ParseOwnershipTransferred(log types.Log) (*MetaRareERC1155CollectionOwnershipTransferred, error) {
  13568. event := new(MetaRareERC1155CollectionOwnershipTransferred)
  13569. if err := _MetaRareERC1155Collection.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil {
  13570. return nil, err
  13571. }
  13572. event.Raw = log
  13573. return event, nil
  13574. }
  13575. // MetaRareERC1155CollectionTransferBatchIterator is returned from FilterTransferBatch and is used to iterate over the raw logs and unpacked data for TransferBatch events raised by the MetaRareERC1155Collection contract.
  13576. type MetaRareERC1155CollectionTransferBatchIterator struct {
  13577. Event *MetaRareERC1155CollectionTransferBatch // Event containing the contract specifics and raw log
  13578. contract *bind.BoundContract // Generic contract to use for unpacking event data
  13579. event string // Event name to use for unpacking event data
  13580. logs chan types.Log // Log channel receiving the found contract events
  13581. sub ethereum.Subscription // Subscription for errors, completion and termination
  13582. done bool // Whether the subscription completed delivering logs
  13583. fail error // Occurred error to stop iteration
  13584. }
  13585. // Next advances the iterator to the subsequent event, returning whether there
  13586. // are any more events found. In case of a retrieval or parsing error, false is
  13587. // returned and Error() can be queried for the exact failure.
  13588. func (it *MetaRareERC1155CollectionTransferBatchIterator) Next() bool {
  13589. // If the iterator failed, stop iterating
  13590. if it.fail != nil {
  13591. return false
  13592. }
  13593. // If the iterator completed, deliver directly whatever's available
  13594. if it.done {
  13595. select {
  13596. case log := <-it.logs:
  13597. it.Event = new(MetaRareERC1155CollectionTransferBatch)
  13598. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  13599. it.fail = err
  13600. return false
  13601. }
  13602. it.Event.Raw = log
  13603. return true
  13604. default:
  13605. return false
  13606. }
  13607. }
  13608. // Iterator still in progress, wait for either a data or an error event
  13609. select {
  13610. case log := <-it.logs:
  13611. it.Event = new(MetaRareERC1155CollectionTransferBatch)
  13612. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  13613. it.fail = err
  13614. return false
  13615. }
  13616. it.Event.Raw = log
  13617. return true
  13618. case err := <-it.sub.Err():
  13619. it.done = true
  13620. it.fail = err
  13621. return it.Next()
  13622. }
  13623. }
  13624. // Error returns any retrieval or parsing error occurred during filtering.
  13625. func (it *MetaRareERC1155CollectionTransferBatchIterator) Error() error {
  13626. return it.fail
  13627. }
  13628. // Close terminates the iteration process, releasing any pending underlying
  13629. // resources.
  13630. func (it *MetaRareERC1155CollectionTransferBatchIterator) Close() error {
  13631. it.sub.Unsubscribe()
  13632. return nil
  13633. }
  13634. // MetaRareERC1155CollectionTransferBatch represents a TransferBatch event raised by the MetaRareERC1155Collection contract.
  13635. type MetaRareERC1155CollectionTransferBatch struct {
  13636. Operator common.Address
  13637. From common.Address
  13638. To common.Address
  13639. Ids []*big.Int
  13640. Values []*big.Int
  13641. Raw types.Log // Blockchain specific contextual infos
  13642. }
  13643. // FilterTransferBatch is a free log retrieval operation binding the contract event 0x4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb.
  13644. //
  13645. // Solidity: event TransferBatch(address indexed operator, address indexed from, address indexed to, uint256[] ids, uint256[] values)
  13646. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionFilterer) FilterTransferBatch(opts *bind.FilterOpts, operator []common.Address, from []common.Address, to []common.Address) (*MetaRareERC1155CollectionTransferBatchIterator, error) {
  13647. var operatorRule []interface{}
  13648. for _, operatorItem := range operator {
  13649. operatorRule = append(operatorRule, operatorItem)
  13650. }
  13651. var fromRule []interface{}
  13652. for _, fromItem := range from {
  13653. fromRule = append(fromRule, fromItem)
  13654. }
  13655. var toRule []interface{}
  13656. for _, toItem := range to {
  13657. toRule = append(toRule, toItem)
  13658. }
  13659. logs, sub, err := _MetaRareERC1155Collection.contract.FilterLogs(opts, "TransferBatch", operatorRule, fromRule, toRule)
  13660. if err != nil {
  13661. return nil, err
  13662. }
  13663. return &MetaRareERC1155CollectionTransferBatchIterator{contract: _MetaRareERC1155Collection.contract, event: "TransferBatch", logs: logs, sub: sub}, nil
  13664. }
  13665. // WatchTransferBatch is a free log subscription operation binding the contract event 0x4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb.
  13666. //
  13667. // Solidity: event TransferBatch(address indexed operator, address indexed from, address indexed to, uint256[] ids, uint256[] values)
  13668. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionFilterer) WatchTransferBatch(opts *bind.WatchOpts, sink chan<- *MetaRareERC1155CollectionTransferBatch, operator []common.Address, from []common.Address, to []common.Address) (event.Subscription, error) {
  13669. var operatorRule []interface{}
  13670. for _, operatorItem := range operator {
  13671. operatorRule = append(operatorRule, operatorItem)
  13672. }
  13673. var fromRule []interface{}
  13674. for _, fromItem := range from {
  13675. fromRule = append(fromRule, fromItem)
  13676. }
  13677. var toRule []interface{}
  13678. for _, toItem := range to {
  13679. toRule = append(toRule, toItem)
  13680. }
  13681. logs, sub, err := _MetaRareERC1155Collection.contract.WatchLogs(opts, "TransferBatch", operatorRule, fromRule, toRule)
  13682. if err != nil {
  13683. return nil, err
  13684. }
  13685. return event.NewSubscription(func(quit <-chan struct{}) error {
  13686. defer sub.Unsubscribe()
  13687. for {
  13688. select {
  13689. case log := <-logs:
  13690. // New log arrived, parse the event and forward to the user
  13691. event := new(MetaRareERC1155CollectionTransferBatch)
  13692. if err := _MetaRareERC1155Collection.contract.UnpackLog(event, "TransferBatch", log); err != nil {
  13693. return err
  13694. }
  13695. event.Raw = log
  13696. select {
  13697. case sink <- event:
  13698. case err := <-sub.Err():
  13699. return err
  13700. case <-quit:
  13701. return nil
  13702. }
  13703. case err := <-sub.Err():
  13704. return err
  13705. case <-quit:
  13706. return nil
  13707. }
  13708. }
  13709. }), nil
  13710. }
  13711. // ParseTransferBatch is a log parse operation binding the contract event 0x4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb.
  13712. //
  13713. // Solidity: event TransferBatch(address indexed operator, address indexed from, address indexed to, uint256[] ids, uint256[] values)
  13714. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionFilterer) ParseTransferBatch(log types.Log) (*MetaRareERC1155CollectionTransferBatch, error) {
  13715. event := new(MetaRareERC1155CollectionTransferBatch)
  13716. if err := _MetaRareERC1155Collection.contract.UnpackLog(event, "TransferBatch", log); err != nil {
  13717. return nil, err
  13718. }
  13719. event.Raw = log
  13720. return event, nil
  13721. }
  13722. // MetaRareERC1155CollectionTransferSingleIterator is returned from FilterTransferSingle and is used to iterate over the raw logs and unpacked data for TransferSingle events raised by the MetaRareERC1155Collection contract.
  13723. type MetaRareERC1155CollectionTransferSingleIterator struct {
  13724. Event *MetaRareERC1155CollectionTransferSingle // Event containing the contract specifics and raw log
  13725. contract *bind.BoundContract // Generic contract to use for unpacking event data
  13726. event string // Event name to use for unpacking event data
  13727. logs chan types.Log // Log channel receiving the found contract events
  13728. sub ethereum.Subscription // Subscription for errors, completion and termination
  13729. done bool // Whether the subscription completed delivering logs
  13730. fail error // Occurred error to stop iteration
  13731. }
  13732. // Next advances the iterator to the subsequent event, returning whether there
  13733. // are any more events found. In case of a retrieval or parsing error, false is
  13734. // returned and Error() can be queried for the exact failure.
  13735. func (it *MetaRareERC1155CollectionTransferSingleIterator) Next() bool {
  13736. // If the iterator failed, stop iterating
  13737. if it.fail != nil {
  13738. return false
  13739. }
  13740. // If the iterator completed, deliver directly whatever's available
  13741. if it.done {
  13742. select {
  13743. case log := <-it.logs:
  13744. it.Event = new(MetaRareERC1155CollectionTransferSingle)
  13745. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  13746. it.fail = err
  13747. return false
  13748. }
  13749. it.Event.Raw = log
  13750. return true
  13751. default:
  13752. return false
  13753. }
  13754. }
  13755. // Iterator still in progress, wait for either a data or an error event
  13756. select {
  13757. case log := <-it.logs:
  13758. it.Event = new(MetaRareERC1155CollectionTransferSingle)
  13759. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  13760. it.fail = err
  13761. return false
  13762. }
  13763. it.Event.Raw = log
  13764. return true
  13765. case err := <-it.sub.Err():
  13766. it.done = true
  13767. it.fail = err
  13768. return it.Next()
  13769. }
  13770. }
  13771. // Error returns any retrieval or parsing error occurred during filtering.
  13772. func (it *MetaRareERC1155CollectionTransferSingleIterator) Error() error {
  13773. return it.fail
  13774. }
  13775. // Close terminates the iteration process, releasing any pending underlying
  13776. // resources.
  13777. func (it *MetaRareERC1155CollectionTransferSingleIterator) Close() error {
  13778. it.sub.Unsubscribe()
  13779. return nil
  13780. }
  13781. // MetaRareERC1155CollectionTransferSingle represents a TransferSingle event raised by the MetaRareERC1155Collection contract.
  13782. type MetaRareERC1155CollectionTransferSingle struct {
  13783. Operator common.Address
  13784. From common.Address
  13785. To common.Address
  13786. Id *big.Int
  13787. Value *big.Int
  13788. Raw types.Log // Blockchain specific contextual infos
  13789. }
  13790. // FilterTransferSingle is a free log retrieval operation binding the contract event 0xc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62.
  13791. //
  13792. // Solidity: event TransferSingle(address indexed operator, address indexed from, address indexed to, uint256 id, uint256 value)
  13793. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionFilterer) FilterTransferSingle(opts *bind.FilterOpts, operator []common.Address, from []common.Address, to []common.Address) (*MetaRareERC1155CollectionTransferSingleIterator, error) {
  13794. var operatorRule []interface{}
  13795. for _, operatorItem := range operator {
  13796. operatorRule = append(operatorRule, operatorItem)
  13797. }
  13798. var fromRule []interface{}
  13799. for _, fromItem := range from {
  13800. fromRule = append(fromRule, fromItem)
  13801. }
  13802. var toRule []interface{}
  13803. for _, toItem := range to {
  13804. toRule = append(toRule, toItem)
  13805. }
  13806. logs, sub, err := _MetaRareERC1155Collection.contract.FilterLogs(opts, "TransferSingle", operatorRule, fromRule, toRule)
  13807. if err != nil {
  13808. return nil, err
  13809. }
  13810. return &MetaRareERC1155CollectionTransferSingleIterator{contract: _MetaRareERC1155Collection.contract, event: "TransferSingle", logs: logs, sub: sub}, nil
  13811. }
  13812. // WatchTransferSingle is a free log subscription operation binding the contract event 0xc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62.
  13813. //
  13814. // Solidity: event TransferSingle(address indexed operator, address indexed from, address indexed to, uint256 id, uint256 value)
  13815. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionFilterer) WatchTransferSingle(opts *bind.WatchOpts, sink chan<- *MetaRareERC1155CollectionTransferSingle, operator []common.Address, from []common.Address, to []common.Address) (event.Subscription, error) {
  13816. var operatorRule []interface{}
  13817. for _, operatorItem := range operator {
  13818. operatorRule = append(operatorRule, operatorItem)
  13819. }
  13820. var fromRule []interface{}
  13821. for _, fromItem := range from {
  13822. fromRule = append(fromRule, fromItem)
  13823. }
  13824. var toRule []interface{}
  13825. for _, toItem := range to {
  13826. toRule = append(toRule, toItem)
  13827. }
  13828. logs, sub, err := _MetaRareERC1155Collection.contract.WatchLogs(opts, "TransferSingle", operatorRule, fromRule, toRule)
  13829. if err != nil {
  13830. return nil, err
  13831. }
  13832. return event.NewSubscription(func(quit <-chan struct{}) error {
  13833. defer sub.Unsubscribe()
  13834. for {
  13835. select {
  13836. case log := <-logs:
  13837. // New log arrived, parse the event and forward to the user
  13838. event := new(MetaRareERC1155CollectionTransferSingle)
  13839. if err := _MetaRareERC1155Collection.contract.UnpackLog(event, "TransferSingle", log); err != nil {
  13840. return err
  13841. }
  13842. event.Raw = log
  13843. select {
  13844. case sink <- event:
  13845. case err := <-sub.Err():
  13846. return err
  13847. case <-quit:
  13848. return nil
  13849. }
  13850. case err := <-sub.Err():
  13851. return err
  13852. case <-quit:
  13853. return nil
  13854. }
  13855. }
  13856. }), nil
  13857. }
  13858. // ParseTransferSingle is a log parse operation binding the contract event 0xc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62.
  13859. //
  13860. // Solidity: event TransferSingle(address indexed operator, address indexed from, address indexed to, uint256 id, uint256 value)
  13861. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionFilterer) ParseTransferSingle(log types.Log) (*MetaRareERC1155CollectionTransferSingle, error) {
  13862. event := new(MetaRareERC1155CollectionTransferSingle)
  13863. if err := _MetaRareERC1155Collection.contract.UnpackLog(event, "TransferSingle", log); err != nil {
  13864. return nil, err
  13865. }
  13866. event.Raw = log
  13867. return event, nil
  13868. }
  13869. // MetaRareERC1155CollectionURIIterator is returned from FilterURI and is used to iterate over the raw logs and unpacked data for URI events raised by the MetaRareERC1155Collection contract.
  13870. type MetaRareERC1155CollectionURIIterator struct {
  13871. Event *MetaRareERC1155CollectionURI // Event containing the contract specifics and raw log
  13872. contract *bind.BoundContract // Generic contract to use for unpacking event data
  13873. event string // Event name to use for unpacking event data
  13874. logs chan types.Log // Log channel receiving the found contract events
  13875. sub ethereum.Subscription // Subscription for errors, completion and termination
  13876. done bool // Whether the subscription completed delivering logs
  13877. fail error // Occurred error to stop iteration
  13878. }
  13879. // Next advances the iterator to the subsequent event, returning whether there
  13880. // are any more events found. In case of a retrieval or parsing error, false is
  13881. // returned and Error() can be queried for the exact failure.
  13882. func (it *MetaRareERC1155CollectionURIIterator) Next() bool {
  13883. // If the iterator failed, stop iterating
  13884. if it.fail != nil {
  13885. return false
  13886. }
  13887. // If the iterator completed, deliver directly whatever's available
  13888. if it.done {
  13889. select {
  13890. case log := <-it.logs:
  13891. it.Event = new(MetaRareERC1155CollectionURI)
  13892. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  13893. it.fail = err
  13894. return false
  13895. }
  13896. it.Event.Raw = log
  13897. return true
  13898. default:
  13899. return false
  13900. }
  13901. }
  13902. // Iterator still in progress, wait for either a data or an error event
  13903. select {
  13904. case log := <-it.logs:
  13905. it.Event = new(MetaRareERC1155CollectionURI)
  13906. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  13907. it.fail = err
  13908. return false
  13909. }
  13910. it.Event.Raw = log
  13911. return true
  13912. case err := <-it.sub.Err():
  13913. it.done = true
  13914. it.fail = err
  13915. return it.Next()
  13916. }
  13917. }
  13918. // Error returns any retrieval or parsing error occurred during filtering.
  13919. func (it *MetaRareERC1155CollectionURIIterator) Error() error {
  13920. return it.fail
  13921. }
  13922. // Close terminates the iteration process, releasing any pending underlying
  13923. // resources.
  13924. func (it *MetaRareERC1155CollectionURIIterator) Close() error {
  13925. it.sub.Unsubscribe()
  13926. return nil
  13927. }
  13928. // MetaRareERC1155CollectionURI represents a URI event raised by the MetaRareERC1155Collection contract.
  13929. type MetaRareERC1155CollectionURI struct {
  13930. Value string
  13931. Id *big.Int
  13932. Raw types.Log // Blockchain specific contextual infos
  13933. }
  13934. // FilterURI is a free log retrieval operation binding the contract event 0x6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b.
  13935. //
  13936. // Solidity: event URI(string value, uint256 indexed id)
  13937. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionFilterer) FilterURI(opts *bind.FilterOpts, id []*big.Int) (*MetaRareERC1155CollectionURIIterator, error) {
  13938. var idRule []interface{}
  13939. for _, idItem := range id {
  13940. idRule = append(idRule, idItem)
  13941. }
  13942. logs, sub, err := _MetaRareERC1155Collection.contract.FilterLogs(opts, "URI", idRule)
  13943. if err != nil {
  13944. return nil, err
  13945. }
  13946. return &MetaRareERC1155CollectionURIIterator{contract: _MetaRareERC1155Collection.contract, event: "URI", logs: logs, sub: sub}, nil
  13947. }
  13948. // WatchURI is a free log subscription operation binding the contract event 0x6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b.
  13949. //
  13950. // Solidity: event URI(string value, uint256 indexed id)
  13951. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionFilterer) WatchURI(opts *bind.WatchOpts, sink chan<- *MetaRareERC1155CollectionURI, id []*big.Int) (event.Subscription, error) {
  13952. var idRule []interface{}
  13953. for _, idItem := range id {
  13954. idRule = append(idRule, idItem)
  13955. }
  13956. logs, sub, err := _MetaRareERC1155Collection.contract.WatchLogs(opts, "URI", idRule)
  13957. if err != nil {
  13958. return nil, err
  13959. }
  13960. return event.NewSubscription(func(quit <-chan struct{}) error {
  13961. defer sub.Unsubscribe()
  13962. for {
  13963. select {
  13964. case log := <-logs:
  13965. // New log arrived, parse the event and forward to the user
  13966. event := new(MetaRareERC1155CollectionURI)
  13967. if err := _MetaRareERC1155Collection.contract.UnpackLog(event, "URI", log); err != nil {
  13968. return err
  13969. }
  13970. event.Raw = log
  13971. select {
  13972. case sink <- event:
  13973. case err := <-sub.Err():
  13974. return err
  13975. case <-quit:
  13976. return nil
  13977. }
  13978. case err := <-sub.Err():
  13979. return err
  13980. case <-quit:
  13981. return nil
  13982. }
  13983. }
  13984. }), nil
  13985. }
  13986. // ParseURI is a log parse operation binding the contract event 0x6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b.
  13987. //
  13988. // Solidity: event URI(string value, uint256 indexed id)
  13989. func (_MetaRareERC1155Collection *MetaRareERC1155CollectionFilterer) ParseURI(log types.Log) (*MetaRareERC1155CollectionURI, error) {
  13990. event := new(MetaRareERC1155CollectionURI)
  13991. if err := _MetaRareERC1155Collection.contract.UnpackLog(event, "URI", log); err != nil {
  13992. return nil, err
  13993. }
  13994. event.Raw = log
  13995. return event, nil
  13996. }
  13997. // MetaRareERC721CollectionMetaData contains all meta data concerning the MetaRareERC721Collection contract.
  13998. var MetaRareERC721CollectionMetaData = &bind.MetaData{
  13999. ABI: "[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MINTER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MetaRareOperator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"collectionFactory\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"getRoleMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleMemberCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"initName\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"initSymbol\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"baseURI\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"collectionOwner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operatorContract\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"newBaseUri\",\"type\":\"string\"}],\"name\":\"setBaseURI\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"newName\",\"type\":\"string\"}],\"name\":\"setName\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"newSymbol\",\"type\":\"string\"}],\"name\":\"setSymbol\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_tokenURI\",\"type\":\"string\"}],\"name\":\"setTokenURI\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenOfOwnerByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferOnlyOperator\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]",
  14000. Sigs: map[string]string{
  14001. "a217fddf": "DEFAULT_ADMIN_ROLE()",
  14002. "d5391393": "MINTER_ROLE()",
  14003. "6585690d": "MetaRareOperator()",
  14004. "095ea7b3": "approve(address,uint256)",
  14005. "70a08231": "balanceOf(address)",
  14006. "42966c68": "burn(uint256)",
  14007. "cf25a2fd": "collectionFactory()",
  14008. "081812fc": "getApproved(uint256)",
  14009. "248a9ca3": "getRoleAdmin(bytes32)",
  14010. "9010d07c": "getRoleMember(bytes32,uint256)",
  14011. "ca15c873": "getRoleMemberCount(bytes32)",
  14012. "2f2ff15d": "grantRole(bytes32,address)",
  14013. "91d14854": "hasRole(bytes32,address)",
  14014. "d6d0faee": "initialize(string,string,string,address,address)",
  14015. "e985e9c5": "isApprovedForAll(address,address)",
  14016. "40c10f19": "mint(address,uint256)",
  14017. "06fdde03": "name()",
  14018. "6352211e": "ownerOf(uint256)",
  14019. "36568abe": "renounceRole(bytes32,address)",
  14020. "d547741f": "revokeRole(bytes32,address)",
  14021. "42842e0e": "safeTransferFrom(address,address,uint256)",
  14022. "b88d4fde": "safeTransferFrom(address,address,uint256,bytes)",
  14023. "a22cb465": "setApprovalForAll(address,bool)",
  14024. "55f804b3": "setBaseURI(string)",
  14025. "c47f0027": "setName(string)",
  14026. "b84c8246": "setSymbol(string)",
  14027. "162094c4": "setTokenURI(uint256,string)",
  14028. "01ffc9a7": "supportsInterface(bytes4)",
  14029. "95d89b41": "symbol()",
  14030. "4f6ccce7": "tokenByIndex(uint256)",
  14031. "2f745c59": "tokenOfOwnerByIndex(address,uint256)",
  14032. "c87b56dd": "tokenURI(uint256)",
  14033. "18160ddd": "totalSupply()",
  14034. "23b872dd": "transferFrom(address,address,uint256)",
  14035. "5145dc57": "transferOnlyOperator(address,address,uint256)",
  14036. },
  14037. Bin: "0x60806040523480156200001157600080fd5b506040805180820182526008815267696e69744e616d6560c01b60208083019182528351808501909452600a8452691a5b9a5d14de5b589bdb60b21b908401528151919291620000649160029162000095565b5080516200007a90600390602084019062000095565b5050600d80546001600160a01b031916331790555062000178565b828054620000a3906200013b565b90600052602060002090601f016020900481019282620000c7576000855562000112565b82601f10620000e257805160ff191683800117855562000112565b8280016001018555821562000112579182015b8281111562000112578251825591602001919060010190620000f5565b506200012092915062000124565b5090565b5b8082111562000120576000815560010162000125565b6002810460018216806200015057607f821691505b602082108114156200017257634e487b7160e01b600052602260045260246000fd5b50919050565b612d2580620001886000396000f3fe608060405234801561001057600080fd5b50600436106102115760003560e01c80636352211e11610125578063b88d4fde116100ad578063cf25a2fd1161007c578063cf25a2fd14610458578063d539139314610460578063d547741f14610468578063d6d0faee1461047b578063e985e9c51461048e57610211565b8063b88d4fde1461040c578063c47f00271461041f578063c87b56dd14610432578063ca15c8731461044557610211565b806391d14854116100f457806391d14854146103c357806395d89b41146103d6578063a217fddf146103de578063a22cb465146103e6578063b84c8246146103f957610211565b80636352211e146103825780636585690d1461039557806370a082311461039d5780639010d07c146103b057610211565b80632f2ff15d116101a857806342842e0e1161017757806342842e0e1461032357806342966c68146103365780634f6ccce7146103495780635145dc571461035c57806355f804b31461036f57610211565b80632f2ff15d146102d75780632f745c59146102ea57806336568abe146102fd57806340c10f191461031057610211565b8063162094c4116101e4578063162094c41461028957806318160ddd1461029c57806323b872dd146102b1578063248a9ca3146102c457610211565b806301ffc9a71461021657806306fdde031461023f578063081812fc14610254578063095ea7b314610274575b600080fd5b61022961022436600461214f565b6104a1565b60405161023691906123c6565b60405180910390f35b6102476104ce565b60405161023691906123da565b6102676102623660046120f4565b610560565b6040516102369190612375565b6102876102823660046120cb565b6105ac565b005b610287610297366004612260565b610644565b6102a461067b565b60405161023691906123d1565b6102876102bf366004611fdd565b610681565b6102a46102d23660046120f4565b6106b9565b6102876102e536600461210c565b6106ce565b6102a46102f83660046120cb565b6106f2565b61028761030b36600461210c565b610747565b61028761031e3660046120cb565b610789565b610287610331366004611fdd565b6107c9565b6102876103443660046120f4565b6107e4565b6102a46103573660046120f4565b610817565b61028761036a366004611fdd565b610872565b61028761037d366004612187565b6108a7565b6102676103903660046120f4565b6108e3565b610267610918565b6102a46103ab366004611f91565b610927565b6102676103be36600461212e565b61096b565b6102296103d136600461210c565b61098a565b6102476109b3565b6102a46109c2565b6102876103f4366004612091565b6109c7565b610287610407366004612187565b6109d9565b61028761041a366004612018565b610a15565b61028761042d366004612187565b610a54565b6102476104403660046120f4565b610a90565b6102a46104533660046120f4565b610a9b565b610267610ab2565b6102a4610ac1565b61028761047636600461210c565b610ad3565b6102876104893660046121ba565b610af2565b61022961049c366004611fab565b610bda565b60006001600160e01b0319821663780e9d6360e01b14806104c657506104c682610c08565b90505b919050565b6060601080546104dd90612c0d565b80601f016020809104026020016040519081016040528092919081815260200182805461050990612c0d565b80156105565780601f1061052b57610100808354040283529160200191610556565b820191906000526020600020905b81548152906001019060200180831161053957829003601f168201915b5050505050905090565b600061056b82610c2d565b6105905760405162461bcd60e51b81526004016105879061286f565b60405180910390fd5b506000908152600660205260409020546001600160a01b031690565b60006105b7826108e3565b9050806001600160a01b0316836001600160a01b031614156105eb5760405162461bcd60e51b815260040161058790612958565b806001600160a01b03166105fd610c4a565b6001600160a01b0316148061061957506106198161049c610c4a565b6106355760405162461bcd60e51b815260040161058790612630565b61063f8383610c4e565b505050565b61065160006103d1610c4a565b61066d5760405162461bcd60e51b81526004016105879061290a565b6106778282610cbc565b5050565b600a5490565b61069261068c610c4a565b82610d00565b6106ae5760405162461bcd60e51b815260040161058790612999565b61063f838383610d85565b60009081526020819052604090206001015490565b6106d7826106b9565b6106e8816106e3610c4a565b610eb8565b61063f8383610f1c565b60006106fd83610927565b821061071b5760405162461bcd60e51b815260040161058790612422565b506001600160a01b03821660009081526008602090815260408083208484529091529020545b92915050565b61074f610c4a565b6001600160a01b0316816001600160a01b03161461077f5760405162461bcd60e51b815260040161058790612b19565b6106778282610f3e565b6107a3600080516020612cd08339815191526103d1610c4a565b6107bf5760405162461bcd60e51b815260040161058790612ad4565b6106778282610f60565b61063f83838360405180602001604052806000815250610a15565b6107ef61068c610c4a565b61080b5760405162461bcd60e51b815260040161058790612a84565b61081481611047565b50565b600061082161067b565b821061083f5760405162461bcd60e51b815260040161058790612a38565b600a828154811061086057634e487b7160e01b600052603260045260246000fd5b90600052602060002001549050919050565b600e546001600160a01b0316331461089c5760405162461bcd60e51b8152600401610587906127da565b61063f838383611050565b6108b460006103d1610c4a565b6108d05760405162461bcd60e51b8152600401610587906129ea565b805161067790600f906020840190611e14565b6000818152600460205260408120546001600160a01b0316806104c65760405162461bcd60e51b8152600401610587906126d7565b600e546001600160a01b031681565b60006001600160a01b03821661094f5760405162461bcd60e51b81526004016105879061268d565b506001600160a01b031660009081526005602052604090205490565b6000828152600160205260408120610983908361106b565b9392505050565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b6060601180546104dd90612c0d565b600081565b6106776109d2610c4a565b8383611077565b6109e660006103d1610c4a565b610a025760405162461bcd60e51b81526004016105879061253b565b8051610677906011906020840190611e14565b610a26610a20610c4a565b83610d00565b610a425760405162461bcd60e51b815260040161058790612999565b610a4e8484848461111a565b50505050565b610a6160006103d1610c4a565b610a7d5760405162461bcd60e51b81526004016105879061253b565b8051610677906010906020840190611e14565b60606104c68261114d565b60008181526001602052604081206104c690611266565b600d546001600160a01b031681565b600080516020612cd083398151915281565b610adc826106b9565b610ae8816106e3610c4a565b61063f8383610f3e565b600d546001600160a01b03163314610b1c5760405162461bcd60e51b81526004016105879061276e565b610b2e6000610b29610c4a565b611271565b610b48600080516020612cd0833981519152610b29610c4a565b610b60600080516020612cd083398151915283611271565b610b78600080516020612cd083398151915282611271565b8251610b8b90600f906020860190611e14565b508451610b9f906010906020880190611e14565b508351610bb3906011906020870190611e14565b50600e80546001600160a01b0319166001600160a01b039290921691909117905550505050565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205460ff1690565b60006001600160e01b0319821663780e9d6360e01b14806104c657506104c68261127b565b6000908152600460205260409020546001600160a01b0316151590565b3390565b600081815260066020526040902080546001600160a01b0319166001600160a01b0384169081179091558190610c83826108e3565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b610cc582610c2d565b610ce15760405162461bcd60e51b815260040161058790612720565b6000828152600c60209081526040909120825161063f92840190611e14565b6000610d0b82610c2d565b610d275760405162461bcd60e51b8152600401610587906125e4565b6000610d32836108e3565b9050806001600160a01b0316846001600160a01b03161480610d6d5750836001600160a01b0316610d6284610560565b6001600160a01b0316145b80610d7d5750610d7d8185610bda565b949350505050565b826001600160a01b0316610d98826108e3565b6001600160a01b031614610dbe5760405162461bcd60e51b8152600401610587906124bf565b6001600160a01b038216610de45760405162461bcd60e51b815260040161058790612569565b610def8383836112bb565b610dfa600082610c4e565b6001600160a01b0383166000908152600560205260408120805460019290610e23908490612bb3565b90915550506001600160a01b0382166000908152600560205260408120805460019290610e51908490612b68565b909155505060008181526004602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a461063f83838361063f565b610ec2828261098a565b61067757610eda816001600160a01b031660146112c6565b610ee58360206112c6565b604051602001610ef6929190612300565b60408051601f198184030181529082905262461bcd60e51b8252610587916004016123da565b610f268282611478565b600082815260016020526040902061063f90826114fd565b610f488282611512565b600082815260016020526040902061063f9082611595565b6001600160a01b038216610f865760405162461bcd60e51b8152600401610587906127a5565b610f8f81610c2d565b15610fac5760405162461bcd60e51b815260040161058790612504565b610fb8600083836112bb565b6001600160a01b0382166000908152600560205260408120805460019290610fe1908490612b68565b909155505060008181526004602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a46106776000838361063f565b610814816115aa565b61063f8383836040518060200160405280600081525061111a565b600061098383836115ea565b816001600160a01b0316836001600160a01b031614156110a95760405162461bcd60e51b8152600401610587906125ad565b6001600160a01b0383811660008181526007602090815260408083209487168084529490915290819020805460ff1916851515179055517f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c319061110d9085906123c6565b60405180910390a3505050565b611125848484610d85565b61113184848484611622565b610a4e5760405162461bcd60e51b81526004016105879061246d565b606061115882610c2d565b6111745760405162461bcd60e51b81526004016105879061281e565b6000828152600c60205260408120805461118d90612c0d565b80601f01602080910402602001604051908101604052809291908181526020018280546111b990612c0d565b80156112065780601f106111db57610100808354040283529160200191611206565b820191906000526020600020905b8154815290600101906020018083116111e957829003601f168201915b50505050509050600061121761173d565b905080516000141561122b575090506104c9565b81511561125d5780826040516020016112459291906122d1565b604051602081830303815290604052925050506104c9565b610d7d8461174c565b60006104c6826117ce565b6106778282610f1c565b60006001600160e01b031982166380ac58cd60e01b14806112ac57506001600160e01b03198216635b5e139f60e01b145b806104c657506104c6826117d2565b61063f8383836117f7565b606060006112d5836002612b94565b6112e0906002612b68565b67ffffffffffffffff81111561130657634e487b7160e01b600052604160045260246000fd5b6040519080825280601f01601f191660200182016040528015611330576020820181803683370190505b509050600360fc1b8160008151811061135957634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061139657634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a90535060006113ba846002612b94565b6113c5906001612b68565b90505b6001811115611459576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061140757634e487b7160e01b600052603260045260246000fd5b1a60f81b82828151811061142b57634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a90535060049490941c9361145281612bf6565b90506113c8565b5083156109835760405162461bcd60e51b8152600401610587906123ed565b611482828261098a565b610677576000828152602081815260408083206001600160a01b03851684529091529020805460ff191660011790556114b9610c4a565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000610983836001600160a01b038416611880565b61151c828261098a565b15610677576000828152602081815260408083206001600160a01b03851684529091529020805460ff19169055611551610c4a565b6001600160a01b0316816001600160a01b0316837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45050565b6000610983836001600160a01b0384166118ca565b6115b3816119e7565b6000818152600c6020526040902080546115cc90612c0d565b159050610814576000818152600c6020526040812061081491611e98565b600082600001828154811061160f57634e487b7160e01b600052603260045260246000fd5b9060005260206000200154905092915050565b6000611636846001600160a01b0316611a96565b1561173257836001600160a01b031663150b7a02611652610c4a565b8786866040518563ffffffff1660e01b81526004016116749493929190612389565b602060405180830381600087803b15801561168e57600080fd5b505af19250505080156116be575060408051601f3d908101601f191682019092526116bb9181019061216b565b60015b611718573d8080156116ec576040519150601f19603f3d011682016040523d82523d6000602084013e6116f1565b606091505b5080516117105760405162461bcd60e51b81526004016105879061246d565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050610d7d565b506001949350505050565b6060600f80546104dd90612c0d565b606061175782610c2d565b6117735760405162461bcd60e51b8152600401610587906128bb565b600061177d61173d565b9050600081511161179d5760405180602001604052806000815250610983565b806117a784611aa5565b6040516020016117b89291906122d1565b6040516020818303038152906040529392505050565b5490565b60006001600160e01b03198216635a05180f60e01b14806104c657506104c682611bc0565b61180283838361063f565b6001600160a01b03831661181e5761181981611be5565b611841565b816001600160a01b0316836001600160a01b031614611841576118418382611c29565b6001600160a01b03821661185d5761185881611cc6565b61063f565b826001600160a01b0316826001600160a01b03161461063f5761063f8282611d9f565b600061188c8383611de3565b6118c257508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610741565b506000610741565b600081815260018301602052604081205480156119dd5760006118ee600183612bb3565b855490915060009061190290600190612bb3565b905081811461198357600086600001828154811061193057634e487b7160e01b600052603260045260246000fd5b906000526020600020015490508087600001848154811061196157634e487b7160e01b600052603260045260246000fd5b6000918252602080832090910192909255918252600188019052604090208390555b85548690806119a257634e487b7160e01b600052603160045260246000fd5b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610741565b6000915050610741565b60006119f2826108e3565b9050611a00816000846112bb565b611a0b600083610c4e565b6001600160a01b0381166000908152600560205260408120805460019290611a34908490612bb3565b909155505060008281526004602052604080822080546001600160a01b0319169055518391906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a46106778160008461063f565b6001600160a01b03163b151590565b606081611aca57506040805180820190915260018152600360fc1b60208201526104c9565b8160005b8115611af45780611ade81612c48565b9150611aed9050600a83612b80565b9150611ace565b60008167ffffffffffffffff811115611b1d57634e487b7160e01b600052604160045260246000fd5b6040519080825280601f01601f191660200182016040528015611b47576020820181803683370190505b5090505b8415610d7d57611b5c600183612bb3565b9150611b69600a86612c63565b611b74906030612b68565b60f81b818381518110611b9757634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a905350611bb9600a86612b80565b9450611b4b565b60006001600160e01b03198216637965db0b60e01b14806104c657506104c682611dfb565b600a80546000838152600b60205260408120829055600182018355919091527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a80155565b60006001611c3684610927565b611c409190612bb3565b600083815260096020526040902054909150808214611c93576001600160a01b03841660009081526008602090815260408083208584528252808320548484528184208190558352600990915290208190555b5060009182526009602090815260408084208490556001600160a01b039094168352600881528383209183525290812055565b600a54600090611cd890600190612bb3565b6000838152600b6020526040812054600a8054939450909284908110611d0e57634e487b7160e01b600052603260045260246000fd5b9060005260206000200154905080600a8381548110611d3d57634e487b7160e01b600052603260045260246000fd5b6000918252602080832090910192909255828152600b9091526040808220849055858252812055600a805480611d8357634e487b7160e01b600052603160045260246000fd5b6001900381819060005260206000200160009055905550505050565b6000611daa83610927565b6001600160a01b039093166000908152600860209081526040808320868452825280832085905593825260099052919091209190915550565b60009081526001919091016020526040902054151590565b6001600160e01b031981166301ffc9a760e01b14919050565b828054611e2090612c0d565b90600052602060002090601f016020900481019282611e425760008555611e88565b82601f10611e5b57805160ff1916838001178555611e88565b82800160010185558215611e88579182015b82811115611e88578251825591602001919060010190611e6d565b50611e94929150611ed0565b5090565b508054611ea490612c0d565b6000825580601f10611eb65750610814565b601f01602090049060005260206000209081019061081491905b5b80821115611e945760008155600101611ed1565b600067ffffffffffffffff80841115611f0057611f00612ca3565b604051601f8501601f19908116603f01168101908282118183101715611f2857611f28612ca3565b81604052809350858152868686011115611f4157600080fd5b858560208301376000602087830101525050509392505050565b80356001600160a01b03811681146104c957600080fd5b600082601f830112611f82578081fd5b61098383833560208501611ee5565b600060208284031215611fa2578081fd5b61098382611f5b565b60008060408385031215611fbd578081fd5b611fc683611f5b565b9150611fd460208401611f5b565b90509250929050565b600080600060608486031215611ff1578081fd5b611ffa84611f5b565b925061200860208501611f5b565b9150604084013590509250925092565b6000806000806080858703121561202d578081fd5b61203685611f5b565b935061204460208601611f5b565b925060408501359150606085013567ffffffffffffffff811115612066578182fd5b8501601f81018713612076578182fd5b61208587823560208401611ee5565b91505092959194509250565b600080604083850312156120a3578182fd5b6120ac83611f5b565b9150602083013580151581146120c0578182fd5b809150509250929050565b600080604083850312156120dd578182fd5b6120e683611f5b565b946020939093013593505050565b600060208284031215612105578081fd5b5035919050565b6000806040838503121561211e578182fd5b82359150611fd460208401611f5b565b60008060408385031215612140578182fd5b50508035926020909101359150565b600060208284031215612160578081fd5b813561098381612cb9565b60006020828403121561217c578081fd5b815161098381612cb9565b600060208284031215612198578081fd5b813567ffffffffffffffff8111156121ae578182fd5b610d7d84828501611f72565b600080600080600060a086880312156121d1578081fd5b853567ffffffffffffffff808211156121e8578283fd5b6121f489838a01611f72565b96506020880135915080821115612209578283fd5b61221589838a01611f72565b9550604088013591508082111561222a578283fd5b5061223788828901611f72565b93505061224660608701611f5b565b915061225460808701611f5b565b90509295509295909350565b60008060408385031215612272578182fd5b82359150602083013567ffffffffffffffff81111561228f578182fd5b61229b85828601611f72565b9150509250929050565b600081518084526122bd816020860160208601612bca565b601f01601f19169290920160200192915050565b600083516122e3818460208801612bca565b8351908301906122f7818360208801612bca565b01949350505050565b60007f416363657373436f6e74726f6c3a206163636f756e742000000000000000000082528351612338816017850160208801612bca565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351612369816028840160208801612bca565b01602801949350505050565b6001600160a01b0391909116815260200190565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906123bc908301846122a5565b9695505050505050565b901515815260200190565b90815260200190565b60006020825261098360208301846122a5565b6020808252818101527f537472696e67733a20686578206c656e67746820696e73756666696369656e74604082015260600190565b6020808252602b908201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560408201526a74206f6620626f756e647360a81b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b6020808252601c908201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604082015260600190565b6020808252601490820152734d75737420686176652041646d696e20726f6c6560601b604082015260600190565b60208082526024908201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646040820152637265737360e01b606082015260800190565b60208082526019908201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604082015260600190565b6020808252602c908201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860408201526b34b9ba32b73a103a37b5b2b760a11b606082015260800190565b60208082526038908201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760408201527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000606082015260800190565b6020808252602a908201527f4552433732313a2062616c616e636520717565727920666f7220746865207a65604082015269726f206164647265737360b01b606082015260800190565b60208082526029908201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460408201526832b73a103a37b5b2b760b91b606082015260800190565b6020808252602e908201527f45524337323155524953746f726167653a2055524920736574206f66206e6f6e60408201526d32bc34b9ba32b73a103a37b5b2b760911b606082015260800190565b6020808252601c908201527f4552433732313a20494e495449414c495a4520464f5242494444454e00000000604082015260600190565b6020808252818101527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604082015260600190565b60208082526024908201527f4f7065726174726f6e206f6e6c792063616e2075736520746869732066756e636040820152633a34b7b760e11b606082015260800190565b60208082526031908201527f45524337323155524953746f726167653a2055524920717565727920666f72206040820152703737b732bc34b9ba32b73a103a37b5b2b760791b606082015260800190565b6020808252602c908201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860408201526b34b9ba32b73a103a37b5b2b760a11b606082015260800190565b6020808252602f908201527f4552433732314d657461646174613a2055524920717565727920666f72206e6f60408201526e3732bc34b9ba32b73a103a37b5b2b760891b606082015260800190565b6020808252602e908201527f4552433732313a206d75737420686176652061646d696e20726f6c6520746f2060408201526d73657420546f6b656e205552497360901b606082015260800190565b60208082526021908201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656040820152603960f91b606082015260800190565b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b6020808252602e908201527f4552433732313a206d75737420686176652061646d696e20726f6c6520746f2060408201526d6368616e6765206261736555726960901b606082015260800190565b6020808252602c908201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60408201526b7574206f6620626f756e647360a01b606082015260800190565b60208082526030908201527f4552433732314275726e61626c653a2063616c6c6572206973206e6f74206f7760408201526f1b995c881b9bdc88185c1c1c9bdd995960821b606082015260800190565b60208082526025908201527f4552433732313a206d7573742068617665206d696e74657220726f6c6520746f604082015264081b5a5b9d60da1b606082015260800190565b6020808252602f908201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560408201526e103937b632b9903337b91039b2b63360891b606082015260800190565b60008219821115612b7b57612b7b612c77565b500190565b600082612b8f57612b8f612c8d565b500490565b6000816000190483118215151615612bae57612bae612c77565b500290565b600082821015612bc557612bc5612c77565b500390565b60005b83811015612be5578181015183820152602001612bcd565b83811115610a4e5750506000910152565b600081612c0557612c05612c77565b506000190190565b600281046001821680612c2157607f821691505b60208210811415612c4257634e487b7160e01b600052602260045260246000fd5b50919050565b6000600019821415612c5c57612c5c612c77565b5060010190565b600082612c7257612c72612c8d565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160e01b03198116811461081457600080fdfe9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6a2646970667358221220b030f4f70553d52f8e53838cf6b36cebd96c32ddf8ea9b9b3425e184b80967a664736f6c63430008010033",
  14038. }
  14039. // MetaRareERC721CollectionABI is the input ABI used to generate the binding from.
  14040. // Deprecated: Use MetaRareERC721CollectionMetaData.ABI instead.
  14041. var MetaRareERC721CollectionABI = MetaRareERC721CollectionMetaData.ABI
  14042. // Deprecated: Use MetaRareERC721CollectionMetaData.Sigs instead.
  14043. // MetaRareERC721CollectionFuncSigs maps the 4-byte function signature to its string representation.
  14044. var MetaRareERC721CollectionFuncSigs = MetaRareERC721CollectionMetaData.Sigs
  14045. // MetaRareERC721CollectionBin is the compiled bytecode used for deploying new contracts.
  14046. // Deprecated: Use MetaRareERC721CollectionMetaData.Bin instead.
  14047. var MetaRareERC721CollectionBin = MetaRareERC721CollectionMetaData.Bin
  14048. // DeployMetaRareERC721Collection deploys a new Ethereum contract, binding an instance of MetaRareERC721Collection to it.
  14049. func DeployMetaRareERC721Collection(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *MetaRareERC721Collection, error) {
  14050. parsed, err := MetaRareERC721CollectionMetaData.GetAbi()
  14051. if err != nil {
  14052. return common.Address{}, nil, nil, err
  14053. }
  14054. if parsed == nil {
  14055. return common.Address{}, nil, nil, errors.New("GetABI returned nil")
  14056. }
  14057. address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(MetaRareERC721CollectionBin), backend)
  14058. if err != nil {
  14059. return common.Address{}, nil, nil, err
  14060. }
  14061. return address, tx, &MetaRareERC721Collection{MetaRareERC721CollectionCaller: MetaRareERC721CollectionCaller{contract: contract}, MetaRareERC721CollectionTransactor: MetaRareERC721CollectionTransactor{contract: contract}, MetaRareERC721CollectionFilterer: MetaRareERC721CollectionFilterer{contract: contract}}, nil
  14062. }
  14063. // MetaRareERC721Collection is an auto generated Go binding around an Ethereum contract.
  14064. type MetaRareERC721Collection struct {
  14065. MetaRareERC721CollectionCaller // Read-only binding to the contract
  14066. MetaRareERC721CollectionTransactor // Write-only binding to the contract
  14067. MetaRareERC721CollectionFilterer // Log filterer for contract events
  14068. }
  14069. // MetaRareERC721CollectionCaller is an auto generated read-only Go binding around an Ethereum contract.
  14070. type MetaRareERC721CollectionCaller struct {
  14071. contract *bind.BoundContract // Generic contract wrapper for the low level calls
  14072. }
  14073. // MetaRareERC721CollectionTransactor is an auto generated write-only Go binding around an Ethereum contract.
  14074. type MetaRareERC721CollectionTransactor struct {
  14075. contract *bind.BoundContract // Generic contract wrapper for the low level calls
  14076. }
  14077. // MetaRareERC721CollectionFilterer is an auto generated log filtering Go binding around an Ethereum contract events.
  14078. type MetaRareERC721CollectionFilterer struct {
  14079. contract *bind.BoundContract // Generic contract wrapper for the low level calls
  14080. }
  14081. // MetaRareERC721CollectionSession is an auto generated Go binding around an Ethereum contract,
  14082. // with pre-set call and transact options.
  14083. type MetaRareERC721CollectionSession struct {
  14084. Contract *MetaRareERC721Collection // Generic contract binding to set the session for
  14085. CallOpts bind.CallOpts // Call options to use throughout this session
  14086. TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
  14087. }
  14088. // MetaRareERC721CollectionCallerSession is an auto generated read-only Go binding around an Ethereum contract,
  14089. // with pre-set call options.
  14090. type MetaRareERC721CollectionCallerSession struct {
  14091. Contract *MetaRareERC721CollectionCaller // Generic contract caller binding to set the session for
  14092. CallOpts bind.CallOpts // Call options to use throughout this session
  14093. }
  14094. // MetaRareERC721CollectionTransactorSession is an auto generated write-only Go binding around an Ethereum contract,
  14095. // with pre-set transact options.
  14096. type MetaRareERC721CollectionTransactorSession struct {
  14097. Contract *MetaRareERC721CollectionTransactor // Generic contract transactor binding to set the session for
  14098. TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
  14099. }
  14100. // MetaRareERC721CollectionRaw is an auto generated low-level Go binding around an Ethereum contract.
  14101. type MetaRareERC721CollectionRaw struct {
  14102. Contract *MetaRareERC721Collection // Generic contract binding to access the raw methods on
  14103. }
  14104. // MetaRareERC721CollectionCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
  14105. type MetaRareERC721CollectionCallerRaw struct {
  14106. Contract *MetaRareERC721CollectionCaller // Generic read-only contract binding to access the raw methods on
  14107. }
  14108. // MetaRareERC721CollectionTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
  14109. type MetaRareERC721CollectionTransactorRaw struct {
  14110. Contract *MetaRareERC721CollectionTransactor // Generic write-only contract binding to access the raw methods on
  14111. }
  14112. // NewMetaRareERC721Collection creates a new instance of MetaRareERC721Collection, bound to a specific deployed contract.
  14113. func NewMetaRareERC721Collection(address common.Address, backend bind.ContractBackend) (*MetaRareERC721Collection, error) {
  14114. contract, err := bindMetaRareERC721Collection(address, backend, backend, backend)
  14115. if err != nil {
  14116. return nil, err
  14117. }
  14118. return &MetaRareERC721Collection{MetaRareERC721CollectionCaller: MetaRareERC721CollectionCaller{contract: contract}, MetaRareERC721CollectionTransactor: MetaRareERC721CollectionTransactor{contract: contract}, MetaRareERC721CollectionFilterer: MetaRareERC721CollectionFilterer{contract: contract}}, nil
  14119. }
  14120. // NewMetaRareERC721CollectionCaller creates a new read-only instance of MetaRareERC721Collection, bound to a specific deployed contract.
  14121. func NewMetaRareERC721CollectionCaller(address common.Address, caller bind.ContractCaller) (*MetaRareERC721CollectionCaller, error) {
  14122. contract, err := bindMetaRareERC721Collection(address, caller, nil, nil)
  14123. if err != nil {
  14124. return nil, err
  14125. }
  14126. return &MetaRareERC721CollectionCaller{contract: contract}, nil
  14127. }
  14128. // NewMetaRareERC721CollectionTransactor creates a new write-only instance of MetaRareERC721Collection, bound to a specific deployed contract.
  14129. func NewMetaRareERC721CollectionTransactor(address common.Address, transactor bind.ContractTransactor) (*MetaRareERC721CollectionTransactor, error) {
  14130. contract, err := bindMetaRareERC721Collection(address, nil, transactor, nil)
  14131. if err != nil {
  14132. return nil, err
  14133. }
  14134. return &MetaRareERC721CollectionTransactor{contract: contract}, nil
  14135. }
  14136. // NewMetaRareERC721CollectionFilterer creates a new log filterer instance of MetaRareERC721Collection, bound to a specific deployed contract.
  14137. func NewMetaRareERC721CollectionFilterer(address common.Address, filterer bind.ContractFilterer) (*MetaRareERC721CollectionFilterer, error) {
  14138. contract, err := bindMetaRareERC721Collection(address, nil, nil, filterer)
  14139. if err != nil {
  14140. return nil, err
  14141. }
  14142. return &MetaRareERC721CollectionFilterer{contract: contract}, nil
  14143. }
  14144. // bindMetaRareERC721Collection binds a generic wrapper to an already deployed contract.
  14145. func bindMetaRareERC721Collection(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
  14146. parsed, err := abi.JSON(strings.NewReader(MetaRareERC721CollectionABI))
  14147. if err != nil {
  14148. return nil, err
  14149. }
  14150. return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil
  14151. }
  14152. // Call invokes the (constant) contract method with params as input values and
  14153. // sets the output to result. The result type might be a single field for simple
  14154. // returns, a slice of interfaces for anonymous returns and a struct for named
  14155. // returns.
  14156. func (_MetaRareERC721Collection *MetaRareERC721CollectionRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
  14157. return _MetaRareERC721Collection.Contract.MetaRareERC721CollectionCaller.contract.Call(opts, result, method, params...)
  14158. }
  14159. // Transfer initiates a plain transaction to move funds to the contract, calling
  14160. // its default method if one is available.
  14161. func (_MetaRareERC721Collection *MetaRareERC721CollectionRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
  14162. return _MetaRareERC721Collection.Contract.MetaRareERC721CollectionTransactor.contract.Transfer(opts)
  14163. }
  14164. // Transact invokes the (paid) contract method with params as input values.
  14165. func (_MetaRareERC721Collection *MetaRareERC721CollectionRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
  14166. return _MetaRareERC721Collection.Contract.MetaRareERC721CollectionTransactor.contract.Transact(opts, method, params...)
  14167. }
  14168. // Call invokes the (constant) contract method with params as input values and
  14169. // sets the output to result. The result type might be a single field for simple
  14170. // returns, a slice of interfaces for anonymous returns and a struct for named
  14171. // returns.
  14172. func (_MetaRareERC721Collection *MetaRareERC721CollectionCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
  14173. return _MetaRareERC721Collection.Contract.contract.Call(opts, result, method, params...)
  14174. }
  14175. // Transfer initiates a plain transaction to move funds to the contract, calling
  14176. // its default method if one is available.
  14177. func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
  14178. return _MetaRareERC721Collection.Contract.contract.Transfer(opts)
  14179. }
  14180. // Transact invokes the (paid) contract method with params as input values.
  14181. func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
  14182. return _MetaRareERC721Collection.Contract.contract.Transact(opts, method, params...)
  14183. }
  14184. // DEFAULTADMINROLE is a free data retrieval call binding the contract method 0xa217fddf.
  14185. //
  14186. // Solidity: function DEFAULT_ADMIN_ROLE() view returns(bytes32)
  14187. func (_MetaRareERC721Collection *MetaRareERC721CollectionCaller) DEFAULTADMINROLE(opts *bind.CallOpts) ([32]byte, error) {
  14188. var out []interface{}
  14189. err := _MetaRareERC721Collection.contract.Call(opts, &out, "DEFAULT_ADMIN_ROLE")
  14190. if err != nil {
  14191. return *new([32]byte), err
  14192. }
  14193. out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte)
  14194. return out0, err
  14195. }
  14196. // DEFAULTADMINROLE is a free data retrieval call binding the contract method 0xa217fddf.
  14197. //
  14198. // Solidity: function DEFAULT_ADMIN_ROLE() view returns(bytes32)
  14199. func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) DEFAULTADMINROLE() ([32]byte, error) {
  14200. return _MetaRareERC721Collection.Contract.DEFAULTADMINROLE(&_MetaRareERC721Collection.CallOpts)
  14201. }
  14202. // DEFAULTADMINROLE is a free data retrieval call binding the contract method 0xa217fddf.
  14203. //
  14204. // Solidity: function DEFAULT_ADMIN_ROLE() view returns(bytes32)
  14205. func (_MetaRareERC721Collection *MetaRareERC721CollectionCallerSession) DEFAULTADMINROLE() ([32]byte, error) {
  14206. return _MetaRareERC721Collection.Contract.DEFAULTADMINROLE(&_MetaRareERC721Collection.CallOpts)
  14207. }
  14208. // MINTERROLE is a free data retrieval call binding the contract method 0xd5391393.
  14209. //
  14210. // Solidity: function MINTER_ROLE() view returns(bytes32)
  14211. func (_MetaRareERC721Collection *MetaRareERC721CollectionCaller) MINTERROLE(opts *bind.CallOpts) ([32]byte, error) {
  14212. var out []interface{}
  14213. err := _MetaRareERC721Collection.contract.Call(opts, &out, "MINTER_ROLE")
  14214. if err != nil {
  14215. return *new([32]byte), err
  14216. }
  14217. out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte)
  14218. return out0, err
  14219. }
  14220. // MINTERROLE is a free data retrieval call binding the contract method 0xd5391393.
  14221. //
  14222. // Solidity: function MINTER_ROLE() view returns(bytes32)
  14223. func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) MINTERROLE() ([32]byte, error) {
  14224. return _MetaRareERC721Collection.Contract.MINTERROLE(&_MetaRareERC721Collection.CallOpts)
  14225. }
  14226. // MINTERROLE is a free data retrieval call binding the contract method 0xd5391393.
  14227. //
  14228. // Solidity: function MINTER_ROLE() view returns(bytes32)
  14229. func (_MetaRareERC721Collection *MetaRareERC721CollectionCallerSession) MINTERROLE() ([32]byte, error) {
  14230. return _MetaRareERC721Collection.Contract.MINTERROLE(&_MetaRareERC721Collection.CallOpts)
  14231. }
  14232. // MetaRareOperator is a free data retrieval call binding the contract method 0x6585690d.
  14233. //
  14234. // Solidity: function MetaRareOperator() view returns(address)
  14235. func (_MetaRareERC721Collection *MetaRareERC721CollectionCaller) MetaRareOperator(opts *bind.CallOpts) (common.Address, error) {
  14236. var out []interface{}
  14237. err := _MetaRareERC721Collection.contract.Call(opts, &out, "MetaRareOperator")
  14238. if err != nil {
  14239. return *new(common.Address), err
  14240. }
  14241. out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
  14242. return out0, err
  14243. }
  14244. // MetaRareOperator is a free data retrieval call binding the contract method 0x6585690d.
  14245. //
  14246. // Solidity: function MetaRareOperator() view returns(address)
  14247. func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) MetaRareOperator() (common.Address, error) {
  14248. return _MetaRareERC721Collection.Contract.MetaRareOperator(&_MetaRareERC721Collection.CallOpts)
  14249. }
  14250. // MetaRareOperator is a free data retrieval call binding the contract method 0x6585690d.
  14251. //
  14252. // Solidity: function MetaRareOperator() view returns(address)
  14253. func (_MetaRareERC721Collection *MetaRareERC721CollectionCallerSession) MetaRareOperator() (common.Address, error) {
  14254. return _MetaRareERC721Collection.Contract.MetaRareOperator(&_MetaRareERC721Collection.CallOpts)
  14255. }
  14256. // BalanceOf is a free data retrieval call binding the contract method 0x70a08231.
  14257. //
  14258. // Solidity: function balanceOf(address owner) view returns(uint256)
  14259. func (_MetaRareERC721Collection *MetaRareERC721CollectionCaller) BalanceOf(opts *bind.CallOpts, owner common.Address) (*big.Int, error) {
  14260. var out []interface{}
  14261. err := _MetaRareERC721Collection.contract.Call(opts, &out, "balanceOf", owner)
  14262. if err != nil {
  14263. return *new(*big.Int), err
  14264. }
  14265. out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
  14266. return out0, err
  14267. }
  14268. // BalanceOf is a free data retrieval call binding the contract method 0x70a08231.
  14269. //
  14270. // Solidity: function balanceOf(address owner) view returns(uint256)
  14271. func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) BalanceOf(owner common.Address) (*big.Int, error) {
  14272. return _MetaRareERC721Collection.Contract.BalanceOf(&_MetaRareERC721Collection.CallOpts, owner)
  14273. }
  14274. // BalanceOf is a free data retrieval call binding the contract method 0x70a08231.
  14275. //
  14276. // Solidity: function balanceOf(address owner) view returns(uint256)
  14277. func (_MetaRareERC721Collection *MetaRareERC721CollectionCallerSession) BalanceOf(owner common.Address) (*big.Int, error) {
  14278. return _MetaRareERC721Collection.Contract.BalanceOf(&_MetaRareERC721Collection.CallOpts, owner)
  14279. }
  14280. // CollectionFactory is a free data retrieval call binding the contract method 0xcf25a2fd.
  14281. //
  14282. // Solidity: function collectionFactory() view returns(address)
  14283. func (_MetaRareERC721Collection *MetaRareERC721CollectionCaller) CollectionFactory(opts *bind.CallOpts) (common.Address, error) {
  14284. var out []interface{}
  14285. err := _MetaRareERC721Collection.contract.Call(opts, &out, "collectionFactory")
  14286. if err != nil {
  14287. return *new(common.Address), err
  14288. }
  14289. out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
  14290. return out0, err
  14291. }
  14292. // CollectionFactory is a free data retrieval call binding the contract method 0xcf25a2fd.
  14293. //
  14294. // Solidity: function collectionFactory() view returns(address)
  14295. func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) CollectionFactory() (common.Address, error) {
  14296. return _MetaRareERC721Collection.Contract.CollectionFactory(&_MetaRareERC721Collection.CallOpts)
  14297. }
  14298. // CollectionFactory is a free data retrieval call binding the contract method 0xcf25a2fd.
  14299. //
  14300. // Solidity: function collectionFactory() view returns(address)
  14301. func (_MetaRareERC721Collection *MetaRareERC721CollectionCallerSession) CollectionFactory() (common.Address, error) {
  14302. return _MetaRareERC721Collection.Contract.CollectionFactory(&_MetaRareERC721Collection.CallOpts)
  14303. }
  14304. // GetApproved is a free data retrieval call binding the contract method 0x081812fc.
  14305. //
  14306. // Solidity: function getApproved(uint256 tokenId) view returns(address)
  14307. func (_MetaRareERC721Collection *MetaRareERC721CollectionCaller) GetApproved(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) {
  14308. var out []interface{}
  14309. err := _MetaRareERC721Collection.contract.Call(opts, &out, "getApproved", tokenId)
  14310. if err != nil {
  14311. return *new(common.Address), err
  14312. }
  14313. out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
  14314. return out0, err
  14315. }
  14316. // GetApproved is a free data retrieval call binding the contract method 0x081812fc.
  14317. //
  14318. // Solidity: function getApproved(uint256 tokenId) view returns(address)
  14319. func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) GetApproved(tokenId *big.Int) (common.Address, error) {
  14320. return _MetaRareERC721Collection.Contract.GetApproved(&_MetaRareERC721Collection.CallOpts, tokenId)
  14321. }
  14322. // GetApproved is a free data retrieval call binding the contract method 0x081812fc.
  14323. //
  14324. // Solidity: function getApproved(uint256 tokenId) view returns(address)
  14325. func (_MetaRareERC721Collection *MetaRareERC721CollectionCallerSession) GetApproved(tokenId *big.Int) (common.Address, error) {
  14326. return _MetaRareERC721Collection.Contract.GetApproved(&_MetaRareERC721Collection.CallOpts, tokenId)
  14327. }
  14328. // GetRoleAdmin is a free data retrieval call binding the contract method 0x248a9ca3.
  14329. //
  14330. // Solidity: function getRoleAdmin(bytes32 role) view returns(bytes32)
  14331. func (_MetaRareERC721Collection *MetaRareERC721CollectionCaller) GetRoleAdmin(opts *bind.CallOpts, role [32]byte) ([32]byte, error) {
  14332. var out []interface{}
  14333. err := _MetaRareERC721Collection.contract.Call(opts, &out, "getRoleAdmin", role)
  14334. if err != nil {
  14335. return *new([32]byte), err
  14336. }
  14337. out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte)
  14338. return out0, err
  14339. }
  14340. // GetRoleAdmin is a free data retrieval call binding the contract method 0x248a9ca3.
  14341. //
  14342. // Solidity: function getRoleAdmin(bytes32 role) view returns(bytes32)
  14343. func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) GetRoleAdmin(role [32]byte) ([32]byte, error) {
  14344. return _MetaRareERC721Collection.Contract.GetRoleAdmin(&_MetaRareERC721Collection.CallOpts, role)
  14345. }
  14346. // GetRoleAdmin is a free data retrieval call binding the contract method 0x248a9ca3.
  14347. //
  14348. // Solidity: function getRoleAdmin(bytes32 role) view returns(bytes32)
  14349. func (_MetaRareERC721Collection *MetaRareERC721CollectionCallerSession) GetRoleAdmin(role [32]byte) ([32]byte, error) {
  14350. return _MetaRareERC721Collection.Contract.GetRoleAdmin(&_MetaRareERC721Collection.CallOpts, role)
  14351. }
  14352. // GetRoleMember is a free data retrieval call binding the contract method 0x9010d07c.
  14353. //
  14354. // Solidity: function getRoleMember(bytes32 role, uint256 index) view returns(address)
  14355. func (_MetaRareERC721Collection *MetaRareERC721CollectionCaller) GetRoleMember(opts *bind.CallOpts, role [32]byte, index *big.Int) (common.Address, error) {
  14356. var out []interface{}
  14357. err := _MetaRareERC721Collection.contract.Call(opts, &out, "getRoleMember", role, index)
  14358. if err != nil {
  14359. return *new(common.Address), err
  14360. }
  14361. out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
  14362. return out0, err
  14363. }
  14364. // GetRoleMember is a free data retrieval call binding the contract method 0x9010d07c.
  14365. //
  14366. // Solidity: function getRoleMember(bytes32 role, uint256 index) view returns(address)
  14367. func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) GetRoleMember(role [32]byte, index *big.Int) (common.Address, error) {
  14368. return _MetaRareERC721Collection.Contract.GetRoleMember(&_MetaRareERC721Collection.CallOpts, role, index)
  14369. }
  14370. // GetRoleMember is a free data retrieval call binding the contract method 0x9010d07c.
  14371. //
  14372. // Solidity: function getRoleMember(bytes32 role, uint256 index) view returns(address)
  14373. func (_MetaRareERC721Collection *MetaRareERC721CollectionCallerSession) GetRoleMember(role [32]byte, index *big.Int) (common.Address, error) {
  14374. return _MetaRareERC721Collection.Contract.GetRoleMember(&_MetaRareERC721Collection.CallOpts, role, index)
  14375. }
  14376. // GetRoleMemberCount is a free data retrieval call binding the contract method 0xca15c873.
  14377. //
  14378. // Solidity: function getRoleMemberCount(bytes32 role) view returns(uint256)
  14379. func (_MetaRareERC721Collection *MetaRareERC721CollectionCaller) GetRoleMemberCount(opts *bind.CallOpts, role [32]byte) (*big.Int, error) {
  14380. var out []interface{}
  14381. err := _MetaRareERC721Collection.contract.Call(opts, &out, "getRoleMemberCount", role)
  14382. if err != nil {
  14383. return *new(*big.Int), err
  14384. }
  14385. out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
  14386. return out0, err
  14387. }
  14388. // GetRoleMemberCount is a free data retrieval call binding the contract method 0xca15c873.
  14389. //
  14390. // Solidity: function getRoleMemberCount(bytes32 role) view returns(uint256)
  14391. func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) GetRoleMemberCount(role [32]byte) (*big.Int, error) {
  14392. return _MetaRareERC721Collection.Contract.GetRoleMemberCount(&_MetaRareERC721Collection.CallOpts, role)
  14393. }
  14394. // GetRoleMemberCount is a free data retrieval call binding the contract method 0xca15c873.
  14395. //
  14396. // Solidity: function getRoleMemberCount(bytes32 role) view returns(uint256)
  14397. func (_MetaRareERC721Collection *MetaRareERC721CollectionCallerSession) GetRoleMemberCount(role [32]byte) (*big.Int, error) {
  14398. return _MetaRareERC721Collection.Contract.GetRoleMemberCount(&_MetaRareERC721Collection.CallOpts, role)
  14399. }
  14400. // HasRole is a free data retrieval call binding the contract method 0x91d14854.
  14401. //
  14402. // Solidity: function hasRole(bytes32 role, address account) view returns(bool)
  14403. func (_MetaRareERC721Collection *MetaRareERC721CollectionCaller) HasRole(opts *bind.CallOpts, role [32]byte, account common.Address) (bool, error) {
  14404. var out []interface{}
  14405. err := _MetaRareERC721Collection.contract.Call(opts, &out, "hasRole", role, account)
  14406. if err != nil {
  14407. return *new(bool), err
  14408. }
  14409. out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
  14410. return out0, err
  14411. }
  14412. // HasRole is a free data retrieval call binding the contract method 0x91d14854.
  14413. //
  14414. // Solidity: function hasRole(bytes32 role, address account) view returns(bool)
  14415. func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) HasRole(role [32]byte, account common.Address) (bool, error) {
  14416. return _MetaRareERC721Collection.Contract.HasRole(&_MetaRareERC721Collection.CallOpts, role, account)
  14417. }
  14418. // HasRole is a free data retrieval call binding the contract method 0x91d14854.
  14419. //
  14420. // Solidity: function hasRole(bytes32 role, address account) view returns(bool)
  14421. func (_MetaRareERC721Collection *MetaRareERC721CollectionCallerSession) HasRole(role [32]byte, account common.Address) (bool, error) {
  14422. return _MetaRareERC721Collection.Contract.HasRole(&_MetaRareERC721Collection.CallOpts, role, account)
  14423. }
  14424. // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5.
  14425. //
  14426. // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool)
  14427. func (_MetaRareERC721Collection *MetaRareERC721CollectionCaller) IsApprovedForAll(opts *bind.CallOpts, owner common.Address, operator common.Address) (bool, error) {
  14428. var out []interface{}
  14429. err := _MetaRareERC721Collection.contract.Call(opts, &out, "isApprovedForAll", owner, operator)
  14430. if err != nil {
  14431. return *new(bool), err
  14432. }
  14433. out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
  14434. return out0, err
  14435. }
  14436. // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5.
  14437. //
  14438. // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool)
  14439. func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) {
  14440. return _MetaRareERC721Collection.Contract.IsApprovedForAll(&_MetaRareERC721Collection.CallOpts, owner, operator)
  14441. }
  14442. // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5.
  14443. //
  14444. // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool)
  14445. func (_MetaRareERC721Collection *MetaRareERC721CollectionCallerSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) {
  14446. return _MetaRareERC721Collection.Contract.IsApprovedForAll(&_MetaRareERC721Collection.CallOpts, owner, operator)
  14447. }
  14448. // Name is a free data retrieval call binding the contract method 0x06fdde03.
  14449. //
  14450. // Solidity: function name() view returns(string)
  14451. func (_MetaRareERC721Collection *MetaRareERC721CollectionCaller) Name(opts *bind.CallOpts) (string, error) {
  14452. var out []interface{}
  14453. err := _MetaRareERC721Collection.contract.Call(opts, &out, "name")
  14454. if err != nil {
  14455. return *new(string), err
  14456. }
  14457. out0 := *abi.ConvertType(out[0], new(string)).(*string)
  14458. return out0, err
  14459. }
  14460. // Name is a free data retrieval call binding the contract method 0x06fdde03.
  14461. //
  14462. // Solidity: function name() view returns(string)
  14463. func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) Name() (string, error) {
  14464. return _MetaRareERC721Collection.Contract.Name(&_MetaRareERC721Collection.CallOpts)
  14465. }
  14466. // Name is a free data retrieval call binding the contract method 0x06fdde03.
  14467. //
  14468. // Solidity: function name() view returns(string)
  14469. func (_MetaRareERC721Collection *MetaRareERC721CollectionCallerSession) Name() (string, error) {
  14470. return _MetaRareERC721Collection.Contract.Name(&_MetaRareERC721Collection.CallOpts)
  14471. }
  14472. // OwnerOf is a free data retrieval call binding the contract method 0x6352211e.
  14473. //
  14474. // Solidity: function ownerOf(uint256 tokenId) view returns(address)
  14475. func (_MetaRareERC721Collection *MetaRareERC721CollectionCaller) OwnerOf(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) {
  14476. var out []interface{}
  14477. err := _MetaRareERC721Collection.contract.Call(opts, &out, "ownerOf", tokenId)
  14478. if err != nil {
  14479. return *new(common.Address), err
  14480. }
  14481. out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
  14482. return out0, err
  14483. }
  14484. // OwnerOf is a free data retrieval call binding the contract method 0x6352211e.
  14485. //
  14486. // Solidity: function ownerOf(uint256 tokenId) view returns(address)
  14487. func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) OwnerOf(tokenId *big.Int) (common.Address, error) {
  14488. return _MetaRareERC721Collection.Contract.OwnerOf(&_MetaRareERC721Collection.CallOpts, tokenId)
  14489. }
  14490. // OwnerOf is a free data retrieval call binding the contract method 0x6352211e.
  14491. //
  14492. // Solidity: function ownerOf(uint256 tokenId) view returns(address)
  14493. func (_MetaRareERC721Collection *MetaRareERC721CollectionCallerSession) OwnerOf(tokenId *big.Int) (common.Address, error) {
  14494. return _MetaRareERC721Collection.Contract.OwnerOf(&_MetaRareERC721Collection.CallOpts, tokenId)
  14495. }
  14496. // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
  14497. //
  14498. // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
  14499. func (_MetaRareERC721Collection *MetaRareERC721CollectionCaller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) {
  14500. var out []interface{}
  14501. err := _MetaRareERC721Collection.contract.Call(opts, &out, "supportsInterface", interfaceId)
  14502. if err != nil {
  14503. return *new(bool), err
  14504. }
  14505. out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
  14506. return out0, err
  14507. }
  14508. // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
  14509. //
  14510. // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
  14511. func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) SupportsInterface(interfaceId [4]byte) (bool, error) {
  14512. return _MetaRareERC721Collection.Contract.SupportsInterface(&_MetaRareERC721Collection.CallOpts, interfaceId)
  14513. }
  14514. // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
  14515. //
  14516. // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
  14517. func (_MetaRareERC721Collection *MetaRareERC721CollectionCallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) {
  14518. return _MetaRareERC721Collection.Contract.SupportsInterface(&_MetaRareERC721Collection.CallOpts, interfaceId)
  14519. }
  14520. // Symbol is a free data retrieval call binding the contract method 0x95d89b41.
  14521. //
  14522. // Solidity: function symbol() view returns(string)
  14523. func (_MetaRareERC721Collection *MetaRareERC721CollectionCaller) Symbol(opts *bind.CallOpts) (string, error) {
  14524. var out []interface{}
  14525. err := _MetaRareERC721Collection.contract.Call(opts, &out, "symbol")
  14526. if err != nil {
  14527. return *new(string), err
  14528. }
  14529. out0 := *abi.ConvertType(out[0], new(string)).(*string)
  14530. return out0, err
  14531. }
  14532. // Symbol is a free data retrieval call binding the contract method 0x95d89b41.
  14533. //
  14534. // Solidity: function symbol() view returns(string)
  14535. func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) Symbol() (string, error) {
  14536. return _MetaRareERC721Collection.Contract.Symbol(&_MetaRareERC721Collection.CallOpts)
  14537. }
  14538. // Symbol is a free data retrieval call binding the contract method 0x95d89b41.
  14539. //
  14540. // Solidity: function symbol() view returns(string)
  14541. func (_MetaRareERC721Collection *MetaRareERC721CollectionCallerSession) Symbol() (string, error) {
  14542. return _MetaRareERC721Collection.Contract.Symbol(&_MetaRareERC721Collection.CallOpts)
  14543. }
  14544. // TokenByIndex is a free data retrieval call binding the contract method 0x4f6ccce7.
  14545. //
  14546. // Solidity: function tokenByIndex(uint256 index) view returns(uint256)
  14547. func (_MetaRareERC721Collection *MetaRareERC721CollectionCaller) TokenByIndex(opts *bind.CallOpts, index *big.Int) (*big.Int, error) {
  14548. var out []interface{}
  14549. err := _MetaRareERC721Collection.contract.Call(opts, &out, "tokenByIndex", index)
  14550. if err != nil {
  14551. return *new(*big.Int), err
  14552. }
  14553. out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
  14554. return out0, err
  14555. }
  14556. // TokenByIndex is a free data retrieval call binding the contract method 0x4f6ccce7.
  14557. //
  14558. // Solidity: function tokenByIndex(uint256 index) view returns(uint256)
  14559. func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) TokenByIndex(index *big.Int) (*big.Int, error) {
  14560. return _MetaRareERC721Collection.Contract.TokenByIndex(&_MetaRareERC721Collection.CallOpts, index)
  14561. }
  14562. // TokenByIndex is a free data retrieval call binding the contract method 0x4f6ccce7.
  14563. //
  14564. // Solidity: function tokenByIndex(uint256 index) view returns(uint256)
  14565. func (_MetaRareERC721Collection *MetaRareERC721CollectionCallerSession) TokenByIndex(index *big.Int) (*big.Int, error) {
  14566. return _MetaRareERC721Collection.Contract.TokenByIndex(&_MetaRareERC721Collection.CallOpts, index)
  14567. }
  14568. // TokenOfOwnerByIndex is a free data retrieval call binding the contract method 0x2f745c59.
  14569. //
  14570. // Solidity: function tokenOfOwnerByIndex(address owner, uint256 index) view returns(uint256)
  14571. func (_MetaRareERC721Collection *MetaRareERC721CollectionCaller) TokenOfOwnerByIndex(opts *bind.CallOpts, owner common.Address, index *big.Int) (*big.Int, error) {
  14572. var out []interface{}
  14573. err := _MetaRareERC721Collection.contract.Call(opts, &out, "tokenOfOwnerByIndex", owner, index)
  14574. if err != nil {
  14575. return *new(*big.Int), err
  14576. }
  14577. out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
  14578. return out0, err
  14579. }
  14580. // TokenOfOwnerByIndex is a free data retrieval call binding the contract method 0x2f745c59.
  14581. //
  14582. // Solidity: function tokenOfOwnerByIndex(address owner, uint256 index) view returns(uint256)
  14583. func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) TokenOfOwnerByIndex(owner common.Address, index *big.Int) (*big.Int, error) {
  14584. return _MetaRareERC721Collection.Contract.TokenOfOwnerByIndex(&_MetaRareERC721Collection.CallOpts, owner, index)
  14585. }
  14586. // TokenOfOwnerByIndex is a free data retrieval call binding the contract method 0x2f745c59.
  14587. //
  14588. // Solidity: function tokenOfOwnerByIndex(address owner, uint256 index) view returns(uint256)
  14589. func (_MetaRareERC721Collection *MetaRareERC721CollectionCallerSession) TokenOfOwnerByIndex(owner common.Address, index *big.Int) (*big.Int, error) {
  14590. return _MetaRareERC721Collection.Contract.TokenOfOwnerByIndex(&_MetaRareERC721Collection.CallOpts, owner, index)
  14591. }
  14592. // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd.
  14593. //
  14594. // Solidity: function tokenURI(uint256 tokenId) view returns(string)
  14595. func (_MetaRareERC721Collection *MetaRareERC721CollectionCaller) TokenURI(opts *bind.CallOpts, tokenId *big.Int) (string, error) {
  14596. var out []interface{}
  14597. err := _MetaRareERC721Collection.contract.Call(opts, &out, "tokenURI", tokenId)
  14598. if err != nil {
  14599. return *new(string), err
  14600. }
  14601. out0 := *abi.ConvertType(out[0], new(string)).(*string)
  14602. return out0, err
  14603. }
  14604. // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd.
  14605. //
  14606. // Solidity: function tokenURI(uint256 tokenId) view returns(string)
  14607. func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) TokenURI(tokenId *big.Int) (string, error) {
  14608. return _MetaRareERC721Collection.Contract.TokenURI(&_MetaRareERC721Collection.CallOpts, tokenId)
  14609. }
  14610. // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd.
  14611. //
  14612. // Solidity: function tokenURI(uint256 tokenId) view returns(string)
  14613. func (_MetaRareERC721Collection *MetaRareERC721CollectionCallerSession) TokenURI(tokenId *big.Int) (string, error) {
  14614. return _MetaRareERC721Collection.Contract.TokenURI(&_MetaRareERC721Collection.CallOpts, tokenId)
  14615. }
  14616. // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd.
  14617. //
  14618. // Solidity: function totalSupply() view returns(uint256)
  14619. func (_MetaRareERC721Collection *MetaRareERC721CollectionCaller) TotalSupply(opts *bind.CallOpts) (*big.Int, error) {
  14620. var out []interface{}
  14621. err := _MetaRareERC721Collection.contract.Call(opts, &out, "totalSupply")
  14622. if err != nil {
  14623. return *new(*big.Int), err
  14624. }
  14625. out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
  14626. return out0, err
  14627. }
  14628. // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd.
  14629. //
  14630. // Solidity: function totalSupply() view returns(uint256)
  14631. func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) TotalSupply() (*big.Int, error) {
  14632. return _MetaRareERC721Collection.Contract.TotalSupply(&_MetaRareERC721Collection.CallOpts)
  14633. }
  14634. // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd.
  14635. //
  14636. // Solidity: function totalSupply() view returns(uint256)
  14637. func (_MetaRareERC721Collection *MetaRareERC721CollectionCallerSession) TotalSupply() (*big.Int, error) {
  14638. return _MetaRareERC721Collection.Contract.TotalSupply(&_MetaRareERC721Collection.CallOpts)
  14639. }
  14640. // Approve is a paid mutator transaction binding the contract method 0x095ea7b3.
  14641. //
  14642. // Solidity: function approve(address to, uint256 tokenId) returns()
  14643. func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactor) Approve(opts *bind.TransactOpts, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
  14644. return _MetaRareERC721Collection.contract.Transact(opts, "approve", to, tokenId)
  14645. }
  14646. // Approve is a paid mutator transaction binding the contract method 0x095ea7b3.
  14647. //
  14648. // Solidity: function approve(address to, uint256 tokenId) returns()
  14649. func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) {
  14650. return _MetaRareERC721Collection.Contract.Approve(&_MetaRareERC721Collection.TransactOpts, to, tokenId)
  14651. }
  14652. // Approve is a paid mutator transaction binding the contract method 0x095ea7b3.
  14653. //
  14654. // Solidity: function approve(address to, uint256 tokenId) returns()
  14655. func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactorSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) {
  14656. return _MetaRareERC721Collection.Contract.Approve(&_MetaRareERC721Collection.TransactOpts, to, tokenId)
  14657. }
  14658. // Burn is a paid mutator transaction binding the contract method 0x42966c68.
  14659. //
  14660. // Solidity: function burn(uint256 tokenId) returns()
  14661. func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactor) Burn(opts *bind.TransactOpts, tokenId *big.Int) (*types.Transaction, error) {
  14662. return _MetaRareERC721Collection.contract.Transact(opts, "burn", tokenId)
  14663. }
  14664. // Burn is a paid mutator transaction binding the contract method 0x42966c68.
  14665. //
  14666. // Solidity: function burn(uint256 tokenId) returns()
  14667. func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) Burn(tokenId *big.Int) (*types.Transaction, error) {
  14668. return _MetaRareERC721Collection.Contract.Burn(&_MetaRareERC721Collection.TransactOpts, tokenId)
  14669. }
  14670. // Burn is a paid mutator transaction binding the contract method 0x42966c68.
  14671. //
  14672. // Solidity: function burn(uint256 tokenId) returns()
  14673. func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactorSession) Burn(tokenId *big.Int) (*types.Transaction, error) {
  14674. return _MetaRareERC721Collection.Contract.Burn(&_MetaRareERC721Collection.TransactOpts, tokenId)
  14675. }
  14676. // GrantRole is a paid mutator transaction binding the contract method 0x2f2ff15d.
  14677. //
  14678. // Solidity: function grantRole(bytes32 role, address account) returns()
  14679. func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactor) GrantRole(opts *bind.TransactOpts, role [32]byte, account common.Address) (*types.Transaction, error) {
  14680. return _MetaRareERC721Collection.contract.Transact(opts, "grantRole", role, account)
  14681. }
  14682. // GrantRole is a paid mutator transaction binding the contract method 0x2f2ff15d.
  14683. //
  14684. // Solidity: function grantRole(bytes32 role, address account) returns()
  14685. func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) GrantRole(role [32]byte, account common.Address) (*types.Transaction, error) {
  14686. return _MetaRareERC721Collection.Contract.GrantRole(&_MetaRareERC721Collection.TransactOpts, role, account)
  14687. }
  14688. // GrantRole is a paid mutator transaction binding the contract method 0x2f2ff15d.
  14689. //
  14690. // Solidity: function grantRole(bytes32 role, address account) returns()
  14691. func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactorSession) GrantRole(role [32]byte, account common.Address) (*types.Transaction, error) {
  14692. return _MetaRareERC721Collection.Contract.GrantRole(&_MetaRareERC721Collection.TransactOpts, role, account)
  14693. }
  14694. // Initialize is a paid mutator transaction binding the contract method 0xd6d0faee.
  14695. //
  14696. // Solidity: function initialize(string initName, string initSymbol, string baseURI, address collectionOwner, address operatorContract) returns()
  14697. func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactor) Initialize(opts *bind.TransactOpts, initName string, initSymbol string, baseURI string, collectionOwner common.Address, operatorContract common.Address) (*types.Transaction, error) {
  14698. return _MetaRareERC721Collection.contract.Transact(opts, "initialize", initName, initSymbol, baseURI, collectionOwner, operatorContract)
  14699. }
  14700. // Initialize is a paid mutator transaction binding the contract method 0xd6d0faee.
  14701. //
  14702. // Solidity: function initialize(string initName, string initSymbol, string baseURI, address collectionOwner, address operatorContract) returns()
  14703. func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) Initialize(initName string, initSymbol string, baseURI string, collectionOwner common.Address, operatorContract common.Address) (*types.Transaction, error) {
  14704. return _MetaRareERC721Collection.Contract.Initialize(&_MetaRareERC721Collection.TransactOpts, initName, initSymbol, baseURI, collectionOwner, operatorContract)
  14705. }
  14706. // Initialize is a paid mutator transaction binding the contract method 0xd6d0faee.
  14707. //
  14708. // Solidity: function initialize(string initName, string initSymbol, string baseURI, address collectionOwner, address operatorContract) returns()
  14709. func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactorSession) Initialize(initName string, initSymbol string, baseURI string, collectionOwner common.Address, operatorContract common.Address) (*types.Transaction, error) {
  14710. return _MetaRareERC721Collection.Contract.Initialize(&_MetaRareERC721Collection.TransactOpts, initName, initSymbol, baseURI, collectionOwner, operatorContract)
  14711. }
  14712. // Mint is a paid mutator transaction binding the contract method 0x40c10f19.
  14713. //
  14714. // Solidity: function mint(address to, uint256 tokenId) returns()
  14715. func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactor) Mint(opts *bind.TransactOpts, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
  14716. return _MetaRareERC721Collection.contract.Transact(opts, "mint", to, tokenId)
  14717. }
  14718. // Mint is a paid mutator transaction binding the contract method 0x40c10f19.
  14719. //
  14720. // Solidity: function mint(address to, uint256 tokenId) returns()
  14721. func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) Mint(to common.Address, tokenId *big.Int) (*types.Transaction, error) {
  14722. return _MetaRareERC721Collection.Contract.Mint(&_MetaRareERC721Collection.TransactOpts, to, tokenId)
  14723. }
  14724. // Mint is a paid mutator transaction binding the contract method 0x40c10f19.
  14725. //
  14726. // Solidity: function mint(address to, uint256 tokenId) returns()
  14727. func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactorSession) Mint(to common.Address, tokenId *big.Int) (*types.Transaction, error) {
  14728. return _MetaRareERC721Collection.Contract.Mint(&_MetaRareERC721Collection.TransactOpts, to, tokenId)
  14729. }
  14730. // RenounceRole is a paid mutator transaction binding the contract method 0x36568abe.
  14731. //
  14732. // Solidity: function renounceRole(bytes32 role, address account) returns()
  14733. func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactor) RenounceRole(opts *bind.TransactOpts, role [32]byte, account common.Address) (*types.Transaction, error) {
  14734. return _MetaRareERC721Collection.contract.Transact(opts, "renounceRole", role, account)
  14735. }
  14736. // RenounceRole is a paid mutator transaction binding the contract method 0x36568abe.
  14737. //
  14738. // Solidity: function renounceRole(bytes32 role, address account) returns()
  14739. func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) RenounceRole(role [32]byte, account common.Address) (*types.Transaction, error) {
  14740. return _MetaRareERC721Collection.Contract.RenounceRole(&_MetaRareERC721Collection.TransactOpts, role, account)
  14741. }
  14742. // RenounceRole is a paid mutator transaction binding the contract method 0x36568abe.
  14743. //
  14744. // Solidity: function renounceRole(bytes32 role, address account) returns()
  14745. func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactorSession) RenounceRole(role [32]byte, account common.Address) (*types.Transaction, error) {
  14746. return _MetaRareERC721Collection.Contract.RenounceRole(&_MetaRareERC721Collection.TransactOpts, role, account)
  14747. }
  14748. // RevokeRole is a paid mutator transaction binding the contract method 0xd547741f.
  14749. //
  14750. // Solidity: function revokeRole(bytes32 role, address account) returns()
  14751. func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactor) RevokeRole(opts *bind.TransactOpts, role [32]byte, account common.Address) (*types.Transaction, error) {
  14752. return _MetaRareERC721Collection.contract.Transact(opts, "revokeRole", role, account)
  14753. }
  14754. // RevokeRole is a paid mutator transaction binding the contract method 0xd547741f.
  14755. //
  14756. // Solidity: function revokeRole(bytes32 role, address account) returns()
  14757. func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) RevokeRole(role [32]byte, account common.Address) (*types.Transaction, error) {
  14758. return _MetaRareERC721Collection.Contract.RevokeRole(&_MetaRareERC721Collection.TransactOpts, role, account)
  14759. }
  14760. // RevokeRole is a paid mutator transaction binding the contract method 0xd547741f.
  14761. //
  14762. // Solidity: function revokeRole(bytes32 role, address account) returns()
  14763. func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactorSession) RevokeRole(role [32]byte, account common.Address) (*types.Transaction, error) {
  14764. return _MetaRareERC721Collection.Contract.RevokeRole(&_MetaRareERC721Collection.TransactOpts, role, account)
  14765. }
  14766. // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e.
  14767. //
  14768. // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns()
  14769. func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactor) SafeTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
  14770. return _MetaRareERC721Collection.contract.Transact(opts, "safeTransferFrom", from, to, tokenId)
  14771. }
  14772. // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e.
  14773. //
  14774. // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns()
  14775. func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
  14776. return _MetaRareERC721Collection.Contract.SafeTransferFrom(&_MetaRareERC721Collection.TransactOpts, from, to, tokenId)
  14777. }
  14778. // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e.
  14779. //
  14780. // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns()
  14781. func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactorSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
  14782. return _MetaRareERC721Collection.Contract.SafeTransferFrom(&_MetaRareERC721Collection.TransactOpts, from, to, tokenId)
  14783. }
  14784. // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde.
  14785. //
  14786. // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns()
  14787. func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactor) SafeTransferFrom0(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) {
  14788. return _MetaRareERC721Collection.contract.Transact(opts, "safeTransferFrom0", from, to, tokenId, _data)
  14789. }
  14790. // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde.
  14791. //
  14792. // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns()
  14793. func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) {
  14794. return _MetaRareERC721Collection.Contract.SafeTransferFrom0(&_MetaRareERC721Collection.TransactOpts, from, to, tokenId, _data)
  14795. }
  14796. // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde.
  14797. //
  14798. // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns()
  14799. func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactorSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) {
  14800. return _MetaRareERC721Collection.Contract.SafeTransferFrom0(&_MetaRareERC721Collection.TransactOpts, from, to, tokenId, _data)
  14801. }
  14802. // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465.
  14803. //
  14804. // Solidity: function setApprovalForAll(address operator, bool approved) returns()
  14805. func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactor) SetApprovalForAll(opts *bind.TransactOpts, operator common.Address, approved bool) (*types.Transaction, error) {
  14806. return _MetaRareERC721Collection.contract.Transact(opts, "setApprovalForAll", operator, approved)
  14807. }
  14808. // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465.
  14809. //
  14810. // Solidity: function setApprovalForAll(address operator, bool approved) returns()
  14811. func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) SetApprovalForAll(operator common.Address, approved bool) (*types.Transaction, error) {
  14812. return _MetaRareERC721Collection.Contract.SetApprovalForAll(&_MetaRareERC721Collection.TransactOpts, operator, approved)
  14813. }
  14814. // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465.
  14815. //
  14816. // Solidity: function setApprovalForAll(address operator, bool approved) returns()
  14817. func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactorSession) SetApprovalForAll(operator common.Address, approved bool) (*types.Transaction, error) {
  14818. return _MetaRareERC721Collection.Contract.SetApprovalForAll(&_MetaRareERC721Collection.TransactOpts, operator, approved)
  14819. }
  14820. // SetBaseURI is a paid mutator transaction binding the contract method 0x55f804b3.
  14821. //
  14822. // Solidity: function setBaseURI(string newBaseUri) returns()
  14823. func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactor) SetBaseURI(opts *bind.TransactOpts, newBaseUri string) (*types.Transaction, error) {
  14824. return _MetaRareERC721Collection.contract.Transact(opts, "setBaseURI", newBaseUri)
  14825. }
  14826. // SetBaseURI is a paid mutator transaction binding the contract method 0x55f804b3.
  14827. //
  14828. // Solidity: function setBaseURI(string newBaseUri) returns()
  14829. func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) SetBaseURI(newBaseUri string) (*types.Transaction, error) {
  14830. return _MetaRareERC721Collection.Contract.SetBaseURI(&_MetaRareERC721Collection.TransactOpts, newBaseUri)
  14831. }
  14832. // SetBaseURI is a paid mutator transaction binding the contract method 0x55f804b3.
  14833. //
  14834. // Solidity: function setBaseURI(string newBaseUri) returns()
  14835. func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactorSession) SetBaseURI(newBaseUri string) (*types.Transaction, error) {
  14836. return _MetaRareERC721Collection.Contract.SetBaseURI(&_MetaRareERC721Collection.TransactOpts, newBaseUri)
  14837. }
  14838. // SetName is a paid mutator transaction binding the contract method 0xc47f0027.
  14839. //
  14840. // Solidity: function setName(string newName) returns()
  14841. func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactor) SetName(opts *bind.TransactOpts, newName string) (*types.Transaction, error) {
  14842. return _MetaRareERC721Collection.contract.Transact(opts, "setName", newName)
  14843. }
  14844. // SetName is a paid mutator transaction binding the contract method 0xc47f0027.
  14845. //
  14846. // Solidity: function setName(string newName) returns()
  14847. func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) SetName(newName string) (*types.Transaction, error) {
  14848. return _MetaRareERC721Collection.Contract.SetName(&_MetaRareERC721Collection.TransactOpts, newName)
  14849. }
  14850. // SetName is a paid mutator transaction binding the contract method 0xc47f0027.
  14851. //
  14852. // Solidity: function setName(string newName) returns()
  14853. func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactorSession) SetName(newName string) (*types.Transaction, error) {
  14854. return _MetaRareERC721Collection.Contract.SetName(&_MetaRareERC721Collection.TransactOpts, newName)
  14855. }
  14856. // SetSymbol is a paid mutator transaction binding the contract method 0xb84c8246.
  14857. //
  14858. // Solidity: function setSymbol(string newSymbol) returns()
  14859. func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactor) SetSymbol(opts *bind.TransactOpts, newSymbol string) (*types.Transaction, error) {
  14860. return _MetaRareERC721Collection.contract.Transact(opts, "setSymbol", newSymbol)
  14861. }
  14862. // SetSymbol is a paid mutator transaction binding the contract method 0xb84c8246.
  14863. //
  14864. // Solidity: function setSymbol(string newSymbol) returns()
  14865. func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) SetSymbol(newSymbol string) (*types.Transaction, error) {
  14866. return _MetaRareERC721Collection.Contract.SetSymbol(&_MetaRareERC721Collection.TransactOpts, newSymbol)
  14867. }
  14868. // SetSymbol is a paid mutator transaction binding the contract method 0xb84c8246.
  14869. //
  14870. // Solidity: function setSymbol(string newSymbol) returns()
  14871. func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactorSession) SetSymbol(newSymbol string) (*types.Transaction, error) {
  14872. return _MetaRareERC721Collection.Contract.SetSymbol(&_MetaRareERC721Collection.TransactOpts, newSymbol)
  14873. }
  14874. // SetTokenURI is a paid mutator transaction binding the contract method 0x162094c4.
  14875. //
  14876. // Solidity: function setTokenURI(uint256 tokenId, string _tokenURI) returns()
  14877. func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactor) SetTokenURI(opts *bind.TransactOpts, tokenId *big.Int, _tokenURI string) (*types.Transaction, error) {
  14878. return _MetaRareERC721Collection.contract.Transact(opts, "setTokenURI", tokenId, _tokenURI)
  14879. }
  14880. // SetTokenURI is a paid mutator transaction binding the contract method 0x162094c4.
  14881. //
  14882. // Solidity: function setTokenURI(uint256 tokenId, string _tokenURI) returns()
  14883. func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) SetTokenURI(tokenId *big.Int, _tokenURI string) (*types.Transaction, error) {
  14884. return _MetaRareERC721Collection.Contract.SetTokenURI(&_MetaRareERC721Collection.TransactOpts, tokenId, _tokenURI)
  14885. }
  14886. // SetTokenURI is a paid mutator transaction binding the contract method 0x162094c4.
  14887. //
  14888. // Solidity: function setTokenURI(uint256 tokenId, string _tokenURI) returns()
  14889. func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactorSession) SetTokenURI(tokenId *big.Int, _tokenURI string) (*types.Transaction, error) {
  14890. return _MetaRareERC721Collection.Contract.SetTokenURI(&_MetaRareERC721Collection.TransactOpts, tokenId, _tokenURI)
  14891. }
  14892. // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd.
  14893. //
  14894. // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns()
  14895. func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactor) TransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
  14896. return _MetaRareERC721Collection.contract.Transact(opts, "transferFrom", from, to, tokenId)
  14897. }
  14898. // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd.
  14899. //
  14900. // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns()
  14901. func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
  14902. return _MetaRareERC721Collection.Contract.TransferFrom(&_MetaRareERC721Collection.TransactOpts, from, to, tokenId)
  14903. }
  14904. // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd.
  14905. //
  14906. // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns()
  14907. func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactorSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
  14908. return _MetaRareERC721Collection.Contract.TransferFrom(&_MetaRareERC721Collection.TransactOpts, from, to, tokenId)
  14909. }
  14910. // TransferOnlyOperator is a paid mutator transaction binding the contract method 0x5145dc57.
  14911. //
  14912. // Solidity: function transferOnlyOperator(address from, address to, uint256 tokenId) returns()
  14913. func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactor) TransferOnlyOperator(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
  14914. return _MetaRareERC721Collection.contract.Transact(opts, "transferOnlyOperator", from, to, tokenId)
  14915. }
  14916. // TransferOnlyOperator is a paid mutator transaction binding the contract method 0x5145dc57.
  14917. //
  14918. // Solidity: function transferOnlyOperator(address from, address to, uint256 tokenId) returns()
  14919. func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) TransferOnlyOperator(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
  14920. return _MetaRareERC721Collection.Contract.TransferOnlyOperator(&_MetaRareERC721Collection.TransactOpts, from, to, tokenId)
  14921. }
  14922. // TransferOnlyOperator is a paid mutator transaction binding the contract method 0x5145dc57.
  14923. //
  14924. // Solidity: function transferOnlyOperator(address from, address to, uint256 tokenId) returns()
  14925. func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactorSession) TransferOnlyOperator(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
  14926. return _MetaRareERC721Collection.Contract.TransferOnlyOperator(&_MetaRareERC721Collection.TransactOpts, from, to, tokenId)
  14927. }
  14928. // MetaRareERC721CollectionApprovalIterator is returned from FilterApproval and is used to iterate over the raw logs and unpacked data for Approval events raised by the MetaRareERC721Collection contract.
  14929. type MetaRareERC721CollectionApprovalIterator struct {
  14930. Event *MetaRareERC721CollectionApproval // Event containing the contract specifics and raw log
  14931. contract *bind.BoundContract // Generic contract to use for unpacking event data
  14932. event string // Event name to use for unpacking event data
  14933. logs chan types.Log // Log channel receiving the found contract events
  14934. sub ethereum.Subscription // Subscription for errors, completion and termination
  14935. done bool // Whether the subscription completed delivering logs
  14936. fail error // Occurred error to stop iteration
  14937. }
  14938. // Next advances the iterator to the subsequent event, returning whether there
  14939. // are any more events found. In case of a retrieval or parsing error, false is
  14940. // returned and Error() can be queried for the exact failure.
  14941. func (it *MetaRareERC721CollectionApprovalIterator) Next() bool {
  14942. // If the iterator failed, stop iterating
  14943. if it.fail != nil {
  14944. return false
  14945. }
  14946. // If the iterator completed, deliver directly whatever's available
  14947. if it.done {
  14948. select {
  14949. case log := <-it.logs:
  14950. it.Event = new(MetaRareERC721CollectionApproval)
  14951. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  14952. it.fail = err
  14953. return false
  14954. }
  14955. it.Event.Raw = log
  14956. return true
  14957. default:
  14958. return false
  14959. }
  14960. }
  14961. // Iterator still in progress, wait for either a data or an error event
  14962. select {
  14963. case log := <-it.logs:
  14964. it.Event = new(MetaRareERC721CollectionApproval)
  14965. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  14966. it.fail = err
  14967. return false
  14968. }
  14969. it.Event.Raw = log
  14970. return true
  14971. case err := <-it.sub.Err():
  14972. it.done = true
  14973. it.fail = err
  14974. return it.Next()
  14975. }
  14976. }
  14977. // Error returns any retrieval or parsing error occurred during filtering.
  14978. func (it *MetaRareERC721CollectionApprovalIterator) Error() error {
  14979. return it.fail
  14980. }
  14981. // Close terminates the iteration process, releasing any pending underlying
  14982. // resources.
  14983. func (it *MetaRareERC721CollectionApprovalIterator) Close() error {
  14984. it.sub.Unsubscribe()
  14985. return nil
  14986. }
  14987. // MetaRareERC721CollectionApproval represents a Approval event raised by the MetaRareERC721Collection contract.
  14988. type MetaRareERC721CollectionApproval struct {
  14989. Owner common.Address
  14990. Approved common.Address
  14991. TokenId *big.Int
  14992. Raw types.Log // Blockchain specific contextual infos
  14993. }
  14994. // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925.
  14995. //
  14996. // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)
  14997. func (_MetaRareERC721Collection *MetaRareERC721CollectionFilterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, approved []common.Address, tokenId []*big.Int) (*MetaRareERC721CollectionApprovalIterator, error) {
  14998. var ownerRule []interface{}
  14999. for _, ownerItem := range owner {
  15000. ownerRule = append(ownerRule, ownerItem)
  15001. }
  15002. var approvedRule []interface{}
  15003. for _, approvedItem := range approved {
  15004. approvedRule = append(approvedRule, approvedItem)
  15005. }
  15006. var tokenIdRule []interface{}
  15007. for _, tokenIdItem := range tokenId {
  15008. tokenIdRule = append(tokenIdRule, tokenIdItem)
  15009. }
  15010. logs, sub, err := _MetaRareERC721Collection.contract.FilterLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule)
  15011. if err != nil {
  15012. return nil, err
  15013. }
  15014. return &MetaRareERC721CollectionApprovalIterator{contract: _MetaRareERC721Collection.contract, event: "Approval", logs: logs, sub: sub}, nil
  15015. }
  15016. // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925.
  15017. //
  15018. // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)
  15019. func (_MetaRareERC721Collection *MetaRareERC721CollectionFilterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *MetaRareERC721CollectionApproval, owner []common.Address, approved []common.Address, tokenId []*big.Int) (event.Subscription, error) {
  15020. var ownerRule []interface{}
  15021. for _, ownerItem := range owner {
  15022. ownerRule = append(ownerRule, ownerItem)
  15023. }
  15024. var approvedRule []interface{}
  15025. for _, approvedItem := range approved {
  15026. approvedRule = append(approvedRule, approvedItem)
  15027. }
  15028. var tokenIdRule []interface{}
  15029. for _, tokenIdItem := range tokenId {
  15030. tokenIdRule = append(tokenIdRule, tokenIdItem)
  15031. }
  15032. logs, sub, err := _MetaRareERC721Collection.contract.WatchLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule)
  15033. if err != nil {
  15034. return nil, err
  15035. }
  15036. return event.NewSubscription(func(quit <-chan struct{}) error {
  15037. defer sub.Unsubscribe()
  15038. for {
  15039. select {
  15040. case log := <-logs:
  15041. // New log arrived, parse the event and forward to the user
  15042. event := new(MetaRareERC721CollectionApproval)
  15043. if err := _MetaRareERC721Collection.contract.UnpackLog(event, "Approval", log); err != nil {
  15044. return err
  15045. }
  15046. event.Raw = log
  15047. select {
  15048. case sink <- event:
  15049. case err := <-sub.Err():
  15050. return err
  15051. case <-quit:
  15052. return nil
  15053. }
  15054. case err := <-sub.Err():
  15055. return err
  15056. case <-quit:
  15057. return nil
  15058. }
  15059. }
  15060. }), nil
  15061. }
  15062. // ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925.
  15063. //
  15064. // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)
  15065. func (_MetaRareERC721Collection *MetaRareERC721CollectionFilterer) ParseApproval(log types.Log) (*MetaRareERC721CollectionApproval, error) {
  15066. event := new(MetaRareERC721CollectionApproval)
  15067. if err := _MetaRareERC721Collection.contract.UnpackLog(event, "Approval", log); err != nil {
  15068. return nil, err
  15069. }
  15070. event.Raw = log
  15071. return event, nil
  15072. }
  15073. // MetaRareERC721CollectionApprovalForAllIterator is returned from FilterApprovalForAll and is used to iterate over the raw logs and unpacked data for ApprovalForAll events raised by the MetaRareERC721Collection contract.
  15074. type MetaRareERC721CollectionApprovalForAllIterator struct {
  15075. Event *MetaRareERC721CollectionApprovalForAll // Event containing the contract specifics and raw log
  15076. contract *bind.BoundContract // Generic contract to use for unpacking event data
  15077. event string // Event name to use for unpacking event data
  15078. logs chan types.Log // Log channel receiving the found contract events
  15079. sub ethereum.Subscription // Subscription for errors, completion and termination
  15080. done bool // Whether the subscription completed delivering logs
  15081. fail error // Occurred error to stop iteration
  15082. }
  15083. // Next advances the iterator to the subsequent event, returning whether there
  15084. // are any more events found. In case of a retrieval or parsing error, false is
  15085. // returned and Error() can be queried for the exact failure.
  15086. func (it *MetaRareERC721CollectionApprovalForAllIterator) Next() bool {
  15087. // If the iterator failed, stop iterating
  15088. if it.fail != nil {
  15089. return false
  15090. }
  15091. // If the iterator completed, deliver directly whatever's available
  15092. if it.done {
  15093. select {
  15094. case log := <-it.logs:
  15095. it.Event = new(MetaRareERC721CollectionApprovalForAll)
  15096. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  15097. it.fail = err
  15098. return false
  15099. }
  15100. it.Event.Raw = log
  15101. return true
  15102. default:
  15103. return false
  15104. }
  15105. }
  15106. // Iterator still in progress, wait for either a data or an error event
  15107. select {
  15108. case log := <-it.logs:
  15109. it.Event = new(MetaRareERC721CollectionApprovalForAll)
  15110. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  15111. it.fail = err
  15112. return false
  15113. }
  15114. it.Event.Raw = log
  15115. return true
  15116. case err := <-it.sub.Err():
  15117. it.done = true
  15118. it.fail = err
  15119. return it.Next()
  15120. }
  15121. }
  15122. // Error returns any retrieval or parsing error occurred during filtering.
  15123. func (it *MetaRareERC721CollectionApprovalForAllIterator) Error() error {
  15124. return it.fail
  15125. }
  15126. // Close terminates the iteration process, releasing any pending underlying
  15127. // resources.
  15128. func (it *MetaRareERC721CollectionApprovalForAllIterator) Close() error {
  15129. it.sub.Unsubscribe()
  15130. return nil
  15131. }
  15132. // MetaRareERC721CollectionApprovalForAll represents a ApprovalForAll event raised by the MetaRareERC721Collection contract.
  15133. type MetaRareERC721CollectionApprovalForAll struct {
  15134. Owner common.Address
  15135. Operator common.Address
  15136. Approved bool
  15137. Raw types.Log // Blockchain specific contextual infos
  15138. }
  15139. // FilterApprovalForAll is a free log retrieval operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31.
  15140. //
  15141. // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved)
  15142. func (_MetaRareERC721Collection *MetaRareERC721CollectionFilterer) FilterApprovalForAll(opts *bind.FilterOpts, owner []common.Address, operator []common.Address) (*MetaRareERC721CollectionApprovalForAllIterator, error) {
  15143. var ownerRule []interface{}
  15144. for _, ownerItem := range owner {
  15145. ownerRule = append(ownerRule, ownerItem)
  15146. }
  15147. var operatorRule []interface{}
  15148. for _, operatorItem := range operator {
  15149. operatorRule = append(operatorRule, operatorItem)
  15150. }
  15151. logs, sub, err := _MetaRareERC721Collection.contract.FilterLogs(opts, "ApprovalForAll", ownerRule, operatorRule)
  15152. if err != nil {
  15153. return nil, err
  15154. }
  15155. return &MetaRareERC721CollectionApprovalForAllIterator{contract: _MetaRareERC721Collection.contract, event: "ApprovalForAll", logs: logs, sub: sub}, nil
  15156. }
  15157. // WatchApprovalForAll is a free log subscription operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31.
  15158. //
  15159. // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved)
  15160. func (_MetaRareERC721Collection *MetaRareERC721CollectionFilterer) WatchApprovalForAll(opts *bind.WatchOpts, sink chan<- *MetaRareERC721CollectionApprovalForAll, owner []common.Address, operator []common.Address) (event.Subscription, error) {
  15161. var ownerRule []interface{}
  15162. for _, ownerItem := range owner {
  15163. ownerRule = append(ownerRule, ownerItem)
  15164. }
  15165. var operatorRule []interface{}
  15166. for _, operatorItem := range operator {
  15167. operatorRule = append(operatorRule, operatorItem)
  15168. }
  15169. logs, sub, err := _MetaRareERC721Collection.contract.WatchLogs(opts, "ApprovalForAll", ownerRule, operatorRule)
  15170. if err != nil {
  15171. return nil, err
  15172. }
  15173. return event.NewSubscription(func(quit <-chan struct{}) error {
  15174. defer sub.Unsubscribe()
  15175. for {
  15176. select {
  15177. case log := <-logs:
  15178. // New log arrived, parse the event and forward to the user
  15179. event := new(MetaRareERC721CollectionApprovalForAll)
  15180. if err := _MetaRareERC721Collection.contract.UnpackLog(event, "ApprovalForAll", log); err != nil {
  15181. return err
  15182. }
  15183. event.Raw = log
  15184. select {
  15185. case sink <- event:
  15186. case err := <-sub.Err():
  15187. return err
  15188. case <-quit:
  15189. return nil
  15190. }
  15191. case err := <-sub.Err():
  15192. return err
  15193. case <-quit:
  15194. return nil
  15195. }
  15196. }
  15197. }), nil
  15198. }
  15199. // ParseApprovalForAll is a log parse operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31.
  15200. //
  15201. // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved)
  15202. func (_MetaRareERC721Collection *MetaRareERC721CollectionFilterer) ParseApprovalForAll(log types.Log) (*MetaRareERC721CollectionApprovalForAll, error) {
  15203. event := new(MetaRareERC721CollectionApprovalForAll)
  15204. if err := _MetaRareERC721Collection.contract.UnpackLog(event, "ApprovalForAll", log); err != nil {
  15205. return nil, err
  15206. }
  15207. event.Raw = log
  15208. return event, nil
  15209. }
  15210. // MetaRareERC721CollectionRoleAdminChangedIterator is returned from FilterRoleAdminChanged and is used to iterate over the raw logs and unpacked data for RoleAdminChanged events raised by the MetaRareERC721Collection contract.
  15211. type MetaRareERC721CollectionRoleAdminChangedIterator struct {
  15212. Event *MetaRareERC721CollectionRoleAdminChanged // Event containing the contract specifics and raw log
  15213. contract *bind.BoundContract // Generic contract to use for unpacking event data
  15214. event string // Event name to use for unpacking event data
  15215. logs chan types.Log // Log channel receiving the found contract events
  15216. sub ethereum.Subscription // Subscription for errors, completion and termination
  15217. done bool // Whether the subscription completed delivering logs
  15218. fail error // Occurred error to stop iteration
  15219. }
  15220. // Next advances the iterator to the subsequent event, returning whether there
  15221. // are any more events found. In case of a retrieval or parsing error, false is
  15222. // returned and Error() can be queried for the exact failure.
  15223. func (it *MetaRareERC721CollectionRoleAdminChangedIterator) Next() bool {
  15224. // If the iterator failed, stop iterating
  15225. if it.fail != nil {
  15226. return false
  15227. }
  15228. // If the iterator completed, deliver directly whatever's available
  15229. if it.done {
  15230. select {
  15231. case log := <-it.logs:
  15232. it.Event = new(MetaRareERC721CollectionRoleAdminChanged)
  15233. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  15234. it.fail = err
  15235. return false
  15236. }
  15237. it.Event.Raw = log
  15238. return true
  15239. default:
  15240. return false
  15241. }
  15242. }
  15243. // Iterator still in progress, wait for either a data or an error event
  15244. select {
  15245. case log := <-it.logs:
  15246. it.Event = new(MetaRareERC721CollectionRoleAdminChanged)
  15247. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  15248. it.fail = err
  15249. return false
  15250. }
  15251. it.Event.Raw = log
  15252. return true
  15253. case err := <-it.sub.Err():
  15254. it.done = true
  15255. it.fail = err
  15256. return it.Next()
  15257. }
  15258. }
  15259. // Error returns any retrieval or parsing error occurred during filtering.
  15260. func (it *MetaRareERC721CollectionRoleAdminChangedIterator) Error() error {
  15261. return it.fail
  15262. }
  15263. // Close terminates the iteration process, releasing any pending underlying
  15264. // resources.
  15265. func (it *MetaRareERC721CollectionRoleAdminChangedIterator) Close() error {
  15266. it.sub.Unsubscribe()
  15267. return nil
  15268. }
  15269. // MetaRareERC721CollectionRoleAdminChanged represents a RoleAdminChanged event raised by the MetaRareERC721Collection contract.
  15270. type MetaRareERC721CollectionRoleAdminChanged struct {
  15271. Role [32]byte
  15272. PreviousAdminRole [32]byte
  15273. NewAdminRole [32]byte
  15274. Raw types.Log // Blockchain specific contextual infos
  15275. }
  15276. // FilterRoleAdminChanged is a free log retrieval operation binding the contract event 0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff.
  15277. //
  15278. // Solidity: event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)
  15279. func (_MetaRareERC721Collection *MetaRareERC721CollectionFilterer) FilterRoleAdminChanged(opts *bind.FilterOpts, role [][32]byte, previousAdminRole [][32]byte, newAdminRole [][32]byte) (*MetaRareERC721CollectionRoleAdminChangedIterator, error) {
  15280. var roleRule []interface{}
  15281. for _, roleItem := range role {
  15282. roleRule = append(roleRule, roleItem)
  15283. }
  15284. var previousAdminRoleRule []interface{}
  15285. for _, previousAdminRoleItem := range previousAdminRole {
  15286. previousAdminRoleRule = append(previousAdminRoleRule, previousAdminRoleItem)
  15287. }
  15288. var newAdminRoleRule []interface{}
  15289. for _, newAdminRoleItem := range newAdminRole {
  15290. newAdminRoleRule = append(newAdminRoleRule, newAdminRoleItem)
  15291. }
  15292. logs, sub, err := _MetaRareERC721Collection.contract.FilterLogs(opts, "RoleAdminChanged", roleRule, previousAdminRoleRule, newAdminRoleRule)
  15293. if err != nil {
  15294. return nil, err
  15295. }
  15296. return &MetaRareERC721CollectionRoleAdminChangedIterator{contract: _MetaRareERC721Collection.contract, event: "RoleAdminChanged", logs: logs, sub: sub}, nil
  15297. }
  15298. // WatchRoleAdminChanged is a free log subscription operation binding the contract event 0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff.
  15299. //
  15300. // Solidity: event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)
  15301. func (_MetaRareERC721Collection *MetaRareERC721CollectionFilterer) WatchRoleAdminChanged(opts *bind.WatchOpts, sink chan<- *MetaRareERC721CollectionRoleAdminChanged, role [][32]byte, previousAdminRole [][32]byte, newAdminRole [][32]byte) (event.Subscription, error) {
  15302. var roleRule []interface{}
  15303. for _, roleItem := range role {
  15304. roleRule = append(roleRule, roleItem)
  15305. }
  15306. var previousAdminRoleRule []interface{}
  15307. for _, previousAdminRoleItem := range previousAdminRole {
  15308. previousAdminRoleRule = append(previousAdminRoleRule, previousAdminRoleItem)
  15309. }
  15310. var newAdminRoleRule []interface{}
  15311. for _, newAdminRoleItem := range newAdminRole {
  15312. newAdminRoleRule = append(newAdminRoleRule, newAdminRoleItem)
  15313. }
  15314. logs, sub, err := _MetaRareERC721Collection.contract.WatchLogs(opts, "RoleAdminChanged", roleRule, previousAdminRoleRule, newAdminRoleRule)
  15315. if err != nil {
  15316. return nil, err
  15317. }
  15318. return event.NewSubscription(func(quit <-chan struct{}) error {
  15319. defer sub.Unsubscribe()
  15320. for {
  15321. select {
  15322. case log := <-logs:
  15323. // New log arrived, parse the event and forward to the user
  15324. event := new(MetaRareERC721CollectionRoleAdminChanged)
  15325. if err := _MetaRareERC721Collection.contract.UnpackLog(event, "RoleAdminChanged", log); err != nil {
  15326. return err
  15327. }
  15328. event.Raw = log
  15329. select {
  15330. case sink <- event:
  15331. case err := <-sub.Err():
  15332. return err
  15333. case <-quit:
  15334. return nil
  15335. }
  15336. case err := <-sub.Err():
  15337. return err
  15338. case <-quit:
  15339. return nil
  15340. }
  15341. }
  15342. }), nil
  15343. }
  15344. // ParseRoleAdminChanged is a log parse operation binding the contract event 0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff.
  15345. //
  15346. // Solidity: event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)
  15347. func (_MetaRareERC721Collection *MetaRareERC721CollectionFilterer) ParseRoleAdminChanged(log types.Log) (*MetaRareERC721CollectionRoleAdminChanged, error) {
  15348. event := new(MetaRareERC721CollectionRoleAdminChanged)
  15349. if err := _MetaRareERC721Collection.contract.UnpackLog(event, "RoleAdminChanged", log); err != nil {
  15350. return nil, err
  15351. }
  15352. event.Raw = log
  15353. return event, nil
  15354. }
  15355. // MetaRareERC721CollectionRoleGrantedIterator is returned from FilterRoleGranted and is used to iterate over the raw logs and unpacked data for RoleGranted events raised by the MetaRareERC721Collection contract.
  15356. type MetaRareERC721CollectionRoleGrantedIterator struct {
  15357. Event *MetaRareERC721CollectionRoleGranted // Event containing the contract specifics and raw log
  15358. contract *bind.BoundContract // Generic contract to use for unpacking event data
  15359. event string // Event name to use for unpacking event data
  15360. logs chan types.Log // Log channel receiving the found contract events
  15361. sub ethereum.Subscription // Subscription for errors, completion and termination
  15362. done bool // Whether the subscription completed delivering logs
  15363. fail error // Occurred error to stop iteration
  15364. }
  15365. // Next advances the iterator to the subsequent event, returning whether there
  15366. // are any more events found. In case of a retrieval or parsing error, false is
  15367. // returned and Error() can be queried for the exact failure.
  15368. func (it *MetaRareERC721CollectionRoleGrantedIterator) Next() bool {
  15369. // If the iterator failed, stop iterating
  15370. if it.fail != nil {
  15371. return false
  15372. }
  15373. // If the iterator completed, deliver directly whatever's available
  15374. if it.done {
  15375. select {
  15376. case log := <-it.logs:
  15377. it.Event = new(MetaRareERC721CollectionRoleGranted)
  15378. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  15379. it.fail = err
  15380. return false
  15381. }
  15382. it.Event.Raw = log
  15383. return true
  15384. default:
  15385. return false
  15386. }
  15387. }
  15388. // Iterator still in progress, wait for either a data or an error event
  15389. select {
  15390. case log := <-it.logs:
  15391. it.Event = new(MetaRareERC721CollectionRoleGranted)
  15392. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  15393. it.fail = err
  15394. return false
  15395. }
  15396. it.Event.Raw = log
  15397. return true
  15398. case err := <-it.sub.Err():
  15399. it.done = true
  15400. it.fail = err
  15401. return it.Next()
  15402. }
  15403. }
  15404. // Error returns any retrieval or parsing error occurred during filtering.
  15405. func (it *MetaRareERC721CollectionRoleGrantedIterator) Error() error {
  15406. return it.fail
  15407. }
  15408. // Close terminates the iteration process, releasing any pending underlying
  15409. // resources.
  15410. func (it *MetaRareERC721CollectionRoleGrantedIterator) Close() error {
  15411. it.sub.Unsubscribe()
  15412. return nil
  15413. }
  15414. // MetaRareERC721CollectionRoleGranted represents a RoleGranted event raised by the MetaRareERC721Collection contract.
  15415. type MetaRareERC721CollectionRoleGranted struct {
  15416. Role [32]byte
  15417. Account common.Address
  15418. Sender common.Address
  15419. Raw types.Log // Blockchain specific contextual infos
  15420. }
  15421. // FilterRoleGranted is a free log retrieval operation binding the contract event 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d.
  15422. //
  15423. // Solidity: event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)
  15424. func (_MetaRareERC721Collection *MetaRareERC721CollectionFilterer) FilterRoleGranted(opts *bind.FilterOpts, role [][32]byte, account []common.Address, sender []common.Address) (*MetaRareERC721CollectionRoleGrantedIterator, error) {
  15425. var roleRule []interface{}
  15426. for _, roleItem := range role {
  15427. roleRule = append(roleRule, roleItem)
  15428. }
  15429. var accountRule []interface{}
  15430. for _, accountItem := range account {
  15431. accountRule = append(accountRule, accountItem)
  15432. }
  15433. var senderRule []interface{}
  15434. for _, senderItem := range sender {
  15435. senderRule = append(senderRule, senderItem)
  15436. }
  15437. logs, sub, err := _MetaRareERC721Collection.contract.FilterLogs(opts, "RoleGranted", roleRule, accountRule, senderRule)
  15438. if err != nil {
  15439. return nil, err
  15440. }
  15441. return &MetaRareERC721CollectionRoleGrantedIterator{contract: _MetaRareERC721Collection.contract, event: "RoleGranted", logs: logs, sub: sub}, nil
  15442. }
  15443. // WatchRoleGranted is a free log subscription operation binding the contract event 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d.
  15444. //
  15445. // Solidity: event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)
  15446. func (_MetaRareERC721Collection *MetaRareERC721CollectionFilterer) WatchRoleGranted(opts *bind.WatchOpts, sink chan<- *MetaRareERC721CollectionRoleGranted, role [][32]byte, account []common.Address, sender []common.Address) (event.Subscription, error) {
  15447. var roleRule []interface{}
  15448. for _, roleItem := range role {
  15449. roleRule = append(roleRule, roleItem)
  15450. }
  15451. var accountRule []interface{}
  15452. for _, accountItem := range account {
  15453. accountRule = append(accountRule, accountItem)
  15454. }
  15455. var senderRule []interface{}
  15456. for _, senderItem := range sender {
  15457. senderRule = append(senderRule, senderItem)
  15458. }
  15459. logs, sub, err := _MetaRareERC721Collection.contract.WatchLogs(opts, "RoleGranted", roleRule, accountRule, senderRule)
  15460. if err != nil {
  15461. return nil, err
  15462. }
  15463. return event.NewSubscription(func(quit <-chan struct{}) error {
  15464. defer sub.Unsubscribe()
  15465. for {
  15466. select {
  15467. case log := <-logs:
  15468. // New log arrived, parse the event and forward to the user
  15469. event := new(MetaRareERC721CollectionRoleGranted)
  15470. if err := _MetaRareERC721Collection.contract.UnpackLog(event, "RoleGranted", log); err != nil {
  15471. return err
  15472. }
  15473. event.Raw = log
  15474. select {
  15475. case sink <- event:
  15476. case err := <-sub.Err():
  15477. return err
  15478. case <-quit:
  15479. return nil
  15480. }
  15481. case err := <-sub.Err():
  15482. return err
  15483. case <-quit:
  15484. return nil
  15485. }
  15486. }
  15487. }), nil
  15488. }
  15489. // ParseRoleGranted is a log parse operation binding the contract event 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d.
  15490. //
  15491. // Solidity: event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)
  15492. func (_MetaRareERC721Collection *MetaRareERC721CollectionFilterer) ParseRoleGranted(log types.Log) (*MetaRareERC721CollectionRoleGranted, error) {
  15493. event := new(MetaRareERC721CollectionRoleGranted)
  15494. if err := _MetaRareERC721Collection.contract.UnpackLog(event, "RoleGranted", log); err != nil {
  15495. return nil, err
  15496. }
  15497. event.Raw = log
  15498. return event, nil
  15499. }
  15500. // MetaRareERC721CollectionRoleRevokedIterator is returned from FilterRoleRevoked and is used to iterate over the raw logs and unpacked data for RoleRevoked events raised by the MetaRareERC721Collection contract.
  15501. type MetaRareERC721CollectionRoleRevokedIterator struct {
  15502. Event *MetaRareERC721CollectionRoleRevoked // Event containing the contract specifics and raw log
  15503. contract *bind.BoundContract // Generic contract to use for unpacking event data
  15504. event string // Event name to use for unpacking event data
  15505. logs chan types.Log // Log channel receiving the found contract events
  15506. sub ethereum.Subscription // Subscription for errors, completion and termination
  15507. done bool // Whether the subscription completed delivering logs
  15508. fail error // Occurred error to stop iteration
  15509. }
  15510. // Next advances the iterator to the subsequent event, returning whether there
  15511. // are any more events found. In case of a retrieval or parsing error, false is
  15512. // returned and Error() can be queried for the exact failure.
  15513. func (it *MetaRareERC721CollectionRoleRevokedIterator) Next() bool {
  15514. // If the iterator failed, stop iterating
  15515. if it.fail != nil {
  15516. return false
  15517. }
  15518. // If the iterator completed, deliver directly whatever's available
  15519. if it.done {
  15520. select {
  15521. case log := <-it.logs:
  15522. it.Event = new(MetaRareERC721CollectionRoleRevoked)
  15523. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  15524. it.fail = err
  15525. return false
  15526. }
  15527. it.Event.Raw = log
  15528. return true
  15529. default:
  15530. return false
  15531. }
  15532. }
  15533. // Iterator still in progress, wait for either a data or an error event
  15534. select {
  15535. case log := <-it.logs:
  15536. it.Event = new(MetaRareERC721CollectionRoleRevoked)
  15537. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  15538. it.fail = err
  15539. return false
  15540. }
  15541. it.Event.Raw = log
  15542. return true
  15543. case err := <-it.sub.Err():
  15544. it.done = true
  15545. it.fail = err
  15546. return it.Next()
  15547. }
  15548. }
  15549. // Error returns any retrieval or parsing error occurred during filtering.
  15550. func (it *MetaRareERC721CollectionRoleRevokedIterator) Error() error {
  15551. return it.fail
  15552. }
  15553. // Close terminates the iteration process, releasing any pending underlying
  15554. // resources.
  15555. func (it *MetaRareERC721CollectionRoleRevokedIterator) Close() error {
  15556. it.sub.Unsubscribe()
  15557. return nil
  15558. }
  15559. // MetaRareERC721CollectionRoleRevoked represents a RoleRevoked event raised by the MetaRareERC721Collection contract.
  15560. type MetaRareERC721CollectionRoleRevoked struct {
  15561. Role [32]byte
  15562. Account common.Address
  15563. Sender common.Address
  15564. Raw types.Log // Blockchain specific contextual infos
  15565. }
  15566. // FilterRoleRevoked is a free log retrieval operation binding the contract event 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b.
  15567. //
  15568. // Solidity: event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)
  15569. func (_MetaRareERC721Collection *MetaRareERC721CollectionFilterer) FilterRoleRevoked(opts *bind.FilterOpts, role [][32]byte, account []common.Address, sender []common.Address) (*MetaRareERC721CollectionRoleRevokedIterator, error) {
  15570. var roleRule []interface{}
  15571. for _, roleItem := range role {
  15572. roleRule = append(roleRule, roleItem)
  15573. }
  15574. var accountRule []interface{}
  15575. for _, accountItem := range account {
  15576. accountRule = append(accountRule, accountItem)
  15577. }
  15578. var senderRule []interface{}
  15579. for _, senderItem := range sender {
  15580. senderRule = append(senderRule, senderItem)
  15581. }
  15582. logs, sub, err := _MetaRareERC721Collection.contract.FilterLogs(opts, "RoleRevoked", roleRule, accountRule, senderRule)
  15583. if err != nil {
  15584. return nil, err
  15585. }
  15586. return &MetaRareERC721CollectionRoleRevokedIterator{contract: _MetaRareERC721Collection.contract, event: "RoleRevoked", logs: logs, sub: sub}, nil
  15587. }
  15588. // WatchRoleRevoked is a free log subscription operation binding the contract event 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b.
  15589. //
  15590. // Solidity: event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)
  15591. func (_MetaRareERC721Collection *MetaRareERC721CollectionFilterer) WatchRoleRevoked(opts *bind.WatchOpts, sink chan<- *MetaRareERC721CollectionRoleRevoked, role [][32]byte, account []common.Address, sender []common.Address) (event.Subscription, error) {
  15592. var roleRule []interface{}
  15593. for _, roleItem := range role {
  15594. roleRule = append(roleRule, roleItem)
  15595. }
  15596. var accountRule []interface{}
  15597. for _, accountItem := range account {
  15598. accountRule = append(accountRule, accountItem)
  15599. }
  15600. var senderRule []interface{}
  15601. for _, senderItem := range sender {
  15602. senderRule = append(senderRule, senderItem)
  15603. }
  15604. logs, sub, err := _MetaRareERC721Collection.contract.WatchLogs(opts, "RoleRevoked", roleRule, accountRule, senderRule)
  15605. if err != nil {
  15606. return nil, err
  15607. }
  15608. return event.NewSubscription(func(quit <-chan struct{}) error {
  15609. defer sub.Unsubscribe()
  15610. for {
  15611. select {
  15612. case log := <-logs:
  15613. // New log arrived, parse the event and forward to the user
  15614. event := new(MetaRareERC721CollectionRoleRevoked)
  15615. if err := _MetaRareERC721Collection.contract.UnpackLog(event, "RoleRevoked", log); err != nil {
  15616. return err
  15617. }
  15618. event.Raw = log
  15619. select {
  15620. case sink <- event:
  15621. case err := <-sub.Err():
  15622. return err
  15623. case <-quit:
  15624. return nil
  15625. }
  15626. case err := <-sub.Err():
  15627. return err
  15628. case <-quit:
  15629. return nil
  15630. }
  15631. }
  15632. }), nil
  15633. }
  15634. // ParseRoleRevoked is a log parse operation binding the contract event 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b.
  15635. //
  15636. // Solidity: event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)
  15637. func (_MetaRareERC721Collection *MetaRareERC721CollectionFilterer) ParseRoleRevoked(log types.Log) (*MetaRareERC721CollectionRoleRevoked, error) {
  15638. event := new(MetaRareERC721CollectionRoleRevoked)
  15639. if err := _MetaRareERC721Collection.contract.UnpackLog(event, "RoleRevoked", log); err != nil {
  15640. return nil, err
  15641. }
  15642. event.Raw = log
  15643. return event, nil
  15644. }
  15645. // MetaRareERC721CollectionTransferIterator is returned from FilterTransfer and is used to iterate over the raw logs and unpacked data for Transfer events raised by the MetaRareERC721Collection contract.
  15646. type MetaRareERC721CollectionTransferIterator struct {
  15647. Event *MetaRareERC721CollectionTransfer // Event containing the contract specifics and raw log
  15648. contract *bind.BoundContract // Generic contract to use for unpacking event data
  15649. event string // Event name to use for unpacking event data
  15650. logs chan types.Log // Log channel receiving the found contract events
  15651. sub ethereum.Subscription // Subscription for errors, completion and termination
  15652. done bool // Whether the subscription completed delivering logs
  15653. fail error // Occurred error to stop iteration
  15654. }
  15655. // Next advances the iterator to the subsequent event, returning whether there
  15656. // are any more events found. In case of a retrieval or parsing error, false is
  15657. // returned and Error() can be queried for the exact failure.
  15658. func (it *MetaRareERC721CollectionTransferIterator) Next() bool {
  15659. // If the iterator failed, stop iterating
  15660. if it.fail != nil {
  15661. return false
  15662. }
  15663. // If the iterator completed, deliver directly whatever's available
  15664. if it.done {
  15665. select {
  15666. case log := <-it.logs:
  15667. it.Event = new(MetaRareERC721CollectionTransfer)
  15668. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  15669. it.fail = err
  15670. return false
  15671. }
  15672. it.Event.Raw = log
  15673. return true
  15674. default:
  15675. return false
  15676. }
  15677. }
  15678. // Iterator still in progress, wait for either a data or an error event
  15679. select {
  15680. case log := <-it.logs:
  15681. it.Event = new(MetaRareERC721CollectionTransfer)
  15682. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  15683. it.fail = err
  15684. return false
  15685. }
  15686. it.Event.Raw = log
  15687. return true
  15688. case err := <-it.sub.Err():
  15689. it.done = true
  15690. it.fail = err
  15691. return it.Next()
  15692. }
  15693. }
  15694. // Error returns any retrieval or parsing error occurred during filtering.
  15695. func (it *MetaRareERC721CollectionTransferIterator) Error() error {
  15696. return it.fail
  15697. }
  15698. // Close terminates the iteration process, releasing any pending underlying
  15699. // resources.
  15700. func (it *MetaRareERC721CollectionTransferIterator) Close() error {
  15701. it.sub.Unsubscribe()
  15702. return nil
  15703. }
  15704. // MetaRareERC721CollectionTransfer represents a Transfer event raised by the MetaRareERC721Collection contract.
  15705. type MetaRareERC721CollectionTransfer struct {
  15706. From common.Address
  15707. To common.Address
  15708. TokenId *big.Int
  15709. Raw types.Log // Blockchain specific contextual infos
  15710. }
  15711. // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef.
  15712. //
  15713. // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)
  15714. func (_MetaRareERC721Collection *MetaRareERC721CollectionFilterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address, tokenId []*big.Int) (*MetaRareERC721CollectionTransferIterator, error) {
  15715. var fromRule []interface{}
  15716. for _, fromItem := range from {
  15717. fromRule = append(fromRule, fromItem)
  15718. }
  15719. var toRule []interface{}
  15720. for _, toItem := range to {
  15721. toRule = append(toRule, toItem)
  15722. }
  15723. var tokenIdRule []interface{}
  15724. for _, tokenIdItem := range tokenId {
  15725. tokenIdRule = append(tokenIdRule, tokenIdItem)
  15726. }
  15727. logs, sub, err := _MetaRareERC721Collection.contract.FilterLogs(opts, "Transfer", fromRule, toRule, tokenIdRule)
  15728. if err != nil {
  15729. return nil, err
  15730. }
  15731. return &MetaRareERC721CollectionTransferIterator{contract: _MetaRareERC721Collection.contract, event: "Transfer", logs: logs, sub: sub}, nil
  15732. }
  15733. // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef.
  15734. //
  15735. // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)
  15736. func (_MetaRareERC721Collection *MetaRareERC721CollectionFilterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *MetaRareERC721CollectionTransfer, from []common.Address, to []common.Address, tokenId []*big.Int) (event.Subscription, error) {
  15737. var fromRule []interface{}
  15738. for _, fromItem := range from {
  15739. fromRule = append(fromRule, fromItem)
  15740. }
  15741. var toRule []interface{}
  15742. for _, toItem := range to {
  15743. toRule = append(toRule, toItem)
  15744. }
  15745. var tokenIdRule []interface{}
  15746. for _, tokenIdItem := range tokenId {
  15747. tokenIdRule = append(tokenIdRule, tokenIdItem)
  15748. }
  15749. logs, sub, err := _MetaRareERC721Collection.contract.WatchLogs(opts, "Transfer", fromRule, toRule, tokenIdRule)
  15750. if err != nil {
  15751. return nil, err
  15752. }
  15753. return event.NewSubscription(func(quit <-chan struct{}) error {
  15754. defer sub.Unsubscribe()
  15755. for {
  15756. select {
  15757. case log := <-logs:
  15758. // New log arrived, parse the event and forward to the user
  15759. event := new(MetaRareERC721CollectionTransfer)
  15760. if err := _MetaRareERC721Collection.contract.UnpackLog(event, "Transfer", log); err != nil {
  15761. return err
  15762. }
  15763. event.Raw = log
  15764. select {
  15765. case sink <- event:
  15766. case err := <-sub.Err():
  15767. return err
  15768. case <-quit:
  15769. return nil
  15770. }
  15771. case err := <-sub.Err():
  15772. return err
  15773. case <-quit:
  15774. return nil
  15775. }
  15776. }
  15777. }), nil
  15778. }
  15779. // ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef.
  15780. //
  15781. // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)
  15782. func (_MetaRareERC721Collection *MetaRareERC721CollectionFilterer) ParseTransfer(log types.Log) (*MetaRareERC721CollectionTransfer, error) {
  15783. event := new(MetaRareERC721CollectionTransfer)
  15784. if err := _MetaRareERC721Collection.contract.UnpackLog(event, "Transfer", log); err != nil {
  15785. return nil, err
  15786. }
  15787. event.Raw = log
  15788. return event, nil
  15789. }
  15790. // OwnableMetaData contains all meta data concerning the Ownable contract.
  15791. var OwnableMetaData = &bind.MetaData{
  15792. ABI: "[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]",
  15793. Sigs: map[string]string{
  15794. "8da5cb5b": "owner()",
  15795. "715018a6": "renounceOwnership()",
  15796. "f2fde38b": "transferOwnership(address)",
  15797. },
  15798. }
  15799. // OwnableABI is the input ABI used to generate the binding from.
  15800. // Deprecated: Use OwnableMetaData.ABI instead.
  15801. var OwnableABI = OwnableMetaData.ABI
  15802. // Deprecated: Use OwnableMetaData.Sigs instead.
  15803. // OwnableFuncSigs maps the 4-byte function signature to its string representation.
  15804. var OwnableFuncSigs = OwnableMetaData.Sigs
  15805. // Ownable is an auto generated Go binding around an Ethereum contract.
  15806. type Ownable struct {
  15807. OwnableCaller // Read-only binding to the contract
  15808. OwnableTransactor // Write-only binding to the contract
  15809. OwnableFilterer // Log filterer for contract events
  15810. }
  15811. // OwnableCaller is an auto generated read-only Go binding around an Ethereum contract.
  15812. type OwnableCaller struct {
  15813. contract *bind.BoundContract // Generic contract wrapper for the low level calls
  15814. }
  15815. // OwnableTransactor is an auto generated write-only Go binding around an Ethereum contract.
  15816. type OwnableTransactor struct {
  15817. contract *bind.BoundContract // Generic contract wrapper for the low level calls
  15818. }
  15819. // OwnableFilterer is an auto generated log filtering Go binding around an Ethereum contract events.
  15820. type OwnableFilterer struct {
  15821. contract *bind.BoundContract // Generic contract wrapper for the low level calls
  15822. }
  15823. // OwnableSession is an auto generated Go binding around an Ethereum contract,
  15824. // with pre-set call and transact options.
  15825. type OwnableSession struct {
  15826. Contract *Ownable // Generic contract binding to set the session for
  15827. CallOpts bind.CallOpts // Call options to use throughout this session
  15828. TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
  15829. }
  15830. // OwnableCallerSession is an auto generated read-only Go binding around an Ethereum contract,
  15831. // with pre-set call options.
  15832. type OwnableCallerSession struct {
  15833. Contract *OwnableCaller // Generic contract caller binding to set the session for
  15834. CallOpts bind.CallOpts // Call options to use throughout this session
  15835. }
  15836. // OwnableTransactorSession is an auto generated write-only Go binding around an Ethereum contract,
  15837. // with pre-set transact options.
  15838. type OwnableTransactorSession struct {
  15839. Contract *OwnableTransactor // Generic contract transactor binding to set the session for
  15840. TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
  15841. }
  15842. // OwnableRaw is an auto generated low-level Go binding around an Ethereum contract.
  15843. type OwnableRaw struct {
  15844. Contract *Ownable // Generic contract binding to access the raw methods on
  15845. }
  15846. // OwnableCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
  15847. type OwnableCallerRaw struct {
  15848. Contract *OwnableCaller // Generic read-only contract binding to access the raw methods on
  15849. }
  15850. // OwnableTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
  15851. type OwnableTransactorRaw struct {
  15852. Contract *OwnableTransactor // Generic write-only contract binding to access the raw methods on
  15853. }
  15854. // NewOwnable creates a new instance of Ownable, bound to a specific deployed contract.
  15855. func NewOwnable(address common.Address, backend bind.ContractBackend) (*Ownable, error) {
  15856. contract, err := bindOwnable(address, backend, backend, backend)
  15857. if err != nil {
  15858. return nil, err
  15859. }
  15860. return &Ownable{OwnableCaller: OwnableCaller{contract: contract}, OwnableTransactor: OwnableTransactor{contract: contract}, OwnableFilterer: OwnableFilterer{contract: contract}}, nil
  15861. }
  15862. // NewOwnableCaller creates a new read-only instance of Ownable, bound to a specific deployed contract.
  15863. func NewOwnableCaller(address common.Address, caller bind.ContractCaller) (*OwnableCaller, error) {
  15864. contract, err := bindOwnable(address, caller, nil, nil)
  15865. if err != nil {
  15866. return nil, err
  15867. }
  15868. return &OwnableCaller{contract: contract}, nil
  15869. }
  15870. // NewOwnableTransactor creates a new write-only instance of Ownable, bound to a specific deployed contract.
  15871. func NewOwnableTransactor(address common.Address, transactor bind.ContractTransactor) (*OwnableTransactor, error) {
  15872. contract, err := bindOwnable(address, nil, transactor, nil)
  15873. if err != nil {
  15874. return nil, err
  15875. }
  15876. return &OwnableTransactor{contract: contract}, nil
  15877. }
  15878. // NewOwnableFilterer creates a new log filterer instance of Ownable, bound to a specific deployed contract.
  15879. func NewOwnableFilterer(address common.Address, filterer bind.ContractFilterer) (*OwnableFilterer, error) {
  15880. contract, err := bindOwnable(address, nil, nil, filterer)
  15881. if err != nil {
  15882. return nil, err
  15883. }
  15884. return &OwnableFilterer{contract: contract}, nil
  15885. }
  15886. // bindOwnable binds a generic wrapper to an already deployed contract.
  15887. func bindOwnable(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
  15888. parsed, err := abi.JSON(strings.NewReader(OwnableABI))
  15889. if err != nil {
  15890. return nil, err
  15891. }
  15892. return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil
  15893. }
  15894. // Call invokes the (constant) contract method with params as input values and
  15895. // sets the output to result. The result type might be a single field for simple
  15896. // returns, a slice of interfaces for anonymous returns and a struct for named
  15897. // returns.
  15898. func (_Ownable *OwnableRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
  15899. return _Ownable.Contract.OwnableCaller.contract.Call(opts, result, method, params...)
  15900. }
  15901. // Transfer initiates a plain transaction to move funds to the contract, calling
  15902. // its default method if one is available.
  15903. func (_Ownable *OwnableRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
  15904. return _Ownable.Contract.OwnableTransactor.contract.Transfer(opts)
  15905. }
  15906. // Transact invokes the (paid) contract method with params as input values.
  15907. func (_Ownable *OwnableRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
  15908. return _Ownable.Contract.OwnableTransactor.contract.Transact(opts, method, params...)
  15909. }
  15910. // Call invokes the (constant) contract method with params as input values and
  15911. // sets the output to result. The result type might be a single field for simple
  15912. // returns, a slice of interfaces for anonymous returns and a struct for named
  15913. // returns.
  15914. func (_Ownable *OwnableCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
  15915. return _Ownable.Contract.contract.Call(opts, result, method, params...)
  15916. }
  15917. // Transfer initiates a plain transaction to move funds to the contract, calling
  15918. // its default method if one is available.
  15919. func (_Ownable *OwnableTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
  15920. return _Ownable.Contract.contract.Transfer(opts)
  15921. }
  15922. // Transact invokes the (paid) contract method with params as input values.
  15923. func (_Ownable *OwnableTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
  15924. return _Ownable.Contract.contract.Transact(opts, method, params...)
  15925. }
  15926. // Owner is a free data retrieval call binding the contract method 0x8da5cb5b.
  15927. //
  15928. // Solidity: function owner() view returns(address)
  15929. func (_Ownable *OwnableCaller) Owner(opts *bind.CallOpts) (common.Address, error) {
  15930. var out []interface{}
  15931. err := _Ownable.contract.Call(opts, &out, "owner")
  15932. if err != nil {
  15933. return *new(common.Address), err
  15934. }
  15935. out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
  15936. return out0, err
  15937. }
  15938. // Owner is a free data retrieval call binding the contract method 0x8da5cb5b.
  15939. //
  15940. // Solidity: function owner() view returns(address)
  15941. func (_Ownable *OwnableSession) Owner() (common.Address, error) {
  15942. return _Ownable.Contract.Owner(&_Ownable.CallOpts)
  15943. }
  15944. // Owner is a free data retrieval call binding the contract method 0x8da5cb5b.
  15945. //
  15946. // Solidity: function owner() view returns(address)
  15947. func (_Ownable *OwnableCallerSession) Owner() (common.Address, error) {
  15948. return _Ownable.Contract.Owner(&_Ownable.CallOpts)
  15949. }
  15950. // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6.
  15951. //
  15952. // Solidity: function renounceOwnership() returns()
  15953. func (_Ownable *OwnableTransactor) RenounceOwnership(opts *bind.TransactOpts) (*types.Transaction, error) {
  15954. return _Ownable.contract.Transact(opts, "renounceOwnership")
  15955. }
  15956. // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6.
  15957. //
  15958. // Solidity: function renounceOwnership() returns()
  15959. func (_Ownable *OwnableSession) RenounceOwnership() (*types.Transaction, error) {
  15960. return _Ownable.Contract.RenounceOwnership(&_Ownable.TransactOpts)
  15961. }
  15962. // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6.
  15963. //
  15964. // Solidity: function renounceOwnership() returns()
  15965. func (_Ownable *OwnableTransactorSession) RenounceOwnership() (*types.Transaction, error) {
  15966. return _Ownable.Contract.RenounceOwnership(&_Ownable.TransactOpts)
  15967. }
  15968. // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b.
  15969. //
  15970. // Solidity: function transferOwnership(address newOwner) returns()
  15971. func (_Ownable *OwnableTransactor) TransferOwnership(opts *bind.TransactOpts, newOwner common.Address) (*types.Transaction, error) {
  15972. return _Ownable.contract.Transact(opts, "transferOwnership", newOwner)
  15973. }
  15974. // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b.
  15975. //
  15976. // Solidity: function transferOwnership(address newOwner) returns()
  15977. func (_Ownable *OwnableSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) {
  15978. return _Ownable.Contract.TransferOwnership(&_Ownable.TransactOpts, newOwner)
  15979. }
  15980. // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b.
  15981. //
  15982. // Solidity: function transferOwnership(address newOwner) returns()
  15983. func (_Ownable *OwnableTransactorSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) {
  15984. return _Ownable.Contract.TransferOwnership(&_Ownable.TransactOpts, newOwner)
  15985. }
  15986. // OwnableOwnershipTransferredIterator is returned from FilterOwnershipTransferred and is used to iterate over the raw logs and unpacked data for OwnershipTransferred events raised by the Ownable contract.
  15987. type OwnableOwnershipTransferredIterator struct {
  15988. Event *OwnableOwnershipTransferred // Event containing the contract specifics and raw log
  15989. contract *bind.BoundContract // Generic contract to use for unpacking event data
  15990. event string // Event name to use for unpacking event data
  15991. logs chan types.Log // Log channel receiving the found contract events
  15992. sub ethereum.Subscription // Subscription for errors, completion and termination
  15993. done bool // Whether the subscription completed delivering logs
  15994. fail error // Occurred error to stop iteration
  15995. }
  15996. // Next advances the iterator to the subsequent event, returning whether there
  15997. // are any more events found. In case of a retrieval or parsing error, false is
  15998. // returned and Error() can be queried for the exact failure.
  15999. func (it *OwnableOwnershipTransferredIterator) Next() bool {
  16000. // If the iterator failed, stop iterating
  16001. if it.fail != nil {
  16002. return false
  16003. }
  16004. // If the iterator completed, deliver directly whatever's available
  16005. if it.done {
  16006. select {
  16007. case log := <-it.logs:
  16008. it.Event = new(OwnableOwnershipTransferred)
  16009. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  16010. it.fail = err
  16011. return false
  16012. }
  16013. it.Event.Raw = log
  16014. return true
  16015. default:
  16016. return false
  16017. }
  16018. }
  16019. // Iterator still in progress, wait for either a data or an error event
  16020. select {
  16021. case log := <-it.logs:
  16022. it.Event = new(OwnableOwnershipTransferred)
  16023. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  16024. it.fail = err
  16025. return false
  16026. }
  16027. it.Event.Raw = log
  16028. return true
  16029. case err := <-it.sub.Err():
  16030. it.done = true
  16031. it.fail = err
  16032. return it.Next()
  16033. }
  16034. }
  16035. // Error returns any retrieval or parsing error occurred during filtering.
  16036. func (it *OwnableOwnershipTransferredIterator) Error() error {
  16037. return it.fail
  16038. }
  16039. // Close terminates the iteration process, releasing any pending underlying
  16040. // resources.
  16041. func (it *OwnableOwnershipTransferredIterator) Close() error {
  16042. it.sub.Unsubscribe()
  16043. return nil
  16044. }
  16045. // OwnableOwnershipTransferred represents a OwnershipTransferred event raised by the Ownable contract.
  16046. type OwnableOwnershipTransferred struct {
  16047. PreviousOwner common.Address
  16048. NewOwner common.Address
  16049. Raw types.Log // Blockchain specific contextual infos
  16050. }
  16051. // FilterOwnershipTransferred is a free log retrieval operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0.
  16052. //
  16053. // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
  16054. func (_Ownable *OwnableFilterer) FilterOwnershipTransferred(opts *bind.FilterOpts, previousOwner []common.Address, newOwner []common.Address) (*OwnableOwnershipTransferredIterator, error) {
  16055. var previousOwnerRule []interface{}
  16056. for _, previousOwnerItem := range previousOwner {
  16057. previousOwnerRule = append(previousOwnerRule, previousOwnerItem)
  16058. }
  16059. var newOwnerRule []interface{}
  16060. for _, newOwnerItem := range newOwner {
  16061. newOwnerRule = append(newOwnerRule, newOwnerItem)
  16062. }
  16063. logs, sub, err := _Ownable.contract.FilterLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule)
  16064. if err != nil {
  16065. return nil, err
  16066. }
  16067. return &OwnableOwnershipTransferredIterator{contract: _Ownable.contract, event: "OwnershipTransferred", logs: logs, sub: sub}, nil
  16068. }
  16069. // WatchOwnershipTransferred is a free log subscription operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0.
  16070. //
  16071. // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
  16072. func (_Ownable *OwnableFilterer) WatchOwnershipTransferred(opts *bind.WatchOpts, sink chan<- *OwnableOwnershipTransferred, previousOwner []common.Address, newOwner []common.Address) (event.Subscription, error) {
  16073. var previousOwnerRule []interface{}
  16074. for _, previousOwnerItem := range previousOwner {
  16075. previousOwnerRule = append(previousOwnerRule, previousOwnerItem)
  16076. }
  16077. var newOwnerRule []interface{}
  16078. for _, newOwnerItem := range newOwner {
  16079. newOwnerRule = append(newOwnerRule, newOwnerItem)
  16080. }
  16081. logs, sub, err := _Ownable.contract.WatchLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule)
  16082. if err != nil {
  16083. return nil, err
  16084. }
  16085. return event.NewSubscription(func(quit <-chan struct{}) error {
  16086. defer sub.Unsubscribe()
  16087. for {
  16088. select {
  16089. case log := <-logs:
  16090. // New log arrived, parse the event and forward to the user
  16091. event := new(OwnableOwnershipTransferred)
  16092. if err := _Ownable.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil {
  16093. return err
  16094. }
  16095. event.Raw = log
  16096. select {
  16097. case sink <- event:
  16098. case err := <-sub.Err():
  16099. return err
  16100. case <-quit:
  16101. return nil
  16102. }
  16103. case err := <-sub.Err():
  16104. return err
  16105. case <-quit:
  16106. return nil
  16107. }
  16108. }
  16109. }), nil
  16110. }
  16111. // ParseOwnershipTransferred is a log parse operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0.
  16112. //
  16113. // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
  16114. func (_Ownable *OwnableFilterer) ParseOwnershipTransferred(log types.Log) (*OwnableOwnershipTransferred, error) {
  16115. event := new(OwnableOwnershipTransferred)
  16116. if err := _Ownable.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil {
  16117. return nil, err
  16118. }
  16119. event.Raw = log
  16120. return event, nil
  16121. }
  16122. // SafeMathMetaData contains all meta data concerning the SafeMath contract.
  16123. var SafeMathMetaData = &bind.MetaData{
  16124. ABI: "[]",
  16125. Bin: "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212201fc18ef4fe49cd386cc40f05ccfc38eca9a6a4ddd13c34f6feca7955cbf776bb64736f6c63430008010033",
  16126. }
  16127. // SafeMathABI is the input ABI used to generate the binding from.
  16128. // Deprecated: Use SafeMathMetaData.ABI instead.
  16129. var SafeMathABI = SafeMathMetaData.ABI
  16130. // SafeMathBin is the compiled bytecode used for deploying new contracts.
  16131. // Deprecated: Use SafeMathMetaData.Bin instead.
  16132. var SafeMathBin = SafeMathMetaData.Bin
  16133. // DeploySafeMath deploys a new Ethereum contract, binding an instance of SafeMath to it.
  16134. func DeploySafeMath(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *SafeMath, error) {
  16135. parsed, err := SafeMathMetaData.GetAbi()
  16136. if err != nil {
  16137. return common.Address{}, nil, nil, err
  16138. }
  16139. if parsed == nil {
  16140. return common.Address{}, nil, nil, errors.New("GetABI returned nil")
  16141. }
  16142. address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(SafeMathBin), backend)
  16143. if err != nil {
  16144. return common.Address{}, nil, nil, err
  16145. }
  16146. return address, tx, &SafeMath{SafeMathCaller: SafeMathCaller{contract: contract}, SafeMathTransactor: SafeMathTransactor{contract: contract}, SafeMathFilterer: SafeMathFilterer{contract: contract}}, nil
  16147. }
  16148. // SafeMath is an auto generated Go binding around an Ethereum contract.
  16149. type SafeMath struct {
  16150. SafeMathCaller // Read-only binding to the contract
  16151. SafeMathTransactor // Write-only binding to the contract
  16152. SafeMathFilterer // Log filterer for contract events
  16153. }
  16154. // SafeMathCaller is an auto generated read-only Go binding around an Ethereum contract.
  16155. type SafeMathCaller struct {
  16156. contract *bind.BoundContract // Generic contract wrapper for the low level calls
  16157. }
  16158. // SafeMathTransactor is an auto generated write-only Go binding around an Ethereum contract.
  16159. type SafeMathTransactor struct {
  16160. contract *bind.BoundContract // Generic contract wrapper for the low level calls
  16161. }
  16162. // SafeMathFilterer is an auto generated log filtering Go binding around an Ethereum contract events.
  16163. type SafeMathFilterer struct {
  16164. contract *bind.BoundContract // Generic contract wrapper for the low level calls
  16165. }
  16166. // SafeMathSession is an auto generated Go binding around an Ethereum contract,
  16167. // with pre-set call and transact options.
  16168. type SafeMathSession struct {
  16169. Contract *SafeMath // Generic contract binding to set the session for
  16170. CallOpts bind.CallOpts // Call options to use throughout this session
  16171. TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
  16172. }
  16173. // SafeMathCallerSession is an auto generated read-only Go binding around an Ethereum contract,
  16174. // with pre-set call options.
  16175. type SafeMathCallerSession struct {
  16176. Contract *SafeMathCaller // Generic contract caller binding to set the session for
  16177. CallOpts bind.CallOpts // Call options to use throughout this session
  16178. }
  16179. // SafeMathTransactorSession is an auto generated write-only Go binding around an Ethereum contract,
  16180. // with pre-set transact options.
  16181. type SafeMathTransactorSession struct {
  16182. Contract *SafeMathTransactor // Generic contract transactor binding to set the session for
  16183. TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
  16184. }
  16185. // SafeMathRaw is an auto generated low-level Go binding around an Ethereum contract.
  16186. type SafeMathRaw struct {
  16187. Contract *SafeMath // Generic contract binding to access the raw methods on
  16188. }
  16189. // SafeMathCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
  16190. type SafeMathCallerRaw struct {
  16191. Contract *SafeMathCaller // Generic read-only contract binding to access the raw methods on
  16192. }
  16193. // SafeMathTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
  16194. type SafeMathTransactorRaw struct {
  16195. Contract *SafeMathTransactor // Generic write-only contract binding to access the raw methods on
  16196. }
  16197. // NewSafeMath creates a new instance of SafeMath, bound to a specific deployed contract.
  16198. func NewSafeMath(address common.Address, backend bind.ContractBackend) (*SafeMath, error) {
  16199. contract, err := bindSafeMath(address, backend, backend, backend)
  16200. if err != nil {
  16201. return nil, err
  16202. }
  16203. return &SafeMath{SafeMathCaller: SafeMathCaller{contract: contract}, SafeMathTransactor: SafeMathTransactor{contract: contract}, SafeMathFilterer: SafeMathFilterer{contract: contract}}, nil
  16204. }
  16205. // NewSafeMathCaller creates a new read-only instance of SafeMath, bound to a specific deployed contract.
  16206. func NewSafeMathCaller(address common.Address, caller bind.ContractCaller) (*SafeMathCaller, error) {
  16207. contract, err := bindSafeMath(address, caller, nil, nil)
  16208. if err != nil {
  16209. return nil, err
  16210. }
  16211. return &SafeMathCaller{contract: contract}, nil
  16212. }
  16213. // NewSafeMathTransactor creates a new write-only instance of SafeMath, bound to a specific deployed contract.
  16214. func NewSafeMathTransactor(address common.Address, transactor bind.ContractTransactor) (*SafeMathTransactor, error) {
  16215. contract, err := bindSafeMath(address, nil, transactor, nil)
  16216. if err != nil {
  16217. return nil, err
  16218. }
  16219. return &SafeMathTransactor{contract: contract}, nil
  16220. }
  16221. // NewSafeMathFilterer creates a new log filterer instance of SafeMath, bound to a specific deployed contract.
  16222. func NewSafeMathFilterer(address common.Address, filterer bind.ContractFilterer) (*SafeMathFilterer, error) {
  16223. contract, err := bindSafeMath(address, nil, nil, filterer)
  16224. if err != nil {
  16225. return nil, err
  16226. }
  16227. return &SafeMathFilterer{contract: contract}, nil
  16228. }
  16229. // bindSafeMath binds a generic wrapper to an already deployed contract.
  16230. func bindSafeMath(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
  16231. parsed, err := abi.JSON(strings.NewReader(SafeMathABI))
  16232. if err != nil {
  16233. return nil, err
  16234. }
  16235. return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil
  16236. }
  16237. // Call invokes the (constant) contract method with params as input values and
  16238. // sets the output to result. The result type might be a single field for simple
  16239. // returns, a slice of interfaces for anonymous returns and a struct for named
  16240. // returns.
  16241. func (_SafeMath *SafeMathRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
  16242. return _SafeMath.Contract.SafeMathCaller.contract.Call(opts, result, method, params...)
  16243. }
  16244. // Transfer initiates a plain transaction to move funds to the contract, calling
  16245. // its default method if one is available.
  16246. func (_SafeMath *SafeMathRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
  16247. return _SafeMath.Contract.SafeMathTransactor.contract.Transfer(opts)
  16248. }
  16249. // Transact invokes the (paid) contract method with params as input values.
  16250. func (_SafeMath *SafeMathRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
  16251. return _SafeMath.Contract.SafeMathTransactor.contract.Transact(opts, method, params...)
  16252. }
  16253. // Call invokes the (constant) contract method with params as input values and
  16254. // sets the output to result. The result type might be a single field for simple
  16255. // returns, a slice of interfaces for anonymous returns and a struct for named
  16256. // returns.
  16257. func (_SafeMath *SafeMathCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
  16258. return _SafeMath.Contract.contract.Call(opts, result, method, params...)
  16259. }
  16260. // Transfer initiates a plain transaction to move funds to the contract, calling
  16261. // its default method if one is available.
  16262. func (_SafeMath *SafeMathTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
  16263. return _SafeMath.Contract.contract.Transfer(opts)
  16264. }
  16265. // Transact invokes the (paid) contract method with params as input values.
  16266. func (_SafeMath *SafeMathTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
  16267. return _SafeMath.Contract.contract.Transact(opts, method, params...)
  16268. }
  16269. // StringsMetaData contains all meta data concerning the Strings contract.
  16270. var StringsMetaData = &bind.MetaData{
  16271. ABI: "[]",
  16272. Bin: "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122058baafeed872837f3d079e468c5f41092777ed4166f64475bcc91ae3f5c7b81f64736f6c63430008010033",
  16273. }
  16274. // StringsABI is the input ABI used to generate the binding from.
  16275. // Deprecated: Use StringsMetaData.ABI instead.
  16276. var StringsABI = StringsMetaData.ABI
  16277. // StringsBin is the compiled bytecode used for deploying new contracts.
  16278. // Deprecated: Use StringsMetaData.Bin instead.
  16279. var StringsBin = StringsMetaData.Bin
  16280. // DeployStrings deploys a new Ethereum contract, binding an instance of Strings to it.
  16281. func DeployStrings(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *Strings, error) {
  16282. parsed, err := StringsMetaData.GetAbi()
  16283. if err != nil {
  16284. return common.Address{}, nil, nil, err
  16285. }
  16286. if parsed == nil {
  16287. return common.Address{}, nil, nil, errors.New("GetABI returned nil")
  16288. }
  16289. address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(StringsBin), backend)
  16290. if err != nil {
  16291. return common.Address{}, nil, nil, err
  16292. }
  16293. return address, tx, &Strings{StringsCaller: StringsCaller{contract: contract}, StringsTransactor: StringsTransactor{contract: contract}, StringsFilterer: StringsFilterer{contract: contract}}, nil
  16294. }
  16295. // Strings is an auto generated Go binding around an Ethereum contract.
  16296. type Strings struct {
  16297. StringsCaller // Read-only binding to the contract
  16298. StringsTransactor // Write-only binding to the contract
  16299. StringsFilterer // Log filterer for contract events
  16300. }
  16301. // StringsCaller is an auto generated read-only Go binding around an Ethereum contract.
  16302. type StringsCaller struct {
  16303. contract *bind.BoundContract // Generic contract wrapper for the low level calls
  16304. }
  16305. // StringsTransactor is an auto generated write-only Go binding around an Ethereum contract.
  16306. type StringsTransactor struct {
  16307. contract *bind.BoundContract // Generic contract wrapper for the low level calls
  16308. }
  16309. // StringsFilterer is an auto generated log filtering Go binding around an Ethereum contract events.
  16310. type StringsFilterer struct {
  16311. contract *bind.BoundContract // Generic contract wrapper for the low level calls
  16312. }
  16313. // StringsSession is an auto generated Go binding around an Ethereum contract,
  16314. // with pre-set call and transact options.
  16315. type StringsSession struct {
  16316. Contract *Strings // Generic contract binding to set the session for
  16317. CallOpts bind.CallOpts // Call options to use throughout this session
  16318. TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
  16319. }
  16320. // StringsCallerSession is an auto generated read-only Go binding around an Ethereum contract,
  16321. // with pre-set call options.
  16322. type StringsCallerSession struct {
  16323. Contract *StringsCaller // Generic contract caller binding to set the session for
  16324. CallOpts bind.CallOpts // Call options to use throughout this session
  16325. }
  16326. // StringsTransactorSession is an auto generated write-only Go binding around an Ethereum contract,
  16327. // with pre-set transact options.
  16328. type StringsTransactorSession struct {
  16329. Contract *StringsTransactor // Generic contract transactor binding to set the session for
  16330. TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
  16331. }
  16332. // StringsRaw is an auto generated low-level Go binding around an Ethereum contract.
  16333. type StringsRaw struct {
  16334. Contract *Strings // Generic contract binding to access the raw methods on
  16335. }
  16336. // StringsCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
  16337. type StringsCallerRaw struct {
  16338. Contract *StringsCaller // Generic read-only contract binding to access the raw methods on
  16339. }
  16340. // StringsTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
  16341. type StringsTransactorRaw struct {
  16342. Contract *StringsTransactor // Generic write-only contract binding to access the raw methods on
  16343. }
  16344. // NewStrings creates a new instance of Strings, bound to a specific deployed contract.
  16345. func NewStrings(address common.Address, backend bind.ContractBackend) (*Strings, error) {
  16346. contract, err := bindStrings(address, backend, backend, backend)
  16347. if err != nil {
  16348. return nil, err
  16349. }
  16350. return &Strings{StringsCaller: StringsCaller{contract: contract}, StringsTransactor: StringsTransactor{contract: contract}, StringsFilterer: StringsFilterer{contract: contract}}, nil
  16351. }
  16352. // NewStringsCaller creates a new read-only instance of Strings, bound to a specific deployed contract.
  16353. func NewStringsCaller(address common.Address, caller bind.ContractCaller) (*StringsCaller, error) {
  16354. contract, err := bindStrings(address, caller, nil, nil)
  16355. if err != nil {
  16356. return nil, err
  16357. }
  16358. return &StringsCaller{contract: contract}, nil
  16359. }
  16360. // NewStringsTransactor creates a new write-only instance of Strings, bound to a specific deployed contract.
  16361. func NewStringsTransactor(address common.Address, transactor bind.ContractTransactor) (*StringsTransactor, error) {
  16362. contract, err := bindStrings(address, nil, transactor, nil)
  16363. if err != nil {
  16364. return nil, err
  16365. }
  16366. return &StringsTransactor{contract: contract}, nil
  16367. }
  16368. // NewStringsFilterer creates a new log filterer instance of Strings, bound to a specific deployed contract.
  16369. func NewStringsFilterer(address common.Address, filterer bind.ContractFilterer) (*StringsFilterer, error) {
  16370. contract, err := bindStrings(address, nil, nil, filterer)
  16371. if err != nil {
  16372. return nil, err
  16373. }
  16374. return &StringsFilterer{contract: contract}, nil
  16375. }
  16376. // bindStrings binds a generic wrapper to an already deployed contract.
  16377. func bindStrings(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
  16378. parsed, err := abi.JSON(strings.NewReader(StringsABI))
  16379. if err != nil {
  16380. return nil, err
  16381. }
  16382. return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil
  16383. }
  16384. // Call invokes the (constant) contract method with params as input values and
  16385. // sets the output to result. The result type might be a single field for simple
  16386. // returns, a slice of interfaces for anonymous returns and a struct for named
  16387. // returns.
  16388. func (_Strings *StringsRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
  16389. return _Strings.Contract.StringsCaller.contract.Call(opts, result, method, params...)
  16390. }
  16391. // Transfer initiates a plain transaction to move funds to the contract, calling
  16392. // its default method if one is available.
  16393. func (_Strings *StringsRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
  16394. return _Strings.Contract.StringsTransactor.contract.Transfer(opts)
  16395. }
  16396. // Transact invokes the (paid) contract method with params as input values.
  16397. func (_Strings *StringsRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
  16398. return _Strings.Contract.StringsTransactor.contract.Transact(opts, method, params...)
  16399. }
  16400. // Call invokes the (constant) contract method with params as input values and
  16401. // sets the output to result. The result type might be a single field for simple
  16402. // returns, a slice of interfaces for anonymous returns and a struct for named
  16403. // returns.
  16404. func (_Strings *StringsCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
  16405. return _Strings.Contract.contract.Call(opts, result, method, params...)
  16406. }
  16407. // Transfer initiates a plain transaction to move funds to the contract, calling
  16408. // its default method if one is available.
  16409. func (_Strings *StringsTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
  16410. return _Strings.Contract.contract.Transfer(opts)
  16411. }
  16412. // Transact invokes the (paid) contract method with params as input values.
  16413. func (_Strings *StringsTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
  16414. return _Strings.Contract.contract.Transact(opts, method, params...)
  16415. }