123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861986298639864986598669867986898699870987198729873987498759876987798789879988098819882988398849885988698879888988998909891989298939894989598969897989898999900990199029903990499059906990799089909991099119912991399149915991699179918991999209921992299239924992599269927992899299930993199329933993499359936993799389939994099419942994399449945994699479948994999509951995299539954995599569957995899599960996199629963996499659966996799689969997099719972997399749975997699779978997999809981998299839984998599869987998899899990999199929993999499959996999799989999100001000110002100031000410005100061000710008100091001010011100121001310014100151001610017100181001910020100211002210023100241002510026100271002810029100301003110032100331003410035100361003710038100391004010041100421004310044100451004610047100481004910050100511005210053100541005510056100571005810059100601006110062100631006410065100661006710068100691007010071100721007310074100751007610077100781007910080100811008210083100841008510086100871008810089100901009110092100931009410095100961009710098100991010010101101021010310104101051010610107101081010910110101111011210113101141011510116101171011810119101201012110122101231012410125101261012710128101291013010131101321013310134101351013610137101381013910140101411014210143101441014510146101471014810149101501015110152101531015410155101561015710158101591016010161101621016310164101651016610167101681016910170101711017210173101741017510176101771017810179101801018110182101831018410185101861018710188101891019010191101921019310194101951019610197101981019910200102011020210203102041020510206102071020810209102101021110212102131021410215102161021710218102191022010221102221022310224102251022610227102281022910230102311023210233102341023510236102371023810239102401024110242102431024410245102461024710248102491025010251102521025310254102551025610257102581025910260102611026210263102641026510266102671026810269102701027110272102731027410275102761027710278102791028010281102821028310284102851028610287102881028910290102911029210293102941029510296102971029810299103001030110302103031030410305103061030710308103091031010311103121031310314103151031610317103181031910320103211032210323103241032510326103271032810329103301033110332103331033410335103361033710338103391034010341103421034310344103451034610347103481034910350103511035210353103541035510356103571035810359103601036110362103631036410365103661036710368103691037010371103721037310374103751037610377103781037910380103811038210383103841038510386103871038810389103901039110392103931039410395103961039710398103991040010401104021040310404104051040610407104081040910410104111041210413104141041510416104171041810419104201042110422104231042410425104261042710428104291043010431104321043310434104351043610437104381043910440104411044210443104441044510446104471044810449104501045110452104531045410455104561045710458104591046010461104621046310464104651046610467104681046910470104711047210473104741047510476104771047810479104801048110482104831048410485104861048710488104891049010491104921049310494104951049610497104981049910500105011050210503105041050510506105071050810509105101051110512105131051410515105161051710518105191052010521105221052310524105251052610527105281052910530105311053210533105341053510536105371053810539105401054110542105431054410545105461054710548105491055010551105521055310554105551055610557105581055910560105611056210563105641056510566105671056810569105701057110572105731057410575105761057710578105791058010581105821058310584105851058610587105881058910590105911059210593105941059510596105971059810599106001060110602106031060410605106061060710608106091061010611106121061310614106151061610617106181061910620106211062210623106241062510626106271062810629106301063110632106331063410635106361063710638106391064010641106421064310644106451064610647106481064910650106511065210653106541065510656106571065810659106601066110662106631066410665106661066710668106691067010671106721067310674106751067610677106781067910680106811068210683106841068510686106871068810689106901069110692106931069410695106961069710698106991070010701107021070310704107051070610707107081070910710107111071210713107141071510716107171071810719107201072110722107231072410725107261072710728107291073010731107321073310734107351073610737107381073910740107411074210743107441074510746107471074810749107501075110752107531075410755107561075710758107591076010761107621076310764107651076610767107681076910770107711077210773107741077510776107771077810779107801078110782107831078410785107861078710788107891079010791107921079310794107951079610797107981079910800108011080210803108041080510806108071080810809108101081110812108131081410815108161081710818108191082010821108221082310824108251082610827108281082910830108311083210833108341083510836108371083810839108401084110842108431084410845108461084710848108491085010851108521085310854108551085610857108581085910860108611086210863108641086510866108671086810869108701087110872108731087410875108761087710878108791088010881108821088310884108851088610887108881088910890108911089210893108941089510896108971089810899109001090110902109031090410905109061090710908109091091010911109121091310914109151091610917109181091910920109211092210923109241092510926109271092810929109301093110932109331093410935109361093710938109391094010941109421094310944109451094610947109481094910950109511095210953109541095510956109571095810959109601096110962109631096410965109661096710968109691097010971109721097310974109751097610977109781097910980109811098210983109841098510986109871098810989109901099110992109931099410995109961099710998109991100011001110021100311004110051100611007110081100911010110111101211013110141101511016110171101811019110201102111022110231102411025110261102711028110291103011031110321103311034110351103611037110381103911040110411104211043110441104511046110471104811049110501105111052110531105411055110561105711058110591106011061110621106311064110651106611067110681106911070110711107211073110741107511076110771107811079110801108111082110831108411085110861108711088110891109011091110921109311094110951109611097110981109911100111011110211103111041110511106111071110811109111101111111112111131111411115111161111711118111191112011121111221112311124111251112611127111281112911130111311113211133111341113511136111371113811139111401114111142111431114411145111461114711148111491115011151111521115311154111551115611157111581115911160111611116211163111641116511166111671116811169111701117111172111731117411175111761117711178111791118011181111821118311184111851118611187111881118911190111911119211193111941119511196111971119811199112001120111202112031120411205112061120711208112091121011211112121121311214112151121611217112181121911220112211122211223112241122511226112271122811229112301123111232112331123411235112361123711238112391124011241112421124311244112451124611247112481124911250112511125211253112541125511256112571125811259112601126111262112631126411265112661126711268112691127011271112721127311274112751127611277112781127911280112811128211283112841128511286112871128811289112901129111292112931129411295112961129711298112991130011301113021130311304113051130611307113081130911310113111131211313113141131511316113171131811319113201132111322113231132411325113261132711328113291133011331113321133311334113351133611337113381133911340113411134211343113441134511346113471134811349113501135111352113531135411355113561135711358113591136011361113621136311364113651136611367113681136911370113711137211373113741137511376113771137811379113801138111382113831138411385113861138711388113891139011391113921139311394113951139611397113981139911400114011140211403114041140511406114071140811409114101141111412114131141411415114161141711418114191142011421114221142311424114251142611427114281142911430114311143211433114341143511436114371143811439114401144111442114431144411445114461144711448114491145011451114521145311454114551145611457114581145911460114611146211463114641146511466114671146811469114701147111472114731147411475114761147711478114791148011481114821148311484114851148611487114881148911490114911149211493114941149511496114971149811499115001150111502115031150411505115061150711508115091151011511115121151311514115151151611517115181151911520115211152211523115241152511526115271152811529115301153111532115331153411535115361153711538115391154011541115421154311544115451154611547115481154911550115511155211553115541155511556115571155811559115601156111562115631156411565115661156711568115691157011571115721157311574115751157611577115781157911580115811158211583115841158511586115871158811589115901159111592115931159411595115961159711598115991160011601116021160311604116051160611607116081160911610116111161211613116141161511616116171161811619116201162111622116231162411625116261162711628116291163011631116321163311634116351163611637116381163911640116411164211643116441164511646116471164811649116501165111652116531165411655116561165711658116591166011661116621166311664116651166611667116681166911670116711167211673116741167511676116771167811679116801168111682116831168411685116861168711688116891169011691116921169311694116951169611697116981169911700117011170211703117041170511706117071170811709117101171111712117131171411715117161171711718117191172011721117221172311724117251172611727117281172911730117311173211733117341173511736117371173811739117401174111742117431174411745117461174711748117491175011751117521175311754117551175611757117581175911760117611176211763117641176511766117671176811769117701177111772117731177411775117761177711778117791178011781117821178311784117851178611787117881178911790117911179211793117941179511796117971179811799118001180111802118031180411805118061180711808118091181011811118121181311814118151181611817118181181911820118211182211823118241182511826118271182811829118301183111832118331183411835118361183711838118391184011841118421184311844118451184611847118481184911850118511185211853118541185511856118571185811859118601186111862118631186411865118661186711868118691187011871118721187311874118751187611877118781187911880118811188211883118841188511886118871188811889118901189111892118931189411895118961189711898118991190011901119021190311904119051190611907119081190911910119111191211913119141191511916119171191811919119201192111922119231192411925119261192711928119291193011931119321193311934119351193611937119381193911940119411194211943119441194511946119471194811949119501195111952119531195411955119561195711958119591196011961119621196311964119651196611967119681196911970119711197211973119741197511976119771197811979119801198111982119831198411985119861198711988119891199011991119921199311994119951199611997119981199912000120011200212003120041200512006120071200812009120101201112012120131201412015120161201712018120191202012021120221202312024120251202612027120281202912030120311203212033120341203512036120371203812039120401204112042120431204412045120461204712048120491205012051120521205312054120551205612057120581205912060120611206212063120641206512066120671206812069120701207112072120731207412075120761207712078120791208012081120821208312084120851208612087120881208912090120911209212093120941209512096120971209812099121001210112102121031210412105121061210712108121091211012111121121211312114121151211612117121181211912120121211212212123121241212512126121271212812129121301213112132121331213412135121361213712138121391214012141121421214312144121451214612147121481214912150121511215212153121541215512156121571215812159121601216112162121631216412165121661216712168121691217012171121721217312174121751217612177121781217912180121811218212183121841218512186121871218812189121901219112192121931219412195121961219712198121991220012201122021220312204122051220612207122081220912210122111221212213122141221512216122171221812219122201222112222122231222412225122261222712228122291223012231122321223312234122351223612237122381223912240122411224212243122441224512246122471224812249122501225112252122531225412255122561225712258122591226012261122621226312264122651226612267122681226912270122711227212273122741227512276122771227812279122801228112282122831228412285122861228712288122891229012291122921229312294122951229612297122981229912300123011230212303123041230512306123071230812309123101231112312123131231412315123161231712318123191232012321123221232312324123251232612327123281232912330123311233212333123341233512336123371233812339123401234112342123431234412345123461234712348123491235012351123521235312354123551235612357123581235912360123611236212363123641236512366123671236812369123701237112372123731237412375123761237712378123791238012381123821238312384123851238612387123881238912390123911239212393123941239512396123971239812399124001240112402124031240412405124061240712408124091241012411124121241312414124151241612417124181241912420124211242212423124241242512426124271242812429124301243112432124331243412435124361243712438124391244012441124421244312444124451244612447124481244912450124511245212453124541245512456124571245812459124601246112462124631246412465124661246712468124691247012471124721247312474124751247612477124781247912480124811248212483124841248512486124871248812489124901249112492124931249412495124961249712498124991250012501125021250312504125051250612507125081250912510125111251212513125141251512516125171251812519125201252112522125231252412525125261252712528125291253012531125321253312534125351253612537125381253912540125411254212543125441254512546125471254812549125501255112552125531255412555125561255712558125591256012561125621256312564125651256612567125681256912570125711257212573125741257512576125771257812579125801258112582125831258412585125861258712588125891259012591125921259312594125951259612597125981259912600126011260212603126041260512606126071260812609126101261112612126131261412615126161261712618126191262012621126221262312624126251262612627126281262912630126311263212633126341263512636126371263812639126401264112642126431264412645126461264712648126491265012651126521265312654126551265612657126581265912660126611266212663126641266512666126671266812669126701267112672126731267412675126761267712678126791268012681126821268312684126851268612687126881268912690126911269212693126941269512696126971269812699127001270112702127031270412705127061270712708127091271012711127121271312714127151271612717127181271912720127211272212723127241272512726127271272812729127301273112732127331273412735127361273712738127391274012741127421274312744127451274612747127481274912750127511275212753127541275512756127571275812759127601276112762127631276412765127661276712768127691277012771127721277312774127751277612777127781277912780127811278212783127841278512786127871278812789127901279112792127931279412795127961279712798127991280012801128021280312804128051280612807128081280912810128111281212813128141281512816128171281812819128201282112822128231282412825128261282712828128291283012831128321283312834128351283612837128381283912840128411284212843128441284512846128471284812849128501285112852128531285412855128561285712858128591286012861128621286312864128651286612867128681286912870128711287212873128741287512876128771287812879128801288112882128831288412885128861288712888128891289012891128921289312894128951289612897128981289912900129011290212903129041290512906129071290812909129101291112912129131291412915129161291712918129191292012921129221292312924129251292612927129281292912930129311293212933129341293512936129371293812939129401294112942129431294412945129461294712948129491295012951129521295312954129551295612957129581295912960129611296212963129641296512966129671296812969129701297112972129731297412975129761297712978129791298012981129821298312984129851298612987129881298912990129911299212993129941299512996129971299812999130001300113002130031300413005130061300713008130091301013011130121301313014130151301613017130181301913020130211302213023130241302513026130271302813029130301303113032130331303413035130361303713038130391304013041130421304313044130451304613047130481304913050130511305213053130541305513056130571305813059130601306113062130631306413065130661306713068130691307013071130721307313074130751307613077130781307913080130811308213083130841308513086130871308813089130901309113092130931309413095130961309713098130991310013101131021310313104131051310613107131081310913110131111311213113131141311513116131171311813119131201312113122131231312413125131261312713128131291313013131131321313313134131351313613137131381313913140131411314213143131441314513146131471314813149131501315113152131531315413155131561315713158131591316013161131621316313164131651316613167131681316913170131711317213173131741317513176131771317813179131801318113182131831318413185131861318713188131891319013191131921319313194131951319613197131981319913200132011320213203132041320513206132071320813209132101321113212132131321413215132161321713218132191322013221132221322313224132251322613227132281322913230132311323213233132341323513236132371323813239132401324113242132431324413245132461324713248132491325013251132521325313254132551325613257132581325913260132611326213263132641326513266132671326813269132701327113272132731327413275132761327713278132791328013281132821328313284132851328613287132881328913290132911329213293132941329513296132971329813299133001330113302133031330413305133061330713308133091331013311133121331313314133151331613317133181331913320133211332213323133241332513326133271332813329133301333113332133331333413335133361333713338133391334013341133421334313344133451334613347133481334913350133511335213353133541335513356133571335813359133601336113362133631336413365133661336713368133691337013371133721337313374133751337613377133781337913380133811338213383133841338513386133871338813389133901339113392133931339413395133961339713398133991340013401134021340313404134051340613407134081340913410134111341213413134141341513416134171341813419134201342113422134231342413425134261342713428134291343013431134321343313434134351343613437134381343913440134411344213443134441344513446134471344813449134501345113452134531345413455134561345713458134591346013461134621346313464134651346613467134681346913470134711347213473134741347513476134771347813479134801348113482134831348413485134861348713488134891349013491134921349313494134951349613497134981349913500135011350213503135041350513506135071350813509135101351113512135131351413515135161351713518135191352013521135221352313524135251352613527135281352913530135311353213533135341353513536135371353813539135401354113542135431354413545135461354713548135491355013551135521355313554135551355613557135581355913560135611356213563135641356513566135671356813569135701357113572135731357413575135761357713578135791358013581135821358313584135851358613587135881358913590135911359213593135941359513596135971359813599136001360113602136031360413605136061360713608136091361013611136121361313614136151361613617136181361913620136211362213623136241362513626136271362813629136301363113632136331363413635136361363713638136391364013641136421364313644136451364613647136481364913650136511365213653136541365513656136571365813659136601366113662136631366413665136661366713668136691367013671136721367313674136751367613677136781367913680136811368213683136841368513686136871368813689136901369113692136931369413695136961369713698136991370013701137021370313704137051370613707137081370913710137111371213713137141371513716137171371813719137201372113722137231372413725137261372713728137291373013731137321373313734137351373613737137381373913740137411374213743137441374513746137471374813749137501375113752137531375413755137561375713758137591376013761137621376313764137651376613767137681376913770137711377213773137741377513776137771377813779137801378113782137831378413785137861378713788137891379013791137921379313794137951379613797137981379913800138011380213803138041380513806138071380813809138101381113812138131381413815138161381713818138191382013821138221382313824138251382613827138281382913830138311383213833138341383513836138371383813839138401384113842138431384413845138461384713848138491385013851138521385313854138551385613857138581385913860138611386213863138641386513866138671386813869138701387113872138731387413875138761387713878138791388013881138821388313884138851388613887138881388913890138911389213893138941389513896138971389813899139001390113902139031390413905139061390713908139091391013911139121391313914139151391613917139181391913920139211392213923139241392513926139271392813929139301393113932139331393413935139361393713938139391394013941139421394313944139451394613947139481394913950139511395213953139541395513956139571395813959139601396113962139631396413965139661396713968139691397013971139721397313974139751397613977139781397913980139811398213983139841398513986139871398813989139901399113992139931399413995139961399713998139991400014001140021400314004140051400614007140081400914010140111401214013140141401514016140171401814019140201402114022140231402414025140261402714028140291403014031140321403314034140351403614037140381403914040140411404214043140441404514046140471404814049140501405114052140531405414055140561405714058140591406014061140621406314064140651406614067140681406914070140711407214073140741407514076140771407814079140801408114082140831408414085140861408714088140891409014091140921409314094140951409614097140981409914100141011410214103141041410514106141071410814109141101411114112141131411414115141161411714118141191412014121141221412314124141251412614127141281412914130141311413214133141341413514136141371413814139141401414114142141431414414145141461414714148141491415014151141521415314154141551415614157141581415914160141611416214163141641416514166141671416814169141701417114172141731417414175141761417714178141791418014181141821418314184141851418614187141881418914190141911419214193141941419514196141971419814199142001420114202142031420414205142061420714208142091421014211142121421314214142151421614217142181421914220142211422214223142241422514226142271422814229142301423114232142331423414235142361423714238142391424014241142421424314244142451424614247142481424914250142511425214253142541425514256142571425814259142601426114262142631426414265142661426714268142691427014271142721427314274142751427614277142781427914280142811428214283142841428514286142871428814289142901429114292142931429414295142961429714298142991430014301143021430314304143051430614307143081430914310143111431214313143141431514316143171431814319143201432114322143231432414325143261432714328143291433014331143321433314334143351433614337143381433914340143411434214343143441434514346143471434814349143501435114352143531435414355143561435714358143591436014361143621436314364143651436614367143681436914370143711437214373143741437514376143771437814379143801438114382143831438414385143861438714388143891439014391143921439314394143951439614397143981439914400144011440214403144041440514406144071440814409144101441114412144131441414415144161441714418144191442014421144221442314424144251442614427144281442914430144311443214433144341443514436144371443814439144401444114442144431444414445144461444714448144491445014451144521445314454144551445614457144581445914460144611446214463144641446514466144671446814469144701447114472144731447414475144761447714478144791448014481144821448314484144851448614487144881448914490144911449214493144941449514496144971449814499145001450114502145031450414505145061450714508145091451014511145121451314514145151451614517145181451914520145211452214523145241452514526145271452814529145301453114532145331453414535145361453714538145391454014541145421454314544145451454614547145481454914550145511455214553145541455514556145571455814559145601456114562145631456414565145661456714568145691457014571145721457314574145751457614577145781457914580145811458214583145841458514586145871458814589145901459114592145931459414595145961459714598145991460014601146021460314604146051460614607146081460914610146111461214613146141461514616146171461814619146201462114622146231462414625146261462714628146291463014631146321463314634146351463614637146381463914640146411464214643146441464514646146471464814649146501465114652146531465414655146561465714658146591466014661146621466314664146651466614667146681466914670146711467214673146741467514676146771467814679146801468114682146831468414685146861468714688146891469014691146921469314694146951469614697146981469914700147011470214703147041470514706147071470814709147101471114712147131471414715147161471714718147191472014721147221472314724147251472614727147281472914730147311473214733147341473514736147371473814739147401474114742147431474414745147461474714748147491475014751147521475314754147551475614757147581475914760147611476214763147641476514766147671476814769147701477114772147731477414775147761477714778147791478014781147821478314784147851478614787147881478914790147911479214793147941479514796147971479814799148001480114802148031480414805148061480714808148091481014811148121481314814148151481614817148181481914820148211482214823148241482514826148271482814829148301483114832148331483414835148361483714838148391484014841148421484314844148451484614847148481484914850148511485214853148541485514856148571485814859148601486114862148631486414865148661486714868148691487014871148721487314874148751487614877148781487914880148811488214883148841488514886148871488814889148901489114892148931489414895148961489714898148991490014901149021490314904149051490614907149081490914910149111491214913149141491514916149171491814919149201492114922149231492414925149261492714928149291493014931149321493314934149351493614937149381493914940149411494214943149441494514946149471494814949149501495114952149531495414955149561495714958149591496014961149621496314964149651496614967149681496914970149711497214973149741497514976149771497814979149801498114982149831498414985149861498714988149891499014991149921499314994149951499614997149981499915000150011500215003150041500515006150071500815009150101501115012150131501415015150161501715018150191502015021150221502315024150251502615027150281502915030150311503215033150341503515036150371503815039150401504115042150431504415045150461504715048150491505015051150521505315054150551505615057150581505915060150611506215063150641506515066150671506815069150701507115072150731507415075150761507715078150791508015081150821508315084150851508615087150881508915090150911509215093150941509515096150971509815099151001510115102151031510415105151061510715108151091511015111151121511315114151151511615117151181511915120151211512215123151241512515126151271512815129151301513115132151331513415135151361513715138151391514015141151421514315144151451514615147151481514915150151511515215153151541515515156151571515815159151601516115162151631516415165151661516715168151691517015171151721517315174151751517615177151781517915180151811518215183151841518515186151871518815189151901519115192151931519415195151961519715198151991520015201152021520315204152051520615207152081520915210152111521215213152141521515216152171521815219152201522115222152231522415225152261522715228152291523015231152321523315234152351523615237152381523915240152411524215243152441524515246152471524815249152501525115252152531525415255152561525715258152591526015261152621526315264152651526615267152681526915270152711527215273152741527515276152771527815279152801528115282152831528415285152861528715288152891529015291152921529315294152951529615297152981529915300153011530215303153041530515306153071530815309153101531115312153131531415315153161531715318153191532015321153221532315324153251532615327153281532915330153311533215333153341533515336153371533815339153401534115342153431534415345153461534715348153491535015351153521535315354153551535615357153581535915360153611536215363153641536515366153671536815369153701537115372153731537415375153761537715378153791538015381153821538315384153851538615387153881538915390153911539215393153941539515396153971539815399154001540115402154031540415405154061540715408154091541015411154121541315414154151541615417154181541915420154211542215423154241542515426154271542815429154301543115432154331543415435154361543715438154391544015441154421544315444154451544615447154481544915450154511545215453154541545515456154571545815459154601546115462154631546415465154661546715468154691547015471154721547315474154751547615477154781547915480154811548215483154841548515486154871548815489154901549115492154931549415495154961549715498154991550015501155021550315504155051550615507155081550915510155111551215513155141551515516155171551815519155201552115522155231552415525155261552715528155291553015531155321553315534155351553615537155381553915540155411554215543155441554515546155471554815549155501555115552155531555415555155561555715558155591556015561155621556315564155651556615567155681556915570155711557215573155741557515576155771557815579155801558115582155831558415585155861558715588155891559015591155921559315594155951559615597155981559915600156011560215603156041560515606156071560815609156101561115612156131561415615156161561715618156191562015621156221562315624156251562615627156281562915630156311563215633156341563515636156371563815639156401564115642156431564415645156461564715648156491565015651156521565315654156551565615657156581565915660156611566215663156641566515666156671566815669156701567115672156731567415675156761567715678156791568015681156821568315684156851568615687156881568915690156911569215693156941569515696156971569815699157001570115702157031570415705157061570715708157091571015711157121571315714157151571615717157181571915720157211572215723157241572515726157271572815729157301573115732157331573415735157361573715738157391574015741157421574315744157451574615747157481574915750157511575215753157541575515756157571575815759157601576115762157631576415765157661576715768157691577015771157721577315774157751577615777157781577915780157811578215783157841578515786157871578815789157901579115792157931579415795157961579715798157991580015801158021580315804158051580615807158081580915810158111581215813158141581515816158171581815819158201582115822158231582415825158261582715828158291583015831158321583315834158351583615837158381583915840158411584215843158441584515846158471584815849158501585115852158531585415855158561585715858158591586015861158621586315864158651586615867158681586915870158711587215873158741587515876158771587815879158801588115882158831588415885158861588715888158891589015891158921589315894158951589615897158981589915900159011590215903159041590515906159071590815909159101591115912159131591415915159161591715918159191592015921159221592315924159251592615927159281592915930159311593215933159341593515936159371593815939159401594115942159431594415945159461594715948159491595015951159521595315954159551595615957159581595915960159611596215963159641596515966159671596815969159701597115972159731597415975159761597715978159791598015981159821598315984159851598615987159881598915990159911599215993159941599515996159971599815999160001600116002160031600416005160061600716008160091601016011160121601316014160151601616017160181601916020160211602216023160241602516026160271602816029160301603116032160331603416035160361603716038160391604016041160421604316044160451604616047160481604916050160511605216053160541605516056160571605816059160601606116062160631606416065160661606716068160691607016071160721607316074160751607616077160781607916080160811608216083160841608516086160871608816089160901609116092160931609416095160961609716098160991610016101161021610316104161051610616107161081610916110161111611216113161141611516116161171611816119161201612116122161231612416125161261612716128161291613016131161321613316134161351613616137161381613916140161411614216143161441614516146161471614816149161501615116152161531615416155161561615716158161591616016161161621616316164161651616616167161681616916170161711617216173161741617516176161771617816179161801618116182161831618416185161861618716188161891619016191161921619316194161951619616197161981619916200162011620216203162041620516206162071620816209162101621116212162131621416215162161621716218162191622016221162221622316224162251622616227162281622916230162311623216233162341623516236162371623816239162401624116242162431624416245162461624716248162491625016251162521625316254162551625616257162581625916260162611626216263162641626516266162671626816269162701627116272162731627416275162761627716278162791628016281162821628316284162851628616287162881628916290162911629216293162941629516296162971629816299163001630116302163031630416305163061630716308163091631016311163121631316314163151631616317163181631916320163211632216323163241632516326163271632816329163301633116332163331633416335163361633716338163391634016341163421634316344163451634616347163481634916350163511635216353163541635516356163571635816359163601636116362163631636416365163661636716368163691637016371163721637316374163751637616377163781637916380163811638216383163841638516386163871638816389163901639116392163931639416395163961639716398163991640016401164021640316404164051640616407164081640916410164111641216413164141641516416164171641816419164201642116422164231642416425164261642716428164291643016431164321643316434164351643616437164381643916440164411644216443164441644516446164471644816449164501645116452164531645416455164561645716458164591646016461164621646316464164651646616467164681646916470164711647216473164741647516476164771647816479164801648116482164831648416485164861648716488164891649016491164921649316494164951649616497164981649916500165011650216503165041650516506165071650816509165101651116512165131651416515165161651716518165191652016521165221652316524165251652616527165281652916530165311653216533165341653516536165371653816539165401654116542165431654416545165461654716548165491655016551165521655316554165551655616557165581655916560165611656216563165641656516566165671656816569165701657116572165731657416575165761657716578165791658016581165821658316584165851658616587165881658916590165911659216593165941659516596165971659816599166001660116602166031660416605166061660716608166091661016611166121661316614166151661616617166181661916620166211662216623166241662516626166271662816629166301663116632166331663416635166361663716638166391664016641166421664316644166451664616647166481664916650166511665216653166541665516656166571665816659166601666116662166631666416665166661666716668166691667016671166721667316674166751667616677166781667916680166811668216683166841668516686166871668816689166901669116692166931669416695166961669716698166991670016701167021670316704167051670616707167081670916710167111671216713167141671516716167171671816719167201672116722167231672416725167261672716728167291673016731167321673316734167351673616737167381673916740167411674216743167441674516746167471674816749167501675116752167531675416755167561675716758167591676016761167621676316764167651676616767167681676916770167711677216773167741677516776167771677816779167801678116782167831678416785167861678716788167891679016791167921679316794167951679616797167981679916800168011680216803168041680516806168071680816809168101681116812168131681416815168161681716818168191682016821168221682316824168251682616827168281682916830168311683216833168341683516836168371683816839168401684116842168431684416845168461684716848168491685016851168521685316854168551685616857168581685916860168611686216863168641686516866168671686816869168701687116872168731687416875168761687716878168791688016881168821688316884168851688616887168881688916890168911689216893168941689516896168971689816899169001690116902169031690416905169061690716908169091691016911169121691316914169151691616917169181691916920169211692216923169241692516926169271692816929169301693116932169331693416935169361693716938169391694016941169421694316944169451694616947169481694916950169511695216953169541695516956169571695816959169601696116962169631696416965169661696716968169691697016971169721697316974169751697616977169781697916980169811698216983169841698516986169871698816989169901699116992169931699416995169961699716998169991700017001170021700317004170051700617007170081700917010170111701217013170141701517016170171701817019170201702117022170231702417025170261702717028170291703017031170321703317034170351703617037170381703917040170411704217043170441704517046170471704817049170501705117052170531705417055170561705717058170591706017061170621706317064170651706617067170681706917070170711707217073170741707517076170771707817079170801708117082170831708417085170861708717088170891709017091170921709317094170951709617097170981709917100171011710217103171041710517106171071710817109171101711117112171131711417115171161711717118171191712017121171221712317124171251712617127171281712917130171311713217133171341713517136171371713817139171401714117142171431714417145171461714717148171491715017151171521715317154171551715617157171581715917160171611716217163171641716517166171671716817169171701717117172171731717417175171761717717178171791718017181171821718317184171851718617187171881718917190171911719217193171941719517196171971719817199172001720117202172031720417205172061720717208172091721017211172121721317214172151721617217172181721917220172211722217223172241722517226172271722817229172301723117232172331723417235172361723717238172391724017241172421724317244172451724617247172481724917250172511725217253172541725517256172571725817259172601726117262172631726417265172661726717268172691727017271172721727317274172751727617277172781727917280172811728217283172841728517286172871728817289172901729117292172931729417295172961729717298172991730017301173021730317304173051730617307173081730917310173111731217313173141731517316173171731817319173201732117322173231732417325173261732717328173291733017331173321733317334173351733617337173381733917340173411734217343173441734517346173471734817349173501735117352173531735417355173561735717358173591736017361173621736317364173651736617367173681736917370173711737217373173741737517376173771737817379173801738117382173831738417385173861738717388173891739017391173921739317394173951739617397173981739917400174011740217403174041740517406174071740817409174101741117412174131741417415174161741717418174191742017421174221742317424174251742617427174281742917430174311743217433174341743517436174371743817439174401744117442174431744417445174461744717448174491745017451174521745317454174551745617457174581745917460174611746217463174641746517466174671746817469174701747117472174731747417475174761747717478174791748017481174821748317484174851748617487174881748917490174911749217493174941749517496174971749817499175001750117502175031750417505175061750717508175091751017511175121751317514175151751617517175181751917520175211752217523175241752517526175271752817529175301753117532175331753417535175361753717538175391754017541175421754317544175451754617547175481754917550175511755217553175541755517556175571755817559175601756117562175631756417565175661756717568175691757017571175721757317574175751757617577175781757917580175811758217583175841758517586175871758817589175901759117592175931759417595175961759717598175991760017601176021760317604176051760617607176081760917610176111761217613176141761517616176171761817619176201762117622176231762417625176261762717628176291763017631176321763317634176351763617637176381763917640176411764217643176441764517646176471764817649176501765117652176531765417655176561765717658176591766017661176621766317664176651766617667176681766917670176711767217673176741767517676176771767817679176801768117682176831768417685176861768717688176891769017691176921769317694176951769617697176981769917700177011770217703177041770517706177071770817709177101771117712177131771417715177161771717718177191772017721177221772317724177251772617727177281772917730177311773217733177341773517736177371773817739177401774117742177431774417745177461774717748177491775017751177521775317754177551775617757177581775917760177611776217763177641776517766177671776817769177701777117772177731777417775177761777717778177791778017781177821778317784177851778617787177881778917790177911779217793177941779517796177971779817799178001780117802178031780417805178061780717808178091781017811178121781317814178151781617817178181781917820178211782217823178241782517826178271782817829178301783117832178331783417835178361783717838178391784017841178421784317844178451784617847178481784917850178511785217853178541785517856178571785817859178601786117862178631786417865178661786717868178691787017871178721787317874178751787617877178781787917880178811788217883178841788517886178871788817889178901789117892178931789417895178961789717898178991790017901179021790317904179051790617907179081790917910179111791217913179141791517916179171791817919179201792117922179231792417925179261792717928179291793017931179321793317934179351793617937179381793917940179411794217943179441794517946179471794817949179501795117952179531795417955179561795717958179591796017961179621796317964179651796617967179681796917970179711797217973179741797517976179771797817979179801798117982179831798417985179861798717988179891799017991179921799317994179951799617997179981799918000180011800218003180041800518006180071800818009180101801118012180131801418015180161801718018180191802018021180221802318024180251802618027180281802918030180311803218033180341803518036180371803818039180401804118042180431804418045180461804718048180491805018051180521805318054180551805618057180581805918060180611806218063180641806518066180671806818069180701807118072180731807418075180761807718078180791808018081180821808318084180851808618087180881808918090180911809218093180941809518096180971809818099181001810118102181031810418105181061810718108181091811018111181121811318114181151811618117181181811918120181211812218123181241812518126181271812818129181301813118132181331813418135181361813718138181391814018141181421814318144181451814618147181481814918150181511815218153181541815518156181571815818159181601816118162181631816418165181661816718168181691817018171181721817318174181751817618177181781817918180181811818218183181841818518186181871818818189181901819118192181931819418195181961819718198181991820018201182021820318204182051820618207182081820918210182111821218213182141821518216182171821818219182201822118222182231822418225182261822718228182291823018231182321823318234182351823618237182381823918240182411824218243182441824518246182471824818249182501825118252182531825418255182561825718258182591826018261182621826318264182651826618267182681826918270182711827218273182741827518276182771827818279182801828118282182831828418285182861828718288182891829018291182921829318294182951829618297182981829918300183011830218303183041830518306183071830818309183101831118312183131831418315183161831718318183191832018321183221832318324183251832618327183281832918330183311833218333183341833518336183371833818339183401834118342183431834418345183461834718348183491835018351183521835318354183551835618357183581835918360183611836218363183641836518366183671836818369183701837118372183731837418375183761837718378183791838018381183821838318384183851838618387183881838918390183911839218393183941839518396183971839818399184001840118402184031840418405184061840718408184091841018411184121841318414184151841618417184181841918420184211842218423184241842518426184271842818429184301843118432184331843418435184361843718438184391844018441184421844318444184451844618447184481844918450184511845218453184541845518456184571845818459184601846118462184631846418465184661846718468184691847018471184721847318474184751847618477184781847918480184811848218483184841848518486184871848818489184901849118492184931849418495184961849718498184991850018501185021850318504185051850618507185081850918510185111851218513185141851518516185171851818519185201852118522185231852418525185261852718528185291853018531185321853318534185351853618537185381853918540185411854218543185441854518546185471854818549185501855118552185531855418555185561855718558185591856018561185621856318564185651856618567185681856918570185711857218573185741857518576185771857818579185801858118582185831858418585185861858718588185891859018591185921859318594185951859618597185981859918600186011860218603186041860518606186071860818609186101861118612186131861418615186161861718618186191862018621186221862318624186251862618627186281862918630186311863218633186341863518636186371863818639186401864118642186431864418645186461864718648186491865018651186521865318654186551865618657186581865918660186611866218663186641866518666186671866818669186701867118672186731867418675186761867718678186791868018681186821868318684186851868618687186881868918690186911869218693186941869518696186971869818699187001870118702187031870418705187061870718708187091871018711187121871318714187151871618717187181871918720187211872218723187241872518726187271872818729187301873118732187331873418735187361873718738187391874018741187421874318744187451874618747187481874918750187511875218753187541875518756187571875818759187601876118762187631876418765187661876718768187691877018771187721877318774187751877618777187781877918780187811878218783187841878518786187871878818789187901879118792187931879418795187961879718798187991880018801188021880318804188051880618807188081880918810188111881218813188141881518816188171881818819188201882118822188231882418825188261882718828188291883018831188321883318834188351883618837188381883918840188411884218843188441884518846188471884818849188501885118852188531885418855188561885718858188591886018861188621886318864188651886618867188681886918870188711887218873188741887518876188771887818879188801888118882188831888418885188861888718888188891889018891188921889318894188951889618897188981889918900189011890218903189041890518906189071890818909189101891118912189131891418915189161891718918189191892018921189221892318924189251892618927189281892918930189311893218933189341893518936189371893818939189401894118942189431894418945189461894718948189491895018951189521895318954189551895618957189581895918960189611896218963189641896518966189671896818969189701897118972189731897418975189761897718978189791898018981189821898318984189851898618987189881898918990189911899218993189941899518996189971899818999190001900119002190031900419005190061900719008190091901019011190121901319014190151901619017190181901919020190211902219023190241902519026190271902819029190301903119032190331903419035190361903719038190391904019041190421904319044190451904619047190481904919050190511905219053190541905519056190571905819059190601906119062190631906419065190661906719068190691907019071190721907319074190751907619077190781907919080190811908219083190841908519086190871908819089190901909119092190931909419095190961909719098190991910019101191021910319104191051910619107191081910919110191111911219113191141911519116191171911819119191201912119122191231912419125191261912719128191291913019131191321913319134191351913619137191381913919140191411914219143 |
- // Code generated - DO NOT EDIT.
- // This file is a generated binding and any manual changes will be lost.
- package collectionFactory
- import (
- "errors"
- "math/big"
- "strings"
- ethereum "github.com/ethereum/go-ethereum"
- "github.com/ethereum/go-ethereum/accounts/abi"
- "github.com/ethereum/go-ethereum/accounts/abi/bind"
- "github.com/ethereum/go-ethereum/common"
- "github.com/ethereum/go-ethereum/core/types"
- "github.com/ethereum/go-ethereum/event"
- )
- // Reference imports to suppress errors if they are not otherwise used.
- var (
- _ = errors.New
- _ = big.NewInt
- _ = strings.NewReader
- _ = ethereum.NotFound
- _ = bind.Bind
- _ = common.Big1
- _ = types.BloomLookup
- _ = event.NewSubscription
- )
- // AccessControlMetaData contains all meta data concerning the AccessControl contract.
- var AccessControlMetaData = &bind.MetaData{
- 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\"}]",
- Sigs: map[string]string{
- "a217fddf": "DEFAULT_ADMIN_ROLE()",
- "248a9ca3": "getRoleAdmin(bytes32)",
- "2f2ff15d": "grantRole(bytes32,address)",
- "91d14854": "hasRole(bytes32,address)",
- "36568abe": "renounceRole(bytes32,address)",
- "d547741f": "revokeRole(bytes32,address)",
- "01ffc9a7": "supportsInterface(bytes4)",
- },
- }
- // AccessControlABI is the input ABI used to generate the binding from.
- // Deprecated: Use AccessControlMetaData.ABI instead.
- var AccessControlABI = AccessControlMetaData.ABI
- // Deprecated: Use AccessControlMetaData.Sigs instead.
- // AccessControlFuncSigs maps the 4-byte function signature to its string representation.
- var AccessControlFuncSigs = AccessControlMetaData.Sigs
- // AccessControl is an auto generated Go binding around an Ethereum contract.
- type AccessControl struct {
- AccessControlCaller // Read-only binding to the contract
- AccessControlTransactor // Write-only binding to the contract
- AccessControlFilterer // Log filterer for contract events
- }
- // AccessControlCaller is an auto generated read-only Go binding around an Ethereum contract.
- type AccessControlCaller struct {
- contract *bind.BoundContract // Generic contract wrapper for the low level calls
- }
- // AccessControlTransactor is an auto generated write-only Go binding around an Ethereum contract.
- type AccessControlTransactor struct {
- contract *bind.BoundContract // Generic contract wrapper for the low level calls
- }
- // AccessControlFilterer is an auto generated log filtering Go binding around an Ethereum contract events.
- type AccessControlFilterer struct {
- contract *bind.BoundContract // Generic contract wrapper for the low level calls
- }
- // AccessControlSession is an auto generated Go binding around an Ethereum contract,
- // with pre-set call and transact options.
- type AccessControlSession struct {
- Contract *AccessControl // Generic contract binding to set the session for
- CallOpts bind.CallOpts // Call options to use throughout this session
- TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
- }
- // AccessControlCallerSession is an auto generated read-only Go binding around an Ethereum contract,
- // with pre-set call options.
- type AccessControlCallerSession struct {
- Contract *AccessControlCaller // Generic contract caller binding to set the session for
- CallOpts bind.CallOpts // Call options to use throughout this session
- }
- // AccessControlTransactorSession is an auto generated write-only Go binding around an Ethereum contract,
- // with pre-set transact options.
- type AccessControlTransactorSession struct {
- Contract *AccessControlTransactor // Generic contract transactor binding to set the session for
- TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
- }
- // AccessControlRaw is an auto generated low-level Go binding around an Ethereum contract.
- type AccessControlRaw struct {
- Contract *AccessControl // Generic contract binding to access the raw methods on
- }
- // AccessControlCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
- type AccessControlCallerRaw struct {
- Contract *AccessControlCaller // Generic read-only contract binding to access the raw methods on
- }
- // AccessControlTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
- type AccessControlTransactorRaw struct {
- Contract *AccessControlTransactor // Generic write-only contract binding to access the raw methods on
- }
- // NewAccessControl creates a new instance of AccessControl, bound to a specific deployed contract.
- func NewAccessControl(address common.Address, backend bind.ContractBackend) (*AccessControl, error) {
- contract, err := bindAccessControl(address, backend, backend, backend)
- if err != nil {
- return nil, err
- }
- return &AccessControl{AccessControlCaller: AccessControlCaller{contract: contract}, AccessControlTransactor: AccessControlTransactor{contract: contract}, AccessControlFilterer: AccessControlFilterer{contract: contract}}, nil
- }
- // NewAccessControlCaller creates a new read-only instance of AccessControl, bound to a specific deployed contract.
- func NewAccessControlCaller(address common.Address, caller bind.ContractCaller) (*AccessControlCaller, error) {
- contract, err := bindAccessControl(address, caller, nil, nil)
- if err != nil {
- return nil, err
- }
- return &AccessControlCaller{contract: contract}, nil
- }
- // NewAccessControlTransactor creates a new write-only instance of AccessControl, bound to a specific deployed contract.
- func NewAccessControlTransactor(address common.Address, transactor bind.ContractTransactor) (*AccessControlTransactor, error) {
- contract, err := bindAccessControl(address, nil, transactor, nil)
- if err != nil {
- return nil, err
- }
- return &AccessControlTransactor{contract: contract}, nil
- }
- // NewAccessControlFilterer creates a new log filterer instance of AccessControl, bound to a specific deployed contract.
- func NewAccessControlFilterer(address common.Address, filterer bind.ContractFilterer) (*AccessControlFilterer, error) {
- contract, err := bindAccessControl(address, nil, nil, filterer)
- if err != nil {
- return nil, err
- }
- return &AccessControlFilterer{contract: contract}, nil
- }
- // bindAccessControl binds a generic wrapper to an already deployed contract.
- func bindAccessControl(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
- parsed, err := abi.JSON(strings.NewReader(AccessControlABI))
- if err != nil {
- return nil, err
- }
- return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil
- }
- // Call invokes the (constant) contract method with params as input values and
- // sets the output to result. The result type might be a single field for simple
- // returns, a slice of interfaces for anonymous returns and a struct for named
- // returns.
- func (_AccessControl *AccessControlRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
- return _AccessControl.Contract.AccessControlCaller.contract.Call(opts, result, method, params...)
- }
- // Transfer initiates a plain transaction to move funds to the contract, calling
- // its default method if one is available.
- func (_AccessControl *AccessControlRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
- return _AccessControl.Contract.AccessControlTransactor.contract.Transfer(opts)
- }
- // Transact invokes the (paid) contract method with params as input values.
- func (_AccessControl *AccessControlRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
- return _AccessControl.Contract.AccessControlTransactor.contract.Transact(opts, method, params...)
- }
- // Call invokes the (constant) contract method with params as input values and
- // sets the output to result. The result type might be a single field for simple
- // returns, a slice of interfaces for anonymous returns and a struct for named
- // returns.
- func (_AccessControl *AccessControlCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
- return _AccessControl.Contract.contract.Call(opts, result, method, params...)
- }
- // Transfer initiates a plain transaction to move funds to the contract, calling
- // its default method if one is available.
- func (_AccessControl *AccessControlTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
- return _AccessControl.Contract.contract.Transfer(opts)
- }
- // Transact invokes the (paid) contract method with params as input values.
- func (_AccessControl *AccessControlTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
- return _AccessControl.Contract.contract.Transact(opts, method, params...)
- }
- // DEFAULTADMINROLE is a free data retrieval call binding the contract method 0xa217fddf.
- //
- // Solidity: function DEFAULT_ADMIN_ROLE() view returns(bytes32)
- func (_AccessControl *AccessControlCaller) DEFAULTADMINROLE(opts *bind.CallOpts) ([32]byte, error) {
- var out []interface{}
- err := _AccessControl.contract.Call(opts, &out, "DEFAULT_ADMIN_ROLE")
- if err != nil {
- return *new([32]byte), err
- }
- out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte)
- return out0, err
- }
- // DEFAULTADMINROLE is a free data retrieval call binding the contract method 0xa217fddf.
- //
- // Solidity: function DEFAULT_ADMIN_ROLE() view returns(bytes32)
- func (_AccessControl *AccessControlSession) DEFAULTADMINROLE() ([32]byte, error) {
- return _AccessControl.Contract.DEFAULTADMINROLE(&_AccessControl.CallOpts)
- }
- // DEFAULTADMINROLE is a free data retrieval call binding the contract method 0xa217fddf.
- //
- // Solidity: function DEFAULT_ADMIN_ROLE() view returns(bytes32)
- func (_AccessControl *AccessControlCallerSession) DEFAULTADMINROLE() ([32]byte, error) {
- return _AccessControl.Contract.DEFAULTADMINROLE(&_AccessControl.CallOpts)
- }
- // GetRoleAdmin is a free data retrieval call binding the contract method 0x248a9ca3.
- //
- // Solidity: function getRoleAdmin(bytes32 role) view returns(bytes32)
- func (_AccessControl *AccessControlCaller) GetRoleAdmin(opts *bind.CallOpts, role [32]byte) ([32]byte, error) {
- var out []interface{}
- err := _AccessControl.contract.Call(opts, &out, "getRoleAdmin", role)
- if err != nil {
- return *new([32]byte), err
- }
- out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte)
- return out0, err
- }
- // GetRoleAdmin is a free data retrieval call binding the contract method 0x248a9ca3.
- //
- // Solidity: function getRoleAdmin(bytes32 role) view returns(bytes32)
- func (_AccessControl *AccessControlSession) GetRoleAdmin(role [32]byte) ([32]byte, error) {
- return _AccessControl.Contract.GetRoleAdmin(&_AccessControl.CallOpts, role)
- }
- // GetRoleAdmin is a free data retrieval call binding the contract method 0x248a9ca3.
- //
- // Solidity: function getRoleAdmin(bytes32 role) view returns(bytes32)
- func (_AccessControl *AccessControlCallerSession) GetRoleAdmin(role [32]byte) ([32]byte, error) {
- return _AccessControl.Contract.GetRoleAdmin(&_AccessControl.CallOpts, role)
- }
- // HasRole is a free data retrieval call binding the contract method 0x91d14854.
- //
- // Solidity: function hasRole(bytes32 role, address account) view returns(bool)
- func (_AccessControl *AccessControlCaller) HasRole(opts *bind.CallOpts, role [32]byte, account common.Address) (bool, error) {
- var out []interface{}
- err := _AccessControl.contract.Call(opts, &out, "hasRole", role, account)
- if err != nil {
- return *new(bool), err
- }
- out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
- return out0, err
- }
- // HasRole is a free data retrieval call binding the contract method 0x91d14854.
- //
- // Solidity: function hasRole(bytes32 role, address account) view returns(bool)
- func (_AccessControl *AccessControlSession) HasRole(role [32]byte, account common.Address) (bool, error) {
- return _AccessControl.Contract.HasRole(&_AccessControl.CallOpts, role, account)
- }
- // HasRole is a free data retrieval call binding the contract method 0x91d14854.
- //
- // Solidity: function hasRole(bytes32 role, address account) view returns(bool)
- func (_AccessControl *AccessControlCallerSession) HasRole(role [32]byte, account common.Address) (bool, error) {
- return _AccessControl.Contract.HasRole(&_AccessControl.CallOpts, role, account)
- }
- // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
- //
- // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
- func (_AccessControl *AccessControlCaller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) {
- var out []interface{}
- err := _AccessControl.contract.Call(opts, &out, "supportsInterface", interfaceId)
- if err != nil {
- return *new(bool), err
- }
- out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
- return out0, err
- }
- // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
- //
- // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
- func (_AccessControl *AccessControlSession) SupportsInterface(interfaceId [4]byte) (bool, error) {
- return _AccessControl.Contract.SupportsInterface(&_AccessControl.CallOpts, interfaceId)
- }
- // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
- //
- // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
- func (_AccessControl *AccessControlCallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) {
- return _AccessControl.Contract.SupportsInterface(&_AccessControl.CallOpts, interfaceId)
- }
- // GrantRole is a paid mutator transaction binding the contract method 0x2f2ff15d.
- //
- // Solidity: function grantRole(bytes32 role, address account) returns()
- func (_AccessControl *AccessControlTransactor) GrantRole(opts *bind.TransactOpts, role [32]byte, account common.Address) (*types.Transaction, error) {
- return _AccessControl.contract.Transact(opts, "grantRole", role, account)
- }
- // GrantRole is a paid mutator transaction binding the contract method 0x2f2ff15d.
- //
- // Solidity: function grantRole(bytes32 role, address account) returns()
- func (_AccessControl *AccessControlSession) GrantRole(role [32]byte, account common.Address) (*types.Transaction, error) {
- return _AccessControl.Contract.GrantRole(&_AccessControl.TransactOpts, role, account)
- }
- // GrantRole is a paid mutator transaction binding the contract method 0x2f2ff15d.
- //
- // Solidity: function grantRole(bytes32 role, address account) returns()
- func (_AccessControl *AccessControlTransactorSession) GrantRole(role [32]byte, account common.Address) (*types.Transaction, error) {
- return _AccessControl.Contract.GrantRole(&_AccessControl.TransactOpts, role, account)
- }
- // RenounceRole is a paid mutator transaction binding the contract method 0x36568abe.
- //
- // Solidity: function renounceRole(bytes32 role, address account) returns()
- func (_AccessControl *AccessControlTransactor) RenounceRole(opts *bind.TransactOpts, role [32]byte, account common.Address) (*types.Transaction, error) {
- return _AccessControl.contract.Transact(opts, "renounceRole", role, account)
- }
- // RenounceRole is a paid mutator transaction binding the contract method 0x36568abe.
- //
- // Solidity: function renounceRole(bytes32 role, address account) returns()
- func (_AccessControl *AccessControlSession) RenounceRole(role [32]byte, account common.Address) (*types.Transaction, error) {
- return _AccessControl.Contract.RenounceRole(&_AccessControl.TransactOpts, role, account)
- }
- // RenounceRole is a paid mutator transaction binding the contract method 0x36568abe.
- //
- // Solidity: function renounceRole(bytes32 role, address account) returns()
- func (_AccessControl *AccessControlTransactorSession) RenounceRole(role [32]byte, account common.Address) (*types.Transaction, error) {
- return _AccessControl.Contract.RenounceRole(&_AccessControl.TransactOpts, role, account)
- }
- // RevokeRole is a paid mutator transaction binding the contract method 0xd547741f.
- //
- // Solidity: function revokeRole(bytes32 role, address account) returns()
- func (_AccessControl *AccessControlTransactor) RevokeRole(opts *bind.TransactOpts, role [32]byte, account common.Address) (*types.Transaction, error) {
- return _AccessControl.contract.Transact(opts, "revokeRole", role, account)
- }
- // RevokeRole is a paid mutator transaction binding the contract method 0xd547741f.
- //
- // Solidity: function revokeRole(bytes32 role, address account) returns()
- func (_AccessControl *AccessControlSession) RevokeRole(role [32]byte, account common.Address) (*types.Transaction, error) {
- return _AccessControl.Contract.RevokeRole(&_AccessControl.TransactOpts, role, account)
- }
- // RevokeRole is a paid mutator transaction binding the contract method 0xd547741f.
- //
- // Solidity: function revokeRole(bytes32 role, address account) returns()
- func (_AccessControl *AccessControlTransactorSession) RevokeRole(role [32]byte, account common.Address) (*types.Transaction, error) {
- return _AccessControl.Contract.RevokeRole(&_AccessControl.TransactOpts, role, account)
- }
- // 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.
- type AccessControlRoleAdminChangedIterator struct {
- Event *AccessControlRoleAdminChanged // Event containing the contract specifics and raw log
- contract *bind.BoundContract // Generic contract to use for unpacking event data
- event string // Event name to use for unpacking event data
- logs chan types.Log // Log channel receiving the found contract events
- sub ethereum.Subscription // Subscription for errors, completion and termination
- done bool // Whether the subscription completed delivering logs
- fail error // Occurred error to stop iteration
- }
- // Next advances the iterator to the subsequent event, returning whether there
- // are any more events found. In case of a retrieval or parsing error, false is
- // returned and Error() can be queried for the exact failure.
- func (it *AccessControlRoleAdminChangedIterator) Next() bool {
- // If the iterator failed, stop iterating
- if it.fail != nil {
- return false
- }
- // If the iterator completed, deliver directly whatever's available
- if it.done {
- select {
- case log := <-it.logs:
- it.Event = new(AccessControlRoleAdminChanged)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- default:
- return false
- }
- }
- // Iterator still in progress, wait for either a data or an error event
- select {
- case log := <-it.logs:
- it.Event = new(AccessControlRoleAdminChanged)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- case err := <-it.sub.Err():
- it.done = true
- it.fail = err
- return it.Next()
- }
- }
- // Error returns any retrieval or parsing error occurred during filtering.
- func (it *AccessControlRoleAdminChangedIterator) Error() error {
- return it.fail
- }
- // Close terminates the iteration process, releasing any pending underlying
- // resources.
- func (it *AccessControlRoleAdminChangedIterator) Close() error {
- it.sub.Unsubscribe()
- return nil
- }
- // AccessControlRoleAdminChanged represents a RoleAdminChanged event raised by the AccessControl contract.
- type AccessControlRoleAdminChanged struct {
- Role [32]byte
- PreviousAdminRole [32]byte
- NewAdminRole [32]byte
- Raw types.Log // Blockchain specific contextual infos
- }
- // FilterRoleAdminChanged is a free log retrieval operation binding the contract event 0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff.
- //
- // Solidity: event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)
- func (_AccessControl *AccessControlFilterer) FilterRoleAdminChanged(opts *bind.FilterOpts, role [][32]byte, previousAdminRole [][32]byte, newAdminRole [][32]byte) (*AccessControlRoleAdminChangedIterator, error) {
- var roleRule []interface{}
- for _, roleItem := range role {
- roleRule = append(roleRule, roleItem)
- }
- var previousAdminRoleRule []interface{}
- for _, previousAdminRoleItem := range previousAdminRole {
- previousAdminRoleRule = append(previousAdminRoleRule, previousAdminRoleItem)
- }
- var newAdminRoleRule []interface{}
- for _, newAdminRoleItem := range newAdminRole {
- newAdminRoleRule = append(newAdminRoleRule, newAdminRoleItem)
- }
- logs, sub, err := _AccessControl.contract.FilterLogs(opts, "RoleAdminChanged", roleRule, previousAdminRoleRule, newAdminRoleRule)
- if err != nil {
- return nil, err
- }
- return &AccessControlRoleAdminChangedIterator{contract: _AccessControl.contract, event: "RoleAdminChanged", logs: logs, sub: sub}, nil
- }
- // WatchRoleAdminChanged is a free log subscription operation binding the contract event 0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff.
- //
- // Solidity: event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)
- func (_AccessControl *AccessControlFilterer) WatchRoleAdminChanged(opts *bind.WatchOpts, sink chan<- *AccessControlRoleAdminChanged, role [][32]byte, previousAdminRole [][32]byte, newAdminRole [][32]byte) (event.Subscription, error) {
- var roleRule []interface{}
- for _, roleItem := range role {
- roleRule = append(roleRule, roleItem)
- }
- var previousAdminRoleRule []interface{}
- for _, previousAdminRoleItem := range previousAdminRole {
- previousAdminRoleRule = append(previousAdminRoleRule, previousAdminRoleItem)
- }
- var newAdminRoleRule []interface{}
- for _, newAdminRoleItem := range newAdminRole {
- newAdminRoleRule = append(newAdminRoleRule, newAdminRoleItem)
- }
- logs, sub, err := _AccessControl.contract.WatchLogs(opts, "RoleAdminChanged", roleRule, previousAdminRoleRule, newAdminRoleRule)
- if err != nil {
- return nil, err
- }
- return event.NewSubscription(func(quit <-chan struct{}) error {
- defer sub.Unsubscribe()
- for {
- select {
- case log := <-logs:
- // New log arrived, parse the event and forward to the user
- event := new(AccessControlRoleAdminChanged)
- if err := _AccessControl.contract.UnpackLog(event, "RoleAdminChanged", log); err != nil {
- return err
- }
- event.Raw = log
- select {
- case sink <- event:
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- }
- }), nil
- }
- // ParseRoleAdminChanged is a log parse operation binding the contract event 0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff.
- //
- // Solidity: event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)
- func (_AccessControl *AccessControlFilterer) ParseRoleAdminChanged(log types.Log) (*AccessControlRoleAdminChanged, error) {
- event := new(AccessControlRoleAdminChanged)
- if err := _AccessControl.contract.UnpackLog(event, "RoleAdminChanged", log); err != nil {
- return nil, err
- }
- event.Raw = log
- return event, nil
- }
- // 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.
- type AccessControlRoleGrantedIterator struct {
- Event *AccessControlRoleGranted // Event containing the contract specifics and raw log
- contract *bind.BoundContract // Generic contract to use for unpacking event data
- event string // Event name to use for unpacking event data
- logs chan types.Log // Log channel receiving the found contract events
- sub ethereum.Subscription // Subscription for errors, completion and termination
- done bool // Whether the subscription completed delivering logs
- fail error // Occurred error to stop iteration
- }
- // Next advances the iterator to the subsequent event, returning whether there
- // are any more events found. In case of a retrieval or parsing error, false is
- // returned and Error() can be queried for the exact failure.
- func (it *AccessControlRoleGrantedIterator) Next() bool {
- // If the iterator failed, stop iterating
- if it.fail != nil {
- return false
- }
- // If the iterator completed, deliver directly whatever's available
- if it.done {
- select {
- case log := <-it.logs:
- it.Event = new(AccessControlRoleGranted)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- default:
- return false
- }
- }
- // Iterator still in progress, wait for either a data or an error event
- select {
- case log := <-it.logs:
- it.Event = new(AccessControlRoleGranted)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- case err := <-it.sub.Err():
- it.done = true
- it.fail = err
- return it.Next()
- }
- }
- // Error returns any retrieval or parsing error occurred during filtering.
- func (it *AccessControlRoleGrantedIterator) Error() error {
- return it.fail
- }
- // Close terminates the iteration process, releasing any pending underlying
- // resources.
- func (it *AccessControlRoleGrantedIterator) Close() error {
- it.sub.Unsubscribe()
- return nil
- }
- // AccessControlRoleGranted represents a RoleGranted event raised by the AccessControl contract.
- type AccessControlRoleGranted struct {
- Role [32]byte
- Account common.Address
- Sender common.Address
- Raw types.Log // Blockchain specific contextual infos
- }
- // FilterRoleGranted is a free log retrieval operation binding the contract event 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d.
- //
- // Solidity: event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)
- func (_AccessControl *AccessControlFilterer) FilterRoleGranted(opts *bind.FilterOpts, role [][32]byte, account []common.Address, sender []common.Address) (*AccessControlRoleGrantedIterator, error) {
- var roleRule []interface{}
- for _, roleItem := range role {
- roleRule = append(roleRule, roleItem)
- }
- var accountRule []interface{}
- for _, accountItem := range account {
- accountRule = append(accountRule, accountItem)
- }
- var senderRule []interface{}
- for _, senderItem := range sender {
- senderRule = append(senderRule, senderItem)
- }
- logs, sub, err := _AccessControl.contract.FilterLogs(opts, "RoleGranted", roleRule, accountRule, senderRule)
- if err != nil {
- return nil, err
- }
- return &AccessControlRoleGrantedIterator{contract: _AccessControl.contract, event: "RoleGranted", logs: logs, sub: sub}, nil
- }
- // WatchRoleGranted is a free log subscription operation binding the contract event 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d.
- //
- // Solidity: event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)
- func (_AccessControl *AccessControlFilterer) WatchRoleGranted(opts *bind.WatchOpts, sink chan<- *AccessControlRoleGranted, role [][32]byte, account []common.Address, sender []common.Address) (event.Subscription, error) {
- var roleRule []interface{}
- for _, roleItem := range role {
- roleRule = append(roleRule, roleItem)
- }
- var accountRule []interface{}
- for _, accountItem := range account {
- accountRule = append(accountRule, accountItem)
- }
- var senderRule []interface{}
- for _, senderItem := range sender {
- senderRule = append(senderRule, senderItem)
- }
- logs, sub, err := _AccessControl.contract.WatchLogs(opts, "RoleGranted", roleRule, accountRule, senderRule)
- if err != nil {
- return nil, err
- }
- return event.NewSubscription(func(quit <-chan struct{}) error {
- defer sub.Unsubscribe()
- for {
- select {
- case log := <-logs:
- // New log arrived, parse the event and forward to the user
- event := new(AccessControlRoleGranted)
- if err := _AccessControl.contract.UnpackLog(event, "RoleGranted", log); err != nil {
- return err
- }
- event.Raw = log
- select {
- case sink <- event:
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- }
- }), nil
- }
- // ParseRoleGranted is a log parse operation binding the contract event 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d.
- //
- // Solidity: event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)
- func (_AccessControl *AccessControlFilterer) ParseRoleGranted(log types.Log) (*AccessControlRoleGranted, error) {
- event := new(AccessControlRoleGranted)
- if err := _AccessControl.contract.UnpackLog(event, "RoleGranted", log); err != nil {
- return nil, err
- }
- event.Raw = log
- return event, nil
- }
- // 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.
- type AccessControlRoleRevokedIterator struct {
- Event *AccessControlRoleRevoked // Event containing the contract specifics and raw log
- contract *bind.BoundContract // Generic contract to use for unpacking event data
- event string // Event name to use for unpacking event data
- logs chan types.Log // Log channel receiving the found contract events
- sub ethereum.Subscription // Subscription for errors, completion and termination
- done bool // Whether the subscription completed delivering logs
- fail error // Occurred error to stop iteration
- }
- // Next advances the iterator to the subsequent event, returning whether there
- // are any more events found. In case of a retrieval or parsing error, false is
- // returned and Error() can be queried for the exact failure.
- func (it *AccessControlRoleRevokedIterator) Next() bool {
- // If the iterator failed, stop iterating
- if it.fail != nil {
- return false
- }
- // If the iterator completed, deliver directly whatever's available
- if it.done {
- select {
- case log := <-it.logs:
- it.Event = new(AccessControlRoleRevoked)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- default:
- return false
- }
- }
- // Iterator still in progress, wait for either a data or an error event
- select {
- case log := <-it.logs:
- it.Event = new(AccessControlRoleRevoked)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- case err := <-it.sub.Err():
- it.done = true
- it.fail = err
- return it.Next()
- }
- }
- // Error returns any retrieval or parsing error occurred during filtering.
- func (it *AccessControlRoleRevokedIterator) Error() error {
- return it.fail
- }
- // Close terminates the iteration process, releasing any pending underlying
- // resources.
- func (it *AccessControlRoleRevokedIterator) Close() error {
- it.sub.Unsubscribe()
- return nil
- }
- // AccessControlRoleRevoked represents a RoleRevoked event raised by the AccessControl contract.
- type AccessControlRoleRevoked struct {
- Role [32]byte
- Account common.Address
- Sender common.Address
- Raw types.Log // Blockchain specific contextual infos
- }
- // FilterRoleRevoked is a free log retrieval operation binding the contract event 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b.
- //
- // Solidity: event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)
- func (_AccessControl *AccessControlFilterer) FilterRoleRevoked(opts *bind.FilterOpts, role [][32]byte, account []common.Address, sender []common.Address) (*AccessControlRoleRevokedIterator, error) {
- var roleRule []interface{}
- for _, roleItem := range role {
- roleRule = append(roleRule, roleItem)
- }
- var accountRule []interface{}
- for _, accountItem := range account {
- accountRule = append(accountRule, accountItem)
- }
- var senderRule []interface{}
- for _, senderItem := range sender {
- senderRule = append(senderRule, senderItem)
- }
- logs, sub, err := _AccessControl.contract.FilterLogs(opts, "RoleRevoked", roleRule, accountRule, senderRule)
- if err != nil {
- return nil, err
- }
- return &AccessControlRoleRevokedIterator{contract: _AccessControl.contract, event: "RoleRevoked", logs: logs, sub: sub}, nil
- }
- // WatchRoleRevoked is a free log subscription operation binding the contract event 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b.
- //
- // Solidity: event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)
- func (_AccessControl *AccessControlFilterer) WatchRoleRevoked(opts *bind.WatchOpts, sink chan<- *AccessControlRoleRevoked, role [][32]byte, account []common.Address, sender []common.Address) (event.Subscription, error) {
- var roleRule []interface{}
- for _, roleItem := range role {
- roleRule = append(roleRule, roleItem)
- }
- var accountRule []interface{}
- for _, accountItem := range account {
- accountRule = append(accountRule, accountItem)
- }
- var senderRule []interface{}
- for _, senderItem := range sender {
- senderRule = append(senderRule, senderItem)
- }
- logs, sub, err := _AccessControl.contract.WatchLogs(opts, "RoleRevoked", roleRule, accountRule, senderRule)
- if err != nil {
- return nil, err
- }
- return event.NewSubscription(func(quit <-chan struct{}) error {
- defer sub.Unsubscribe()
- for {
- select {
- case log := <-logs:
- // New log arrived, parse the event and forward to the user
- event := new(AccessControlRoleRevoked)
- if err := _AccessControl.contract.UnpackLog(event, "RoleRevoked", log); err != nil {
- return err
- }
- event.Raw = log
- select {
- case sink <- event:
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- }
- }), nil
- }
- // ParseRoleRevoked is a log parse operation binding the contract event 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b.
- //
- // Solidity: event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)
- func (_AccessControl *AccessControlFilterer) ParseRoleRevoked(log types.Log) (*AccessControlRoleRevoked, error) {
- event := new(AccessControlRoleRevoked)
- if err := _AccessControl.contract.UnpackLog(event, "RoleRevoked", log); err != nil {
- return nil, err
- }
- event.Raw = log
- return event, nil
- }
- // AccessControlEnumerableMetaData contains all meta data concerning the AccessControlEnumerable contract.
- var AccessControlEnumerableMetaData = &bind.MetaData{
- 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\"}]",
- Sigs: map[string]string{
- "a217fddf": "DEFAULT_ADMIN_ROLE()",
- "248a9ca3": "getRoleAdmin(bytes32)",
- "9010d07c": "getRoleMember(bytes32,uint256)",
- "ca15c873": "getRoleMemberCount(bytes32)",
- "2f2ff15d": "grantRole(bytes32,address)",
- "91d14854": "hasRole(bytes32,address)",
- "36568abe": "renounceRole(bytes32,address)",
- "d547741f": "revokeRole(bytes32,address)",
- "01ffc9a7": "supportsInterface(bytes4)",
- },
- }
- // AccessControlEnumerableABI is the input ABI used to generate the binding from.
- // Deprecated: Use AccessControlEnumerableMetaData.ABI instead.
- var AccessControlEnumerableABI = AccessControlEnumerableMetaData.ABI
- // Deprecated: Use AccessControlEnumerableMetaData.Sigs instead.
- // AccessControlEnumerableFuncSigs maps the 4-byte function signature to its string representation.
- var AccessControlEnumerableFuncSigs = AccessControlEnumerableMetaData.Sigs
- // AccessControlEnumerable is an auto generated Go binding around an Ethereum contract.
- type AccessControlEnumerable struct {
- AccessControlEnumerableCaller // Read-only binding to the contract
- AccessControlEnumerableTransactor // Write-only binding to the contract
- AccessControlEnumerableFilterer // Log filterer for contract events
- }
- // AccessControlEnumerableCaller is an auto generated read-only Go binding around an Ethereum contract.
- type AccessControlEnumerableCaller struct {
- contract *bind.BoundContract // Generic contract wrapper for the low level calls
- }
- // AccessControlEnumerableTransactor is an auto generated write-only Go binding around an Ethereum contract.
- type AccessControlEnumerableTransactor struct {
- contract *bind.BoundContract // Generic contract wrapper for the low level calls
- }
- // AccessControlEnumerableFilterer is an auto generated log filtering Go binding around an Ethereum contract events.
- type AccessControlEnumerableFilterer struct {
- contract *bind.BoundContract // Generic contract wrapper for the low level calls
- }
- // AccessControlEnumerableSession is an auto generated Go binding around an Ethereum contract,
- // with pre-set call and transact options.
- type AccessControlEnumerableSession struct {
- Contract *AccessControlEnumerable // Generic contract binding to set the session for
- CallOpts bind.CallOpts // Call options to use throughout this session
- TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
- }
- // AccessControlEnumerableCallerSession is an auto generated read-only Go binding around an Ethereum contract,
- // with pre-set call options.
- type AccessControlEnumerableCallerSession struct {
- Contract *AccessControlEnumerableCaller // Generic contract caller binding to set the session for
- CallOpts bind.CallOpts // Call options to use throughout this session
- }
- // AccessControlEnumerableTransactorSession is an auto generated write-only Go binding around an Ethereum contract,
- // with pre-set transact options.
- type AccessControlEnumerableTransactorSession struct {
- Contract *AccessControlEnumerableTransactor // Generic contract transactor binding to set the session for
- TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
- }
- // AccessControlEnumerableRaw is an auto generated low-level Go binding around an Ethereum contract.
- type AccessControlEnumerableRaw struct {
- Contract *AccessControlEnumerable // Generic contract binding to access the raw methods on
- }
- // AccessControlEnumerableCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
- type AccessControlEnumerableCallerRaw struct {
- Contract *AccessControlEnumerableCaller // Generic read-only contract binding to access the raw methods on
- }
- // AccessControlEnumerableTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
- type AccessControlEnumerableTransactorRaw struct {
- Contract *AccessControlEnumerableTransactor // Generic write-only contract binding to access the raw methods on
- }
- // NewAccessControlEnumerable creates a new instance of AccessControlEnumerable, bound to a specific deployed contract.
- func NewAccessControlEnumerable(address common.Address, backend bind.ContractBackend) (*AccessControlEnumerable, error) {
- contract, err := bindAccessControlEnumerable(address, backend, backend, backend)
- if err != nil {
- return nil, err
- }
- return &AccessControlEnumerable{AccessControlEnumerableCaller: AccessControlEnumerableCaller{contract: contract}, AccessControlEnumerableTransactor: AccessControlEnumerableTransactor{contract: contract}, AccessControlEnumerableFilterer: AccessControlEnumerableFilterer{contract: contract}}, nil
- }
- // NewAccessControlEnumerableCaller creates a new read-only instance of AccessControlEnumerable, bound to a specific deployed contract.
- func NewAccessControlEnumerableCaller(address common.Address, caller bind.ContractCaller) (*AccessControlEnumerableCaller, error) {
- contract, err := bindAccessControlEnumerable(address, caller, nil, nil)
- if err != nil {
- return nil, err
- }
- return &AccessControlEnumerableCaller{contract: contract}, nil
- }
- // NewAccessControlEnumerableTransactor creates a new write-only instance of AccessControlEnumerable, bound to a specific deployed contract.
- func NewAccessControlEnumerableTransactor(address common.Address, transactor bind.ContractTransactor) (*AccessControlEnumerableTransactor, error) {
- contract, err := bindAccessControlEnumerable(address, nil, transactor, nil)
- if err != nil {
- return nil, err
- }
- return &AccessControlEnumerableTransactor{contract: contract}, nil
- }
- // NewAccessControlEnumerableFilterer creates a new log filterer instance of AccessControlEnumerable, bound to a specific deployed contract.
- func NewAccessControlEnumerableFilterer(address common.Address, filterer bind.ContractFilterer) (*AccessControlEnumerableFilterer, error) {
- contract, err := bindAccessControlEnumerable(address, nil, nil, filterer)
- if err != nil {
- return nil, err
- }
- return &AccessControlEnumerableFilterer{contract: contract}, nil
- }
- // bindAccessControlEnumerable binds a generic wrapper to an already deployed contract.
- func bindAccessControlEnumerable(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
- parsed, err := abi.JSON(strings.NewReader(AccessControlEnumerableABI))
- if err != nil {
- return nil, err
- }
- return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil
- }
- // Call invokes the (constant) contract method with params as input values and
- // sets the output to result. The result type might be a single field for simple
- // returns, a slice of interfaces for anonymous returns and a struct for named
- // returns.
- func (_AccessControlEnumerable *AccessControlEnumerableRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
- return _AccessControlEnumerable.Contract.AccessControlEnumerableCaller.contract.Call(opts, result, method, params...)
- }
- // Transfer initiates a plain transaction to move funds to the contract, calling
- // its default method if one is available.
- func (_AccessControlEnumerable *AccessControlEnumerableRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
- return _AccessControlEnumerable.Contract.AccessControlEnumerableTransactor.contract.Transfer(opts)
- }
- // Transact invokes the (paid) contract method with params as input values.
- func (_AccessControlEnumerable *AccessControlEnumerableRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
- return _AccessControlEnumerable.Contract.AccessControlEnumerableTransactor.contract.Transact(opts, method, params...)
- }
- // Call invokes the (constant) contract method with params as input values and
- // sets the output to result. The result type might be a single field for simple
- // returns, a slice of interfaces for anonymous returns and a struct for named
- // returns.
- func (_AccessControlEnumerable *AccessControlEnumerableCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
- return _AccessControlEnumerable.Contract.contract.Call(opts, result, method, params...)
- }
- // Transfer initiates a plain transaction to move funds to the contract, calling
- // its default method if one is available.
- func (_AccessControlEnumerable *AccessControlEnumerableTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
- return _AccessControlEnumerable.Contract.contract.Transfer(opts)
- }
- // Transact invokes the (paid) contract method with params as input values.
- func (_AccessControlEnumerable *AccessControlEnumerableTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
- return _AccessControlEnumerable.Contract.contract.Transact(opts, method, params...)
- }
- // DEFAULTADMINROLE is a free data retrieval call binding the contract method 0xa217fddf.
- //
- // Solidity: function DEFAULT_ADMIN_ROLE() view returns(bytes32)
- func (_AccessControlEnumerable *AccessControlEnumerableCaller) DEFAULTADMINROLE(opts *bind.CallOpts) ([32]byte, error) {
- var out []interface{}
- err := _AccessControlEnumerable.contract.Call(opts, &out, "DEFAULT_ADMIN_ROLE")
- if err != nil {
- return *new([32]byte), err
- }
- out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte)
- return out0, err
- }
- // DEFAULTADMINROLE is a free data retrieval call binding the contract method 0xa217fddf.
- //
- // Solidity: function DEFAULT_ADMIN_ROLE() view returns(bytes32)
- func (_AccessControlEnumerable *AccessControlEnumerableSession) DEFAULTADMINROLE() ([32]byte, error) {
- return _AccessControlEnumerable.Contract.DEFAULTADMINROLE(&_AccessControlEnumerable.CallOpts)
- }
- // DEFAULTADMINROLE is a free data retrieval call binding the contract method 0xa217fddf.
- //
- // Solidity: function DEFAULT_ADMIN_ROLE() view returns(bytes32)
- func (_AccessControlEnumerable *AccessControlEnumerableCallerSession) DEFAULTADMINROLE() ([32]byte, error) {
- return _AccessControlEnumerable.Contract.DEFAULTADMINROLE(&_AccessControlEnumerable.CallOpts)
- }
- // GetRoleAdmin is a free data retrieval call binding the contract method 0x248a9ca3.
- //
- // Solidity: function getRoleAdmin(bytes32 role) view returns(bytes32)
- func (_AccessControlEnumerable *AccessControlEnumerableCaller) GetRoleAdmin(opts *bind.CallOpts, role [32]byte) ([32]byte, error) {
- var out []interface{}
- err := _AccessControlEnumerable.contract.Call(opts, &out, "getRoleAdmin", role)
- if err != nil {
- return *new([32]byte), err
- }
- out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte)
- return out0, err
- }
- // GetRoleAdmin is a free data retrieval call binding the contract method 0x248a9ca3.
- //
- // Solidity: function getRoleAdmin(bytes32 role) view returns(bytes32)
- func (_AccessControlEnumerable *AccessControlEnumerableSession) GetRoleAdmin(role [32]byte) ([32]byte, error) {
- return _AccessControlEnumerable.Contract.GetRoleAdmin(&_AccessControlEnumerable.CallOpts, role)
- }
- // GetRoleAdmin is a free data retrieval call binding the contract method 0x248a9ca3.
- //
- // Solidity: function getRoleAdmin(bytes32 role) view returns(bytes32)
- func (_AccessControlEnumerable *AccessControlEnumerableCallerSession) GetRoleAdmin(role [32]byte) ([32]byte, error) {
- return _AccessControlEnumerable.Contract.GetRoleAdmin(&_AccessControlEnumerable.CallOpts, role)
- }
- // GetRoleMember is a free data retrieval call binding the contract method 0x9010d07c.
- //
- // Solidity: function getRoleMember(bytes32 role, uint256 index) view returns(address)
- func (_AccessControlEnumerable *AccessControlEnumerableCaller) GetRoleMember(opts *bind.CallOpts, role [32]byte, index *big.Int) (common.Address, error) {
- var out []interface{}
- err := _AccessControlEnumerable.contract.Call(opts, &out, "getRoleMember", role, index)
- if err != nil {
- return *new(common.Address), err
- }
- out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
- return out0, err
- }
- // GetRoleMember is a free data retrieval call binding the contract method 0x9010d07c.
- //
- // Solidity: function getRoleMember(bytes32 role, uint256 index) view returns(address)
- func (_AccessControlEnumerable *AccessControlEnumerableSession) GetRoleMember(role [32]byte, index *big.Int) (common.Address, error) {
- return _AccessControlEnumerable.Contract.GetRoleMember(&_AccessControlEnumerable.CallOpts, role, index)
- }
- // GetRoleMember is a free data retrieval call binding the contract method 0x9010d07c.
- //
- // Solidity: function getRoleMember(bytes32 role, uint256 index) view returns(address)
- func (_AccessControlEnumerable *AccessControlEnumerableCallerSession) GetRoleMember(role [32]byte, index *big.Int) (common.Address, error) {
- return _AccessControlEnumerable.Contract.GetRoleMember(&_AccessControlEnumerable.CallOpts, role, index)
- }
- // GetRoleMemberCount is a free data retrieval call binding the contract method 0xca15c873.
- //
- // Solidity: function getRoleMemberCount(bytes32 role) view returns(uint256)
- func (_AccessControlEnumerable *AccessControlEnumerableCaller) GetRoleMemberCount(opts *bind.CallOpts, role [32]byte) (*big.Int, error) {
- var out []interface{}
- err := _AccessControlEnumerable.contract.Call(opts, &out, "getRoleMemberCount", role)
- if err != nil {
- return *new(*big.Int), err
- }
- out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
- return out0, err
- }
- // GetRoleMemberCount is a free data retrieval call binding the contract method 0xca15c873.
- //
- // Solidity: function getRoleMemberCount(bytes32 role) view returns(uint256)
- func (_AccessControlEnumerable *AccessControlEnumerableSession) GetRoleMemberCount(role [32]byte) (*big.Int, error) {
- return _AccessControlEnumerable.Contract.GetRoleMemberCount(&_AccessControlEnumerable.CallOpts, role)
- }
- // GetRoleMemberCount is a free data retrieval call binding the contract method 0xca15c873.
- //
- // Solidity: function getRoleMemberCount(bytes32 role) view returns(uint256)
- func (_AccessControlEnumerable *AccessControlEnumerableCallerSession) GetRoleMemberCount(role [32]byte) (*big.Int, error) {
- return _AccessControlEnumerable.Contract.GetRoleMemberCount(&_AccessControlEnumerable.CallOpts, role)
- }
- // HasRole is a free data retrieval call binding the contract method 0x91d14854.
- //
- // Solidity: function hasRole(bytes32 role, address account) view returns(bool)
- func (_AccessControlEnumerable *AccessControlEnumerableCaller) HasRole(opts *bind.CallOpts, role [32]byte, account common.Address) (bool, error) {
- var out []interface{}
- err := _AccessControlEnumerable.contract.Call(opts, &out, "hasRole", role, account)
- if err != nil {
- return *new(bool), err
- }
- out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
- return out0, err
- }
- // HasRole is a free data retrieval call binding the contract method 0x91d14854.
- //
- // Solidity: function hasRole(bytes32 role, address account) view returns(bool)
- func (_AccessControlEnumerable *AccessControlEnumerableSession) HasRole(role [32]byte, account common.Address) (bool, error) {
- return _AccessControlEnumerable.Contract.HasRole(&_AccessControlEnumerable.CallOpts, role, account)
- }
- // HasRole is a free data retrieval call binding the contract method 0x91d14854.
- //
- // Solidity: function hasRole(bytes32 role, address account) view returns(bool)
- func (_AccessControlEnumerable *AccessControlEnumerableCallerSession) HasRole(role [32]byte, account common.Address) (bool, error) {
- return _AccessControlEnumerable.Contract.HasRole(&_AccessControlEnumerable.CallOpts, role, account)
- }
- // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
- //
- // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
- func (_AccessControlEnumerable *AccessControlEnumerableCaller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) {
- var out []interface{}
- err := _AccessControlEnumerable.contract.Call(opts, &out, "supportsInterface", interfaceId)
- if err != nil {
- return *new(bool), err
- }
- out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
- return out0, err
- }
- // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
- //
- // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
- func (_AccessControlEnumerable *AccessControlEnumerableSession) SupportsInterface(interfaceId [4]byte) (bool, error) {
- return _AccessControlEnumerable.Contract.SupportsInterface(&_AccessControlEnumerable.CallOpts, interfaceId)
- }
- // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
- //
- // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
- func (_AccessControlEnumerable *AccessControlEnumerableCallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) {
- return _AccessControlEnumerable.Contract.SupportsInterface(&_AccessControlEnumerable.CallOpts, interfaceId)
- }
- // GrantRole is a paid mutator transaction binding the contract method 0x2f2ff15d.
- //
- // Solidity: function grantRole(bytes32 role, address account) returns()
- func (_AccessControlEnumerable *AccessControlEnumerableTransactor) GrantRole(opts *bind.TransactOpts, role [32]byte, account common.Address) (*types.Transaction, error) {
- return _AccessControlEnumerable.contract.Transact(opts, "grantRole", role, account)
- }
- // GrantRole is a paid mutator transaction binding the contract method 0x2f2ff15d.
- //
- // Solidity: function grantRole(bytes32 role, address account) returns()
- func (_AccessControlEnumerable *AccessControlEnumerableSession) GrantRole(role [32]byte, account common.Address) (*types.Transaction, error) {
- return _AccessControlEnumerable.Contract.GrantRole(&_AccessControlEnumerable.TransactOpts, role, account)
- }
- // GrantRole is a paid mutator transaction binding the contract method 0x2f2ff15d.
- //
- // Solidity: function grantRole(bytes32 role, address account) returns()
- func (_AccessControlEnumerable *AccessControlEnumerableTransactorSession) GrantRole(role [32]byte, account common.Address) (*types.Transaction, error) {
- return _AccessControlEnumerable.Contract.GrantRole(&_AccessControlEnumerable.TransactOpts, role, account)
- }
- // RenounceRole is a paid mutator transaction binding the contract method 0x36568abe.
- //
- // Solidity: function renounceRole(bytes32 role, address account) returns()
- func (_AccessControlEnumerable *AccessControlEnumerableTransactor) RenounceRole(opts *bind.TransactOpts, role [32]byte, account common.Address) (*types.Transaction, error) {
- return _AccessControlEnumerable.contract.Transact(opts, "renounceRole", role, account)
- }
- // RenounceRole is a paid mutator transaction binding the contract method 0x36568abe.
- //
- // Solidity: function renounceRole(bytes32 role, address account) returns()
- func (_AccessControlEnumerable *AccessControlEnumerableSession) RenounceRole(role [32]byte, account common.Address) (*types.Transaction, error) {
- return _AccessControlEnumerable.Contract.RenounceRole(&_AccessControlEnumerable.TransactOpts, role, account)
- }
- // RenounceRole is a paid mutator transaction binding the contract method 0x36568abe.
- //
- // Solidity: function renounceRole(bytes32 role, address account) returns()
- func (_AccessControlEnumerable *AccessControlEnumerableTransactorSession) RenounceRole(role [32]byte, account common.Address) (*types.Transaction, error) {
- return _AccessControlEnumerable.Contract.RenounceRole(&_AccessControlEnumerable.TransactOpts, role, account)
- }
- // RevokeRole is a paid mutator transaction binding the contract method 0xd547741f.
- //
- // Solidity: function revokeRole(bytes32 role, address account) returns()
- func (_AccessControlEnumerable *AccessControlEnumerableTransactor) RevokeRole(opts *bind.TransactOpts, role [32]byte, account common.Address) (*types.Transaction, error) {
- return _AccessControlEnumerable.contract.Transact(opts, "revokeRole", role, account)
- }
- // RevokeRole is a paid mutator transaction binding the contract method 0xd547741f.
- //
- // Solidity: function revokeRole(bytes32 role, address account) returns()
- func (_AccessControlEnumerable *AccessControlEnumerableSession) RevokeRole(role [32]byte, account common.Address) (*types.Transaction, error) {
- return _AccessControlEnumerable.Contract.RevokeRole(&_AccessControlEnumerable.TransactOpts, role, account)
- }
- // RevokeRole is a paid mutator transaction binding the contract method 0xd547741f.
- //
- // Solidity: function revokeRole(bytes32 role, address account) returns()
- func (_AccessControlEnumerable *AccessControlEnumerableTransactorSession) RevokeRole(role [32]byte, account common.Address) (*types.Transaction, error) {
- return _AccessControlEnumerable.Contract.RevokeRole(&_AccessControlEnumerable.TransactOpts, role, account)
- }
- // 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.
- type AccessControlEnumerableRoleAdminChangedIterator struct {
- Event *AccessControlEnumerableRoleAdminChanged // Event containing the contract specifics and raw log
- contract *bind.BoundContract // Generic contract to use for unpacking event data
- event string // Event name to use for unpacking event data
- logs chan types.Log // Log channel receiving the found contract events
- sub ethereum.Subscription // Subscription for errors, completion and termination
- done bool // Whether the subscription completed delivering logs
- fail error // Occurred error to stop iteration
- }
- // Next advances the iterator to the subsequent event, returning whether there
- // are any more events found. In case of a retrieval or parsing error, false is
- // returned and Error() can be queried for the exact failure.
- func (it *AccessControlEnumerableRoleAdminChangedIterator) Next() bool {
- // If the iterator failed, stop iterating
- if it.fail != nil {
- return false
- }
- // If the iterator completed, deliver directly whatever's available
- if it.done {
- select {
- case log := <-it.logs:
- it.Event = new(AccessControlEnumerableRoleAdminChanged)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- default:
- return false
- }
- }
- // Iterator still in progress, wait for either a data or an error event
- select {
- case log := <-it.logs:
- it.Event = new(AccessControlEnumerableRoleAdminChanged)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- case err := <-it.sub.Err():
- it.done = true
- it.fail = err
- return it.Next()
- }
- }
- // Error returns any retrieval or parsing error occurred during filtering.
- func (it *AccessControlEnumerableRoleAdminChangedIterator) Error() error {
- return it.fail
- }
- // Close terminates the iteration process, releasing any pending underlying
- // resources.
- func (it *AccessControlEnumerableRoleAdminChangedIterator) Close() error {
- it.sub.Unsubscribe()
- return nil
- }
- // AccessControlEnumerableRoleAdminChanged represents a RoleAdminChanged event raised by the AccessControlEnumerable contract.
- type AccessControlEnumerableRoleAdminChanged struct {
- Role [32]byte
- PreviousAdminRole [32]byte
- NewAdminRole [32]byte
- Raw types.Log // Blockchain specific contextual infos
- }
- // FilterRoleAdminChanged is a free log retrieval operation binding the contract event 0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff.
- //
- // Solidity: event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)
- func (_AccessControlEnumerable *AccessControlEnumerableFilterer) FilterRoleAdminChanged(opts *bind.FilterOpts, role [][32]byte, previousAdminRole [][32]byte, newAdminRole [][32]byte) (*AccessControlEnumerableRoleAdminChangedIterator, error) {
- var roleRule []interface{}
- for _, roleItem := range role {
- roleRule = append(roleRule, roleItem)
- }
- var previousAdminRoleRule []interface{}
- for _, previousAdminRoleItem := range previousAdminRole {
- previousAdminRoleRule = append(previousAdminRoleRule, previousAdminRoleItem)
- }
- var newAdminRoleRule []interface{}
- for _, newAdminRoleItem := range newAdminRole {
- newAdminRoleRule = append(newAdminRoleRule, newAdminRoleItem)
- }
- logs, sub, err := _AccessControlEnumerable.contract.FilterLogs(opts, "RoleAdminChanged", roleRule, previousAdminRoleRule, newAdminRoleRule)
- if err != nil {
- return nil, err
- }
- return &AccessControlEnumerableRoleAdminChangedIterator{contract: _AccessControlEnumerable.contract, event: "RoleAdminChanged", logs: logs, sub: sub}, nil
- }
- // WatchRoleAdminChanged is a free log subscription operation binding the contract event 0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff.
- //
- // Solidity: event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)
- func (_AccessControlEnumerable *AccessControlEnumerableFilterer) WatchRoleAdminChanged(opts *bind.WatchOpts, sink chan<- *AccessControlEnumerableRoleAdminChanged, role [][32]byte, previousAdminRole [][32]byte, newAdminRole [][32]byte) (event.Subscription, error) {
- var roleRule []interface{}
- for _, roleItem := range role {
- roleRule = append(roleRule, roleItem)
- }
- var previousAdminRoleRule []interface{}
- for _, previousAdminRoleItem := range previousAdminRole {
- previousAdminRoleRule = append(previousAdminRoleRule, previousAdminRoleItem)
- }
- var newAdminRoleRule []interface{}
- for _, newAdminRoleItem := range newAdminRole {
- newAdminRoleRule = append(newAdminRoleRule, newAdminRoleItem)
- }
- logs, sub, err := _AccessControlEnumerable.contract.WatchLogs(opts, "RoleAdminChanged", roleRule, previousAdminRoleRule, newAdminRoleRule)
- if err != nil {
- return nil, err
- }
- return event.NewSubscription(func(quit <-chan struct{}) error {
- defer sub.Unsubscribe()
- for {
- select {
- case log := <-logs:
- // New log arrived, parse the event and forward to the user
- event := new(AccessControlEnumerableRoleAdminChanged)
- if err := _AccessControlEnumerable.contract.UnpackLog(event, "RoleAdminChanged", log); err != nil {
- return err
- }
- event.Raw = log
- select {
- case sink <- event:
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- }
- }), nil
- }
- // ParseRoleAdminChanged is a log parse operation binding the contract event 0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff.
- //
- // Solidity: event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)
- func (_AccessControlEnumerable *AccessControlEnumerableFilterer) ParseRoleAdminChanged(log types.Log) (*AccessControlEnumerableRoleAdminChanged, error) {
- event := new(AccessControlEnumerableRoleAdminChanged)
- if err := _AccessControlEnumerable.contract.UnpackLog(event, "RoleAdminChanged", log); err != nil {
- return nil, err
- }
- event.Raw = log
- return event, nil
- }
- // 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.
- type AccessControlEnumerableRoleGrantedIterator struct {
- Event *AccessControlEnumerableRoleGranted // Event containing the contract specifics and raw log
- contract *bind.BoundContract // Generic contract to use for unpacking event data
- event string // Event name to use for unpacking event data
- logs chan types.Log // Log channel receiving the found contract events
- sub ethereum.Subscription // Subscription for errors, completion and termination
- done bool // Whether the subscription completed delivering logs
- fail error // Occurred error to stop iteration
- }
- // Next advances the iterator to the subsequent event, returning whether there
- // are any more events found. In case of a retrieval or parsing error, false is
- // returned and Error() can be queried for the exact failure.
- func (it *AccessControlEnumerableRoleGrantedIterator) Next() bool {
- // If the iterator failed, stop iterating
- if it.fail != nil {
- return false
- }
- // If the iterator completed, deliver directly whatever's available
- if it.done {
- select {
- case log := <-it.logs:
- it.Event = new(AccessControlEnumerableRoleGranted)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- default:
- return false
- }
- }
- // Iterator still in progress, wait for either a data or an error event
- select {
- case log := <-it.logs:
- it.Event = new(AccessControlEnumerableRoleGranted)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- case err := <-it.sub.Err():
- it.done = true
- it.fail = err
- return it.Next()
- }
- }
- // Error returns any retrieval or parsing error occurred during filtering.
- func (it *AccessControlEnumerableRoleGrantedIterator) Error() error {
- return it.fail
- }
- // Close terminates the iteration process, releasing any pending underlying
- // resources.
- func (it *AccessControlEnumerableRoleGrantedIterator) Close() error {
- it.sub.Unsubscribe()
- return nil
- }
- // AccessControlEnumerableRoleGranted represents a RoleGranted event raised by the AccessControlEnumerable contract.
- type AccessControlEnumerableRoleGranted struct {
- Role [32]byte
- Account common.Address
- Sender common.Address
- Raw types.Log // Blockchain specific contextual infos
- }
- // FilterRoleGranted is a free log retrieval operation binding the contract event 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d.
- //
- // Solidity: event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)
- func (_AccessControlEnumerable *AccessControlEnumerableFilterer) FilterRoleGranted(opts *bind.FilterOpts, role [][32]byte, account []common.Address, sender []common.Address) (*AccessControlEnumerableRoleGrantedIterator, error) {
- var roleRule []interface{}
- for _, roleItem := range role {
- roleRule = append(roleRule, roleItem)
- }
- var accountRule []interface{}
- for _, accountItem := range account {
- accountRule = append(accountRule, accountItem)
- }
- var senderRule []interface{}
- for _, senderItem := range sender {
- senderRule = append(senderRule, senderItem)
- }
- logs, sub, err := _AccessControlEnumerable.contract.FilterLogs(opts, "RoleGranted", roleRule, accountRule, senderRule)
- if err != nil {
- return nil, err
- }
- return &AccessControlEnumerableRoleGrantedIterator{contract: _AccessControlEnumerable.contract, event: "RoleGranted", logs: logs, sub: sub}, nil
- }
- // WatchRoleGranted is a free log subscription operation binding the contract event 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d.
- //
- // Solidity: event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)
- func (_AccessControlEnumerable *AccessControlEnumerableFilterer) WatchRoleGranted(opts *bind.WatchOpts, sink chan<- *AccessControlEnumerableRoleGranted, role [][32]byte, account []common.Address, sender []common.Address) (event.Subscription, error) {
- var roleRule []interface{}
- for _, roleItem := range role {
- roleRule = append(roleRule, roleItem)
- }
- var accountRule []interface{}
- for _, accountItem := range account {
- accountRule = append(accountRule, accountItem)
- }
- var senderRule []interface{}
- for _, senderItem := range sender {
- senderRule = append(senderRule, senderItem)
- }
- logs, sub, err := _AccessControlEnumerable.contract.WatchLogs(opts, "RoleGranted", roleRule, accountRule, senderRule)
- if err != nil {
- return nil, err
- }
- return event.NewSubscription(func(quit <-chan struct{}) error {
- defer sub.Unsubscribe()
- for {
- select {
- case log := <-logs:
- // New log arrived, parse the event and forward to the user
- event := new(AccessControlEnumerableRoleGranted)
- if err := _AccessControlEnumerable.contract.UnpackLog(event, "RoleGranted", log); err != nil {
- return err
- }
- event.Raw = log
- select {
- case sink <- event:
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- }
- }), nil
- }
- // ParseRoleGranted is a log parse operation binding the contract event 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d.
- //
- // Solidity: event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)
- func (_AccessControlEnumerable *AccessControlEnumerableFilterer) ParseRoleGranted(log types.Log) (*AccessControlEnumerableRoleGranted, error) {
- event := new(AccessControlEnumerableRoleGranted)
- if err := _AccessControlEnumerable.contract.UnpackLog(event, "RoleGranted", log); err != nil {
- return nil, err
- }
- event.Raw = log
- return event, nil
- }
- // 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.
- type AccessControlEnumerableRoleRevokedIterator struct {
- Event *AccessControlEnumerableRoleRevoked // Event containing the contract specifics and raw log
- contract *bind.BoundContract // Generic contract to use for unpacking event data
- event string // Event name to use for unpacking event data
- logs chan types.Log // Log channel receiving the found contract events
- sub ethereum.Subscription // Subscription for errors, completion and termination
- done bool // Whether the subscription completed delivering logs
- fail error // Occurred error to stop iteration
- }
- // Next advances the iterator to the subsequent event, returning whether there
- // are any more events found. In case of a retrieval or parsing error, false is
- // returned and Error() can be queried for the exact failure.
- func (it *AccessControlEnumerableRoleRevokedIterator) Next() bool {
- // If the iterator failed, stop iterating
- if it.fail != nil {
- return false
- }
- // If the iterator completed, deliver directly whatever's available
- if it.done {
- select {
- case log := <-it.logs:
- it.Event = new(AccessControlEnumerableRoleRevoked)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- default:
- return false
- }
- }
- // Iterator still in progress, wait for either a data or an error event
- select {
- case log := <-it.logs:
- it.Event = new(AccessControlEnumerableRoleRevoked)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- case err := <-it.sub.Err():
- it.done = true
- it.fail = err
- return it.Next()
- }
- }
- // Error returns any retrieval or parsing error occurred during filtering.
- func (it *AccessControlEnumerableRoleRevokedIterator) Error() error {
- return it.fail
- }
- // Close terminates the iteration process, releasing any pending underlying
- // resources.
- func (it *AccessControlEnumerableRoleRevokedIterator) Close() error {
- it.sub.Unsubscribe()
- return nil
- }
- // AccessControlEnumerableRoleRevoked represents a RoleRevoked event raised by the AccessControlEnumerable contract.
- type AccessControlEnumerableRoleRevoked struct {
- Role [32]byte
- Account common.Address
- Sender common.Address
- Raw types.Log // Blockchain specific contextual infos
- }
- // FilterRoleRevoked is a free log retrieval operation binding the contract event 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b.
- //
- // Solidity: event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)
- func (_AccessControlEnumerable *AccessControlEnumerableFilterer) FilterRoleRevoked(opts *bind.FilterOpts, role [][32]byte, account []common.Address, sender []common.Address) (*AccessControlEnumerableRoleRevokedIterator, error) {
- var roleRule []interface{}
- for _, roleItem := range role {
- roleRule = append(roleRule, roleItem)
- }
- var accountRule []interface{}
- for _, accountItem := range account {
- accountRule = append(accountRule, accountItem)
- }
- var senderRule []interface{}
- for _, senderItem := range sender {
- senderRule = append(senderRule, senderItem)
- }
- logs, sub, err := _AccessControlEnumerable.contract.FilterLogs(opts, "RoleRevoked", roleRule, accountRule, senderRule)
- if err != nil {
- return nil, err
- }
- return &AccessControlEnumerableRoleRevokedIterator{contract: _AccessControlEnumerable.contract, event: "RoleRevoked", logs: logs, sub: sub}, nil
- }
- // WatchRoleRevoked is a free log subscription operation binding the contract event 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b.
- //
- // Solidity: event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)
- func (_AccessControlEnumerable *AccessControlEnumerableFilterer) WatchRoleRevoked(opts *bind.WatchOpts, sink chan<- *AccessControlEnumerableRoleRevoked, role [][32]byte, account []common.Address, sender []common.Address) (event.Subscription, error) {
- var roleRule []interface{}
- for _, roleItem := range role {
- roleRule = append(roleRule, roleItem)
- }
- var accountRule []interface{}
- for _, accountItem := range account {
- accountRule = append(accountRule, accountItem)
- }
- var senderRule []interface{}
- for _, senderItem := range sender {
- senderRule = append(senderRule, senderItem)
- }
- logs, sub, err := _AccessControlEnumerable.contract.WatchLogs(opts, "RoleRevoked", roleRule, accountRule, senderRule)
- if err != nil {
- return nil, err
- }
- return event.NewSubscription(func(quit <-chan struct{}) error {
- defer sub.Unsubscribe()
- for {
- select {
- case log := <-logs:
- // New log arrived, parse the event and forward to the user
- event := new(AccessControlEnumerableRoleRevoked)
- if err := _AccessControlEnumerable.contract.UnpackLog(event, "RoleRevoked", log); err != nil {
- return err
- }
- event.Raw = log
- select {
- case sink <- event:
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- }
- }), nil
- }
- // ParseRoleRevoked is a log parse operation binding the contract event 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b.
- //
- // Solidity: event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)
- func (_AccessControlEnumerable *AccessControlEnumerableFilterer) ParseRoleRevoked(log types.Log) (*AccessControlEnumerableRoleRevoked, error) {
- event := new(AccessControlEnumerableRoleRevoked)
- if err := _AccessControlEnumerable.contract.UnpackLog(event, "RoleRevoked", log); err != nil {
- return nil, err
- }
- event.Raw = log
- return event, nil
- }
- // AddressMetaData contains all meta data concerning the Address contract.
- var AddressMetaData = &bind.MetaData{
- ABI: "[]",
- Bin: "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220974843254cf8569e354f7abfc84d67e8842033f54611688a73ae56434ff6c20b64736f6c63430008010033",
- }
- // AddressABI is the input ABI used to generate the binding from.
- // Deprecated: Use AddressMetaData.ABI instead.
- var AddressABI = AddressMetaData.ABI
- // AddressBin is the compiled bytecode used for deploying new contracts.
- // Deprecated: Use AddressMetaData.Bin instead.
- var AddressBin = AddressMetaData.Bin
- // DeployAddress deploys a new Ethereum contract, binding an instance of Address to it.
- func DeployAddress(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *Address, error) {
- parsed, err := AddressMetaData.GetAbi()
- if err != nil {
- return common.Address{}, nil, nil, err
- }
- if parsed == nil {
- return common.Address{}, nil, nil, errors.New("GetABI returned nil")
- }
- address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(AddressBin), backend)
- if err != nil {
- return common.Address{}, nil, nil, err
- }
- return address, tx, &Address{AddressCaller: AddressCaller{contract: contract}, AddressTransactor: AddressTransactor{contract: contract}, AddressFilterer: AddressFilterer{contract: contract}}, nil
- }
- // Address is an auto generated Go binding around an Ethereum contract.
- type Address struct {
- AddressCaller // Read-only binding to the contract
- AddressTransactor // Write-only binding to the contract
- AddressFilterer // Log filterer for contract events
- }
- // AddressCaller is an auto generated read-only Go binding around an Ethereum contract.
- type AddressCaller struct {
- contract *bind.BoundContract // Generic contract wrapper for the low level calls
- }
- // AddressTransactor is an auto generated write-only Go binding around an Ethereum contract.
- type AddressTransactor struct {
- contract *bind.BoundContract // Generic contract wrapper for the low level calls
- }
- // AddressFilterer is an auto generated log filtering Go binding around an Ethereum contract events.
- type AddressFilterer struct {
- contract *bind.BoundContract // Generic contract wrapper for the low level calls
- }
- // AddressSession is an auto generated Go binding around an Ethereum contract,
- // with pre-set call and transact options.
- type AddressSession struct {
- Contract *Address // Generic contract binding to set the session for
- CallOpts bind.CallOpts // Call options to use throughout this session
- TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
- }
- // AddressCallerSession is an auto generated read-only Go binding around an Ethereum contract,
- // with pre-set call options.
- type AddressCallerSession struct {
- Contract *AddressCaller // Generic contract caller binding to set the session for
- CallOpts bind.CallOpts // Call options to use throughout this session
- }
- // AddressTransactorSession is an auto generated write-only Go binding around an Ethereum contract,
- // with pre-set transact options.
- type AddressTransactorSession struct {
- Contract *AddressTransactor // Generic contract transactor binding to set the session for
- TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
- }
- // AddressRaw is an auto generated low-level Go binding around an Ethereum contract.
- type AddressRaw struct {
- Contract *Address // Generic contract binding to access the raw methods on
- }
- // AddressCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
- type AddressCallerRaw struct {
- Contract *AddressCaller // Generic read-only contract binding to access the raw methods on
- }
- // AddressTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
- type AddressTransactorRaw struct {
- Contract *AddressTransactor // Generic write-only contract binding to access the raw methods on
- }
- // NewAddress creates a new instance of Address, bound to a specific deployed contract.
- func NewAddress(address common.Address, backend bind.ContractBackend) (*Address, error) {
- contract, err := bindAddress(address, backend, backend, backend)
- if err != nil {
- return nil, err
- }
- return &Address{AddressCaller: AddressCaller{contract: contract}, AddressTransactor: AddressTransactor{contract: contract}, AddressFilterer: AddressFilterer{contract: contract}}, nil
- }
- // NewAddressCaller creates a new read-only instance of Address, bound to a specific deployed contract.
- func NewAddressCaller(address common.Address, caller bind.ContractCaller) (*AddressCaller, error) {
- contract, err := bindAddress(address, caller, nil, nil)
- if err != nil {
- return nil, err
- }
- return &AddressCaller{contract: contract}, nil
- }
- // NewAddressTransactor creates a new write-only instance of Address, bound to a specific deployed contract.
- func NewAddressTransactor(address common.Address, transactor bind.ContractTransactor) (*AddressTransactor, error) {
- contract, err := bindAddress(address, nil, transactor, nil)
- if err != nil {
- return nil, err
- }
- return &AddressTransactor{contract: contract}, nil
- }
- // NewAddressFilterer creates a new log filterer instance of Address, bound to a specific deployed contract.
- func NewAddressFilterer(address common.Address, filterer bind.ContractFilterer) (*AddressFilterer, error) {
- contract, err := bindAddress(address, nil, nil, filterer)
- if err != nil {
- return nil, err
- }
- return &AddressFilterer{contract: contract}, nil
- }
- // bindAddress binds a generic wrapper to an already deployed contract.
- func bindAddress(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
- parsed, err := abi.JSON(strings.NewReader(AddressABI))
- if err != nil {
- return nil, err
- }
- return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil
- }
- // Call invokes the (constant) contract method with params as input values and
- // sets the output to result. The result type might be a single field for simple
- // returns, a slice of interfaces for anonymous returns and a struct for named
- // returns.
- func (_Address *AddressRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
- return _Address.Contract.AddressCaller.contract.Call(opts, result, method, params...)
- }
- // Transfer initiates a plain transaction to move funds to the contract, calling
- // its default method if one is available.
- func (_Address *AddressRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
- return _Address.Contract.AddressTransactor.contract.Transfer(opts)
- }
- // Transact invokes the (paid) contract method with params as input values.
- func (_Address *AddressRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
- return _Address.Contract.AddressTransactor.contract.Transact(opts, method, params...)
- }
- // Call invokes the (constant) contract method with params as input values and
- // sets the output to result. The result type might be a single field for simple
- // returns, a slice of interfaces for anonymous returns and a struct for named
- // returns.
- func (_Address *AddressCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
- return _Address.Contract.contract.Call(opts, result, method, params...)
- }
- // Transfer initiates a plain transaction to move funds to the contract, calling
- // its default method if one is available.
- func (_Address *AddressTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
- return _Address.Contract.contract.Transfer(opts)
- }
- // Transact invokes the (paid) contract method with params as input values.
- func (_Address *AddressTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
- return _Address.Contract.contract.Transact(opts, method, params...)
- }
- // ContextMetaData contains all meta data concerning the Context contract.
- var ContextMetaData = &bind.MetaData{
- ABI: "[]",
- }
- // ContextABI is the input ABI used to generate the binding from.
- // Deprecated: Use ContextMetaData.ABI instead.
- var ContextABI = ContextMetaData.ABI
- // Context is an auto generated Go binding around an Ethereum contract.
- type Context struct {
- ContextCaller // Read-only binding to the contract
- ContextTransactor // Write-only binding to the contract
- ContextFilterer // Log filterer for contract events
- }
- // ContextCaller is an auto generated read-only Go binding around an Ethereum contract.
- type ContextCaller struct {
- contract *bind.BoundContract // Generic contract wrapper for the low level calls
- }
- // ContextTransactor is an auto generated write-only Go binding around an Ethereum contract.
- type ContextTransactor struct {
- contract *bind.BoundContract // Generic contract wrapper for the low level calls
- }
- // ContextFilterer is an auto generated log filtering Go binding around an Ethereum contract events.
- type ContextFilterer struct {
- contract *bind.BoundContract // Generic contract wrapper for the low level calls
- }
- // ContextSession is an auto generated Go binding around an Ethereum contract,
- // with pre-set call and transact options.
- type ContextSession struct {
- Contract *Context // Generic contract binding to set the session for
- CallOpts bind.CallOpts // Call options to use throughout this session
- TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
- }
- // ContextCallerSession is an auto generated read-only Go binding around an Ethereum contract,
- // with pre-set call options.
- type ContextCallerSession struct {
- Contract *ContextCaller // Generic contract caller binding to set the session for
- CallOpts bind.CallOpts // Call options to use throughout this session
- }
- // ContextTransactorSession is an auto generated write-only Go binding around an Ethereum contract,
- // with pre-set transact options.
- type ContextTransactorSession struct {
- Contract *ContextTransactor // Generic contract transactor binding to set the session for
- TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
- }
- // ContextRaw is an auto generated low-level Go binding around an Ethereum contract.
- type ContextRaw struct {
- Contract *Context // Generic contract binding to access the raw methods on
- }
- // ContextCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
- type ContextCallerRaw struct {
- Contract *ContextCaller // Generic read-only contract binding to access the raw methods on
- }
- // ContextTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
- type ContextTransactorRaw struct {
- Contract *ContextTransactor // Generic write-only contract binding to access the raw methods on
- }
- // NewContext creates a new instance of Context, bound to a specific deployed contract.
- func NewContext(address common.Address, backend bind.ContractBackend) (*Context, error) {
- contract, err := bindContext(address, backend, backend, backend)
- if err != nil {
- return nil, err
- }
- return &Context{ContextCaller: ContextCaller{contract: contract}, ContextTransactor: ContextTransactor{contract: contract}, ContextFilterer: ContextFilterer{contract: contract}}, nil
- }
- // NewContextCaller creates a new read-only instance of Context, bound to a specific deployed contract.
- func NewContextCaller(address common.Address, caller bind.ContractCaller) (*ContextCaller, error) {
- contract, err := bindContext(address, caller, nil, nil)
- if err != nil {
- return nil, err
- }
- return &ContextCaller{contract: contract}, nil
- }
- // NewContextTransactor creates a new write-only instance of Context, bound to a specific deployed contract.
- func NewContextTransactor(address common.Address, transactor bind.ContractTransactor) (*ContextTransactor, error) {
- contract, err := bindContext(address, nil, transactor, nil)
- if err != nil {
- return nil, err
- }
- return &ContextTransactor{contract: contract}, nil
- }
- // NewContextFilterer creates a new log filterer instance of Context, bound to a specific deployed contract.
- func NewContextFilterer(address common.Address, filterer bind.ContractFilterer) (*ContextFilterer, error) {
- contract, err := bindContext(address, nil, nil, filterer)
- if err != nil {
- return nil, err
- }
- return &ContextFilterer{contract: contract}, nil
- }
- // bindContext binds a generic wrapper to an already deployed contract.
- func bindContext(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
- parsed, err := abi.JSON(strings.NewReader(ContextABI))
- if err != nil {
- return nil, err
- }
- return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil
- }
- // Call invokes the (constant) contract method with params as input values and
- // sets the output to result. The result type might be a single field for simple
- // returns, a slice of interfaces for anonymous returns and a struct for named
- // returns.
- func (_Context *ContextRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
- return _Context.Contract.ContextCaller.contract.Call(opts, result, method, params...)
- }
- // Transfer initiates a plain transaction to move funds to the contract, calling
- // its default method if one is available.
- func (_Context *ContextRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
- return _Context.Contract.ContextTransactor.contract.Transfer(opts)
- }
- // Transact invokes the (paid) contract method with params as input values.
- func (_Context *ContextRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
- return _Context.Contract.ContextTransactor.contract.Transact(opts, method, params...)
- }
- // Call invokes the (constant) contract method with params as input values and
- // sets the output to result. The result type might be a single field for simple
- // returns, a slice of interfaces for anonymous returns and a struct for named
- // returns.
- func (_Context *ContextCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
- return _Context.Contract.contract.Call(opts, result, method, params...)
- }
- // Transfer initiates a plain transaction to move funds to the contract, calling
- // its default method if one is available.
- func (_Context *ContextTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
- return _Context.Contract.contract.Transfer(opts)
- }
- // Transact invokes the (paid) contract method with params as input values.
- func (_Context *ContextTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
- return _Context.Contract.contract.Transact(opts, method, params...)
- }
- // ERC1155MetaData contains all meta data concerning the ERC1155 contract.
- var ERC1155MetaData = &bind.MetaData{
- 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\"}]",
- Sigs: map[string]string{
- "00fdd58e": "balanceOf(address,uint256)",
- "4e1273f4": "balanceOfBatch(address[],uint256[])",
- "e985e9c5": "isApprovedForAll(address,address)",
- "2eb2c2d6": "safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)",
- "f242432a": "safeTransferFrom(address,address,uint256,uint256,bytes)",
- "a22cb465": "setApprovalForAll(address,bool)",
- "01ffc9a7": "supportsInterface(bytes4)",
- "0e89341c": "uri(uint256)",
- },
- Bin: "0x60806040523480156200001157600080fd5b506040516200174238038062001742833981016040819052620000349162000105565b6200003f8162000046565b506200022e565b80516200005b9060029060208401906200005f565b5050565b8280546200006d90620001db565b90600052602060002090601f016020900481019282620000915760008555620000dc565b82601f10620000ac57805160ff1916838001178555620000dc565b82800160010185558215620000dc579182015b82811115620000dc578251825591602001919060010190620000bf565b50620000ea929150620000ee565b5090565b5b80821115620000ea5760008155600101620000ef565b6000602080838503121562000118578182fd5b82516001600160401b03808211156200012f578384fd5b818501915085601f83011262000143578384fd5b81518181111562000158576200015862000218565b604051601f8201601f19908116603f0116810190838211818310171562000183576200018362000218565b8160405282815288868487010111156200019b578687fd5b8693505b82841015620001be57848401860151818501870152928501926200019f565b82841115620001cf57868684830101525b98975050505050505050565b600281046001821680620001f057607f821691505b602082108114156200021257634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052604160045260246000fd5b611504806200023e6000396000f3fe608060405234801561001057600080fd5b50600436106100875760003560e01c80634e1273f41161005b5780634e1273f41461010a578063a22cb4651461012a578063e985e9c51461013d578063f242432a1461015057610087565b8062fdd58e1461008c57806301ffc9a7146100b55780630e89341c146100d55780632eb2c2d6146100f5575b600080fd5b61009f61009a366004610d4f565b610163565b6040516100ac919061130a565b60405180910390f35b6100c86100c3366004610e41565b6101ba565b6040516100ac9190611001565b6100e86100e3366004610e80565b610202565b6040516100ac919061100c565b610108610103366004610c0c565b610296565b005b61011d610118366004610d78565b6102f4565b6040516100ac9190610fc0565b610108610138366004610d15565b610414565b6100c861014b366004610bda565b61042a565b61010861015e366004610cb2565b610458565b60006001600160a01b0383166101945760405162461bcd60e51b815260040161018b906110bb565b60405180910390fd5b506000908152602081815260408083206001600160a01b03949094168352929052205490565b60006001600160e01b03198216636cdb3d1360e11b14806101eb57506001600160e01b031982166303a24d0760e21b145b806101fa57506101fa826104af565b90505b919050565b6060600280546102119061135d565b80601f016020809104026020016040519081016040528092919081815260200182805461023d9061135d565b801561028a5780601f1061025f5761010080835404028352916020019161028a565b820191906000526020600020905b81548152906001019060200180831161026d57829003601f168201915b50505050509050919050565b61029e6104c8565b6001600160a01b0316856001600160a01b031614806102c457506102c48561014b6104c8565b6102e05760405162461bcd60e51b815260040161018b90611194565b6102ed85858585856104cd565b5050505050565b606081518351146103175760405162461bcd60e51b815260040161018b90611279565b6000835167ffffffffffffffff81111561034157634e487b7160e01b600052604160045260246000fd5b60405190808252806020026020018201604052801561036a578160200160208202803683370190505b50905060005b845181101561040c576103d185828151811061039c57634e487b7160e01b600052603260045260246000fd5b60200260200101518583815181106103c457634e487b7160e01b600052603260045260246000fd5b6020026020010151610163565b8282815181106103f157634e487b7160e01b600052603260045260246000fd5b6020908102919091010152610405816113c5565b9050610370565b509392505050565b61042661041f6104c8565b838361069e565b5050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205460ff1690565b6104606104c8565b6001600160a01b0316856001600160a01b0316148061048657506104868561014b6104c8565b6104a25760405162461bcd60e51b815260040161018b90611106565b6102ed8585858585610741565b6001600160e01b031981166301ffc9a760e01b14919050565b335b90565b81518351146104ee5760405162461bcd60e51b815260040161018b906112c2565b6001600160a01b0384166105145760405162461bcd60e51b815260040161018b9061114f565b600061051e6104c8565b905061052e818787878787610696565b60005b845181101561063057600085828151811061055c57634e487b7160e01b600052603260045260246000fd5b60200260200101519050600085838151811061058857634e487b7160e01b600052603260045260246000fd5b602090810291909101810151600084815280835260408082206001600160a01b038e1683529093529190912054909150818110156105d85760405162461bcd60e51b815260040161018b906111e6565b6000838152602081815260408083206001600160a01b038e8116855292528083208585039055908b16825281208054849290610615908490611345565b9250508190555050505080610629906113c5565b9050610531565b50846001600160a01b0316866001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051610680929190610fd3565b60405180910390a4610696818787878787610884565b505050505050565b816001600160a01b0316836001600160a01b031614156106d05760405162461bcd60e51b815260040161018b90611230565b6001600160a01b0383811660008181526001602090815260408083209487168084529490915290819020805460ff1916851515179055517f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3190610734908590611001565b60405180910390a3505050565b6001600160a01b0384166107675760405162461bcd60e51b815260040161018b9061114f565b60006107716104c8565b9050610791818787610782886109a9565b61078b886109a9565b87610696565b6000848152602081815260408083206001600160a01b038a168452909152902054838110156107d25760405162461bcd60e51b815260040161018b906111e6565b6000858152602081815260408083206001600160a01b038b811685529252808320878503905590881682528120805486929061080f908490611345565b92505081905550856001600160a01b0316876001600160a01b0316836001600160a01b03167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628888604051610865929190611313565b60405180910390a461087b828888888888610a02565b50505050505050565b610896846001600160a01b0316610ad3565b156106965760405163bc197c8160e01b81526001600160a01b0385169063bc197c81906108cf9089908990889088908890600401610f1d565b602060405180830381600087803b1580156108e957600080fd5b505af1925050508015610919575060408051601f3d908101601f1916820190925261091691810190610e64565b60015b6109795761092561140c565b806308c379a0141561095f575061093a611423565b806109455750610961565b8060405162461bcd60e51b815260040161018b919061100c565b505b60405162461bcd60e51b815260040161018b9061101f565b6001600160e01b0319811663bc197c8160e01b1461087b5760405162461bcd60e51b815260040161018b90611073565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106109f157634e487b7160e01b600052603260045260246000fd5b602090810291909101015292915050565b610a14846001600160a01b0316610ad3565b156106965760405163f23a6e6160e01b81526001600160a01b0385169063f23a6e6190610a4d9089908990889088908890600401610f7b565b602060405180830381600087803b158015610a6757600080fd5b505af1925050508015610a97575060408051601f3d908101601f19168201909252610a9491810190610e64565b60015b610aa35761092561140c565b6001600160e01b0319811663f23a6e6160e01b1461087b5760405162461bcd60e51b815260040161018b90611073565b6001600160a01b03163b151590565b80356001600160a01b03811681146101fd57600080fd5b600082601f830112610b09578081fd5b81356020610b1682611321565b604051610b238282611398565b838152828101915085830183850287018401881015610b40578586fd5b855b85811015610b5e57813584529284019290840190600101610b42565b5090979650505050505050565b600082601f830112610b7b578081fd5b813567ffffffffffffffff811115610b9557610b956113f6565b604051610bac601f8301601f191660200182611398565b818152846020838601011115610bc0578283fd5b816020850160208301379081016020019190915292915050565b60008060408385031215610bec578182fd5b610bf583610ae2565b9150610c0360208401610ae2565b90509250929050565b600080600080600060a08688031215610c23578081fd5b610c2c86610ae2565b9450610c3a60208701610ae2565b9350604086013567ffffffffffffffff80821115610c56578283fd5b610c6289838a01610af9565b94506060880135915080821115610c77578283fd5b610c8389838a01610af9565b93506080880135915080821115610c98578283fd5b50610ca588828901610b6b565b9150509295509295909350565b600080600080600060a08688031215610cc9578081fd5b610cd286610ae2565b9450610ce060208701610ae2565b93506040860135925060608601359150608086013567ffffffffffffffff811115610d09578182fd5b610ca588828901610b6b565b60008060408385031215610d27578182fd5b610d3083610ae2565b915060208301358015158114610d44578182fd5b809150509250929050565b60008060408385031215610d61578182fd5b610d6a83610ae2565b946020939093013593505050565b60008060408385031215610d8a578182fd5b823567ffffffffffffffff80821115610da1578384fd5b818501915085601f830112610db4578384fd5b81356020610dc182611321565b604051610dce8282611398565b8381528281019150858301838502870184018b1015610deb578889fd5b8896505b84871015610e1457610e0081610ae2565b835260019690960195918301918301610def565b5096505086013592505080821115610e2a578283fd5b50610e3785828601610af9565b9150509250929050565b600060208284031215610e52578081fd5b8135610e5d816114b5565b9392505050565b600060208284031215610e75578081fd5b8151610e5d816114b5565b600060208284031215610e91578081fd5b5035919050565b6000815180845260208085019450808401835b83811015610ec757815187529582019590820190600101610eab565b509495945050505050565b60008151808452815b81811015610ef757602081850181015186830182015201610edb565b81811115610f085782602083870101525b50601f01601f19169290920160200192915050565b6001600160a01b0386811682528516602082015260a060408201819052600090610f4990830186610e98565b8281036060840152610f5b8186610e98565b90508281036080840152610f6f8185610ed2565b98975050505050505050565b6001600160a01b03868116825285166020820152604081018490526060810183905260a060808201819052600090610fb590830184610ed2565b979650505050505050565b600060208252610e5d6020830184610e98565b600060408252610fe66040830185610e98565b8281036020840152610ff88185610e98565b95945050505050565b901515815260200190565b600060208252610e5d6020830184610ed2565b60208082526034908201527f455243313135353a207472616e7366657220746f206e6f6e20455243313135356040820152732932b1b2b4bb32b91034b6b83632b6b2b73a32b960611b606082015260800190565b60208082526028908201527f455243313135353a204552433131353552656365697665722072656a656374656040820152676420746f6b656e7360c01b606082015260800190565b6020808252602b908201527f455243313135353a2062616c616e636520717565727920666f7220746865207a60408201526a65726f206164647265737360a81b606082015260800190565b60208082526029908201527f455243313135353a2063616c6c6572206973206e6f74206f776e6572206e6f7260408201526808185c1c1c9bdd995960ba1b606082015260800190565b60208082526025908201527f455243313135353a207472616e7366657220746f20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526032908201527f455243313135353a207472616e736665722063616c6c6572206973206e6f74206040820152711bdddb995c881b9bdc88185c1c1c9bdd995960721b606082015260800190565b6020808252602a908201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60408201526939103a3930b739b332b960b11b606082015260800190565b60208082526029908201527f455243313135353a2073657474696e6720617070726f76616c20737461747573604082015268103337b91039b2b63360b91b606082015260800190565b60208082526029908201527f455243313135353a206163636f756e747320616e6420696473206c656e677468604082015268040dad2e6dac2e8c6d60bb1b606082015260800190565b60208082526028908201527f455243313135353a2069647320616e6420616d6f756e7473206c656e677468206040820152670dad2e6dac2e8c6d60c31b606082015260800190565b90815260200190565b918252602082015260400190565b600067ffffffffffffffff82111561133b5761133b6113f6565b5060209081020190565b60008219821115611358576113586113e0565b500190565b60028104600182168061137157607f821691505b6020821081141561139257634e487b7160e01b600052602260045260246000fd5b50919050565b601f8201601f1916810167ffffffffffffffff811182821017156113be576113be6113f6565b6040525050565b60006000198214156113d9576113d96113e0565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b600060033d11156104ca57600481823e5160e01c90565b600060443d1015611433576104ca565b6040516003193d81016004833e81513d67ffffffffffffffff81602484011181841117156114655750505050506104ca565b828501915081518181111561147f575050505050506104ca565b843d870101602082850101111561149b575050505050506104ca565b6114aa60208286010187611398565b509094505050505090565b6001600160e01b0319811681146114cb57600080fd5b5056fea2646970667358221220537687b9bdc7a223ea7d84520fd90da3fbe0f610d3d2126a4664bc2baf4c126964736f6c63430008010033",
- }
- // ERC1155ABI is the input ABI used to generate the binding from.
- // Deprecated: Use ERC1155MetaData.ABI instead.
- var ERC1155ABI = ERC1155MetaData.ABI
- // Deprecated: Use ERC1155MetaData.Sigs instead.
- // ERC1155FuncSigs maps the 4-byte function signature to its string representation.
- var ERC1155FuncSigs = ERC1155MetaData.Sigs
- // ERC1155Bin is the compiled bytecode used for deploying new contracts.
- // Deprecated: Use ERC1155MetaData.Bin instead.
- var ERC1155Bin = ERC1155MetaData.Bin
- // DeployERC1155 deploys a new Ethereum contract, binding an instance of ERC1155 to it.
- func DeployERC1155(auth *bind.TransactOpts, backend bind.ContractBackend, uri_ string) (common.Address, *types.Transaction, *ERC1155, error) {
- parsed, err := ERC1155MetaData.GetAbi()
- if err != nil {
- return common.Address{}, nil, nil, err
- }
- if parsed == nil {
- return common.Address{}, nil, nil, errors.New("GetABI returned nil")
- }
- address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(ERC1155Bin), backend, uri_)
- if err != nil {
- return common.Address{}, nil, nil, err
- }
- return address, tx, &ERC1155{ERC1155Caller: ERC1155Caller{contract: contract}, ERC1155Transactor: ERC1155Transactor{contract: contract}, ERC1155Filterer: ERC1155Filterer{contract: contract}}, nil
- }
- // ERC1155 is an auto generated Go binding around an Ethereum contract.
- type ERC1155 struct {
- ERC1155Caller // Read-only binding to the contract
- ERC1155Transactor // Write-only binding to the contract
- ERC1155Filterer // Log filterer for contract events
- }
- // ERC1155Caller is an auto generated read-only Go binding around an Ethereum contract.
- type ERC1155Caller struct {
- contract *bind.BoundContract // Generic contract wrapper for the low level calls
- }
- // ERC1155Transactor is an auto generated write-only Go binding around an Ethereum contract.
- type ERC1155Transactor struct {
- contract *bind.BoundContract // Generic contract wrapper for the low level calls
- }
- // ERC1155Filterer is an auto generated log filtering Go binding around an Ethereum contract events.
- type ERC1155Filterer struct {
- contract *bind.BoundContract // Generic contract wrapper for the low level calls
- }
- // ERC1155Session is an auto generated Go binding around an Ethereum contract,
- // with pre-set call and transact options.
- type ERC1155Session struct {
- Contract *ERC1155 // Generic contract binding to set the session for
- CallOpts bind.CallOpts // Call options to use throughout this session
- TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
- }
- // ERC1155CallerSession is an auto generated read-only Go binding around an Ethereum contract,
- // with pre-set call options.
- type ERC1155CallerSession struct {
- Contract *ERC1155Caller // Generic contract caller binding to set the session for
- CallOpts bind.CallOpts // Call options to use throughout this session
- }
- // ERC1155TransactorSession is an auto generated write-only Go binding around an Ethereum contract,
- // with pre-set transact options.
- type ERC1155TransactorSession struct {
- Contract *ERC1155Transactor // Generic contract transactor binding to set the session for
- TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
- }
- // ERC1155Raw is an auto generated low-level Go binding around an Ethereum contract.
- type ERC1155Raw struct {
- Contract *ERC1155 // Generic contract binding to access the raw methods on
- }
- // ERC1155CallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
- type ERC1155CallerRaw struct {
- Contract *ERC1155Caller // Generic read-only contract binding to access the raw methods on
- }
- // ERC1155TransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
- type ERC1155TransactorRaw struct {
- Contract *ERC1155Transactor // Generic write-only contract binding to access the raw methods on
- }
- // NewERC1155 creates a new instance of ERC1155, bound to a specific deployed contract.
- func NewERC1155(address common.Address, backend bind.ContractBackend) (*ERC1155, error) {
- contract, err := bindERC1155(address, backend, backend, backend)
- if err != nil {
- return nil, err
- }
- return &ERC1155{ERC1155Caller: ERC1155Caller{contract: contract}, ERC1155Transactor: ERC1155Transactor{contract: contract}, ERC1155Filterer: ERC1155Filterer{contract: contract}}, nil
- }
- // NewERC1155Caller creates a new read-only instance of ERC1155, bound to a specific deployed contract.
- func NewERC1155Caller(address common.Address, caller bind.ContractCaller) (*ERC1155Caller, error) {
- contract, err := bindERC1155(address, caller, nil, nil)
- if err != nil {
- return nil, err
- }
- return &ERC1155Caller{contract: contract}, nil
- }
- // NewERC1155Transactor creates a new write-only instance of ERC1155, bound to a specific deployed contract.
- func NewERC1155Transactor(address common.Address, transactor bind.ContractTransactor) (*ERC1155Transactor, error) {
- contract, err := bindERC1155(address, nil, transactor, nil)
- if err != nil {
- return nil, err
- }
- return &ERC1155Transactor{contract: contract}, nil
- }
- // NewERC1155Filterer creates a new log filterer instance of ERC1155, bound to a specific deployed contract.
- func NewERC1155Filterer(address common.Address, filterer bind.ContractFilterer) (*ERC1155Filterer, error) {
- contract, err := bindERC1155(address, nil, nil, filterer)
- if err != nil {
- return nil, err
- }
- return &ERC1155Filterer{contract: contract}, nil
- }
- // bindERC1155 binds a generic wrapper to an already deployed contract.
- func bindERC1155(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
- parsed, err := abi.JSON(strings.NewReader(ERC1155ABI))
- if err != nil {
- return nil, err
- }
- return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil
- }
- // Call invokes the (constant) contract method with params as input values and
- // sets the output to result. The result type might be a single field for simple
- // returns, a slice of interfaces for anonymous returns and a struct for named
- // returns.
- func (_ERC1155 *ERC1155Raw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
- return _ERC1155.Contract.ERC1155Caller.contract.Call(opts, result, method, params...)
- }
- // Transfer initiates a plain transaction to move funds to the contract, calling
- // its default method if one is available.
- func (_ERC1155 *ERC1155Raw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
- return _ERC1155.Contract.ERC1155Transactor.contract.Transfer(opts)
- }
- // Transact invokes the (paid) contract method with params as input values.
- func (_ERC1155 *ERC1155Raw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
- return _ERC1155.Contract.ERC1155Transactor.contract.Transact(opts, method, params...)
- }
- // Call invokes the (constant) contract method with params as input values and
- // sets the output to result. The result type might be a single field for simple
- // returns, a slice of interfaces for anonymous returns and a struct for named
- // returns.
- func (_ERC1155 *ERC1155CallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
- return _ERC1155.Contract.contract.Call(opts, result, method, params...)
- }
- // Transfer initiates a plain transaction to move funds to the contract, calling
- // its default method if one is available.
- func (_ERC1155 *ERC1155TransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
- return _ERC1155.Contract.contract.Transfer(opts)
- }
- // Transact invokes the (paid) contract method with params as input values.
- func (_ERC1155 *ERC1155TransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
- return _ERC1155.Contract.contract.Transact(opts, method, params...)
- }
- // BalanceOf is a free data retrieval call binding the contract method 0x00fdd58e.
- //
- // Solidity: function balanceOf(address account, uint256 id) view returns(uint256)
- func (_ERC1155 *ERC1155Caller) BalanceOf(opts *bind.CallOpts, account common.Address, id *big.Int) (*big.Int, error) {
- var out []interface{}
- err := _ERC1155.contract.Call(opts, &out, "balanceOf", account, id)
- if err != nil {
- return *new(*big.Int), err
- }
- out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
- return out0, err
- }
- // BalanceOf is a free data retrieval call binding the contract method 0x00fdd58e.
- //
- // Solidity: function balanceOf(address account, uint256 id) view returns(uint256)
- func (_ERC1155 *ERC1155Session) BalanceOf(account common.Address, id *big.Int) (*big.Int, error) {
- return _ERC1155.Contract.BalanceOf(&_ERC1155.CallOpts, account, id)
- }
- // BalanceOf is a free data retrieval call binding the contract method 0x00fdd58e.
- //
- // Solidity: function balanceOf(address account, uint256 id) view returns(uint256)
- func (_ERC1155 *ERC1155CallerSession) BalanceOf(account common.Address, id *big.Int) (*big.Int, error) {
- return _ERC1155.Contract.BalanceOf(&_ERC1155.CallOpts, account, id)
- }
- // BalanceOfBatch is a free data retrieval call binding the contract method 0x4e1273f4.
- //
- // Solidity: function balanceOfBatch(address[] accounts, uint256[] ids) view returns(uint256[])
- func (_ERC1155 *ERC1155Caller) BalanceOfBatch(opts *bind.CallOpts, accounts []common.Address, ids []*big.Int) ([]*big.Int, error) {
- var out []interface{}
- err := _ERC1155.contract.Call(opts, &out, "balanceOfBatch", accounts, ids)
- if err != nil {
- return *new([]*big.Int), err
- }
- out0 := *abi.ConvertType(out[0], new([]*big.Int)).(*[]*big.Int)
- return out0, err
- }
- // BalanceOfBatch is a free data retrieval call binding the contract method 0x4e1273f4.
- //
- // Solidity: function balanceOfBatch(address[] accounts, uint256[] ids) view returns(uint256[])
- func (_ERC1155 *ERC1155Session) BalanceOfBatch(accounts []common.Address, ids []*big.Int) ([]*big.Int, error) {
- return _ERC1155.Contract.BalanceOfBatch(&_ERC1155.CallOpts, accounts, ids)
- }
- // BalanceOfBatch is a free data retrieval call binding the contract method 0x4e1273f4.
- //
- // Solidity: function balanceOfBatch(address[] accounts, uint256[] ids) view returns(uint256[])
- func (_ERC1155 *ERC1155CallerSession) BalanceOfBatch(accounts []common.Address, ids []*big.Int) ([]*big.Int, error) {
- return _ERC1155.Contract.BalanceOfBatch(&_ERC1155.CallOpts, accounts, ids)
- }
- // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5.
- //
- // Solidity: function isApprovedForAll(address account, address operator) view returns(bool)
- func (_ERC1155 *ERC1155Caller) IsApprovedForAll(opts *bind.CallOpts, account common.Address, operator common.Address) (bool, error) {
- var out []interface{}
- err := _ERC1155.contract.Call(opts, &out, "isApprovedForAll", account, operator)
- if err != nil {
- return *new(bool), err
- }
- out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
- return out0, err
- }
- // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5.
- //
- // Solidity: function isApprovedForAll(address account, address operator) view returns(bool)
- func (_ERC1155 *ERC1155Session) IsApprovedForAll(account common.Address, operator common.Address) (bool, error) {
- return _ERC1155.Contract.IsApprovedForAll(&_ERC1155.CallOpts, account, operator)
- }
- // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5.
- //
- // Solidity: function isApprovedForAll(address account, address operator) view returns(bool)
- func (_ERC1155 *ERC1155CallerSession) IsApprovedForAll(account common.Address, operator common.Address) (bool, error) {
- return _ERC1155.Contract.IsApprovedForAll(&_ERC1155.CallOpts, account, operator)
- }
- // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
- //
- // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
- func (_ERC1155 *ERC1155Caller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) {
- var out []interface{}
- err := _ERC1155.contract.Call(opts, &out, "supportsInterface", interfaceId)
- if err != nil {
- return *new(bool), err
- }
- out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
- return out0, err
- }
- // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
- //
- // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
- func (_ERC1155 *ERC1155Session) SupportsInterface(interfaceId [4]byte) (bool, error) {
- return _ERC1155.Contract.SupportsInterface(&_ERC1155.CallOpts, interfaceId)
- }
- // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
- //
- // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
- func (_ERC1155 *ERC1155CallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) {
- return _ERC1155.Contract.SupportsInterface(&_ERC1155.CallOpts, interfaceId)
- }
- // Uri is a free data retrieval call binding the contract method 0x0e89341c.
- //
- // Solidity: function uri(uint256 ) view returns(string)
- func (_ERC1155 *ERC1155Caller) Uri(opts *bind.CallOpts, arg0 *big.Int) (string, error) {
- var out []interface{}
- err := _ERC1155.contract.Call(opts, &out, "uri", arg0)
- if err != nil {
- return *new(string), err
- }
- out0 := *abi.ConvertType(out[0], new(string)).(*string)
- return out0, err
- }
- // Uri is a free data retrieval call binding the contract method 0x0e89341c.
- //
- // Solidity: function uri(uint256 ) view returns(string)
- func (_ERC1155 *ERC1155Session) Uri(arg0 *big.Int) (string, error) {
- return _ERC1155.Contract.Uri(&_ERC1155.CallOpts, arg0)
- }
- // Uri is a free data retrieval call binding the contract method 0x0e89341c.
- //
- // Solidity: function uri(uint256 ) view returns(string)
- func (_ERC1155 *ERC1155CallerSession) Uri(arg0 *big.Int) (string, error) {
- return _ERC1155.Contract.Uri(&_ERC1155.CallOpts, arg0)
- }
- // SafeBatchTransferFrom is a paid mutator transaction binding the contract method 0x2eb2c2d6.
- //
- // Solidity: function safeBatchTransferFrom(address from, address to, uint256[] ids, uint256[] amounts, bytes data) returns()
- func (_ERC1155 *ERC1155Transactor) SafeBatchTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, ids []*big.Int, amounts []*big.Int, data []byte) (*types.Transaction, error) {
- return _ERC1155.contract.Transact(opts, "safeBatchTransferFrom", from, to, ids, amounts, data)
- }
- // SafeBatchTransferFrom is a paid mutator transaction binding the contract method 0x2eb2c2d6.
- //
- // Solidity: function safeBatchTransferFrom(address from, address to, uint256[] ids, uint256[] amounts, bytes data) returns()
- func (_ERC1155 *ERC1155Session) SafeBatchTransferFrom(from common.Address, to common.Address, ids []*big.Int, amounts []*big.Int, data []byte) (*types.Transaction, error) {
- return _ERC1155.Contract.SafeBatchTransferFrom(&_ERC1155.TransactOpts, from, to, ids, amounts, data)
- }
- // SafeBatchTransferFrom is a paid mutator transaction binding the contract method 0x2eb2c2d6.
- //
- // Solidity: function safeBatchTransferFrom(address from, address to, uint256[] ids, uint256[] amounts, bytes data) returns()
- func (_ERC1155 *ERC1155TransactorSession) SafeBatchTransferFrom(from common.Address, to common.Address, ids []*big.Int, amounts []*big.Int, data []byte) (*types.Transaction, error) {
- return _ERC1155.Contract.SafeBatchTransferFrom(&_ERC1155.TransactOpts, from, to, ids, amounts, data)
- }
- // SafeTransferFrom is a paid mutator transaction binding the contract method 0xf242432a.
- //
- // Solidity: function safeTransferFrom(address from, address to, uint256 id, uint256 amount, bytes data) returns()
- func (_ERC1155 *ERC1155Transactor) SafeTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, id *big.Int, amount *big.Int, data []byte) (*types.Transaction, error) {
- return _ERC1155.contract.Transact(opts, "safeTransferFrom", from, to, id, amount, data)
- }
- // SafeTransferFrom is a paid mutator transaction binding the contract method 0xf242432a.
- //
- // Solidity: function safeTransferFrom(address from, address to, uint256 id, uint256 amount, bytes data) returns()
- func (_ERC1155 *ERC1155Session) SafeTransferFrom(from common.Address, to common.Address, id *big.Int, amount *big.Int, data []byte) (*types.Transaction, error) {
- return _ERC1155.Contract.SafeTransferFrom(&_ERC1155.TransactOpts, from, to, id, amount, data)
- }
- // SafeTransferFrom is a paid mutator transaction binding the contract method 0xf242432a.
- //
- // Solidity: function safeTransferFrom(address from, address to, uint256 id, uint256 amount, bytes data) returns()
- func (_ERC1155 *ERC1155TransactorSession) SafeTransferFrom(from common.Address, to common.Address, id *big.Int, amount *big.Int, data []byte) (*types.Transaction, error) {
- return _ERC1155.Contract.SafeTransferFrom(&_ERC1155.TransactOpts, from, to, id, amount, data)
- }
- // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465.
- //
- // Solidity: function setApprovalForAll(address operator, bool approved) returns()
- func (_ERC1155 *ERC1155Transactor) SetApprovalForAll(opts *bind.TransactOpts, operator common.Address, approved bool) (*types.Transaction, error) {
- return _ERC1155.contract.Transact(opts, "setApprovalForAll", operator, approved)
- }
- // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465.
- //
- // Solidity: function setApprovalForAll(address operator, bool approved) returns()
- func (_ERC1155 *ERC1155Session) SetApprovalForAll(operator common.Address, approved bool) (*types.Transaction, error) {
- return _ERC1155.Contract.SetApprovalForAll(&_ERC1155.TransactOpts, operator, approved)
- }
- // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465.
- //
- // Solidity: function setApprovalForAll(address operator, bool approved) returns()
- func (_ERC1155 *ERC1155TransactorSession) SetApprovalForAll(operator common.Address, approved bool) (*types.Transaction, error) {
- return _ERC1155.Contract.SetApprovalForAll(&_ERC1155.TransactOpts, operator, approved)
- }
- // 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.
- type ERC1155ApprovalForAllIterator struct {
- Event *ERC1155ApprovalForAll // Event containing the contract specifics and raw log
- contract *bind.BoundContract // Generic contract to use for unpacking event data
- event string // Event name to use for unpacking event data
- logs chan types.Log // Log channel receiving the found contract events
- sub ethereum.Subscription // Subscription for errors, completion and termination
- done bool // Whether the subscription completed delivering logs
- fail error // Occurred error to stop iteration
- }
- // Next advances the iterator to the subsequent event, returning whether there
- // are any more events found. In case of a retrieval or parsing error, false is
- // returned and Error() can be queried for the exact failure.
- func (it *ERC1155ApprovalForAllIterator) Next() bool {
- // If the iterator failed, stop iterating
- if it.fail != nil {
- return false
- }
- // If the iterator completed, deliver directly whatever's available
- if it.done {
- select {
- case log := <-it.logs:
- it.Event = new(ERC1155ApprovalForAll)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- default:
- return false
- }
- }
- // Iterator still in progress, wait for either a data or an error event
- select {
- case log := <-it.logs:
- it.Event = new(ERC1155ApprovalForAll)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- case err := <-it.sub.Err():
- it.done = true
- it.fail = err
- return it.Next()
- }
- }
- // Error returns any retrieval or parsing error occurred during filtering.
- func (it *ERC1155ApprovalForAllIterator) Error() error {
- return it.fail
- }
- // Close terminates the iteration process, releasing any pending underlying
- // resources.
- func (it *ERC1155ApprovalForAllIterator) Close() error {
- it.sub.Unsubscribe()
- return nil
- }
- // ERC1155ApprovalForAll represents a ApprovalForAll event raised by the ERC1155 contract.
- type ERC1155ApprovalForAll struct {
- Account common.Address
- Operator common.Address
- Approved bool
- Raw types.Log // Blockchain specific contextual infos
- }
- // FilterApprovalForAll is a free log retrieval operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31.
- //
- // Solidity: event ApprovalForAll(address indexed account, address indexed operator, bool approved)
- func (_ERC1155 *ERC1155Filterer) FilterApprovalForAll(opts *bind.FilterOpts, account []common.Address, operator []common.Address) (*ERC1155ApprovalForAllIterator, error) {
- var accountRule []interface{}
- for _, accountItem := range account {
- accountRule = append(accountRule, accountItem)
- }
- var operatorRule []interface{}
- for _, operatorItem := range operator {
- operatorRule = append(operatorRule, operatorItem)
- }
- logs, sub, err := _ERC1155.contract.FilterLogs(opts, "ApprovalForAll", accountRule, operatorRule)
- if err != nil {
- return nil, err
- }
- return &ERC1155ApprovalForAllIterator{contract: _ERC1155.contract, event: "ApprovalForAll", logs: logs, sub: sub}, nil
- }
- // WatchApprovalForAll is a free log subscription operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31.
- //
- // Solidity: event ApprovalForAll(address indexed account, address indexed operator, bool approved)
- func (_ERC1155 *ERC1155Filterer) WatchApprovalForAll(opts *bind.WatchOpts, sink chan<- *ERC1155ApprovalForAll, account []common.Address, operator []common.Address) (event.Subscription, error) {
- var accountRule []interface{}
- for _, accountItem := range account {
- accountRule = append(accountRule, accountItem)
- }
- var operatorRule []interface{}
- for _, operatorItem := range operator {
- operatorRule = append(operatorRule, operatorItem)
- }
- logs, sub, err := _ERC1155.contract.WatchLogs(opts, "ApprovalForAll", accountRule, operatorRule)
- if err != nil {
- return nil, err
- }
- return event.NewSubscription(func(quit <-chan struct{}) error {
- defer sub.Unsubscribe()
- for {
- select {
- case log := <-logs:
- // New log arrived, parse the event and forward to the user
- event := new(ERC1155ApprovalForAll)
- if err := _ERC1155.contract.UnpackLog(event, "ApprovalForAll", log); err != nil {
- return err
- }
- event.Raw = log
- select {
- case sink <- event:
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- }
- }), nil
- }
- // ParseApprovalForAll is a log parse operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31.
- //
- // Solidity: event ApprovalForAll(address indexed account, address indexed operator, bool approved)
- func (_ERC1155 *ERC1155Filterer) ParseApprovalForAll(log types.Log) (*ERC1155ApprovalForAll, error) {
- event := new(ERC1155ApprovalForAll)
- if err := _ERC1155.contract.UnpackLog(event, "ApprovalForAll", log); err != nil {
- return nil, err
- }
- event.Raw = log
- return event, nil
- }
- // 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.
- type ERC1155TransferBatchIterator struct {
- Event *ERC1155TransferBatch // Event containing the contract specifics and raw log
- contract *bind.BoundContract // Generic contract to use for unpacking event data
- event string // Event name to use for unpacking event data
- logs chan types.Log // Log channel receiving the found contract events
- sub ethereum.Subscription // Subscription for errors, completion and termination
- done bool // Whether the subscription completed delivering logs
- fail error // Occurred error to stop iteration
- }
- // Next advances the iterator to the subsequent event, returning whether there
- // are any more events found. In case of a retrieval or parsing error, false is
- // returned and Error() can be queried for the exact failure.
- func (it *ERC1155TransferBatchIterator) Next() bool {
- // If the iterator failed, stop iterating
- if it.fail != nil {
- return false
- }
- // If the iterator completed, deliver directly whatever's available
- if it.done {
- select {
- case log := <-it.logs:
- it.Event = new(ERC1155TransferBatch)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- default:
- return false
- }
- }
- // Iterator still in progress, wait for either a data or an error event
- select {
- case log := <-it.logs:
- it.Event = new(ERC1155TransferBatch)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- case err := <-it.sub.Err():
- it.done = true
- it.fail = err
- return it.Next()
- }
- }
- // Error returns any retrieval or parsing error occurred during filtering.
- func (it *ERC1155TransferBatchIterator) Error() error {
- return it.fail
- }
- // Close terminates the iteration process, releasing any pending underlying
- // resources.
- func (it *ERC1155TransferBatchIterator) Close() error {
- it.sub.Unsubscribe()
- return nil
- }
- // ERC1155TransferBatch represents a TransferBatch event raised by the ERC1155 contract.
- type ERC1155TransferBatch struct {
- Operator common.Address
- From common.Address
- To common.Address
- Ids []*big.Int
- Values []*big.Int
- Raw types.Log // Blockchain specific contextual infos
- }
- // FilterTransferBatch is a free log retrieval operation binding the contract event 0x4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb.
- //
- // Solidity: event TransferBatch(address indexed operator, address indexed from, address indexed to, uint256[] ids, uint256[] values)
- func (_ERC1155 *ERC1155Filterer) FilterTransferBatch(opts *bind.FilterOpts, operator []common.Address, from []common.Address, to []common.Address) (*ERC1155TransferBatchIterator, error) {
- var operatorRule []interface{}
- for _, operatorItem := range operator {
- operatorRule = append(operatorRule, operatorItem)
- }
- var fromRule []interface{}
- for _, fromItem := range from {
- fromRule = append(fromRule, fromItem)
- }
- var toRule []interface{}
- for _, toItem := range to {
- toRule = append(toRule, toItem)
- }
- logs, sub, err := _ERC1155.contract.FilterLogs(opts, "TransferBatch", operatorRule, fromRule, toRule)
- if err != nil {
- return nil, err
- }
- return &ERC1155TransferBatchIterator{contract: _ERC1155.contract, event: "TransferBatch", logs: logs, sub: sub}, nil
- }
- // WatchTransferBatch is a free log subscription operation binding the contract event 0x4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb.
- //
- // Solidity: event TransferBatch(address indexed operator, address indexed from, address indexed to, uint256[] ids, uint256[] values)
- func (_ERC1155 *ERC1155Filterer) WatchTransferBatch(opts *bind.WatchOpts, sink chan<- *ERC1155TransferBatch, operator []common.Address, from []common.Address, to []common.Address) (event.Subscription, error) {
- var operatorRule []interface{}
- for _, operatorItem := range operator {
- operatorRule = append(operatorRule, operatorItem)
- }
- var fromRule []interface{}
- for _, fromItem := range from {
- fromRule = append(fromRule, fromItem)
- }
- var toRule []interface{}
- for _, toItem := range to {
- toRule = append(toRule, toItem)
- }
- logs, sub, err := _ERC1155.contract.WatchLogs(opts, "TransferBatch", operatorRule, fromRule, toRule)
- if err != nil {
- return nil, err
- }
- return event.NewSubscription(func(quit <-chan struct{}) error {
- defer sub.Unsubscribe()
- for {
- select {
- case log := <-logs:
- // New log arrived, parse the event and forward to the user
- event := new(ERC1155TransferBatch)
- if err := _ERC1155.contract.UnpackLog(event, "TransferBatch", log); err != nil {
- return err
- }
- event.Raw = log
- select {
- case sink <- event:
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- }
- }), nil
- }
- // ParseTransferBatch is a log parse operation binding the contract event 0x4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb.
- //
- // Solidity: event TransferBatch(address indexed operator, address indexed from, address indexed to, uint256[] ids, uint256[] values)
- func (_ERC1155 *ERC1155Filterer) ParseTransferBatch(log types.Log) (*ERC1155TransferBatch, error) {
- event := new(ERC1155TransferBatch)
- if err := _ERC1155.contract.UnpackLog(event, "TransferBatch", log); err != nil {
- return nil, err
- }
- event.Raw = log
- return event, nil
- }
- // 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.
- type ERC1155TransferSingleIterator struct {
- Event *ERC1155TransferSingle // Event containing the contract specifics and raw log
- contract *bind.BoundContract // Generic contract to use for unpacking event data
- event string // Event name to use for unpacking event data
- logs chan types.Log // Log channel receiving the found contract events
- sub ethereum.Subscription // Subscription for errors, completion and termination
- done bool // Whether the subscription completed delivering logs
- fail error // Occurred error to stop iteration
- }
- // Next advances the iterator to the subsequent event, returning whether there
- // are any more events found. In case of a retrieval or parsing error, false is
- // returned and Error() can be queried for the exact failure.
- func (it *ERC1155TransferSingleIterator) Next() bool {
- // If the iterator failed, stop iterating
- if it.fail != nil {
- return false
- }
- // If the iterator completed, deliver directly whatever's available
- if it.done {
- select {
- case log := <-it.logs:
- it.Event = new(ERC1155TransferSingle)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- default:
- return false
- }
- }
- // Iterator still in progress, wait for either a data or an error event
- select {
- case log := <-it.logs:
- it.Event = new(ERC1155TransferSingle)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- case err := <-it.sub.Err():
- it.done = true
- it.fail = err
- return it.Next()
- }
- }
- // Error returns any retrieval or parsing error occurred during filtering.
- func (it *ERC1155TransferSingleIterator) Error() error {
- return it.fail
- }
- // Close terminates the iteration process, releasing any pending underlying
- // resources.
- func (it *ERC1155TransferSingleIterator) Close() error {
- it.sub.Unsubscribe()
- return nil
- }
- // ERC1155TransferSingle represents a TransferSingle event raised by the ERC1155 contract.
- type ERC1155TransferSingle struct {
- Operator common.Address
- From common.Address
- To common.Address
- Id *big.Int
- Value *big.Int
- Raw types.Log // Blockchain specific contextual infos
- }
- // FilterTransferSingle is a free log retrieval operation binding the contract event 0xc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62.
- //
- // Solidity: event TransferSingle(address indexed operator, address indexed from, address indexed to, uint256 id, uint256 value)
- func (_ERC1155 *ERC1155Filterer) FilterTransferSingle(opts *bind.FilterOpts, operator []common.Address, from []common.Address, to []common.Address) (*ERC1155TransferSingleIterator, error) {
- var operatorRule []interface{}
- for _, operatorItem := range operator {
- operatorRule = append(operatorRule, operatorItem)
- }
- var fromRule []interface{}
- for _, fromItem := range from {
- fromRule = append(fromRule, fromItem)
- }
- var toRule []interface{}
- for _, toItem := range to {
- toRule = append(toRule, toItem)
- }
- logs, sub, err := _ERC1155.contract.FilterLogs(opts, "TransferSingle", operatorRule, fromRule, toRule)
- if err != nil {
- return nil, err
- }
- return &ERC1155TransferSingleIterator{contract: _ERC1155.contract, event: "TransferSingle", logs: logs, sub: sub}, nil
- }
- // WatchTransferSingle is a free log subscription operation binding the contract event 0xc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62.
- //
- // Solidity: event TransferSingle(address indexed operator, address indexed from, address indexed to, uint256 id, uint256 value)
- func (_ERC1155 *ERC1155Filterer) WatchTransferSingle(opts *bind.WatchOpts, sink chan<- *ERC1155TransferSingle, operator []common.Address, from []common.Address, to []common.Address) (event.Subscription, error) {
- var operatorRule []interface{}
- for _, operatorItem := range operator {
- operatorRule = append(operatorRule, operatorItem)
- }
- var fromRule []interface{}
- for _, fromItem := range from {
- fromRule = append(fromRule, fromItem)
- }
- var toRule []interface{}
- for _, toItem := range to {
- toRule = append(toRule, toItem)
- }
- logs, sub, err := _ERC1155.contract.WatchLogs(opts, "TransferSingle", operatorRule, fromRule, toRule)
- if err != nil {
- return nil, err
- }
- return event.NewSubscription(func(quit <-chan struct{}) error {
- defer sub.Unsubscribe()
- for {
- select {
- case log := <-logs:
- // New log arrived, parse the event and forward to the user
- event := new(ERC1155TransferSingle)
- if err := _ERC1155.contract.UnpackLog(event, "TransferSingle", log); err != nil {
- return err
- }
- event.Raw = log
- select {
- case sink <- event:
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- }
- }), nil
- }
- // ParseTransferSingle is a log parse operation binding the contract event 0xc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62.
- //
- // Solidity: event TransferSingle(address indexed operator, address indexed from, address indexed to, uint256 id, uint256 value)
- func (_ERC1155 *ERC1155Filterer) ParseTransferSingle(log types.Log) (*ERC1155TransferSingle, error) {
- event := new(ERC1155TransferSingle)
- if err := _ERC1155.contract.UnpackLog(event, "TransferSingle", log); err != nil {
- return nil, err
- }
- event.Raw = log
- return event, nil
- }
- // 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.
- type ERC1155URIIterator struct {
- Event *ERC1155URI // Event containing the contract specifics and raw log
- contract *bind.BoundContract // Generic contract to use for unpacking event data
- event string // Event name to use for unpacking event data
- logs chan types.Log // Log channel receiving the found contract events
- sub ethereum.Subscription // Subscription for errors, completion and termination
- done bool // Whether the subscription completed delivering logs
- fail error // Occurred error to stop iteration
- }
- // Next advances the iterator to the subsequent event, returning whether there
- // are any more events found. In case of a retrieval or parsing error, false is
- // returned and Error() can be queried for the exact failure.
- func (it *ERC1155URIIterator) Next() bool {
- // If the iterator failed, stop iterating
- if it.fail != nil {
- return false
- }
- // If the iterator completed, deliver directly whatever's available
- if it.done {
- select {
- case log := <-it.logs:
- it.Event = new(ERC1155URI)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- default:
- return false
- }
- }
- // Iterator still in progress, wait for either a data or an error event
- select {
- case log := <-it.logs:
- it.Event = new(ERC1155URI)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- case err := <-it.sub.Err():
- it.done = true
- it.fail = err
- return it.Next()
- }
- }
- // Error returns any retrieval or parsing error occurred during filtering.
- func (it *ERC1155URIIterator) Error() error {
- return it.fail
- }
- // Close terminates the iteration process, releasing any pending underlying
- // resources.
- func (it *ERC1155URIIterator) Close() error {
- it.sub.Unsubscribe()
- return nil
- }
- // ERC1155URI represents a URI event raised by the ERC1155 contract.
- type ERC1155URI struct {
- Value string
- Id *big.Int
- Raw types.Log // Blockchain specific contextual infos
- }
- // FilterURI is a free log retrieval operation binding the contract event 0x6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b.
- //
- // Solidity: event URI(string value, uint256 indexed id)
- func (_ERC1155 *ERC1155Filterer) FilterURI(opts *bind.FilterOpts, id []*big.Int) (*ERC1155URIIterator, error) {
- var idRule []interface{}
- for _, idItem := range id {
- idRule = append(idRule, idItem)
- }
- logs, sub, err := _ERC1155.contract.FilterLogs(opts, "URI", idRule)
- if err != nil {
- return nil, err
- }
- return &ERC1155URIIterator{contract: _ERC1155.contract, event: "URI", logs: logs, sub: sub}, nil
- }
- // WatchURI is a free log subscription operation binding the contract event 0x6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b.
- //
- // Solidity: event URI(string value, uint256 indexed id)
- func (_ERC1155 *ERC1155Filterer) WatchURI(opts *bind.WatchOpts, sink chan<- *ERC1155URI, id []*big.Int) (event.Subscription, error) {
- var idRule []interface{}
- for _, idItem := range id {
- idRule = append(idRule, idItem)
- }
- logs, sub, err := _ERC1155.contract.WatchLogs(opts, "URI", idRule)
- if err != nil {
- return nil, err
- }
- return event.NewSubscription(func(quit <-chan struct{}) error {
- defer sub.Unsubscribe()
- for {
- select {
- case log := <-logs:
- // New log arrived, parse the event and forward to the user
- event := new(ERC1155URI)
- if err := _ERC1155.contract.UnpackLog(event, "URI", log); err != nil {
- return err
- }
- event.Raw = log
- select {
- case sink <- event:
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- }
- }), nil
- }
- // ParseURI is a log parse operation binding the contract event 0x6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b.
- //
- // Solidity: event URI(string value, uint256 indexed id)
- func (_ERC1155 *ERC1155Filterer) ParseURI(log types.Log) (*ERC1155URI, error) {
- event := new(ERC1155URI)
- if err := _ERC1155.contract.UnpackLog(event, "URI", log); err != nil {
- return nil, err
- }
- event.Raw = log
- return event, nil
- }
- // ERC165MetaData contains all meta data concerning the ERC165 contract.
- var ERC165MetaData = &bind.MetaData{
- ABI: "[{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]",
- Sigs: map[string]string{
- "01ffc9a7": "supportsInterface(bytes4)",
- },
- }
- // ERC165ABI is the input ABI used to generate the binding from.
- // Deprecated: Use ERC165MetaData.ABI instead.
- var ERC165ABI = ERC165MetaData.ABI
- // Deprecated: Use ERC165MetaData.Sigs instead.
- // ERC165FuncSigs maps the 4-byte function signature to its string representation.
- var ERC165FuncSigs = ERC165MetaData.Sigs
- // ERC165 is an auto generated Go binding around an Ethereum contract.
- type ERC165 struct {
- ERC165Caller // Read-only binding to the contract
- ERC165Transactor // Write-only binding to the contract
- ERC165Filterer // Log filterer for contract events
- }
- // ERC165Caller is an auto generated read-only Go binding around an Ethereum contract.
- type ERC165Caller struct {
- contract *bind.BoundContract // Generic contract wrapper for the low level calls
- }
- // ERC165Transactor is an auto generated write-only Go binding around an Ethereum contract.
- type ERC165Transactor struct {
- contract *bind.BoundContract // Generic contract wrapper for the low level calls
- }
- // ERC165Filterer is an auto generated log filtering Go binding around an Ethereum contract events.
- type ERC165Filterer struct {
- contract *bind.BoundContract // Generic contract wrapper for the low level calls
- }
- // ERC165Session is an auto generated Go binding around an Ethereum contract,
- // with pre-set call and transact options.
- type ERC165Session struct {
- Contract *ERC165 // Generic contract binding to set the session for
- CallOpts bind.CallOpts // Call options to use throughout this session
- TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
- }
- // ERC165CallerSession is an auto generated read-only Go binding around an Ethereum contract,
- // with pre-set call options.
- type ERC165CallerSession struct {
- Contract *ERC165Caller // Generic contract caller binding to set the session for
- CallOpts bind.CallOpts // Call options to use throughout this session
- }
- // ERC165TransactorSession is an auto generated write-only Go binding around an Ethereum contract,
- // with pre-set transact options.
- type ERC165TransactorSession struct {
- Contract *ERC165Transactor // Generic contract transactor binding to set the session for
- TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
- }
- // ERC165Raw is an auto generated low-level Go binding around an Ethereum contract.
- type ERC165Raw struct {
- Contract *ERC165 // Generic contract binding to access the raw methods on
- }
- // ERC165CallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
- type ERC165CallerRaw struct {
- Contract *ERC165Caller // Generic read-only contract binding to access the raw methods on
- }
- // ERC165TransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
- type ERC165TransactorRaw struct {
- Contract *ERC165Transactor // Generic write-only contract binding to access the raw methods on
- }
- // NewERC165 creates a new instance of ERC165, bound to a specific deployed contract.
- func NewERC165(address common.Address, backend bind.ContractBackend) (*ERC165, error) {
- contract, err := bindERC165(address, backend, backend, backend)
- if err != nil {
- return nil, err
- }
- return &ERC165{ERC165Caller: ERC165Caller{contract: contract}, ERC165Transactor: ERC165Transactor{contract: contract}, ERC165Filterer: ERC165Filterer{contract: contract}}, nil
- }
- // NewERC165Caller creates a new read-only instance of ERC165, bound to a specific deployed contract.
- func NewERC165Caller(address common.Address, caller bind.ContractCaller) (*ERC165Caller, error) {
- contract, err := bindERC165(address, caller, nil, nil)
- if err != nil {
- return nil, err
- }
- return &ERC165Caller{contract: contract}, nil
- }
- // NewERC165Transactor creates a new write-only instance of ERC165, bound to a specific deployed contract.
- func NewERC165Transactor(address common.Address, transactor bind.ContractTransactor) (*ERC165Transactor, error) {
- contract, err := bindERC165(address, nil, transactor, nil)
- if err != nil {
- return nil, err
- }
- return &ERC165Transactor{contract: contract}, nil
- }
- // NewERC165Filterer creates a new log filterer instance of ERC165, bound to a specific deployed contract.
- func NewERC165Filterer(address common.Address, filterer bind.ContractFilterer) (*ERC165Filterer, error) {
- contract, err := bindERC165(address, nil, nil, filterer)
- if err != nil {
- return nil, err
- }
- return &ERC165Filterer{contract: contract}, nil
- }
- // bindERC165 binds a generic wrapper to an already deployed contract.
- func bindERC165(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
- parsed, err := abi.JSON(strings.NewReader(ERC165ABI))
- if err != nil {
- return nil, err
- }
- return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil
- }
- // Call invokes the (constant) contract method with params as input values and
- // sets the output to result. The result type might be a single field for simple
- // returns, a slice of interfaces for anonymous returns and a struct for named
- // returns.
- func (_ERC165 *ERC165Raw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
- return _ERC165.Contract.ERC165Caller.contract.Call(opts, result, method, params...)
- }
- // Transfer initiates a plain transaction to move funds to the contract, calling
- // its default method if one is available.
- func (_ERC165 *ERC165Raw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
- return _ERC165.Contract.ERC165Transactor.contract.Transfer(opts)
- }
- // Transact invokes the (paid) contract method with params as input values.
- func (_ERC165 *ERC165Raw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
- return _ERC165.Contract.ERC165Transactor.contract.Transact(opts, method, params...)
- }
- // Call invokes the (constant) contract method with params as input values and
- // sets the output to result. The result type might be a single field for simple
- // returns, a slice of interfaces for anonymous returns and a struct for named
- // returns.
- func (_ERC165 *ERC165CallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
- return _ERC165.Contract.contract.Call(opts, result, method, params...)
- }
- // Transfer initiates a plain transaction to move funds to the contract, calling
- // its default method if one is available.
- func (_ERC165 *ERC165TransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
- return _ERC165.Contract.contract.Transfer(opts)
- }
- // Transact invokes the (paid) contract method with params as input values.
- func (_ERC165 *ERC165TransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
- return _ERC165.Contract.contract.Transact(opts, method, params...)
- }
- // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
- //
- // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
- func (_ERC165 *ERC165Caller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) {
- var out []interface{}
- err := _ERC165.contract.Call(opts, &out, "supportsInterface", interfaceId)
- if err != nil {
- return *new(bool), err
- }
- out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
- return out0, err
- }
- // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
- //
- // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
- func (_ERC165 *ERC165Session) SupportsInterface(interfaceId [4]byte) (bool, error) {
- return _ERC165.Contract.SupportsInterface(&_ERC165.CallOpts, interfaceId)
- }
- // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
- //
- // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
- func (_ERC165 *ERC165CallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) {
- return _ERC165.Contract.SupportsInterface(&_ERC165.CallOpts, interfaceId)
- }
- // ERC721MetaData contains all meta data concerning the ERC721 contract.
- var ERC721MetaData = &bind.MetaData{
- 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\"}]",
- Sigs: map[string]string{
- "095ea7b3": "approve(address,uint256)",
- "70a08231": "balanceOf(address)",
- "081812fc": "getApproved(uint256)",
- "e985e9c5": "isApprovedForAll(address,address)",
- "06fdde03": "name()",
- "6352211e": "ownerOf(uint256)",
- "42842e0e": "safeTransferFrom(address,address,uint256)",
- "b88d4fde": "safeTransferFrom(address,address,uint256,bytes)",
- "a22cb465": "setApprovalForAll(address,bool)",
- "01ffc9a7": "supportsInterface(bytes4)",
- "95d89b41": "symbol()",
- "c87b56dd": "tokenURI(uint256)",
- "23b872dd": "transferFrom(address,address,uint256)",
- },
- Bin: "0x60806040523480156200001157600080fd5b5060405162001589380380620015898339810160408190526200003491620001c1565b81516200004990600090602085019062000068565b5080516200005f90600190602084019062000068565b5050506200027b565b828054620000769062000228565b90600052602060002090601f0160209004810192826200009a5760008555620000e5565b82601f10620000b557805160ff1916838001178555620000e5565b82800160010185558215620000e5579182015b82811115620000e5578251825591602001919060010190620000c8565b50620000f3929150620000f7565b5090565b5b80821115620000f35760008155600101620000f8565b600082601f8301126200011f578081fd5b81516001600160401b03808211156200013c576200013c62000265565b604051601f8301601f19908116603f0116810190828211818310171562000167576200016762000265565b8160405283815260209250868385880101111562000183578485fd5b8491505b83821015620001a6578582018301518183018401529082019062000187565b83821115620001b757848385830101525b9695505050505050565b60008060408385031215620001d4578182fd5b82516001600160401b0380821115620001eb578384fd5b620001f9868387016200010e565b935060208501519150808211156200020f578283fd5b506200021e858286016200010e565b9150509250929050565b6002810460018216806200023d57607f821691505b602082108114156200025f57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052604160045260246000fd5b6112fe806200028b6000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c80636352211e1161008c578063a22cb46511610066578063a22cb465146101a8578063b88d4fde146101bb578063c87b56dd146101ce578063e985e9c5146101e1576100cf565b80636352211e1461016d57806370a082311461018057806395d89b41146101a0576100cf565b806301ffc9a7146100d457806306fdde03146100fd578063081812fc14610112578063095ea7b31461013257806323b872dd1461014757806342842e0e1461015a575b600080fd5b6100e76100e2366004610cf6565b6101f4565b6040516100f49190610df2565b60405180910390f35b61010561023c565b6040516100f49190610dfd565b610125610120366004610d2e565b6102ce565b6040516100f49190610da1565b610145610140366004610ccd565b61031a565b005b610145610155366004610b83565b6103b2565b610145610168366004610b83565b6103ea565b61012561017b366004610d2e565b610405565b61019361018e366004610b37565b61043a565b6040516100f4919061118b565b61010561047e565b6101456101b6366004610c93565b61048d565b6101456101c9366004610bbe565b6104a3565b6101056101dc366004610d2e565b6104e2565b6100e76101ef366004610b51565b610565565b60006001600160e01b031982166380ac58cd60e01b148061022557506001600160e01b03198216635b5e139f60e01b145b80610234575061023482610593565b90505b919050565b60606000805461024b90611203565b80601f016020809104026020016040519081016040528092919081815260200182805461027790611203565b80156102c45780601f10610299576101008083540402835291602001916102c4565b820191906000526020600020905b8154815290600101906020018083116102a757829003601f168201915b5050505050905090565b60006102d9826105ac565b6102fe5760405162461bcd60e51b81526004016102f59061105e565b60405180910390fd5b506000908152600460205260409020546001600160a01b031690565b600061032582610405565b9050806001600160a01b0316836001600160a01b031614156103595760405162461bcd60e51b81526004016102f5906110f9565b806001600160a01b031661036b6105c9565b6001600160a01b031614806103875750610387816101ef6105c9565b6103a35760405162461bcd60e51b81526004016102f590610f6e565b6103ad83836105cd565b505050565b6103c36103bd6105c9565b8261063b565b6103df5760405162461bcd60e51b81526004016102f59061113a565b6103ad8383836106c0565b6103ad838383604051806020016040528060008152506104a3565b6000818152600260205260408120546001600160a01b0316806102345760405162461bcd60e51b81526004016102f590611015565b60006001600160a01b0382166104625760405162461bcd60e51b81526004016102f590610fcb565b506001600160a01b031660009081526003602052604090205490565b60606001805461024b90611203565b61049f6104986105c9565b83836107f3565b5050565b6104b46104ae6105c9565b8361063b565b6104d05760405162461bcd60e51b81526004016102f59061113a565b6104dc84848484610896565b50505050565b60606104ed826105ac565b6105095760405162461bcd60e51b81526004016102f5906110aa565b60006105136108c9565b90506000815111610533576040518060200160405280600081525061055e565b8061053d846108db565b60405160200161054e929190610d72565b6040516020818303038152906040525b9392505050565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b6001600160e01b031981166301ffc9a760e01b14919050565b6000908152600260205260409020546001600160a01b0316151590565b3390565b600081815260046020526040902080546001600160a01b0319166001600160a01b038416908117909155819061060282610405565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000610646826105ac565b6106625760405162461bcd60e51b81526004016102f590610f22565b600061066d83610405565b9050806001600160a01b0316846001600160a01b031614806106a85750836001600160a01b031661069d846102ce565b6001600160a01b0316145b806106b857506106b88185610565565b949350505050565b826001600160a01b03166106d382610405565b6001600160a01b0316146106f95760405162461bcd60e51b81526004016102f590610e62565b6001600160a01b03821661071f5760405162461bcd60e51b81526004016102f590610ea7565b61072a8383836103ad565b6107356000826105cd565b6001600160a01b038316600090815260036020526040812080546001929061075e9084906111c0565b90915550506001600160a01b038216600090815260036020526040812080546001929061078c908490611194565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a46103ad8383836103ad565b816001600160a01b0316836001600160a01b031614156108255760405162461bcd60e51b81526004016102f590610eeb565b6001600160a01b0383811660008181526005602090815260408083209487168084529490915290819020805460ff1916851515179055517f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3190610889908590610df2565b60405180910390a3505050565b6108a18484846106c0565b6108ad848484846109f6565b6104dc5760405162461bcd60e51b81526004016102f590610e10565b60408051602081019091526000815290565b60608161090057506040805180820190915260018152600360fc1b6020820152610237565b8160005b811561092a57806109148161123e565b91506109239050600a836111ac565b9150610904565b60008167ffffffffffffffff81111561095357634e487b7160e01b600052604160045260246000fd5b6040519080825280601f01601f19166020018201604052801561097d576020820181803683370190505b5090505b84156106b8576109926001836111c0565b915061099f600a86611259565b6109aa906030611194565b60f81b8183815181106109cd57634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a9053506109ef600a866111ac565b9450610981565b6000610a0a846001600160a01b0316610b11565b15610b0657836001600160a01b031663150b7a02610a266105c9565b8786866040518563ffffffff1660e01b8152600401610a489493929190610db5565b602060405180830381600087803b158015610a6257600080fd5b505af1925050508015610a92575060408051601f3d908101601f19168201909252610a8f91810190610d12565b60015b610aec573d808015610ac0576040519150601f19603f3d011682016040523d82523d6000602084013e610ac5565b606091505b508051610ae45760405162461bcd60e51b81526004016102f590610e10565b805181602001fd5b6001600160e01b031916630a85bd0160e11b1490506106b8565b506001949350505050565b6001600160a01b03163b151590565b80356001600160a01b038116811461023757600080fd5b600060208284031215610b48578081fd5b61055e82610b20565b60008060408385031215610b63578081fd5b610b6c83610b20565b9150610b7a60208401610b20565b90509250929050565b600080600060608486031215610b97578081fd5b610ba084610b20565b9250610bae60208501610b20565b9150604084013590509250925092565b60008060008060808587031215610bd3578081fd5b610bdc85610b20565b9350610bea60208601610b20565b925060408501359150606085013567ffffffffffffffff80821115610c0d578283fd5b818701915087601f830112610c20578283fd5b813581811115610c3257610c32611299565b604051601f8201601f19908116603f01168101908382118183101715610c5a57610c5a611299565b816040528281528a6020848701011115610c72578586fd5b82602086016020830137918201602001949094529598949750929550505050565b60008060408385031215610ca5578182fd5b610cae83610b20565b915060208301358015158114610cc2578182fd5b809150509250929050565b60008060408385031215610cdf578182fd5b610ce883610b20565b946020939093013593505050565b600060208284031215610d07578081fd5b813561055e816112af565b600060208284031215610d23578081fd5b815161055e816112af565b600060208284031215610d3f578081fd5b5035919050565b60008151808452610d5e8160208601602086016111d7565b601f01601f19169290920160200192915050565b60008351610d848184602088016111d7565b835190830190610d988183602088016111d7565b01949350505050565b6001600160a01b0391909116815260200190565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090610de890830184610d46565b9695505050505050565b901515815260200190565b60006020825261055e6020830184610d46565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b60208082526024908201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646040820152637265737360e01b606082015260800190565b60208082526019908201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604082015260600190565b6020808252602c908201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860408201526b34b9ba32b73a103a37b5b2b760a11b606082015260800190565b60208082526038908201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760408201527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000606082015260800190565b6020808252602a908201527f4552433732313a2062616c616e636520717565727920666f7220746865207a65604082015269726f206164647265737360b01b606082015260800190565b60208082526029908201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460408201526832b73a103a37b5b2b760b91b606082015260800190565b6020808252602c908201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860408201526b34b9ba32b73a103a37b5b2b760a11b606082015260800190565b6020808252602f908201527f4552433732314d657461646174613a2055524920717565727920666f72206e6f60408201526e3732bc34b9ba32b73a103a37b5b2b760891b606082015260800190565b60208082526021908201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656040820152603960f91b606082015260800190565b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b90815260200190565b600082198211156111a7576111a761126d565b500190565b6000826111bb576111bb611283565b500490565b6000828210156111d2576111d261126d565b500390565b60005b838110156111f25781810151838201526020016111da565b838111156104dc5750506000910152565b60028104600182168061121757607f821691505b6020821081141561123857634e487b7160e01b600052602260045260246000fd5b50919050565b60006000198214156112525761125261126d565b5060010190565b60008261126857611268611283565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160e01b0319811681146112c557600080fd5b5056fea26469706673582212201ffd2d99d3cfb6ba7b371a3e2e1065b809abf1398c70241b47a0aff6b4f9695b64736f6c63430008010033",
- }
- // ERC721ABI is the input ABI used to generate the binding from.
- // Deprecated: Use ERC721MetaData.ABI instead.
- var ERC721ABI = ERC721MetaData.ABI
- // Deprecated: Use ERC721MetaData.Sigs instead.
- // ERC721FuncSigs maps the 4-byte function signature to its string representation.
- var ERC721FuncSigs = ERC721MetaData.Sigs
- // ERC721Bin is the compiled bytecode used for deploying new contracts.
- // Deprecated: Use ERC721MetaData.Bin instead.
- var ERC721Bin = ERC721MetaData.Bin
- // DeployERC721 deploys a new Ethereum contract, binding an instance of ERC721 to it.
- func DeployERC721(auth *bind.TransactOpts, backend bind.ContractBackend, name_ string, symbol_ string) (common.Address, *types.Transaction, *ERC721, error) {
- parsed, err := ERC721MetaData.GetAbi()
- if err != nil {
- return common.Address{}, nil, nil, err
- }
- if parsed == nil {
- return common.Address{}, nil, nil, errors.New("GetABI returned nil")
- }
- address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(ERC721Bin), backend, name_, symbol_)
- if err != nil {
- return common.Address{}, nil, nil, err
- }
- return address, tx, &ERC721{ERC721Caller: ERC721Caller{contract: contract}, ERC721Transactor: ERC721Transactor{contract: contract}, ERC721Filterer: ERC721Filterer{contract: contract}}, nil
- }
- // ERC721 is an auto generated Go binding around an Ethereum contract.
- type ERC721 struct {
- ERC721Caller // Read-only binding to the contract
- ERC721Transactor // Write-only binding to the contract
- ERC721Filterer // Log filterer for contract events
- }
- // ERC721Caller is an auto generated read-only Go binding around an Ethereum contract.
- type ERC721Caller struct {
- contract *bind.BoundContract // Generic contract wrapper for the low level calls
- }
- // ERC721Transactor is an auto generated write-only Go binding around an Ethereum contract.
- type ERC721Transactor struct {
- contract *bind.BoundContract // Generic contract wrapper for the low level calls
- }
- // ERC721Filterer is an auto generated log filtering Go binding around an Ethereum contract events.
- type ERC721Filterer struct {
- contract *bind.BoundContract // Generic contract wrapper for the low level calls
- }
- // ERC721Session is an auto generated Go binding around an Ethereum contract,
- // with pre-set call and transact options.
- type ERC721Session struct {
- Contract *ERC721 // Generic contract binding to set the session for
- CallOpts bind.CallOpts // Call options to use throughout this session
- TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
- }
- // ERC721CallerSession is an auto generated read-only Go binding around an Ethereum contract,
- // with pre-set call options.
- type ERC721CallerSession struct {
- Contract *ERC721Caller // Generic contract caller binding to set the session for
- CallOpts bind.CallOpts // Call options to use throughout this session
- }
- // ERC721TransactorSession is an auto generated write-only Go binding around an Ethereum contract,
- // with pre-set transact options.
- type ERC721TransactorSession struct {
- Contract *ERC721Transactor // Generic contract transactor binding to set the session for
- TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
- }
- // ERC721Raw is an auto generated low-level Go binding around an Ethereum contract.
- type ERC721Raw struct {
- Contract *ERC721 // Generic contract binding to access the raw methods on
- }
- // ERC721CallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
- type ERC721CallerRaw struct {
- Contract *ERC721Caller // Generic read-only contract binding to access the raw methods on
- }
- // ERC721TransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
- type ERC721TransactorRaw struct {
- Contract *ERC721Transactor // Generic write-only contract binding to access the raw methods on
- }
- // NewERC721 creates a new instance of ERC721, bound to a specific deployed contract.
- func NewERC721(address common.Address, backend bind.ContractBackend) (*ERC721, error) {
- contract, err := bindERC721(address, backend, backend, backend)
- if err != nil {
- return nil, err
- }
- return &ERC721{ERC721Caller: ERC721Caller{contract: contract}, ERC721Transactor: ERC721Transactor{contract: contract}, ERC721Filterer: ERC721Filterer{contract: contract}}, nil
- }
- // NewERC721Caller creates a new read-only instance of ERC721, bound to a specific deployed contract.
- func NewERC721Caller(address common.Address, caller bind.ContractCaller) (*ERC721Caller, error) {
- contract, err := bindERC721(address, caller, nil, nil)
- if err != nil {
- return nil, err
- }
- return &ERC721Caller{contract: contract}, nil
- }
- // NewERC721Transactor creates a new write-only instance of ERC721, bound to a specific deployed contract.
- func NewERC721Transactor(address common.Address, transactor bind.ContractTransactor) (*ERC721Transactor, error) {
- contract, err := bindERC721(address, nil, transactor, nil)
- if err != nil {
- return nil, err
- }
- return &ERC721Transactor{contract: contract}, nil
- }
- // NewERC721Filterer creates a new log filterer instance of ERC721, bound to a specific deployed contract.
- func NewERC721Filterer(address common.Address, filterer bind.ContractFilterer) (*ERC721Filterer, error) {
- contract, err := bindERC721(address, nil, nil, filterer)
- if err != nil {
- return nil, err
- }
- return &ERC721Filterer{contract: contract}, nil
- }
- // bindERC721 binds a generic wrapper to an already deployed contract.
- func bindERC721(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
- parsed, err := abi.JSON(strings.NewReader(ERC721ABI))
- if err != nil {
- return nil, err
- }
- return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil
- }
- // Call invokes the (constant) contract method with params as input values and
- // sets the output to result. The result type might be a single field for simple
- // returns, a slice of interfaces for anonymous returns and a struct for named
- // returns.
- func (_ERC721 *ERC721Raw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
- return _ERC721.Contract.ERC721Caller.contract.Call(opts, result, method, params...)
- }
- // Transfer initiates a plain transaction to move funds to the contract, calling
- // its default method if one is available.
- func (_ERC721 *ERC721Raw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
- return _ERC721.Contract.ERC721Transactor.contract.Transfer(opts)
- }
- // Transact invokes the (paid) contract method with params as input values.
- func (_ERC721 *ERC721Raw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
- return _ERC721.Contract.ERC721Transactor.contract.Transact(opts, method, params...)
- }
- // Call invokes the (constant) contract method with params as input values and
- // sets the output to result. The result type might be a single field for simple
- // returns, a slice of interfaces for anonymous returns and a struct for named
- // returns.
- func (_ERC721 *ERC721CallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
- return _ERC721.Contract.contract.Call(opts, result, method, params...)
- }
- // Transfer initiates a plain transaction to move funds to the contract, calling
- // its default method if one is available.
- func (_ERC721 *ERC721TransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
- return _ERC721.Contract.contract.Transfer(opts)
- }
- // Transact invokes the (paid) contract method with params as input values.
- func (_ERC721 *ERC721TransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
- return _ERC721.Contract.contract.Transact(opts, method, params...)
- }
- // BalanceOf is a free data retrieval call binding the contract method 0x70a08231.
- //
- // Solidity: function balanceOf(address owner) view returns(uint256)
- func (_ERC721 *ERC721Caller) BalanceOf(opts *bind.CallOpts, owner common.Address) (*big.Int, error) {
- var out []interface{}
- err := _ERC721.contract.Call(opts, &out, "balanceOf", owner)
- if err != nil {
- return *new(*big.Int), err
- }
- out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
- return out0, err
- }
- // BalanceOf is a free data retrieval call binding the contract method 0x70a08231.
- //
- // Solidity: function balanceOf(address owner) view returns(uint256)
- func (_ERC721 *ERC721Session) BalanceOf(owner common.Address) (*big.Int, error) {
- return _ERC721.Contract.BalanceOf(&_ERC721.CallOpts, owner)
- }
- // BalanceOf is a free data retrieval call binding the contract method 0x70a08231.
- //
- // Solidity: function balanceOf(address owner) view returns(uint256)
- func (_ERC721 *ERC721CallerSession) BalanceOf(owner common.Address) (*big.Int, error) {
- return _ERC721.Contract.BalanceOf(&_ERC721.CallOpts, owner)
- }
- // GetApproved is a free data retrieval call binding the contract method 0x081812fc.
- //
- // Solidity: function getApproved(uint256 tokenId) view returns(address)
- func (_ERC721 *ERC721Caller) GetApproved(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) {
- var out []interface{}
- err := _ERC721.contract.Call(opts, &out, "getApproved", tokenId)
- if err != nil {
- return *new(common.Address), err
- }
- out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
- return out0, err
- }
- // GetApproved is a free data retrieval call binding the contract method 0x081812fc.
- //
- // Solidity: function getApproved(uint256 tokenId) view returns(address)
- func (_ERC721 *ERC721Session) GetApproved(tokenId *big.Int) (common.Address, error) {
- return _ERC721.Contract.GetApproved(&_ERC721.CallOpts, tokenId)
- }
- // GetApproved is a free data retrieval call binding the contract method 0x081812fc.
- //
- // Solidity: function getApproved(uint256 tokenId) view returns(address)
- func (_ERC721 *ERC721CallerSession) GetApproved(tokenId *big.Int) (common.Address, error) {
- return _ERC721.Contract.GetApproved(&_ERC721.CallOpts, tokenId)
- }
- // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5.
- //
- // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool)
- func (_ERC721 *ERC721Caller) IsApprovedForAll(opts *bind.CallOpts, owner common.Address, operator common.Address) (bool, error) {
- var out []interface{}
- err := _ERC721.contract.Call(opts, &out, "isApprovedForAll", owner, operator)
- if err != nil {
- return *new(bool), err
- }
- out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
- return out0, err
- }
- // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5.
- //
- // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool)
- func (_ERC721 *ERC721Session) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) {
- return _ERC721.Contract.IsApprovedForAll(&_ERC721.CallOpts, owner, operator)
- }
- // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5.
- //
- // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool)
- func (_ERC721 *ERC721CallerSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) {
- return _ERC721.Contract.IsApprovedForAll(&_ERC721.CallOpts, owner, operator)
- }
- // Name is a free data retrieval call binding the contract method 0x06fdde03.
- //
- // Solidity: function name() view returns(string)
- func (_ERC721 *ERC721Caller) Name(opts *bind.CallOpts) (string, error) {
- var out []interface{}
- err := _ERC721.contract.Call(opts, &out, "name")
- if err != nil {
- return *new(string), err
- }
- out0 := *abi.ConvertType(out[0], new(string)).(*string)
- return out0, err
- }
- // Name is a free data retrieval call binding the contract method 0x06fdde03.
- //
- // Solidity: function name() view returns(string)
- func (_ERC721 *ERC721Session) Name() (string, error) {
- return _ERC721.Contract.Name(&_ERC721.CallOpts)
- }
- // Name is a free data retrieval call binding the contract method 0x06fdde03.
- //
- // Solidity: function name() view returns(string)
- func (_ERC721 *ERC721CallerSession) Name() (string, error) {
- return _ERC721.Contract.Name(&_ERC721.CallOpts)
- }
- // OwnerOf is a free data retrieval call binding the contract method 0x6352211e.
- //
- // Solidity: function ownerOf(uint256 tokenId) view returns(address)
- func (_ERC721 *ERC721Caller) OwnerOf(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) {
- var out []interface{}
- err := _ERC721.contract.Call(opts, &out, "ownerOf", tokenId)
- if err != nil {
- return *new(common.Address), err
- }
- out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
- return out0, err
- }
- // OwnerOf is a free data retrieval call binding the contract method 0x6352211e.
- //
- // Solidity: function ownerOf(uint256 tokenId) view returns(address)
- func (_ERC721 *ERC721Session) OwnerOf(tokenId *big.Int) (common.Address, error) {
- return _ERC721.Contract.OwnerOf(&_ERC721.CallOpts, tokenId)
- }
- // OwnerOf is a free data retrieval call binding the contract method 0x6352211e.
- //
- // Solidity: function ownerOf(uint256 tokenId) view returns(address)
- func (_ERC721 *ERC721CallerSession) OwnerOf(tokenId *big.Int) (common.Address, error) {
- return _ERC721.Contract.OwnerOf(&_ERC721.CallOpts, tokenId)
- }
- // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
- //
- // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
- func (_ERC721 *ERC721Caller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) {
- var out []interface{}
- err := _ERC721.contract.Call(opts, &out, "supportsInterface", interfaceId)
- if err != nil {
- return *new(bool), err
- }
- out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
- return out0, err
- }
- // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
- //
- // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
- func (_ERC721 *ERC721Session) SupportsInterface(interfaceId [4]byte) (bool, error) {
- return _ERC721.Contract.SupportsInterface(&_ERC721.CallOpts, interfaceId)
- }
- // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
- //
- // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
- func (_ERC721 *ERC721CallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) {
- return _ERC721.Contract.SupportsInterface(&_ERC721.CallOpts, interfaceId)
- }
- // Symbol is a free data retrieval call binding the contract method 0x95d89b41.
- //
- // Solidity: function symbol() view returns(string)
- func (_ERC721 *ERC721Caller) Symbol(opts *bind.CallOpts) (string, error) {
- var out []interface{}
- err := _ERC721.contract.Call(opts, &out, "symbol")
- if err != nil {
- return *new(string), err
- }
- out0 := *abi.ConvertType(out[0], new(string)).(*string)
- return out0, err
- }
- // Symbol is a free data retrieval call binding the contract method 0x95d89b41.
- //
- // Solidity: function symbol() view returns(string)
- func (_ERC721 *ERC721Session) Symbol() (string, error) {
- return _ERC721.Contract.Symbol(&_ERC721.CallOpts)
- }
- // Symbol is a free data retrieval call binding the contract method 0x95d89b41.
- //
- // Solidity: function symbol() view returns(string)
- func (_ERC721 *ERC721CallerSession) Symbol() (string, error) {
- return _ERC721.Contract.Symbol(&_ERC721.CallOpts)
- }
- // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd.
- //
- // Solidity: function tokenURI(uint256 tokenId) view returns(string)
- func (_ERC721 *ERC721Caller) TokenURI(opts *bind.CallOpts, tokenId *big.Int) (string, error) {
- var out []interface{}
- err := _ERC721.contract.Call(opts, &out, "tokenURI", tokenId)
- if err != nil {
- return *new(string), err
- }
- out0 := *abi.ConvertType(out[0], new(string)).(*string)
- return out0, err
- }
- // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd.
- //
- // Solidity: function tokenURI(uint256 tokenId) view returns(string)
- func (_ERC721 *ERC721Session) TokenURI(tokenId *big.Int) (string, error) {
- return _ERC721.Contract.TokenURI(&_ERC721.CallOpts, tokenId)
- }
- // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd.
- //
- // Solidity: function tokenURI(uint256 tokenId) view returns(string)
- func (_ERC721 *ERC721CallerSession) TokenURI(tokenId *big.Int) (string, error) {
- return _ERC721.Contract.TokenURI(&_ERC721.CallOpts, tokenId)
- }
- // Approve is a paid mutator transaction binding the contract method 0x095ea7b3.
- //
- // Solidity: function approve(address to, uint256 tokenId) returns()
- func (_ERC721 *ERC721Transactor) Approve(opts *bind.TransactOpts, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
- return _ERC721.contract.Transact(opts, "approve", to, tokenId)
- }
- // Approve is a paid mutator transaction binding the contract method 0x095ea7b3.
- //
- // Solidity: function approve(address to, uint256 tokenId) returns()
- func (_ERC721 *ERC721Session) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) {
- return _ERC721.Contract.Approve(&_ERC721.TransactOpts, to, tokenId)
- }
- // Approve is a paid mutator transaction binding the contract method 0x095ea7b3.
- //
- // Solidity: function approve(address to, uint256 tokenId) returns()
- func (_ERC721 *ERC721TransactorSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) {
- return _ERC721.Contract.Approve(&_ERC721.TransactOpts, to, tokenId)
- }
- // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e.
- //
- // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns()
- func (_ERC721 *ERC721Transactor) SafeTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
- return _ERC721.contract.Transact(opts, "safeTransferFrom", from, to, tokenId)
- }
- // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e.
- //
- // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns()
- func (_ERC721 *ERC721Session) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
- return _ERC721.Contract.SafeTransferFrom(&_ERC721.TransactOpts, from, to, tokenId)
- }
- // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e.
- //
- // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns()
- func (_ERC721 *ERC721TransactorSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
- return _ERC721.Contract.SafeTransferFrom(&_ERC721.TransactOpts, from, to, tokenId)
- }
- // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde.
- //
- // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns()
- func (_ERC721 *ERC721Transactor) SafeTransferFrom0(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) {
- return _ERC721.contract.Transact(opts, "safeTransferFrom0", from, to, tokenId, _data)
- }
- // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde.
- //
- // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns()
- func (_ERC721 *ERC721Session) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) {
- return _ERC721.Contract.SafeTransferFrom0(&_ERC721.TransactOpts, from, to, tokenId, _data)
- }
- // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde.
- //
- // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns()
- func (_ERC721 *ERC721TransactorSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) {
- return _ERC721.Contract.SafeTransferFrom0(&_ERC721.TransactOpts, from, to, tokenId, _data)
- }
- // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465.
- //
- // Solidity: function setApprovalForAll(address operator, bool approved) returns()
- func (_ERC721 *ERC721Transactor) SetApprovalForAll(opts *bind.TransactOpts, operator common.Address, approved bool) (*types.Transaction, error) {
- return _ERC721.contract.Transact(opts, "setApprovalForAll", operator, approved)
- }
- // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465.
- //
- // Solidity: function setApprovalForAll(address operator, bool approved) returns()
- func (_ERC721 *ERC721Session) SetApprovalForAll(operator common.Address, approved bool) (*types.Transaction, error) {
- return _ERC721.Contract.SetApprovalForAll(&_ERC721.TransactOpts, operator, approved)
- }
- // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465.
- //
- // Solidity: function setApprovalForAll(address operator, bool approved) returns()
- func (_ERC721 *ERC721TransactorSession) SetApprovalForAll(operator common.Address, approved bool) (*types.Transaction, error) {
- return _ERC721.Contract.SetApprovalForAll(&_ERC721.TransactOpts, operator, approved)
- }
- // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd.
- //
- // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns()
- func (_ERC721 *ERC721Transactor) TransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
- return _ERC721.contract.Transact(opts, "transferFrom", from, to, tokenId)
- }
- // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd.
- //
- // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns()
- func (_ERC721 *ERC721Session) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
- return _ERC721.Contract.TransferFrom(&_ERC721.TransactOpts, from, to, tokenId)
- }
- // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd.
- //
- // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns()
- func (_ERC721 *ERC721TransactorSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
- return _ERC721.Contract.TransferFrom(&_ERC721.TransactOpts, from, to, tokenId)
- }
- // 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.
- type ERC721ApprovalIterator struct {
- Event *ERC721Approval // Event containing the contract specifics and raw log
- contract *bind.BoundContract // Generic contract to use for unpacking event data
- event string // Event name to use for unpacking event data
- logs chan types.Log // Log channel receiving the found contract events
- sub ethereum.Subscription // Subscription for errors, completion and termination
- done bool // Whether the subscription completed delivering logs
- fail error // Occurred error to stop iteration
- }
- // Next advances the iterator to the subsequent event, returning whether there
- // are any more events found. In case of a retrieval or parsing error, false is
- // returned and Error() can be queried for the exact failure.
- func (it *ERC721ApprovalIterator) Next() bool {
- // If the iterator failed, stop iterating
- if it.fail != nil {
- return false
- }
- // If the iterator completed, deliver directly whatever's available
- if it.done {
- select {
- case log := <-it.logs:
- it.Event = new(ERC721Approval)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- default:
- return false
- }
- }
- // Iterator still in progress, wait for either a data or an error event
- select {
- case log := <-it.logs:
- it.Event = new(ERC721Approval)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- case err := <-it.sub.Err():
- it.done = true
- it.fail = err
- return it.Next()
- }
- }
- // Error returns any retrieval or parsing error occurred during filtering.
- func (it *ERC721ApprovalIterator) Error() error {
- return it.fail
- }
- // Close terminates the iteration process, releasing any pending underlying
- // resources.
- func (it *ERC721ApprovalIterator) Close() error {
- it.sub.Unsubscribe()
- return nil
- }
- // ERC721Approval represents a Approval event raised by the ERC721 contract.
- type ERC721Approval struct {
- Owner common.Address
- Approved common.Address
- TokenId *big.Int
- Raw types.Log // Blockchain specific contextual infos
- }
- // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925.
- //
- // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)
- func (_ERC721 *ERC721Filterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, approved []common.Address, tokenId []*big.Int) (*ERC721ApprovalIterator, error) {
- var ownerRule []interface{}
- for _, ownerItem := range owner {
- ownerRule = append(ownerRule, ownerItem)
- }
- var approvedRule []interface{}
- for _, approvedItem := range approved {
- approvedRule = append(approvedRule, approvedItem)
- }
- var tokenIdRule []interface{}
- for _, tokenIdItem := range tokenId {
- tokenIdRule = append(tokenIdRule, tokenIdItem)
- }
- logs, sub, err := _ERC721.contract.FilterLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule)
- if err != nil {
- return nil, err
- }
- return &ERC721ApprovalIterator{contract: _ERC721.contract, event: "Approval", logs: logs, sub: sub}, nil
- }
- // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925.
- //
- // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)
- func (_ERC721 *ERC721Filterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *ERC721Approval, owner []common.Address, approved []common.Address, tokenId []*big.Int) (event.Subscription, error) {
- var ownerRule []interface{}
- for _, ownerItem := range owner {
- ownerRule = append(ownerRule, ownerItem)
- }
- var approvedRule []interface{}
- for _, approvedItem := range approved {
- approvedRule = append(approvedRule, approvedItem)
- }
- var tokenIdRule []interface{}
- for _, tokenIdItem := range tokenId {
- tokenIdRule = append(tokenIdRule, tokenIdItem)
- }
- logs, sub, err := _ERC721.contract.WatchLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule)
- if err != nil {
- return nil, err
- }
- return event.NewSubscription(func(quit <-chan struct{}) error {
- defer sub.Unsubscribe()
- for {
- select {
- case log := <-logs:
- // New log arrived, parse the event and forward to the user
- event := new(ERC721Approval)
- if err := _ERC721.contract.UnpackLog(event, "Approval", log); err != nil {
- return err
- }
- event.Raw = log
- select {
- case sink <- event:
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- }
- }), nil
- }
- // ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925.
- //
- // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)
- func (_ERC721 *ERC721Filterer) ParseApproval(log types.Log) (*ERC721Approval, error) {
- event := new(ERC721Approval)
- if err := _ERC721.contract.UnpackLog(event, "Approval", log); err != nil {
- return nil, err
- }
- event.Raw = log
- return event, nil
- }
- // 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.
- type ERC721ApprovalForAllIterator struct {
- Event *ERC721ApprovalForAll // Event containing the contract specifics and raw log
- contract *bind.BoundContract // Generic contract to use for unpacking event data
- event string // Event name to use for unpacking event data
- logs chan types.Log // Log channel receiving the found contract events
- sub ethereum.Subscription // Subscription for errors, completion and termination
- done bool // Whether the subscription completed delivering logs
- fail error // Occurred error to stop iteration
- }
- // Next advances the iterator to the subsequent event, returning whether there
- // are any more events found. In case of a retrieval or parsing error, false is
- // returned and Error() can be queried for the exact failure.
- func (it *ERC721ApprovalForAllIterator) Next() bool {
- // If the iterator failed, stop iterating
- if it.fail != nil {
- return false
- }
- // If the iterator completed, deliver directly whatever's available
- if it.done {
- select {
- case log := <-it.logs:
- it.Event = new(ERC721ApprovalForAll)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- default:
- return false
- }
- }
- // Iterator still in progress, wait for either a data or an error event
- select {
- case log := <-it.logs:
- it.Event = new(ERC721ApprovalForAll)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- case err := <-it.sub.Err():
- it.done = true
- it.fail = err
- return it.Next()
- }
- }
- // Error returns any retrieval or parsing error occurred during filtering.
- func (it *ERC721ApprovalForAllIterator) Error() error {
- return it.fail
- }
- // Close terminates the iteration process, releasing any pending underlying
- // resources.
- func (it *ERC721ApprovalForAllIterator) Close() error {
- it.sub.Unsubscribe()
- return nil
- }
- // ERC721ApprovalForAll represents a ApprovalForAll event raised by the ERC721 contract.
- type ERC721ApprovalForAll struct {
- Owner common.Address
- Operator common.Address
- Approved bool
- Raw types.Log // Blockchain specific contextual infos
- }
- // FilterApprovalForAll is a free log retrieval operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31.
- //
- // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved)
- func (_ERC721 *ERC721Filterer) FilterApprovalForAll(opts *bind.FilterOpts, owner []common.Address, operator []common.Address) (*ERC721ApprovalForAllIterator, error) {
- var ownerRule []interface{}
- for _, ownerItem := range owner {
- ownerRule = append(ownerRule, ownerItem)
- }
- var operatorRule []interface{}
- for _, operatorItem := range operator {
- operatorRule = append(operatorRule, operatorItem)
- }
- logs, sub, err := _ERC721.contract.FilterLogs(opts, "ApprovalForAll", ownerRule, operatorRule)
- if err != nil {
- return nil, err
- }
- return &ERC721ApprovalForAllIterator{contract: _ERC721.contract, event: "ApprovalForAll", logs: logs, sub: sub}, nil
- }
- // WatchApprovalForAll is a free log subscription operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31.
- //
- // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved)
- func (_ERC721 *ERC721Filterer) WatchApprovalForAll(opts *bind.WatchOpts, sink chan<- *ERC721ApprovalForAll, owner []common.Address, operator []common.Address) (event.Subscription, error) {
- var ownerRule []interface{}
- for _, ownerItem := range owner {
- ownerRule = append(ownerRule, ownerItem)
- }
- var operatorRule []interface{}
- for _, operatorItem := range operator {
- operatorRule = append(operatorRule, operatorItem)
- }
- logs, sub, err := _ERC721.contract.WatchLogs(opts, "ApprovalForAll", ownerRule, operatorRule)
- if err != nil {
- return nil, err
- }
- return event.NewSubscription(func(quit <-chan struct{}) error {
- defer sub.Unsubscribe()
- for {
- select {
- case log := <-logs:
- // New log arrived, parse the event and forward to the user
- event := new(ERC721ApprovalForAll)
- if err := _ERC721.contract.UnpackLog(event, "ApprovalForAll", log); err != nil {
- return err
- }
- event.Raw = log
- select {
- case sink <- event:
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- }
- }), nil
- }
- // ParseApprovalForAll is a log parse operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31.
- //
- // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved)
- func (_ERC721 *ERC721Filterer) ParseApprovalForAll(log types.Log) (*ERC721ApprovalForAll, error) {
- event := new(ERC721ApprovalForAll)
- if err := _ERC721.contract.UnpackLog(event, "ApprovalForAll", log); err != nil {
- return nil, err
- }
- event.Raw = log
- return event, nil
- }
- // 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.
- type ERC721TransferIterator struct {
- Event *ERC721Transfer // Event containing the contract specifics and raw log
- contract *bind.BoundContract // Generic contract to use for unpacking event data
- event string // Event name to use for unpacking event data
- logs chan types.Log // Log channel receiving the found contract events
- sub ethereum.Subscription // Subscription for errors, completion and termination
- done bool // Whether the subscription completed delivering logs
- fail error // Occurred error to stop iteration
- }
- // Next advances the iterator to the subsequent event, returning whether there
- // are any more events found. In case of a retrieval or parsing error, false is
- // returned and Error() can be queried for the exact failure.
- func (it *ERC721TransferIterator) Next() bool {
- // If the iterator failed, stop iterating
- if it.fail != nil {
- return false
- }
- // If the iterator completed, deliver directly whatever's available
- if it.done {
- select {
- case log := <-it.logs:
- it.Event = new(ERC721Transfer)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- default:
- return false
- }
- }
- // Iterator still in progress, wait for either a data or an error event
- select {
- case log := <-it.logs:
- it.Event = new(ERC721Transfer)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- case err := <-it.sub.Err():
- it.done = true
- it.fail = err
- return it.Next()
- }
- }
- // Error returns any retrieval or parsing error occurred during filtering.
- func (it *ERC721TransferIterator) Error() error {
- return it.fail
- }
- // Close terminates the iteration process, releasing any pending underlying
- // resources.
- func (it *ERC721TransferIterator) Close() error {
- it.sub.Unsubscribe()
- return nil
- }
- // ERC721Transfer represents a Transfer event raised by the ERC721 contract.
- type ERC721Transfer struct {
- From common.Address
- To common.Address
- TokenId *big.Int
- Raw types.Log // Blockchain specific contextual infos
- }
- // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef.
- //
- // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)
- func (_ERC721 *ERC721Filterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address, tokenId []*big.Int) (*ERC721TransferIterator, error) {
- var fromRule []interface{}
- for _, fromItem := range from {
- fromRule = append(fromRule, fromItem)
- }
- var toRule []interface{}
- for _, toItem := range to {
- toRule = append(toRule, toItem)
- }
- var tokenIdRule []interface{}
- for _, tokenIdItem := range tokenId {
- tokenIdRule = append(tokenIdRule, tokenIdItem)
- }
- logs, sub, err := _ERC721.contract.FilterLogs(opts, "Transfer", fromRule, toRule, tokenIdRule)
- if err != nil {
- return nil, err
- }
- return &ERC721TransferIterator{contract: _ERC721.contract, event: "Transfer", logs: logs, sub: sub}, nil
- }
- // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef.
- //
- // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)
- func (_ERC721 *ERC721Filterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *ERC721Transfer, from []common.Address, to []common.Address, tokenId []*big.Int) (event.Subscription, error) {
- var fromRule []interface{}
- for _, fromItem := range from {
- fromRule = append(fromRule, fromItem)
- }
- var toRule []interface{}
- for _, toItem := range to {
- toRule = append(toRule, toItem)
- }
- var tokenIdRule []interface{}
- for _, tokenIdItem := range tokenId {
- tokenIdRule = append(tokenIdRule, tokenIdItem)
- }
- logs, sub, err := _ERC721.contract.WatchLogs(opts, "Transfer", fromRule, toRule, tokenIdRule)
- if err != nil {
- return nil, err
- }
- return event.NewSubscription(func(quit <-chan struct{}) error {
- defer sub.Unsubscribe()
- for {
- select {
- case log := <-logs:
- // New log arrived, parse the event and forward to the user
- event := new(ERC721Transfer)
- if err := _ERC721.contract.UnpackLog(event, "Transfer", log); err != nil {
- return err
- }
- event.Raw = log
- select {
- case sink <- event:
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- }
- }), nil
- }
- // ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef.
- //
- // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)
- func (_ERC721 *ERC721Filterer) ParseTransfer(log types.Log) (*ERC721Transfer, error) {
- event := new(ERC721Transfer)
- if err := _ERC721.contract.UnpackLog(event, "Transfer", log); err != nil {
- return nil, err
- }
- event.Raw = log
- return event, nil
- }
- // ERC721EnumerableMetaData contains all meta data concerning the ERC721Enumerable contract.
- var ERC721EnumerableMetaData = &bind.MetaData{
- 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\"}]",
- Sigs: map[string]string{
- "095ea7b3": "approve(address,uint256)",
- "70a08231": "balanceOf(address)",
- "081812fc": "getApproved(uint256)",
- "e985e9c5": "isApprovedForAll(address,address)",
- "06fdde03": "name()",
- "6352211e": "ownerOf(uint256)",
- "42842e0e": "safeTransferFrom(address,address,uint256)",
- "b88d4fde": "safeTransferFrom(address,address,uint256,bytes)",
- "a22cb465": "setApprovalForAll(address,bool)",
- "01ffc9a7": "supportsInterface(bytes4)",
- "95d89b41": "symbol()",
- "4f6ccce7": "tokenByIndex(uint256)",
- "2f745c59": "tokenOfOwnerByIndex(address,uint256)",
- "c87b56dd": "tokenURI(uint256)",
- "18160ddd": "totalSupply()",
- "23b872dd": "transferFrom(address,address,uint256)",
- },
- }
- // ERC721EnumerableABI is the input ABI used to generate the binding from.
- // Deprecated: Use ERC721EnumerableMetaData.ABI instead.
- var ERC721EnumerableABI = ERC721EnumerableMetaData.ABI
- // Deprecated: Use ERC721EnumerableMetaData.Sigs instead.
- // ERC721EnumerableFuncSigs maps the 4-byte function signature to its string representation.
- var ERC721EnumerableFuncSigs = ERC721EnumerableMetaData.Sigs
- // ERC721Enumerable is an auto generated Go binding around an Ethereum contract.
- type ERC721Enumerable struct {
- ERC721EnumerableCaller // Read-only binding to the contract
- ERC721EnumerableTransactor // Write-only binding to the contract
- ERC721EnumerableFilterer // Log filterer for contract events
- }
- // ERC721EnumerableCaller is an auto generated read-only Go binding around an Ethereum contract.
- type ERC721EnumerableCaller struct {
- contract *bind.BoundContract // Generic contract wrapper for the low level calls
- }
- // ERC721EnumerableTransactor is an auto generated write-only Go binding around an Ethereum contract.
- type ERC721EnumerableTransactor struct {
- contract *bind.BoundContract // Generic contract wrapper for the low level calls
- }
- // ERC721EnumerableFilterer is an auto generated log filtering Go binding around an Ethereum contract events.
- type ERC721EnumerableFilterer struct {
- contract *bind.BoundContract // Generic contract wrapper for the low level calls
- }
- // ERC721EnumerableSession is an auto generated Go binding around an Ethereum contract,
- // with pre-set call and transact options.
- type ERC721EnumerableSession struct {
- Contract *ERC721Enumerable // Generic contract binding to set the session for
- CallOpts bind.CallOpts // Call options to use throughout this session
- TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
- }
- // ERC721EnumerableCallerSession is an auto generated read-only Go binding around an Ethereum contract,
- // with pre-set call options.
- type ERC721EnumerableCallerSession struct {
- Contract *ERC721EnumerableCaller // Generic contract caller binding to set the session for
- CallOpts bind.CallOpts // Call options to use throughout this session
- }
- // ERC721EnumerableTransactorSession is an auto generated write-only Go binding around an Ethereum contract,
- // with pre-set transact options.
- type ERC721EnumerableTransactorSession struct {
- Contract *ERC721EnumerableTransactor // Generic contract transactor binding to set the session for
- TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
- }
- // ERC721EnumerableRaw is an auto generated low-level Go binding around an Ethereum contract.
- type ERC721EnumerableRaw struct {
- Contract *ERC721Enumerable // Generic contract binding to access the raw methods on
- }
- // ERC721EnumerableCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
- type ERC721EnumerableCallerRaw struct {
- Contract *ERC721EnumerableCaller // Generic read-only contract binding to access the raw methods on
- }
- // ERC721EnumerableTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
- type ERC721EnumerableTransactorRaw struct {
- Contract *ERC721EnumerableTransactor // Generic write-only contract binding to access the raw methods on
- }
- // NewERC721Enumerable creates a new instance of ERC721Enumerable, bound to a specific deployed contract.
- func NewERC721Enumerable(address common.Address, backend bind.ContractBackend) (*ERC721Enumerable, error) {
- contract, err := bindERC721Enumerable(address, backend, backend, backend)
- if err != nil {
- return nil, err
- }
- return &ERC721Enumerable{ERC721EnumerableCaller: ERC721EnumerableCaller{contract: contract}, ERC721EnumerableTransactor: ERC721EnumerableTransactor{contract: contract}, ERC721EnumerableFilterer: ERC721EnumerableFilterer{contract: contract}}, nil
- }
- // NewERC721EnumerableCaller creates a new read-only instance of ERC721Enumerable, bound to a specific deployed contract.
- func NewERC721EnumerableCaller(address common.Address, caller bind.ContractCaller) (*ERC721EnumerableCaller, error) {
- contract, err := bindERC721Enumerable(address, caller, nil, nil)
- if err != nil {
- return nil, err
- }
- return &ERC721EnumerableCaller{contract: contract}, nil
- }
- // NewERC721EnumerableTransactor creates a new write-only instance of ERC721Enumerable, bound to a specific deployed contract.
- func NewERC721EnumerableTransactor(address common.Address, transactor bind.ContractTransactor) (*ERC721EnumerableTransactor, error) {
- contract, err := bindERC721Enumerable(address, nil, transactor, nil)
- if err != nil {
- return nil, err
- }
- return &ERC721EnumerableTransactor{contract: contract}, nil
- }
- // NewERC721EnumerableFilterer creates a new log filterer instance of ERC721Enumerable, bound to a specific deployed contract.
- func NewERC721EnumerableFilterer(address common.Address, filterer bind.ContractFilterer) (*ERC721EnumerableFilterer, error) {
- contract, err := bindERC721Enumerable(address, nil, nil, filterer)
- if err != nil {
- return nil, err
- }
- return &ERC721EnumerableFilterer{contract: contract}, nil
- }
- // bindERC721Enumerable binds a generic wrapper to an already deployed contract.
- func bindERC721Enumerable(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
- parsed, err := abi.JSON(strings.NewReader(ERC721EnumerableABI))
- if err != nil {
- return nil, err
- }
- return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil
- }
- // Call invokes the (constant) contract method with params as input values and
- // sets the output to result. The result type might be a single field for simple
- // returns, a slice of interfaces for anonymous returns and a struct for named
- // returns.
- func (_ERC721Enumerable *ERC721EnumerableRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
- return _ERC721Enumerable.Contract.ERC721EnumerableCaller.contract.Call(opts, result, method, params...)
- }
- // Transfer initiates a plain transaction to move funds to the contract, calling
- // its default method if one is available.
- func (_ERC721Enumerable *ERC721EnumerableRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
- return _ERC721Enumerable.Contract.ERC721EnumerableTransactor.contract.Transfer(opts)
- }
- // Transact invokes the (paid) contract method with params as input values.
- func (_ERC721Enumerable *ERC721EnumerableRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
- return _ERC721Enumerable.Contract.ERC721EnumerableTransactor.contract.Transact(opts, method, params...)
- }
- // Call invokes the (constant) contract method with params as input values and
- // sets the output to result. The result type might be a single field for simple
- // returns, a slice of interfaces for anonymous returns and a struct for named
- // returns.
- func (_ERC721Enumerable *ERC721EnumerableCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
- return _ERC721Enumerable.Contract.contract.Call(opts, result, method, params...)
- }
- // Transfer initiates a plain transaction to move funds to the contract, calling
- // its default method if one is available.
- func (_ERC721Enumerable *ERC721EnumerableTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
- return _ERC721Enumerable.Contract.contract.Transfer(opts)
- }
- // Transact invokes the (paid) contract method with params as input values.
- func (_ERC721Enumerable *ERC721EnumerableTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
- return _ERC721Enumerable.Contract.contract.Transact(opts, method, params...)
- }
- // BalanceOf is a free data retrieval call binding the contract method 0x70a08231.
- //
- // Solidity: function balanceOf(address owner) view returns(uint256)
- func (_ERC721Enumerable *ERC721EnumerableCaller) BalanceOf(opts *bind.CallOpts, owner common.Address) (*big.Int, error) {
- var out []interface{}
- err := _ERC721Enumerable.contract.Call(opts, &out, "balanceOf", owner)
- if err != nil {
- return *new(*big.Int), err
- }
- out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
- return out0, err
- }
- // BalanceOf is a free data retrieval call binding the contract method 0x70a08231.
- //
- // Solidity: function balanceOf(address owner) view returns(uint256)
- func (_ERC721Enumerable *ERC721EnumerableSession) BalanceOf(owner common.Address) (*big.Int, error) {
- return _ERC721Enumerable.Contract.BalanceOf(&_ERC721Enumerable.CallOpts, owner)
- }
- // BalanceOf is a free data retrieval call binding the contract method 0x70a08231.
- //
- // Solidity: function balanceOf(address owner) view returns(uint256)
- func (_ERC721Enumerable *ERC721EnumerableCallerSession) BalanceOf(owner common.Address) (*big.Int, error) {
- return _ERC721Enumerable.Contract.BalanceOf(&_ERC721Enumerable.CallOpts, owner)
- }
- // GetApproved is a free data retrieval call binding the contract method 0x081812fc.
- //
- // Solidity: function getApproved(uint256 tokenId) view returns(address)
- func (_ERC721Enumerable *ERC721EnumerableCaller) GetApproved(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) {
- var out []interface{}
- err := _ERC721Enumerable.contract.Call(opts, &out, "getApproved", tokenId)
- if err != nil {
- return *new(common.Address), err
- }
- out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
- return out0, err
- }
- // GetApproved is a free data retrieval call binding the contract method 0x081812fc.
- //
- // Solidity: function getApproved(uint256 tokenId) view returns(address)
- func (_ERC721Enumerable *ERC721EnumerableSession) GetApproved(tokenId *big.Int) (common.Address, error) {
- return _ERC721Enumerable.Contract.GetApproved(&_ERC721Enumerable.CallOpts, tokenId)
- }
- // GetApproved is a free data retrieval call binding the contract method 0x081812fc.
- //
- // Solidity: function getApproved(uint256 tokenId) view returns(address)
- func (_ERC721Enumerable *ERC721EnumerableCallerSession) GetApproved(tokenId *big.Int) (common.Address, error) {
- return _ERC721Enumerable.Contract.GetApproved(&_ERC721Enumerable.CallOpts, tokenId)
- }
- // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5.
- //
- // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool)
- func (_ERC721Enumerable *ERC721EnumerableCaller) IsApprovedForAll(opts *bind.CallOpts, owner common.Address, operator common.Address) (bool, error) {
- var out []interface{}
- err := _ERC721Enumerable.contract.Call(opts, &out, "isApprovedForAll", owner, operator)
- if err != nil {
- return *new(bool), err
- }
- out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
- return out0, err
- }
- // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5.
- //
- // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool)
- func (_ERC721Enumerable *ERC721EnumerableSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) {
- return _ERC721Enumerable.Contract.IsApprovedForAll(&_ERC721Enumerable.CallOpts, owner, operator)
- }
- // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5.
- //
- // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool)
- func (_ERC721Enumerable *ERC721EnumerableCallerSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) {
- return _ERC721Enumerable.Contract.IsApprovedForAll(&_ERC721Enumerable.CallOpts, owner, operator)
- }
- // Name is a free data retrieval call binding the contract method 0x06fdde03.
- //
- // Solidity: function name() view returns(string)
- func (_ERC721Enumerable *ERC721EnumerableCaller) Name(opts *bind.CallOpts) (string, error) {
- var out []interface{}
- err := _ERC721Enumerable.contract.Call(opts, &out, "name")
- if err != nil {
- return *new(string), err
- }
- out0 := *abi.ConvertType(out[0], new(string)).(*string)
- return out0, err
- }
- // Name is a free data retrieval call binding the contract method 0x06fdde03.
- //
- // Solidity: function name() view returns(string)
- func (_ERC721Enumerable *ERC721EnumerableSession) Name() (string, error) {
- return _ERC721Enumerable.Contract.Name(&_ERC721Enumerable.CallOpts)
- }
- // Name is a free data retrieval call binding the contract method 0x06fdde03.
- //
- // Solidity: function name() view returns(string)
- func (_ERC721Enumerable *ERC721EnumerableCallerSession) Name() (string, error) {
- return _ERC721Enumerable.Contract.Name(&_ERC721Enumerable.CallOpts)
- }
- // OwnerOf is a free data retrieval call binding the contract method 0x6352211e.
- //
- // Solidity: function ownerOf(uint256 tokenId) view returns(address)
- func (_ERC721Enumerable *ERC721EnumerableCaller) OwnerOf(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) {
- var out []interface{}
- err := _ERC721Enumerable.contract.Call(opts, &out, "ownerOf", tokenId)
- if err != nil {
- return *new(common.Address), err
- }
- out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
- return out0, err
- }
- // OwnerOf is a free data retrieval call binding the contract method 0x6352211e.
- //
- // Solidity: function ownerOf(uint256 tokenId) view returns(address)
- func (_ERC721Enumerable *ERC721EnumerableSession) OwnerOf(tokenId *big.Int) (common.Address, error) {
- return _ERC721Enumerable.Contract.OwnerOf(&_ERC721Enumerable.CallOpts, tokenId)
- }
- // OwnerOf is a free data retrieval call binding the contract method 0x6352211e.
- //
- // Solidity: function ownerOf(uint256 tokenId) view returns(address)
- func (_ERC721Enumerable *ERC721EnumerableCallerSession) OwnerOf(tokenId *big.Int) (common.Address, error) {
- return _ERC721Enumerable.Contract.OwnerOf(&_ERC721Enumerable.CallOpts, tokenId)
- }
- // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
- //
- // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
- func (_ERC721Enumerable *ERC721EnumerableCaller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) {
- var out []interface{}
- err := _ERC721Enumerable.contract.Call(opts, &out, "supportsInterface", interfaceId)
- if err != nil {
- return *new(bool), err
- }
- out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
- return out0, err
- }
- // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
- //
- // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
- func (_ERC721Enumerable *ERC721EnumerableSession) SupportsInterface(interfaceId [4]byte) (bool, error) {
- return _ERC721Enumerable.Contract.SupportsInterface(&_ERC721Enumerable.CallOpts, interfaceId)
- }
- // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
- //
- // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
- func (_ERC721Enumerable *ERC721EnumerableCallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) {
- return _ERC721Enumerable.Contract.SupportsInterface(&_ERC721Enumerable.CallOpts, interfaceId)
- }
- // Symbol is a free data retrieval call binding the contract method 0x95d89b41.
- //
- // Solidity: function symbol() view returns(string)
- func (_ERC721Enumerable *ERC721EnumerableCaller) Symbol(opts *bind.CallOpts) (string, error) {
- var out []interface{}
- err := _ERC721Enumerable.contract.Call(opts, &out, "symbol")
- if err != nil {
- return *new(string), err
- }
- out0 := *abi.ConvertType(out[0], new(string)).(*string)
- return out0, err
- }
- // Symbol is a free data retrieval call binding the contract method 0x95d89b41.
- //
- // Solidity: function symbol() view returns(string)
- func (_ERC721Enumerable *ERC721EnumerableSession) Symbol() (string, error) {
- return _ERC721Enumerable.Contract.Symbol(&_ERC721Enumerable.CallOpts)
- }
- // Symbol is a free data retrieval call binding the contract method 0x95d89b41.
- //
- // Solidity: function symbol() view returns(string)
- func (_ERC721Enumerable *ERC721EnumerableCallerSession) Symbol() (string, error) {
- return _ERC721Enumerable.Contract.Symbol(&_ERC721Enumerable.CallOpts)
- }
- // TokenByIndex is a free data retrieval call binding the contract method 0x4f6ccce7.
- //
- // Solidity: function tokenByIndex(uint256 index) view returns(uint256)
- func (_ERC721Enumerable *ERC721EnumerableCaller) TokenByIndex(opts *bind.CallOpts, index *big.Int) (*big.Int, error) {
- var out []interface{}
- err := _ERC721Enumerable.contract.Call(opts, &out, "tokenByIndex", index)
- if err != nil {
- return *new(*big.Int), err
- }
- out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
- return out0, err
- }
- // TokenByIndex is a free data retrieval call binding the contract method 0x4f6ccce7.
- //
- // Solidity: function tokenByIndex(uint256 index) view returns(uint256)
- func (_ERC721Enumerable *ERC721EnumerableSession) TokenByIndex(index *big.Int) (*big.Int, error) {
- return _ERC721Enumerable.Contract.TokenByIndex(&_ERC721Enumerable.CallOpts, index)
- }
- // TokenByIndex is a free data retrieval call binding the contract method 0x4f6ccce7.
- //
- // Solidity: function tokenByIndex(uint256 index) view returns(uint256)
- func (_ERC721Enumerable *ERC721EnumerableCallerSession) TokenByIndex(index *big.Int) (*big.Int, error) {
- return _ERC721Enumerable.Contract.TokenByIndex(&_ERC721Enumerable.CallOpts, index)
- }
- // TokenOfOwnerByIndex is a free data retrieval call binding the contract method 0x2f745c59.
- //
- // Solidity: function tokenOfOwnerByIndex(address owner, uint256 index) view returns(uint256)
- func (_ERC721Enumerable *ERC721EnumerableCaller) TokenOfOwnerByIndex(opts *bind.CallOpts, owner common.Address, index *big.Int) (*big.Int, error) {
- var out []interface{}
- err := _ERC721Enumerable.contract.Call(opts, &out, "tokenOfOwnerByIndex", owner, index)
- if err != nil {
- return *new(*big.Int), err
- }
- out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
- return out0, err
- }
- // TokenOfOwnerByIndex is a free data retrieval call binding the contract method 0x2f745c59.
- //
- // Solidity: function tokenOfOwnerByIndex(address owner, uint256 index) view returns(uint256)
- func (_ERC721Enumerable *ERC721EnumerableSession) TokenOfOwnerByIndex(owner common.Address, index *big.Int) (*big.Int, error) {
- return _ERC721Enumerable.Contract.TokenOfOwnerByIndex(&_ERC721Enumerable.CallOpts, owner, index)
- }
- // TokenOfOwnerByIndex is a free data retrieval call binding the contract method 0x2f745c59.
- //
- // Solidity: function tokenOfOwnerByIndex(address owner, uint256 index) view returns(uint256)
- func (_ERC721Enumerable *ERC721EnumerableCallerSession) TokenOfOwnerByIndex(owner common.Address, index *big.Int) (*big.Int, error) {
- return _ERC721Enumerable.Contract.TokenOfOwnerByIndex(&_ERC721Enumerable.CallOpts, owner, index)
- }
- // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd.
- //
- // Solidity: function tokenURI(uint256 tokenId) view returns(string)
- func (_ERC721Enumerable *ERC721EnumerableCaller) TokenURI(opts *bind.CallOpts, tokenId *big.Int) (string, error) {
- var out []interface{}
- err := _ERC721Enumerable.contract.Call(opts, &out, "tokenURI", tokenId)
- if err != nil {
- return *new(string), err
- }
- out0 := *abi.ConvertType(out[0], new(string)).(*string)
- return out0, err
- }
- // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd.
- //
- // Solidity: function tokenURI(uint256 tokenId) view returns(string)
- func (_ERC721Enumerable *ERC721EnumerableSession) TokenURI(tokenId *big.Int) (string, error) {
- return _ERC721Enumerable.Contract.TokenURI(&_ERC721Enumerable.CallOpts, tokenId)
- }
- // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd.
- //
- // Solidity: function tokenURI(uint256 tokenId) view returns(string)
- func (_ERC721Enumerable *ERC721EnumerableCallerSession) TokenURI(tokenId *big.Int) (string, error) {
- return _ERC721Enumerable.Contract.TokenURI(&_ERC721Enumerable.CallOpts, tokenId)
- }
- // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd.
- //
- // Solidity: function totalSupply() view returns(uint256)
- func (_ERC721Enumerable *ERC721EnumerableCaller) TotalSupply(opts *bind.CallOpts) (*big.Int, error) {
- var out []interface{}
- err := _ERC721Enumerable.contract.Call(opts, &out, "totalSupply")
- if err != nil {
- return *new(*big.Int), err
- }
- out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
- return out0, err
- }
- // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd.
- //
- // Solidity: function totalSupply() view returns(uint256)
- func (_ERC721Enumerable *ERC721EnumerableSession) TotalSupply() (*big.Int, error) {
- return _ERC721Enumerable.Contract.TotalSupply(&_ERC721Enumerable.CallOpts)
- }
- // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd.
- //
- // Solidity: function totalSupply() view returns(uint256)
- func (_ERC721Enumerable *ERC721EnumerableCallerSession) TotalSupply() (*big.Int, error) {
- return _ERC721Enumerable.Contract.TotalSupply(&_ERC721Enumerable.CallOpts)
- }
- // Approve is a paid mutator transaction binding the contract method 0x095ea7b3.
- //
- // Solidity: function approve(address to, uint256 tokenId) returns()
- func (_ERC721Enumerable *ERC721EnumerableTransactor) Approve(opts *bind.TransactOpts, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
- return _ERC721Enumerable.contract.Transact(opts, "approve", to, tokenId)
- }
- // Approve is a paid mutator transaction binding the contract method 0x095ea7b3.
- //
- // Solidity: function approve(address to, uint256 tokenId) returns()
- func (_ERC721Enumerable *ERC721EnumerableSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) {
- return _ERC721Enumerable.Contract.Approve(&_ERC721Enumerable.TransactOpts, to, tokenId)
- }
- // Approve is a paid mutator transaction binding the contract method 0x095ea7b3.
- //
- // Solidity: function approve(address to, uint256 tokenId) returns()
- func (_ERC721Enumerable *ERC721EnumerableTransactorSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) {
- return _ERC721Enumerable.Contract.Approve(&_ERC721Enumerable.TransactOpts, to, tokenId)
- }
- // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e.
- //
- // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns()
- func (_ERC721Enumerable *ERC721EnumerableTransactor) SafeTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
- return _ERC721Enumerable.contract.Transact(opts, "safeTransferFrom", from, to, tokenId)
- }
- // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e.
- //
- // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns()
- func (_ERC721Enumerable *ERC721EnumerableSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
- return _ERC721Enumerable.Contract.SafeTransferFrom(&_ERC721Enumerable.TransactOpts, from, to, tokenId)
- }
- // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e.
- //
- // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns()
- func (_ERC721Enumerable *ERC721EnumerableTransactorSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
- return _ERC721Enumerable.Contract.SafeTransferFrom(&_ERC721Enumerable.TransactOpts, from, to, tokenId)
- }
- // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde.
- //
- // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns()
- func (_ERC721Enumerable *ERC721EnumerableTransactor) SafeTransferFrom0(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) {
- return _ERC721Enumerable.contract.Transact(opts, "safeTransferFrom0", from, to, tokenId, _data)
- }
- // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde.
- //
- // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns()
- func (_ERC721Enumerable *ERC721EnumerableSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) {
- return _ERC721Enumerable.Contract.SafeTransferFrom0(&_ERC721Enumerable.TransactOpts, from, to, tokenId, _data)
- }
- // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde.
- //
- // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns()
- func (_ERC721Enumerable *ERC721EnumerableTransactorSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) {
- return _ERC721Enumerable.Contract.SafeTransferFrom0(&_ERC721Enumerable.TransactOpts, from, to, tokenId, _data)
- }
- // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465.
- //
- // Solidity: function setApprovalForAll(address operator, bool approved) returns()
- func (_ERC721Enumerable *ERC721EnumerableTransactor) SetApprovalForAll(opts *bind.TransactOpts, operator common.Address, approved bool) (*types.Transaction, error) {
- return _ERC721Enumerable.contract.Transact(opts, "setApprovalForAll", operator, approved)
- }
- // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465.
- //
- // Solidity: function setApprovalForAll(address operator, bool approved) returns()
- func (_ERC721Enumerable *ERC721EnumerableSession) SetApprovalForAll(operator common.Address, approved bool) (*types.Transaction, error) {
- return _ERC721Enumerable.Contract.SetApprovalForAll(&_ERC721Enumerable.TransactOpts, operator, approved)
- }
- // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465.
- //
- // Solidity: function setApprovalForAll(address operator, bool approved) returns()
- func (_ERC721Enumerable *ERC721EnumerableTransactorSession) SetApprovalForAll(operator common.Address, approved bool) (*types.Transaction, error) {
- return _ERC721Enumerable.Contract.SetApprovalForAll(&_ERC721Enumerable.TransactOpts, operator, approved)
- }
- // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd.
- //
- // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns()
- func (_ERC721Enumerable *ERC721EnumerableTransactor) TransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
- return _ERC721Enumerable.contract.Transact(opts, "transferFrom", from, to, tokenId)
- }
- // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd.
- //
- // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns()
- func (_ERC721Enumerable *ERC721EnumerableSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
- return _ERC721Enumerable.Contract.TransferFrom(&_ERC721Enumerable.TransactOpts, from, to, tokenId)
- }
- // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd.
- //
- // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns()
- func (_ERC721Enumerable *ERC721EnumerableTransactorSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
- return _ERC721Enumerable.Contract.TransferFrom(&_ERC721Enumerable.TransactOpts, from, to, tokenId)
- }
- // 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.
- type ERC721EnumerableApprovalIterator struct {
- Event *ERC721EnumerableApproval // Event containing the contract specifics and raw log
- contract *bind.BoundContract // Generic contract to use for unpacking event data
- event string // Event name to use for unpacking event data
- logs chan types.Log // Log channel receiving the found contract events
- sub ethereum.Subscription // Subscription for errors, completion and termination
- done bool // Whether the subscription completed delivering logs
- fail error // Occurred error to stop iteration
- }
- // Next advances the iterator to the subsequent event, returning whether there
- // are any more events found. In case of a retrieval or parsing error, false is
- // returned and Error() can be queried for the exact failure.
- func (it *ERC721EnumerableApprovalIterator) Next() bool {
- // If the iterator failed, stop iterating
- if it.fail != nil {
- return false
- }
- // If the iterator completed, deliver directly whatever's available
- if it.done {
- select {
- case log := <-it.logs:
- it.Event = new(ERC721EnumerableApproval)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- default:
- return false
- }
- }
- // Iterator still in progress, wait for either a data or an error event
- select {
- case log := <-it.logs:
- it.Event = new(ERC721EnumerableApproval)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- case err := <-it.sub.Err():
- it.done = true
- it.fail = err
- return it.Next()
- }
- }
- // Error returns any retrieval or parsing error occurred during filtering.
- func (it *ERC721EnumerableApprovalIterator) Error() error {
- return it.fail
- }
- // Close terminates the iteration process, releasing any pending underlying
- // resources.
- func (it *ERC721EnumerableApprovalIterator) Close() error {
- it.sub.Unsubscribe()
- return nil
- }
- // ERC721EnumerableApproval represents a Approval event raised by the ERC721Enumerable contract.
- type ERC721EnumerableApproval struct {
- Owner common.Address
- Approved common.Address
- TokenId *big.Int
- Raw types.Log // Blockchain specific contextual infos
- }
- // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925.
- //
- // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)
- func (_ERC721Enumerable *ERC721EnumerableFilterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, approved []common.Address, tokenId []*big.Int) (*ERC721EnumerableApprovalIterator, error) {
- var ownerRule []interface{}
- for _, ownerItem := range owner {
- ownerRule = append(ownerRule, ownerItem)
- }
- var approvedRule []interface{}
- for _, approvedItem := range approved {
- approvedRule = append(approvedRule, approvedItem)
- }
- var tokenIdRule []interface{}
- for _, tokenIdItem := range tokenId {
- tokenIdRule = append(tokenIdRule, tokenIdItem)
- }
- logs, sub, err := _ERC721Enumerable.contract.FilterLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule)
- if err != nil {
- return nil, err
- }
- return &ERC721EnumerableApprovalIterator{contract: _ERC721Enumerable.contract, event: "Approval", logs: logs, sub: sub}, nil
- }
- // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925.
- //
- // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)
- func (_ERC721Enumerable *ERC721EnumerableFilterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *ERC721EnumerableApproval, owner []common.Address, approved []common.Address, tokenId []*big.Int) (event.Subscription, error) {
- var ownerRule []interface{}
- for _, ownerItem := range owner {
- ownerRule = append(ownerRule, ownerItem)
- }
- var approvedRule []interface{}
- for _, approvedItem := range approved {
- approvedRule = append(approvedRule, approvedItem)
- }
- var tokenIdRule []interface{}
- for _, tokenIdItem := range tokenId {
- tokenIdRule = append(tokenIdRule, tokenIdItem)
- }
- logs, sub, err := _ERC721Enumerable.contract.WatchLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule)
- if err != nil {
- return nil, err
- }
- return event.NewSubscription(func(quit <-chan struct{}) error {
- defer sub.Unsubscribe()
- for {
- select {
- case log := <-logs:
- // New log arrived, parse the event and forward to the user
- event := new(ERC721EnumerableApproval)
- if err := _ERC721Enumerable.contract.UnpackLog(event, "Approval", log); err != nil {
- return err
- }
- event.Raw = log
- select {
- case sink <- event:
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- }
- }), nil
- }
- // ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925.
- //
- // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)
- func (_ERC721Enumerable *ERC721EnumerableFilterer) ParseApproval(log types.Log) (*ERC721EnumerableApproval, error) {
- event := new(ERC721EnumerableApproval)
- if err := _ERC721Enumerable.contract.UnpackLog(event, "Approval", log); err != nil {
- return nil, err
- }
- event.Raw = log
- return event, nil
- }
- // 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.
- type ERC721EnumerableApprovalForAllIterator struct {
- Event *ERC721EnumerableApprovalForAll // Event containing the contract specifics and raw log
- contract *bind.BoundContract // Generic contract to use for unpacking event data
- event string // Event name to use for unpacking event data
- logs chan types.Log // Log channel receiving the found contract events
- sub ethereum.Subscription // Subscription for errors, completion and termination
- done bool // Whether the subscription completed delivering logs
- fail error // Occurred error to stop iteration
- }
- // Next advances the iterator to the subsequent event, returning whether there
- // are any more events found. In case of a retrieval or parsing error, false is
- // returned and Error() can be queried for the exact failure.
- func (it *ERC721EnumerableApprovalForAllIterator) Next() bool {
- // If the iterator failed, stop iterating
- if it.fail != nil {
- return false
- }
- // If the iterator completed, deliver directly whatever's available
- if it.done {
- select {
- case log := <-it.logs:
- it.Event = new(ERC721EnumerableApprovalForAll)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- default:
- return false
- }
- }
- // Iterator still in progress, wait for either a data or an error event
- select {
- case log := <-it.logs:
- it.Event = new(ERC721EnumerableApprovalForAll)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- case err := <-it.sub.Err():
- it.done = true
- it.fail = err
- return it.Next()
- }
- }
- // Error returns any retrieval or parsing error occurred during filtering.
- func (it *ERC721EnumerableApprovalForAllIterator) Error() error {
- return it.fail
- }
- // Close terminates the iteration process, releasing any pending underlying
- // resources.
- func (it *ERC721EnumerableApprovalForAllIterator) Close() error {
- it.sub.Unsubscribe()
- return nil
- }
- // ERC721EnumerableApprovalForAll represents a ApprovalForAll event raised by the ERC721Enumerable contract.
- type ERC721EnumerableApprovalForAll struct {
- Owner common.Address
- Operator common.Address
- Approved bool
- Raw types.Log // Blockchain specific contextual infos
- }
- // FilterApprovalForAll is a free log retrieval operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31.
- //
- // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved)
- func (_ERC721Enumerable *ERC721EnumerableFilterer) FilterApprovalForAll(opts *bind.FilterOpts, owner []common.Address, operator []common.Address) (*ERC721EnumerableApprovalForAllIterator, error) {
- var ownerRule []interface{}
- for _, ownerItem := range owner {
- ownerRule = append(ownerRule, ownerItem)
- }
- var operatorRule []interface{}
- for _, operatorItem := range operator {
- operatorRule = append(operatorRule, operatorItem)
- }
- logs, sub, err := _ERC721Enumerable.contract.FilterLogs(opts, "ApprovalForAll", ownerRule, operatorRule)
- if err != nil {
- return nil, err
- }
- return &ERC721EnumerableApprovalForAllIterator{contract: _ERC721Enumerable.contract, event: "ApprovalForAll", logs: logs, sub: sub}, nil
- }
- // WatchApprovalForAll is a free log subscription operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31.
- //
- // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved)
- func (_ERC721Enumerable *ERC721EnumerableFilterer) WatchApprovalForAll(opts *bind.WatchOpts, sink chan<- *ERC721EnumerableApprovalForAll, owner []common.Address, operator []common.Address) (event.Subscription, error) {
- var ownerRule []interface{}
- for _, ownerItem := range owner {
- ownerRule = append(ownerRule, ownerItem)
- }
- var operatorRule []interface{}
- for _, operatorItem := range operator {
- operatorRule = append(operatorRule, operatorItem)
- }
- logs, sub, err := _ERC721Enumerable.contract.WatchLogs(opts, "ApprovalForAll", ownerRule, operatorRule)
- if err != nil {
- return nil, err
- }
- return event.NewSubscription(func(quit <-chan struct{}) error {
- defer sub.Unsubscribe()
- for {
- select {
- case log := <-logs:
- // New log arrived, parse the event and forward to the user
- event := new(ERC721EnumerableApprovalForAll)
- if err := _ERC721Enumerable.contract.UnpackLog(event, "ApprovalForAll", log); err != nil {
- return err
- }
- event.Raw = log
- select {
- case sink <- event:
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- }
- }), nil
- }
- // ParseApprovalForAll is a log parse operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31.
- //
- // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved)
- func (_ERC721Enumerable *ERC721EnumerableFilterer) ParseApprovalForAll(log types.Log) (*ERC721EnumerableApprovalForAll, error) {
- event := new(ERC721EnumerableApprovalForAll)
- if err := _ERC721Enumerable.contract.UnpackLog(event, "ApprovalForAll", log); err != nil {
- return nil, err
- }
- event.Raw = log
- return event, nil
- }
- // 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.
- type ERC721EnumerableTransferIterator struct {
- Event *ERC721EnumerableTransfer // Event containing the contract specifics and raw log
- contract *bind.BoundContract // Generic contract to use for unpacking event data
- event string // Event name to use for unpacking event data
- logs chan types.Log // Log channel receiving the found contract events
- sub ethereum.Subscription // Subscription for errors, completion and termination
- done bool // Whether the subscription completed delivering logs
- fail error // Occurred error to stop iteration
- }
- // Next advances the iterator to the subsequent event, returning whether there
- // are any more events found. In case of a retrieval or parsing error, false is
- // returned and Error() can be queried for the exact failure.
- func (it *ERC721EnumerableTransferIterator) Next() bool {
- // If the iterator failed, stop iterating
- if it.fail != nil {
- return false
- }
- // If the iterator completed, deliver directly whatever's available
- if it.done {
- select {
- case log := <-it.logs:
- it.Event = new(ERC721EnumerableTransfer)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- default:
- return false
- }
- }
- // Iterator still in progress, wait for either a data or an error event
- select {
- case log := <-it.logs:
- it.Event = new(ERC721EnumerableTransfer)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- case err := <-it.sub.Err():
- it.done = true
- it.fail = err
- return it.Next()
- }
- }
- // Error returns any retrieval or parsing error occurred during filtering.
- func (it *ERC721EnumerableTransferIterator) Error() error {
- return it.fail
- }
- // Close terminates the iteration process, releasing any pending underlying
- // resources.
- func (it *ERC721EnumerableTransferIterator) Close() error {
- it.sub.Unsubscribe()
- return nil
- }
- // ERC721EnumerableTransfer represents a Transfer event raised by the ERC721Enumerable contract.
- type ERC721EnumerableTransfer struct {
- From common.Address
- To common.Address
- TokenId *big.Int
- Raw types.Log // Blockchain specific contextual infos
- }
- // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef.
- //
- // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)
- func (_ERC721Enumerable *ERC721EnumerableFilterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address, tokenId []*big.Int) (*ERC721EnumerableTransferIterator, error) {
- var fromRule []interface{}
- for _, fromItem := range from {
- fromRule = append(fromRule, fromItem)
- }
- var toRule []interface{}
- for _, toItem := range to {
- toRule = append(toRule, toItem)
- }
- var tokenIdRule []interface{}
- for _, tokenIdItem := range tokenId {
- tokenIdRule = append(tokenIdRule, tokenIdItem)
- }
- logs, sub, err := _ERC721Enumerable.contract.FilterLogs(opts, "Transfer", fromRule, toRule, tokenIdRule)
- if err != nil {
- return nil, err
- }
- return &ERC721EnumerableTransferIterator{contract: _ERC721Enumerable.contract, event: "Transfer", logs: logs, sub: sub}, nil
- }
- // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef.
- //
- // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)
- func (_ERC721Enumerable *ERC721EnumerableFilterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *ERC721EnumerableTransfer, from []common.Address, to []common.Address, tokenId []*big.Int) (event.Subscription, error) {
- var fromRule []interface{}
- for _, fromItem := range from {
- fromRule = append(fromRule, fromItem)
- }
- var toRule []interface{}
- for _, toItem := range to {
- toRule = append(toRule, toItem)
- }
- var tokenIdRule []interface{}
- for _, tokenIdItem := range tokenId {
- tokenIdRule = append(tokenIdRule, tokenIdItem)
- }
- logs, sub, err := _ERC721Enumerable.contract.WatchLogs(opts, "Transfer", fromRule, toRule, tokenIdRule)
- if err != nil {
- return nil, err
- }
- return event.NewSubscription(func(quit <-chan struct{}) error {
- defer sub.Unsubscribe()
- for {
- select {
- case log := <-logs:
- // New log arrived, parse the event and forward to the user
- event := new(ERC721EnumerableTransfer)
- if err := _ERC721Enumerable.contract.UnpackLog(event, "Transfer", log); err != nil {
- return err
- }
- event.Raw = log
- select {
- case sink <- event:
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- }
- }), nil
- }
- // ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef.
- //
- // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)
- func (_ERC721Enumerable *ERC721EnumerableFilterer) ParseTransfer(log types.Log) (*ERC721EnumerableTransfer, error) {
- event := new(ERC721EnumerableTransfer)
- if err := _ERC721Enumerable.contract.UnpackLog(event, "Transfer", log); err != nil {
- return nil, err
- }
- event.Raw = log
- return event, nil
- }
- // ERC721URIStorageMetaData contains all meta data concerning the ERC721URIStorage contract.
- var ERC721URIStorageMetaData = &bind.MetaData{
- 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\"}]",
- Sigs: map[string]string{
- "095ea7b3": "approve(address,uint256)",
- "70a08231": "balanceOf(address)",
- "081812fc": "getApproved(uint256)",
- "e985e9c5": "isApprovedForAll(address,address)",
- "06fdde03": "name()",
- "6352211e": "ownerOf(uint256)",
- "42842e0e": "safeTransferFrom(address,address,uint256)",
- "b88d4fde": "safeTransferFrom(address,address,uint256,bytes)",
- "a22cb465": "setApprovalForAll(address,bool)",
- "01ffc9a7": "supportsInterface(bytes4)",
- "95d89b41": "symbol()",
- "c87b56dd": "tokenURI(uint256)",
- "23b872dd": "transferFrom(address,address,uint256)",
- },
- }
- // ERC721URIStorageABI is the input ABI used to generate the binding from.
- // Deprecated: Use ERC721URIStorageMetaData.ABI instead.
- var ERC721URIStorageABI = ERC721URIStorageMetaData.ABI
- // Deprecated: Use ERC721URIStorageMetaData.Sigs instead.
- // ERC721URIStorageFuncSigs maps the 4-byte function signature to its string representation.
- var ERC721URIStorageFuncSigs = ERC721URIStorageMetaData.Sigs
- // ERC721URIStorage is an auto generated Go binding around an Ethereum contract.
- type ERC721URIStorage struct {
- ERC721URIStorageCaller // Read-only binding to the contract
- ERC721URIStorageTransactor // Write-only binding to the contract
- ERC721URIStorageFilterer // Log filterer for contract events
- }
- // ERC721URIStorageCaller is an auto generated read-only Go binding around an Ethereum contract.
- type ERC721URIStorageCaller struct {
- contract *bind.BoundContract // Generic contract wrapper for the low level calls
- }
- // ERC721URIStorageTransactor is an auto generated write-only Go binding around an Ethereum contract.
- type ERC721URIStorageTransactor struct {
- contract *bind.BoundContract // Generic contract wrapper for the low level calls
- }
- // ERC721URIStorageFilterer is an auto generated log filtering Go binding around an Ethereum contract events.
- type ERC721URIStorageFilterer struct {
- contract *bind.BoundContract // Generic contract wrapper for the low level calls
- }
- // ERC721URIStorageSession is an auto generated Go binding around an Ethereum contract,
- // with pre-set call and transact options.
- type ERC721URIStorageSession struct {
- Contract *ERC721URIStorage // Generic contract binding to set the session for
- CallOpts bind.CallOpts // Call options to use throughout this session
- TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
- }
- // ERC721URIStorageCallerSession is an auto generated read-only Go binding around an Ethereum contract,
- // with pre-set call options.
- type ERC721URIStorageCallerSession struct {
- Contract *ERC721URIStorageCaller // Generic contract caller binding to set the session for
- CallOpts bind.CallOpts // Call options to use throughout this session
- }
- // ERC721URIStorageTransactorSession is an auto generated write-only Go binding around an Ethereum contract,
- // with pre-set transact options.
- type ERC721URIStorageTransactorSession struct {
- Contract *ERC721URIStorageTransactor // Generic contract transactor binding to set the session for
- TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
- }
- // ERC721URIStorageRaw is an auto generated low-level Go binding around an Ethereum contract.
- type ERC721URIStorageRaw struct {
- Contract *ERC721URIStorage // Generic contract binding to access the raw methods on
- }
- // ERC721URIStorageCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
- type ERC721URIStorageCallerRaw struct {
- Contract *ERC721URIStorageCaller // Generic read-only contract binding to access the raw methods on
- }
- // ERC721URIStorageTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
- type ERC721URIStorageTransactorRaw struct {
- Contract *ERC721URIStorageTransactor // Generic write-only contract binding to access the raw methods on
- }
- // NewERC721URIStorage creates a new instance of ERC721URIStorage, bound to a specific deployed contract.
- func NewERC721URIStorage(address common.Address, backend bind.ContractBackend) (*ERC721URIStorage, error) {
- contract, err := bindERC721URIStorage(address, backend, backend, backend)
- if err != nil {
- return nil, err
- }
- return &ERC721URIStorage{ERC721URIStorageCaller: ERC721URIStorageCaller{contract: contract}, ERC721URIStorageTransactor: ERC721URIStorageTransactor{contract: contract}, ERC721URIStorageFilterer: ERC721URIStorageFilterer{contract: contract}}, nil
- }
- // NewERC721URIStorageCaller creates a new read-only instance of ERC721URIStorage, bound to a specific deployed contract.
- func NewERC721URIStorageCaller(address common.Address, caller bind.ContractCaller) (*ERC721URIStorageCaller, error) {
- contract, err := bindERC721URIStorage(address, caller, nil, nil)
- if err != nil {
- return nil, err
- }
- return &ERC721URIStorageCaller{contract: contract}, nil
- }
- // NewERC721URIStorageTransactor creates a new write-only instance of ERC721URIStorage, bound to a specific deployed contract.
- func NewERC721URIStorageTransactor(address common.Address, transactor bind.ContractTransactor) (*ERC721URIStorageTransactor, error) {
- contract, err := bindERC721URIStorage(address, nil, transactor, nil)
- if err != nil {
- return nil, err
- }
- return &ERC721URIStorageTransactor{contract: contract}, nil
- }
- // NewERC721URIStorageFilterer creates a new log filterer instance of ERC721URIStorage, bound to a specific deployed contract.
- func NewERC721URIStorageFilterer(address common.Address, filterer bind.ContractFilterer) (*ERC721URIStorageFilterer, error) {
- contract, err := bindERC721URIStorage(address, nil, nil, filterer)
- if err != nil {
- return nil, err
- }
- return &ERC721URIStorageFilterer{contract: contract}, nil
- }
- // bindERC721URIStorage binds a generic wrapper to an already deployed contract.
- func bindERC721URIStorage(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
- parsed, err := abi.JSON(strings.NewReader(ERC721URIStorageABI))
- if err != nil {
- return nil, err
- }
- return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil
- }
- // Call invokes the (constant) contract method with params as input values and
- // sets the output to result. The result type might be a single field for simple
- // returns, a slice of interfaces for anonymous returns and a struct for named
- // returns.
- func (_ERC721URIStorage *ERC721URIStorageRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
- return _ERC721URIStorage.Contract.ERC721URIStorageCaller.contract.Call(opts, result, method, params...)
- }
- // Transfer initiates a plain transaction to move funds to the contract, calling
- // its default method if one is available.
- func (_ERC721URIStorage *ERC721URIStorageRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
- return _ERC721URIStorage.Contract.ERC721URIStorageTransactor.contract.Transfer(opts)
- }
- // Transact invokes the (paid) contract method with params as input values.
- func (_ERC721URIStorage *ERC721URIStorageRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
- return _ERC721URIStorage.Contract.ERC721URIStorageTransactor.contract.Transact(opts, method, params...)
- }
- // Call invokes the (constant) contract method with params as input values and
- // sets the output to result. The result type might be a single field for simple
- // returns, a slice of interfaces for anonymous returns and a struct for named
- // returns.
- func (_ERC721URIStorage *ERC721URIStorageCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
- return _ERC721URIStorage.Contract.contract.Call(opts, result, method, params...)
- }
- // Transfer initiates a plain transaction to move funds to the contract, calling
- // its default method if one is available.
- func (_ERC721URIStorage *ERC721URIStorageTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
- return _ERC721URIStorage.Contract.contract.Transfer(opts)
- }
- // Transact invokes the (paid) contract method with params as input values.
- func (_ERC721URIStorage *ERC721URIStorageTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
- return _ERC721URIStorage.Contract.contract.Transact(opts, method, params...)
- }
- // BalanceOf is a free data retrieval call binding the contract method 0x70a08231.
- //
- // Solidity: function balanceOf(address owner) view returns(uint256)
- func (_ERC721URIStorage *ERC721URIStorageCaller) BalanceOf(opts *bind.CallOpts, owner common.Address) (*big.Int, error) {
- var out []interface{}
- err := _ERC721URIStorage.contract.Call(opts, &out, "balanceOf", owner)
- if err != nil {
- return *new(*big.Int), err
- }
- out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
- return out0, err
- }
- // BalanceOf is a free data retrieval call binding the contract method 0x70a08231.
- //
- // Solidity: function balanceOf(address owner) view returns(uint256)
- func (_ERC721URIStorage *ERC721URIStorageSession) BalanceOf(owner common.Address) (*big.Int, error) {
- return _ERC721URIStorage.Contract.BalanceOf(&_ERC721URIStorage.CallOpts, owner)
- }
- // BalanceOf is a free data retrieval call binding the contract method 0x70a08231.
- //
- // Solidity: function balanceOf(address owner) view returns(uint256)
- func (_ERC721URIStorage *ERC721URIStorageCallerSession) BalanceOf(owner common.Address) (*big.Int, error) {
- return _ERC721URIStorage.Contract.BalanceOf(&_ERC721URIStorage.CallOpts, owner)
- }
- // GetApproved is a free data retrieval call binding the contract method 0x081812fc.
- //
- // Solidity: function getApproved(uint256 tokenId) view returns(address)
- func (_ERC721URIStorage *ERC721URIStorageCaller) GetApproved(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) {
- var out []interface{}
- err := _ERC721URIStorage.contract.Call(opts, &out, "getApproved", tokenId)
- if err != nil {
- return *new(common.Address), err
- }
- out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
- return out0, err
- }
- // GetApproved is a free data retrieval call binding the contract method 0x081812fc.
- //
- // Solidity: function getApproved(uint256 tokenId) view returns(address)
- func (_ERC721URIStorage *ERC721URIStorageSession) GetApproved(tokenId *big.Int) (common.Address, error) {
- return _ERC721URIStorage.Contract.GetApproved(&_ERC721URIStorage.CallOpts, tokenId)
- }
- // GetApproved is a free data retrieval call binding the contract method 0x081812fc.
- //
- // Solidity: function getApproved(uint256 tokenId) view returns(address)
- func (_ERC721URIStorage *ERC721URIStorageCallerSession) GetApproved(tokenId *big.Int) (common.Address, error) {
- return _ERC721URIStorage.Contract.GetApproved(&_ERC721URIStorage.CallOpts, tokenId)
- }
- // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5.
- //
- // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool)
- func (_ERC721URIStorage *ERC721URIStorageCaller) IsApprovedForAll(opts *bind.CallOpts, owner common.Address, operator common.Address) (bool, error) {
- var out []interface{}
- err := _ERC721URIStorage.contract.Call(opts, &out, "isApprovedForAll", owner, operator)
- if err != nil {
- return *new(bool), err
- }
- out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
- return out0, err
- }
- // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5.
- //
- // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool)
- func (_ERC721URIStorage *ERC721URIStorageSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) {
- return _ERC721URIStorage.Contract.IsApprovedForAll(&_ERC721URIStorage.CallOpts, owner, operator)
- }
- // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5.
- //
- // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool)
- func (_ERC721URIStorage *ERC721URIStorageCallerSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) {
- return _ERC721URIStorage.Contract.IsApprovedForAll(&_ERC721URIStorage.CallOpts, owner, operator)
- }
- // Name is a free data retrieval call binding the contract method 0x06fdde03.
- //
- // Solidity: function name() view returns(string)
- func (_ERC721URIStorage *ERC721URIStorageCaller) Name(opts *bind.CallOpts) (string, error) {
- var out []interface{}
- err := _ERC721URIStorage.contract.Call(opts, &out, "name")
- if err != nil {
- return *new(string), err
- }
- out0 := *abi.ConvertType(out[0], new(string)).(*string)
- return out0, err
- }
- // Name is a free data retrieval call binding the contract method 0x06fdde03.
- //
- // Solidity: function name() view returns(string)
- func (_ERC721URIStorage *ERC721URIStorageSession) Name() (string, error) {
- return _ERC721URIStorage.Contract.Name(&_ERC721URIStorage.CallOpts)
- }
- // Name is a free data retrieval call binding the contract method 0x06fdde03.
- //
- // Solidity: function name() view returns(string)
- func (_ERC721URIStorage *ERC721URIStorageCallerSession) Name() (string, error) {
- return _ERC721URIStorage.Contract.Name(&_ERC721URIStorage.CallOpts)
- }
- // OwnerOf is a free data retrieval call binding the contract method 0x6352211e.
- //
- // Solidity: function ownerOf(uint256 tokenId) view returns(address)
- func (_ERC721URIStorage *ERC721URIStorageCaller) OwnerOf(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) {
- var out []interface{}
- err := _ERC721URIStorage.contract.Call(opts, &out, "ownerOf", tokenId)
- if err != nil {
- return *new(common.Address), err
- }
- out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
- return out0, err
- }
- // OwnerOf is a free data retrieval call binding the contract method 0x6352211e.
- //
- // Solidity: function ownerOf(uint256 tokenId) view returns(address)
- func (_ERC721URIStorage *ERC721URIStorageSession) OwnerOf(tokenId *big.Int) (common.Address, error) {
- return _ERC721URIStorage.Contract.OwnerOf(&_ERC721URIStorage.CallOpts, tokenId)
- }
- // OwnerOf is a free data retrieval call binding the contract method 0x6352211e.
- //
- // Solidity: function ownerOf(uint256 tokenId) view returns(address)
- func (_ERC721URIStorage *ERC721URIStorageCallerSession) OwnerOf(tokenId *big.Int) (common.Address, error) {
- return _ERC721URIStorage.Contract.OwnerOf(&_ERC721URIStorage.CallOpts, tokenId)
- }
- // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
- //
- // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
- func (_ERC721URIStorage *ERC721URIStorageCaller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) {
- var out []interface{}
- err := _ERC721URIStorage.contract.Call(opts, &out, "supportsInterface", interfaceId)
- if err != nil {
- return *new(bool), err
- }
- out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
- return out0, err
- }
- // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
- //
- // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
- func (_ERC721URIStorage *ERC721URIStorageSession) SupportsInterface(interfaceId [4]byte) (bool, error) {
- return _ERC721URIStorage.Contract.SupportsInterface(&_ERC721URIStorage.CallOpts, interfaceId)
- }
- // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
- //
- // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
- func (_ERC721URIStorage *ERC721URIStorageCallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) {
- return _ERC721URIStorage.Contract.SupportsInterface(&_ERC721URIStorage.CallOpts, interfaceId)
- }
- // Symbol is a free data retrieval call binding the contract method 0x95d89b41.
- //
- // Solidity: function symbol() view returns(string)
- func (_ERC721URIStorage *ERC721URIStorageCaller) Symbol(opts *bind.CallOpts) (string, error) {
- var out []interface{}
- err := _ERC721URIStorage.contract.Call(opts, &out, "symbol")
- if err != nil {
- return *new(string), err
- }
- out0 := *abi.ConvertType(out[0], new(string)).(*string)
- return out0, err
- }
- // Symbol is a free data retrieval call binding the contract method 0x95d89b41.
- //
- // Solidity: function symbol() view returns(string)
- func (_ERC721URIStorage *ERC721URIStorageSession) Symbol() (string, error) {
- return _ERC721URIStorage.Contract.Symbol(&_ERC721URIStorage.CallOpts)
- }
- // Symbol is a free data retrieval call binding the contract method 0x95d89b41.
- //
- // Solidity: function symbol() view returns(string)
- func (_ERC721URIStorage *ERC721URIStorageCallerSession) Symbol() (string, error) {
- return _ERC721URIStorage.Contract.Symbol(&_ERC721URIStorage.CallOpts)
- }
- // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd.
- //
- // Solidity: function tokenURI(uint256 tokenId) view returns(string)
- func (_ERC721URIStorage *ERC721URIStorageCaller) TokenURI(opts *bind.CallOpts, tokenId *big.Int) (string, error) {
- var out []interface{}
- err := _ERC721URIStorage.contract.Call(opts, &out, "tokenURI", tokenId)
- if err != nil {
- return *new(string), err
- }
- out0 := *abi.ConvertType(out[0], new(string)).(*string)
- return out0, err
- }
- // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd.
- //
- // Solidity: function tokenURI(uint256 tokenId) view returns(string)
- func (_ERC721URIStorage *ERC721URIStorageSession) TokenURI(tokenId *big.Int) (string, error) {
- return _ERC721URIStorage.Contract.TokenURI(&_ERC721URIStorage.CallOpts, tokenId)
- }
- // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd.
- //
- // Solidity: function tokenURI(uint256 tokenId) view returns(string)
- func (_ERC721URIStorage *ERC721URIStorageCallerSession) TokenURI(tokenId *big.Int) (string, error) {
- return _ERC721URIStorage.Contract.TokenURI(&_ERC721URIStorage.CallOpts, tokenId)
- }
- // Approve is a paid mutator transaction binding the contract method 0x095ea7b3.
- //
- // Solidity: function approve(address to, uint256 tokenId) returns()
- func (_ERC721URIStorage *ERC721URIStorageTransactor) Approve(opts *bind.TransactOpts, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
- return _ERC721URIStorage.contract.Transact(opts, "approve", to, tokenId)
- }
- // Approve is a paid mutator transaction binding the contract method 0x095ea7b3.
- //
- // Solidity: function approve(address to, uint256 tokenId) returns()
- func (_ERC721URIStorage *ERC721URIStorageSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) {
- return _ERC721URIStorage.Contract.Approve(&_ERC721URIStorage.TransactOpts, to, tokenId)
- }
- // Approve is a paid mutator transaction binding the contract method 0x095ea7b3.
- //
- // Solidity: function approve(address to, uint256 tokenId) returns()
- func (_ERC721URIStorage *ERC721URIStorageTransactorSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) {
- return _ERC721URIStorage.Contract.Approve(&_ERC721URIStorage.TransactOpts, to, tokenId)
- }
- // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e.
- //
- // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns()
- func (_ERC721URIStorage *ERC721URIStorageTransactor) SafeTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
- return _ERC721URIStorage.contract.Transact(opts, "safeTransferFrom", from, to, tokenId)
- }
- // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e.
- //
- // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns()
- func (_ERC721URIStorage *ERC721URIStorageSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
- return _ERC721URIStorage.Contract.SafeTransferFrom(&_ERC721URIStorage.TransactOpts, from, to, tokenId)
- }
- // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e.
- //
- // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns()
- func (_ERC721URIStorage *ERC721URIStorageTransactorSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
- return _ERC721URIStorage.Contract.SafeTransferFrom(&_ERC721URIStorage.TransactOpts, from, to, tokenId)
- }
- // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde.
- //
- // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns()
- func (_ERC721URIStorage *ERC721URIStorageTransactor) SafeTransferFrom0(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) {
- return _ERC721URIStorage.contract.Transact(opts, "safeTransferFrom0", from, to, tokenId, _data)
- }
- // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde.
- //
- // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns()
- func (_ERC721URIStorage *ERC721URIStorageSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) {
- return _ERC721URIStorage.Contract.SafeTransferFrom0(&_ERC721URIStorage.TransactOpts, from, to, tokenId, _data)
- }
- // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde.
- //
- // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns()
- func (_ERC721URIStorage *ERC721URIStorageTransactorSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) {
- return _ERC721URIStorage.Contract.SafeTransferFrom0(&_ERC721URIStorage.TransactOpts, from, to, tokenId, _data)
- }
- // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465.
- //
- // Solidity: function setApprovalForAll(address operator, bool approved) returns()
- func (_ERC721URIStorage *ERC721URIStorageTransactor) SetApprovalForAll(opts *bind.TransactOpts, operator common.Address, approved bool) (*types.Transaction, error) {
- return _ERC721URIStorage.contract.Transact(opts, "setApprovalForAll", operator, approved)
- }
- // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465.
- //
- // Solidity: function setApprovalForAll(address operator, bool approved) returns()
- func (_ERC721URIStorage *ERC721URIStorageSession) SetApprovalForAll(operator common.Address, approved bool) (*types.Transaction, error) {
- return _ERC721URIStorage.Contract.SetApprovalForAll(&_ERC721URIStorage.TransactOpts, operator, approved)
- }
- // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465.
- //
- // Solidity: function setApprovalForAll(address operator, bool approved) returns()
- func (_ERC721URIStorage *ERC721URIStorageTransactorSession) SetApprovalForAll(operator common.Address, approved bool) (*types.Transaction, error) {
- return _ERC721URIStorage.Contract.SetApprovalForAll(&_ERC721URIStorage.TransactOpts, operator, approved)
- }
- // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd.
- //
- // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns()
- func (_ERC721URIStorage *ERC721URIStorageTransactor) TransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
- return _ERC721URIStorage.contract.Transact(opts, "transferFrom", from, to, tokenId)
- }
- // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd.
- //
- // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns()
- func (_ERC721URIStorage *ERC721URIStorageSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
- return _ERC721URIStorage.Contract.TransferFrom(&_ERC721URIStorage.TransactOpts, from, to, tokenId)
- }
- // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd.
- //
- // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns()
- func (_ERC721URIStorage *ERC721URIStorageTransactorSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
- return _ERC721URIStorage.Contract.TransferFrom(&_ERC721URIStorage.TransactOpts, from, to, tokenId)
- }
- // 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.
- type ERC721URIStorageApprovalIterator struct {
- Event *ERC721URIStorageApproval // Event containing the contract specifics and raw log
- contract *bind.BoundContract // Generic contract to use for unpacking event data
- event string // Event name to use for unpacking event data
- logs chan types.Log // Log channel receiving the found contract events
- sub ethereum.Subscription // Subscription for errors, completion and termination
- done bool // Whether the subscription completed delivering logs
- fail error // Occurred error to stop iteration
- }
- // Next advances the iterator to the subsequent event, returning whether there
- // are any more events found. In case of a retrieval or parsing error, false is
- // returned and Error() can be queried for the exact failure.
- func (it *ERC721URIStorageApprovalIterator) Next() bool {
- // If the iterator failed, stop iterating
- if it.fail != nil {
- return false
- }
- // If the iterator completed, deliver directly whatever's available
- if it.done {
- select {
- case log := <-it.logs:
- it.Event = new(ERC721URIStorageApproval)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- default:
- return false
- }
- }
- // Iterator still in progress, wait for either a data or an error event
- select {
- case log := <-it.logs:
- it.Event = new(ERC721URIStorageApproval)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- case err := <-it.sub.Err():
- it.done = true
- it.fail = err
- return it.Next()
- }
- }
- // Error returns any retrieval or parsing error occurred during filtering.
- func (it *ERC721URIStorageApprovalIterator) Error() error {
- return it.fail
- }
- // Close terminates the iteration process, releasing any pending underlying
- // resources.
- func (it *ERC721URIStorageApprovalIterator) Close() error {
- it.sub.Unsubscribe()
- return nil
- }
- // ERC721URIStorageApproval represents a Approval event raised by the ERC721URIStorage contract.
- type ERC721URIStorageApproval struct {
- Owner common.Address
- Approved common.Address
- TokenId *big.Int
- Raw types.Log // Blockchain specific contextual infos
- }
- // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925.
- //
- // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)
- func (_ERC721URIStorage *ERC721URIStorageFilterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, approved []common.Address, tokenId []*big.Int) (*ERC721URIStorageApprovalIterator, error) {
- var ownerRule []interface{}
- for _, ownerItem := range owner {
- ownerRule = append(ownerRule, ownerItem)
- }
- var approvedRule []interface{}
- for _, approvedItem := range approved {
- approvedRule = append(approvedRule, approvedItem)
- }
- var tokenIdRule []interface{}
- for _, tokenIdItem := range tokenId {
- tokenIdRule = append(tokenIdRule, tokenIdItem)
- }
- logs, sub, err := _ERC721URIStorage.contract.FilterLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule)
- if err != nil {
- return nil, err
- }
- return &ERC721URIStorageApprovalIterator{contract: _ERC721URIStorage.contract, event: "Approval", logs: logs, sub: sub}, nil
- }
- // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925.
- //
- // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)
- func (_ERC721URIStorage *ERC721URIStorageFilterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *ERC721URIStorageApproval, owner []common.Address, approved []common.Address, tokenId []*big.Int) (event.Subscription, error) {
- var ownerRule []interface{}
- for _, ownerItem := range owner {
- ownerRule = append(ownerRule, ownerItem)
- }
- var approvedRule []interface{}
- for _, approvedItem := range approved {
- approvedRule = append(approvedRule, approvedItem)
- }
- var tokenIdRule []interface{}
- for _, tokenIdItem := range tokenId {
- tokenIdRule = append(tokenIdRule, tokenIdItem)
- }
- logs, sub, err := _ERC721URIStorage.contract.WatchLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule)
- if err != nil {
- return nil, err
- }
- return event.NewSubscription(func(quit <-chan struct{}) error {
- defer sub.Unsubscribe()
- for {
- select {
- case log := <-logs:
- // New log arrived, parse the event and forward to the user
- event := new(ERC721URIStorageApproval)
- if err := _ERC721URIStorage.contract.UnpackLog(event, "Approval", log); err != nil {
- return err
- }
- event.Raw = log
- select {
- case sink <- event:
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- }
- }), nil
- }
- // ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925.
- //
- // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)
- func (_ERC721URIStorage *ERC721URIStorageFilterer) ParseApproval(log types.Log) (*ERC721URIStorageApproval, error) {
- event := new(ERC721URIStorageApproval)
- if err := _ERC721URIStorage.contract.UnpackLog(event, "Approval", log); err != nil {
- return nil, err
- }
- event.Raw = log
- return event, nil
- }
- // 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.
- type ERC721URIStorageApprovalForAllIterator struct {
- Event *ERC721URIStorageApprovalForAll // Event containing the contract specifics and raw log
- contract *bind.BoundContract // Generic contract to use for unpacking event data
- event string // Event name to use for unpacking event data
- logs chan types.Log // Log channel receiving the found contract events
- sub ethereum.Subscription // Subscription for errors, completion and termination
- done bool // Whether the subscription completed delivering logs
- fail error // Occurred error to stop iteration
- }
- // Next advances the iterator to the subsequent event, returning whether there
- // are any more events found. In case of a retrieval or parsing error, false is
- // returned and Error() can be queried for the exact failure.
- func (it *ERC721URIStorageApprovalForAllIterator) Next() bool {
- // If the iterator failed, stop iterating
- if it.fail != nil {
- return false
- }
- // If the iterator completed, deliver directly whatever's available
- if it.done {
- select {
- case log := <-it.logs:
- it.Event = new(ERC721URIStorageApprovalForAll)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- default:
- return false
- }
- }
- // Iterator still in progress, wait for either a data or an error event
- select {
- case log := <-it.logs:
- it.Event = new(ERC721URIStorageApprovalForAll)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- case err := <-it.sub.Err():
- it.done = true
- it.fail = err
- return it.Next()
- }
- }
- // Error returns any retrieval or parsing error occurred during filtering.
- func (it *ERC721URIStorageApprovalForAllIterator) Error() error {
- return it.fail
- }
- // Close terminates the iteration process, releasing any pending underlying
- // resources.
- func (it *ERC721URIStorageApprovalForAllIterator) Close() error {
- it.sub.Unsubscribe()
- return nil
- }
- // ERC721URIStorageApprovalForAll represents a ApprovalForAll event raised by the ERC721URIStorage contract.
- type ERC721URIStorageApprovalForAll struct {
- Owner common.Address
- Operator common.Address
- Approved bool
- Raw types.Log // Blockchain specific contextual infos
- }
- // FilterApprovalForAll is a free log retrieval operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31.
- //
- // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved)
- func (_ERC721URIStorage *ERC721URIStorageFilterer) FilterApprovalForAll(opts *bind.FilterOpts, owner []common.Address, operator []common.Address) (*ERC721URIStorageApprovalForAllIterator, error) {
- var ownerRule []interface{}
- for _, ownerItem := range owner {
- ownerRule = append(ownerRule, ownerItem)
- }
- var operatorRule []interface{}
- for _, operatorItem := range operator {
- operatorRule = append(operatorRule, operatorItem)
- }
- logs, sub, err := _ERC721URIStorage.contract.FilterLogs(opts, "ApprovalForAll", ownerRule, operatorRule)
- if err != nil {
- return nil, err
- }
- return &ERC721URIStorageApprovalForAllIterator{contract: _ERC721URIStorage.contract, event: "ApprovalForAll", logs: logs, sub: sub}, nil
- }
- // WatchApprovalForAll is a free log subscription operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31.
- //
- // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved)
- func (_ERC721URIStorage *ERC721URIStorageFilterer) WatchApprovalForAll(opts *bind.WatchOpts, sink chan<- *ERC721URIStorageApprovalForAll, owner []common.Address, operator []common.Address) (event.Subscription, error) {
- var ownerRule []interface{}
- for _, ownerItem := range owner {
- ownerRule = append(ownerRule, ownerItem)
- }
- var operatorRule []interface{}
- for _, operatorItem := range operator {
- operatorRule = append(operatorRule, operatorItem)
- }
- logs, sub, err := _ERC721URIStorage.contract.WatchLogs(opts, "ApprovalForAll", ownerRule, operatorRule)
- if err != nil {
- return nil, err
- }
- return event.NewSubscription(func(quit <-chan struct{}) error {
- defer sub.Unsubscribe()
- for {
- select {
- case log := <-logs:
- // New log arrived, parse the event and forward to the user
- event := new(ERC721URIStorageApprovalForAll)
- if err := _ERC721URIStorage.contract.UnpackLog(event, "ApprovalForAll", log); err != nil {
- return err
- }
- event.Raw = log
- select {
- case sink <- event:
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- }
- }), nil
- }
- // ParseApprovalForAll is a log parse operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31.
- //
- // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved)
- func (_ERC721URIStorage *ERC721URIStorageFilterer) ParseApprovalForAll(log types.Log) (*ERC721URIStorageApprovalForAll, error) {
- event := new(ERC721URIStorageApprovalForAll)
- if err := _ERC721URIStorage.contract.UnpackLog(event, "ApprovalForAll", log); err != nil {
- return nil, err
- }
- event.Raw = log
- return event, nil
- }
- // 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.
- type ERC721URIStorageTransferIterator struct {
- Event *ERC721URIStorageTransfer // Event containing the contract specifics and raw log
- contract *bind.BoundContract // Generic contract to use for unpacking event data
- event string // Event name to use for unpacking event data
- logs chan types.Log // Log channel receiving the found contract events
- sub ethereum.Subscription // Subscription for errors, completion and termination
- done bool // Whether the subscription completed delivering logs
- fail error // Occurred error to stop iteration
- }
- // Next advances the iterator to the subsequent event, returning whether there
- // are any more events found. In case of a retrieval or parsing error, false is
- // returned and Error() can be queried for the exact failure.
- func (it *ERC721URIStorageTransferIterator) Next() bool {
- // If the iterator failed, stop iterating
- if it.fail != nil {
- return false
- }
- // If the iterator completed, deliver directly whatever's available
- if it.done {
- select {
- case log := <-it.logs:
- it.Event = new(ERC721URIStorageTransfer)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- default:
- return false
- }
- }
- // Iterator still in progress, wait for either a data or an error event
- select {
- case log := <-it.logs:
- it.Event = new(ERC721URIStorageTransfer)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- case err := <-it.sub.Err():
- it.done = true
- it.fail = err
- return it.Next()
- }
- }
- // Error returns any retrieval or parsing error occurred during filtering.
- func (it *ERC721URIStorageTransferIterator) Error() error {
- return it.fail
- }
- // Close terminates the iteration process, releasing any pending underlying
- // resources.
- func (it *ERC721URIStorageTransferIterator) Close() error {
- it.sub.Unsubscribe()
- return nil
- }
- // ERC721URIStorageTransfer represents a Transfer event raised by the ERC721URIStorage contract.
- type ERC721URIStorageTransfer struct {
- From common.Address
- To common.Address
- TokenId *big.Int
- Raw types.Log // Blockchain specific contextual infos
- }
- // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef.
- //
- // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)
- func (_ERC721URIStorage *ERC721URIStorageFilterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address, tokenId []*big.Int) (*ERC721URIStorageTransferIterator, error) {
- var fromRule []interface{}
- for _, fromItem := range from {
- fromRule = append(fromRule, fromItem)
- }
- var toRule []interface{}
- for _, toItem := range to {
- toRule = append(toRule, toItem)
- }
- var tokenIdRule []interface{}
- for _, tokenIdItem := range tokenId {
- tokenIdRule = append(tokenIdRule, tokenIdItem)
- }
- logs, sub, err := _ERC721URIStorage.contract.FilterLogs(opts, "Transfer", fromRule, toRule, tokenIdRule)
- if err != nil {
- return nil, err
- }
- return &ERC721URIStorageTransferIterator{contract: _ERC721URIStorage.contract, event: "Transfer", logs: logs, sub: sub}, nil
- }
- // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef.
- //
- // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)
- func (_ERC721URIStorage *ERC721URIStorageFilterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *ERC721URIStorageTransfer, from []common.Address, to []common.Address, tokenId []*big.Int) (event.Subscription, error) {
- var fromRule []interface{}
- for _, fromItem := range from {
- fromRule = append(fromRule, fromItem)
- }
- var toRule []interface{}
- for _, toItem := range to {
- toRule = append(toRule, toItem)
- }
- var tokenIdRule []interface{}
- for _, tokenIdItem := range tokenId {
- tokenIdRule = append(tokenIdRule, tokenIdItem)
- }
- logs, sub, err := _ERC721URIStorage.contract.WatchLogs(opts, "Transfer", fromRule, toRule, tokenIdRule)
- if err != nil {
- return nil, err
- }
- return event.NewSubscription(func(quit <-chan struct{}) error {
- defer sub.Unsubscribe()
- for {
- select {
- case log := <-logs:
- // New log arrived, parse the event and forward to the user
- event := new(ERC721URIStorageTransfer)
- if err := _ERC721URIStorage.contract.UnpackLog(event, "Transfer", log); err != nil {
- return err
- }
- event.Raw = log
- select {
- case sink <- event:
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- }
- }), nil
- }
- // ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef.
- //
- // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)
- func (_ERC721URIStorage *ERC721URIStorageFilterer) ParseTransfer(log types.Log) (*ERC721URIStorageTransfer, error) {
- event := new(ERC721URIStorageTransfer)
- if err := _ERC721URIStorage.contract.UnpackLog(event, "Transfer", log); err != nil {
- return nil, err
- }
- event.Raw = log
- return event, nil
- }
- // EnumerableSetMetaData contains all meta data concerning the EnumerableSet contract.
- var EnumerableSetMetaData = &bind.MetaData{
- ABI: "[]",
- Bin: "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220da9c05491e529ef70e6aedbeab1e490aae2d6489c62494c898afed13e14f139564736f6c63430008010033",
- }
- // EnumerableSetABI is the input ABI used to generate the binding from.
- // Deprecated: Use EnumerableSetMetaData.ABI instead.
- var EnumerableSetABI = EnumerableSetMetaData.ABI
- // EnumerableSetBin is the compiled bytecode used for deploying new contracts.
- // Deprecated: Use EnumerableSetMetaData.Bin instead.
- var EnumerableSetBin = EnumerableSetMetaData.Bin
- // DeployEnumerableSet deploys a new Ethereum contract, binding an instance of EnumerableSet to it.
- func DeployEnumerableSet(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *EnumerableSet, error) {
- parsed, err := EnumerableSetMetaData.GetAbi()
- if err != nil {
- return common.Address{}, nil, nil, err
- }
- if parsed == nil {
- return common.Address{}, nil, nil, errors.New("GetABI returned nil")
- }
- address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(EnumerableSetBin), backend)
- if err != nil {
- return common.Address{}, nil, nil, err
- }
- return address, tx, &EnumerableSet{EnumerableSetCaller: EnumerableSetCaller{contract: contract}, EnumerableSetTransactor: EnumerableSetTransactor{contract: contract}, EnumerableSetFilterer: EnumerableSetFilterer{contract: contract}}, nil
- }
- // EnumerableSet is an auto generated Go binding around an Ethereum contract.
- type EnumerableSet struct {
- EnumerableSetCaller // Read-only binding to the contract
- EnumerableSetTransactor // Write-only binding to the contract
- EnumerableSetFilterer // Log filterer for contract events
- }
- // EnumerableSetCaller is an auto generated read-only Go binding around an Ethereum contract.
- type EnumerableSetCaller struct {
- contract *bind.BoundContract // Generic contract wrapper for the low level calls
- }
- // EnumerableSetTransactor is an auto generated write-only Go binding around an Ethereum contract.
- type EnumerableSetTransactor struct {
- contract *bind.BoundContract // Generic contract wrapper for the low level calls
- }
- // EnumerableSetFilterer is an auto generated log filtering Go binding around an Ethereum contract events.
- type EnumerableSetFilterer struct {
- contract *bind.BoundContract // Generic contract wrapper for the low level calls
- }
- // EnumerableSetSession is an auto generated Go binding around an Ethereum contract,
- // with pre-set call and transact options.
- type EnumerableSetSession struct {
- Contract *EnumerableSet // Generic contract binding to set the session for
- CallOpts bind.CallOpts // Call options to use throughout this session
- TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
- }
- // EnumerableSetCallerSession is an auto generated read-only Go binding around an Ethereum contract,
- // with pre-set call options.
- type EnumerableSetCallerSession struct {
- Contract *EnumerableSetCaller // Generic contract caller binding to set the session for
- CallOpts bind.CallOpts // Call options to use throughout this session
- }
- // EnumerableSetTransactorSession is an auto generated write-only Go binding around an Ethereum contract,
- // with pre-set transact options.
- type EnumerableSetTransactorSession struct {
- Contract *EnumerableSetTransactor // Generic contract transactor binding to set the session for
- TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
- }
- // EnumerableSetRaw is an auto generated low-level Go binding around an Ethereum contract.
- type EnumerableSetRaw struct {
- Contract *EnumerableSet // Generic contract binding to access the raw methods on
- }
- // EnumerableSetCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
- type EnumerableSetCallerRaw struct {
- Contract *EnumerableSetCaller // Generic read-only contract binding to access the raw methods on
- }
- // EnumerableSetTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
- type EnumerableSetTransactorRaw struct {
- Contract *EnumerableSetTransactor // Generic write-only contract binding to access the raw methods on
- }
- // NewEnumerableSet creates a new instance of EnumerableSet, bound to a specific deployed contract.
- func NewEnumerableSet(address common.Address, backend bind.ContractBackend) (*EnumerableSet, error) {
- contract, err := bindEnumerableSet(address, backend, backend, backend)
- if err != nil {
- return nil, err
- }
- return &EnumerableSet{EnumerableSetCaller: EnumerableSetCaller{contract: contract}, EnumerableSetTransactor: EnumerableSetTransactor{contract: contract}, EnumerableSetFilterer: EnumerableSetFilterer{contract: contract}}, nil
- }
- // NewEnumerableSetCaller creates a new read-only instance of EnumerableSet, bound to a specific deployed contract.
- func NewEnumerableSetCaller(address common.Address, caller bind.ContractCaller) (*EnumerableSetCaller, error) {
- contract, err := bindEnumerableSet(address, caller, nil, nil)
- if err != nil {
- return nil, err
- }
- return &EnumerableSetCaller{contract: contract}, nil
- }
- // NewEnumerableSetTransactor creates a new write-only instance of EnumerableSet, bound to a specific deployed contract.
- func NewEnumerableSetTransactor(address common.Address, transactor bind.ContractTransactor) (*EnumerableSetTransactor, error) {
- contract, err := bindEnumerableSet(address, nil, transactor, nil)
- if err != nil {
- return nil, err
- }
- return &EnumerableSetTransactor{contract: contract}, nil
- }
- // NewEnumerableSetFilterer creates a new log filterer instance of EnumerableSet, bound to a specific deployed contract.
- func NewEnumerableSetFilterer(address common.Address, filterer bind.ContractFilterer) (*EnumerableSetFilterer, error) {
- contract, err := bindEnumerableSet(address, nil, nil, filterer)
- if err != nil {
- return nil, err
- }
- return &EnumerableSetFilterer{contract: contract}, nil
- }
- // bindEnumerableSet binds a generic wrapper to an already deployed contract.
- func bindEnumerableSet(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
- parsed, err := abi.JSON(strings.NewReader(EnumerableSetABI))
- if err != nil {
- return nil, err
- }
- return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil
- }
- // Call invokes the (constant) contract method with params as input values and
- // sets the output to result. The result type might be a single field for simple
- // returns, a slice of interfaces for anonymous returns and a struct for named
- // returns.
- func (_EnumerableSet *EnumerableSetRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
- return _EnumerableSet.Contract.EnumerableSetCaller.contract.Call(opts, result, method, params...)
- }
- // Transfer initiates a plain transaction to move funds to the contract, calling
- // its default method if one is available.
- func (_EnumerableSet *EnumerableSetRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
- return _EnumerableSet.Contract.EnumerableSetTransactor.contract.Transfer(opts)
- }
- // Transact invokes the (paid) contract method with params as input values.
- func (_EnumerableSet *EnumerableSetRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
- return _EnumerableSet.Contract.EnumerableSetTransactor.contract.Transact(opts, method, params...)
- }
- // Call invokes the (constant) contract method with params as input values and
- // sets the output to result. The result type might be a single field for simple
- // returns, a slice of interfaces for anonymous returns and a struct for named
- // returns.
- func (_EnumerableSet *EnumerableSetCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
- return _EnumerableSet.Contract.contract.Call(opts, result, method, params...)
- }
- // Transfer initiates a plain transaction to move funds to the contract, calling
- // its default method if one is available.
- func (_EnumerableSet *EnumerableSetTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
- return _EnumerableSet.Contract.contract.Transfer(opts)
- }
- // Transact invokes the (paid) contract method with params as input values.
- func (_EnumerableSet *EnumerableSetTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
- return _EnumerableSet.Contract.contract.Transact(opts, method, params...)
- }
- // IAccessControlMetaData contains all meta data concerning the IAccessControl contract.
- var IAccessControlMetaData = &bind.MetaData{
- 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\"}]",
- Sigs: map[string]string{
- "248a9ca3": "getRoleAdmin(bytes32)",
- "2f2ff15d": "grantRole(bytes32,address)",
- "91d14854": "hasRole(bytes32,address)",
- "36568abe": "renounceRole(bytes32,address)",
- "d547741f": "revokeRole(bytes32,address)",
- },
- }
- // IAccessControlABI is the input ABI used to generate the binding from.
- // Deprecated: Use IAccessControlMetaData.ABI instead.
- var IAccessControlABI = IAccessControlMetaData.ABI
- // Deprecated: Use IAccessControlMetaData.Sigs instead.
- // IAccessControlFuncSigs maps the 4-byte function signature to its string representation.
- var IAccessControlFuncSigs = IAccessControlMetaData.Sigs
- // IAccessControl is an auto generated Go binding around an Ethereum contract.
- type IAccessControl struct {
- IAccessControlCaller // Read-only binding to the contract
- IAccessControlTransactor // Write-only binding to the contract
- IAccessControlFilterer // Log filterer for contract events
- }
- // IAccessControlCaller is an auto generated read-only Go binding around an Ethereum contract.
- type IAccessControlCaller struct {
- contract *bind.BoundContract // Generic contract wrapper for the low level calls
- }
- // IAccessControlTransactor is an auto generated write-only Go binding around an Ethereum contract.
- type IAccessControlTransactor struct {
- contract *bind.BoundContract // Generic contract wrapper for the low level calls
- }
- // IAccessControlFilterer is an auto generated log filtering Go binding around an Ethereum contract events.
- type IAccessControlFilterer struct {
- contract *bind.BoundContract // Generic contract wrapper for the low level calls
- }
- // IAccessControlSession is an auto generated Go binding around an Ethereum contract,
- // with pre-set call and transact options.
- type IAccessControlSession struct {
- Contract *IAccessControl // Generic contract binding to set the session for
- CallOpts bind.CallOpts // Call options to use throughout this session
- TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
- }
- // IAccessControlCallerSession is an auto generated read-only Go binding around an Ethereum contract,
- // with pre-set call options.
- type IAccessControlCallerSession struct {
- Contract *IAccessControlCaller // Generic contract caller binding to set the session for
- CallOpts bind.CallOpts // Call options to use throughout this session
- }
- // IAccessControlTransactorSession is an auto generated write-only Go binding around an Ethereum contract,
- // with pre-set transact options.
- type IAccessControlTransactorSession struct {
- Contract *IAccessControlTransactor // Generic contract transactor binding to set the session for
- TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
- }
- // IAccessControlRaw is an auto generated low-level Go binding around an Ethereum contract.
- type IAccessControlRaw struct {
- Contract *IAccessControl // Generic contract binding to access the raw methods on
- }
- // IAccessControlCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
- type IAccessControlCallerRaw struct {
- Contract *IAccessControlCaller // Generic read-only contract binding to access the raw methods on
- }
- // IAccessControlTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
- type IAccessControlTransactorRaw struct {
- Contract *IAccessControlTransactor // Generic write-only contract binding to access the raw methods on
- }
- // NewIAccessControl creates a new instance of IAccessControl, bound to a specific deployed contract.
- func NewIAccessControl(address common.Address, backend bind.ContractBackend) (*IAccessControl, error) {
- contract, err := bindIAccessControl(address, backend, backend, backend)
- if err != nil {
- return nil, err
- }
- return &IAccessControl{IAccessControlCaller: IAccessControlCaller{contract: contract}, IAccessControlTransactor: IAccessControlTransactor{contract: contract}, IAccessControlFilterer: IAccessControlFilterer{contract: contract}}, nil
- }
- // NewIAccessControlCaller creates a new read-only instance of IAccessControl, bound to a specific deployed contract.
- func NewIAccessControlCaller(address common.Address, caller bind.ContractCaller) (*IAccessControlCaller, error) {
- contract, err := bindIAccessControl(address, caller, nil, nil)
- if err != nil {
- return nil, err
- }
- return &IAccessControlCaller{contract: contract}, nil
- }
- // NewIAccessControlTransactor creates a new write-only instance of IAccessControl, bound to a specific deployed contract.
- func NewIAccessControlTransactor(address common.Address, transactor bind.ContractTransactor) (*IAccessControlTransactor, error) {
- contract, err := bindIAccessControl(address, nil, transactor, nil)
- if err != nil {
- return nil, err
- }
- return &IAccessControlTransactor{contract: contract}, nil
- }
- // NewIAccessControlFilterer creates a new log filterer instance of IAccessControl, bound to a specific deployed contract.
- func NewIAccessControlFilterer(address common.Address, filterer bind.ContractFilterer) (*IAccessControlFilterer, error) {
- contract, err := bindIAccessControl(address, nil, nil, filterer)
- if err != nil {
- return nil, err
- }
- return &IAccessControlFilterer{contract: contract}, nil
- }
- // bindIAccessControl binds a generic wrapper to an already deployed contract.
- func bindIAccessControl(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
- parsed, err := abi.JSON(strings.NewReader(IAccessControlABI))
- if err != nil {
- return nil, err
- }
- return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil
- }
- // Call invokes the (constant) contract method with params as input values and
- // sets the output to result. The result type might be a single field for simple
- // returns, a slice of interfaces for anonymous returns and a struct for named
- // returns.
- func (_IAccessControl *IAccessControlRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
- return _IAccessControl.Contract.IAccessControlCaller.contract.Call(opts, result, method, params...)
- }
- // Transfer initiates a plain transaction to move funds to the contract, calling
- // its default method if one is available.
- func (_IAccessControl *IAccessControlRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
- return _IAccessControl.Contract.IAccessControlTransactor.contract.Transfer(opts)
- }
- // Transact invokes the (paid) contract method with params as input values.
- func (_IAccessControl *IAccessControlRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
- return _IAccessControl.Contract.IAccessControlTransactor.contract.Transact(opts, method, params...)
- }
- // Call invokes the (constant) contract method with params as input values and
- // sets the output to result. The result type might be a single field for simple
- // returns, a slice of interfaces for anonymous returns and a struct for named
- // returns.
- func (_IAccessControl *IAccessControlCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
- return _IAccessControl.Contract.contract.Call(opts, result, method, params...)
- }
- // Transfer initiates a plain transaction to move funds to the contract, calling
- // its default method if one is available.
- func (_IAccessControl *IAccessControlTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
- return _IAccessControl.Contract.contract.Transfer(opts)
- }
- // Transact invokes the (paid) contract method with params as input values.
- func (_IAccessControl *IAccessControlTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
- return _IAccessControl.Contract.contract.Transact(opts, method, params...)
- }
- // GetRoleAdmin is a free data retrieval call binding the contract method 0x248a9ca3.
- //
- // Solidity: function getRoleAdmin(bytes32 role) view returns(bytes32)
- func (_IAccessControl *IAccessControlCaller) GetRoleAdmin(opts *bind.CallOpts, role [32]byte) ([32]byte, error) {
- var out []interface{}
- err := _IAccessControl.contract.Call(opts, &out, "getRoleAdmin", role)
- if err != nil {
- return *new([32]byte), err
- }
- out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte)
- return out0, err
- }
- // GetRoleAdmin is a free data retrieval call binding the contract method 0x248a9ca3.
- //
- // Solidity: function getRoleAdmin(bytes32 role) view returns(bytes32)
- func (_IAccessControl *IAccessControlSession) GetRoleAdmin(role [32]byte) ([32]byte, error) {
- return _IAccessControl.Contract.GetRoleAdmin(&_IAccessControl.CallOpts, role)
- }
- // GetRoleAdmin is a free data retrieval call binding the contract method 0x248a9ca3.
- //
- // Solidity: function getRoleAdmin(bytes32 role) view returns(bytes32)
- func (_IAccessControl *IAccessControlCallerSession) GetRoleAdmin(role [32]byte) ([32]byte, error) {
- return _IAccessControl.Contract.GetRoleAdmin(&_IAccessControl.CallOpts, role)
- }
- // HasRole is a free data retrieval call binding the contract method 0x91d14854.
- //
- // Solidity: function hasRole(bytes32 role, address account) view returns(bool)
- func (_IAccessControl *IAccessControlCaller) HasRole(opts *bind.CallOpts, role [32]byte, account common.Address) (bool, error) {
- var out []interface{}
- err := _IAccessControl.contract.Call(opts, &out, "hasRole", role, account)
- if err != nil {
- return *new(bool), err
- }
- out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
- return out0, err
- }
- // HasRole is a free data retrieval call binding the contract method 0x91d14854.
- //
- // Solidity: function hasRole(bytes32 role, address account) view returns(bool)
- func (_IAccessControl *IAccessControlSession) HasRole(role [32]byte, account common.Address) (bool, error) {
- return _IAccessControl.Contract.HasRole(&_IAccessControl.CallOpts, role, account)
- }
- // HasRole is a free data retrieval call binding the contract method 0x91d14854.
- //
- // Solidity: function hasRole(bytes32 role, address account) view returns(bool)
- func (_IAccessControl *IAccessControlCallerSession) HasRole(role [32]byte, account common.Address) (bool, error) {
- return _IAccessControl.Contract.HasRole(&_IAccessControl.CallOpts, role, account)
- }
- // GrantRole is a paid mutator transaction binding the contract method 0x2f2ff15d.
- //
- // Solidity: function grantRole(bytes32 role, address account) returns()
- func (_IAccessControl *IAccessControlTransactor) GrantRole(opts *bind.TransactOpts, role [32]byte, account common.Address) (*types.Transaction, error) {
- return _IAccessControl.contract.Transact(opts, "grantRole", role, account)
- }
- // GrantRole is a paid mutator transaction binding the contract method 0x2f2ff15d.
- //
- // Solidity: function grantRole(bytes32 role, address account) returns()
- func (_IAccessControl *IAccessControlSession) GrantRole(role [32]byte, account common.Address) (*types.Transaction, error) {
- return _IAccessControl.Contract.GrantRole(&_IAccessControl.TransactOpts, role, account)
- }
- // GrantRole is a paid mutator transaction binding the contract method 0x2f2ff15d.
- //
- // Solidity: function grantRole(bytes32 role, address account) returns()
- func (_IAccessControl *IAccessControlTransactorSession) GrantRole(role [32]byte, account common.Address) (*types.Transaction, error) {
- return _IAccessControl.Contract.GrantRole(&_IAccessControl.TransactOpts, role, account)
- }
- // RenounceRole is a paid mutator transaction binding the contract method 0x36568abe.
- //
- // Solidity: function renounceRole(bytes32 role, address account) returns()
- func (_IAccessControl *IAccessControlTransactor) RenounceRole(opts *bind.TransactOpts, role [32]byte, account common.Address) (*types.Transaction, error) {
- return _IAccessControl.contract.Transact(opts, "renounceRole", role, account)
- }
- // RenounceRole is a paid mutator transaction binding the contract method 0x36568abe.
- //
- // Solidity: function renounceRole(bytes32 role, address account) returns()
- func (_IAccessControl *IAccessControlSession) RenounceRole(role [32]byte, account common.Address) (*types.Transaction, error) {
- return _IAccessControl.Contract.RenounceRole(&_IAccessControl.TransactOpts, role, account)
- }
- // RenounceRole is a paid mutator transaction binding the contract method 0x36568abe.
- //
- // Solidity: function renounceRole(bytes32 role, address account) returns()
- func (_IAccessControl *IAccessControlTransactorSession) RenounceRole(role [32]byte, account common.Address) (*types.Transaction, error) {
- return _IAccessControl.Contract.RenounceRole(&_IAccessControl.TransactOpts, role, account)
- }
- // RevokeRole is a paid mutator transaction binding the contract method 0xd547741f.
- //
- // Solidity: function revokeRole(bytes32 role, address account) returns()
- func (_IAccessControl *IAccessControlTransactor) RevokeRole(opts *bind.TransactOpts, role [32]byte, account common.Address) (*types.Transaction, error) {
- return _IAccessControl.contract.Transact(opts, "revokeRole", role, account)
- }
- // RevokeRole is a paid mutator transaction binding the contract method 0xd547741f.
- //
- // Solidity: function revokeRole(bytes32 role, address account) returns()
- func (_IAccessControl *IAccessControlSession) RevokeRole(role [32]byte, account common.Address) (*types.Transaction, error) {
- return _IAccessControl.Contract.RevokeRole(&_IAccessControl.TransactOpts, role, account)
- }
- // RevokeRole is a paid mutator transaction binding the contract method 0xd547741f.
- //
- // Solidity: function revokeRole(bytes32 role, address account) returns()
- func (_IAccessControl *IAccessControlTransactorSession) RevokeRole(role [32]byte, account common.Address) (*types.Transaction, error) {
- return _IAccessControl.Contract.RevokeRole(&_IAccessControl.TransactOpts, role, account)
- }
- // 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.
- type IAccessControlRoleAdminChangedIterator struct {
- Event *IAccessControlRoleAdminChanged // Event containing the contract specifics and raw log
- contract *bind.BoundContract // Generic contract to use for unpacking event data
- event string // Event name to use for unpacking event data
- logs chan types.Log // Log channel receiving the found contract events
- sub ethereum.Subscription // Subscription for errors, completion and termination
- done bool // Whether the subscription completed delivering logs
- fail error // Occurred error to stop iteration
- }
- // Next advances the iterator to the subsequent event, returning whether there
- // are any more events found. In case of a retrieval or parsing error, false is
- // returned and Error() can be queried for the exact failure.
- func (it *IAccessControlRoleAdminChangedIterator) Next() bool {
- // If the iterator failed, stop iterating
- if it.fail != nil {
- return false
- }
- // If the iterator completed, deliver directly whatever's available
- if it.done {
- select {
- case log := <-it.logs:
- it.Event = new(IAccessControlRoleAdminChanged)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- default:
- return false
- }
- }
- // Iterator still in progress, wait for either a data or an error event
- select {
- case log := <-it.logs:
- it.Event = new(IAccessControlRoleAdminChanged)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- case err := <-it.sub.Err():
- it.done = true
- it.fail = err
- return it.Next()
- }
- }
- // Error returns any retrieval or parsing error occurred during filtering.
- func (it *IAccessControlRoleAdminChangedIterator) Error() error {
- return it.fail
- }
- // Close terminates the iteration process, releasing any pending underlying
- // resources.
- func (it *IAccessControlRoleAdminChangedIterator) Close() error {
- it.sub.Unsubscribe()
- return nil
- }
- // IAccessControlRoleAdminChanged represents a RoleAdminChanged event raised by the IAccessControl contract.
- type IAccessControlRoleAdminChanged struct {
- Role [32]byte
- PreviousAdminRole [32]byte
- NewAdminRole [32]byte
- Raw types.Log // Blockchain specific contextual infos
- }
- // FilterRoleAdminChanged is a free log retrieval operation binding the contract event 0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff.
- //
- // Solidity: event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)
- func (_IAccessControl *IAccessControlFilterer) FilterRoleAdminChanged(opts *bind.FilterOpts, role [][32]byte, previousAdminRole [][32]byte, newAdminRole [][32]byte) (*IAccessControlRoleAdminChangedIterator, error) {
- var roleRule []interface{}
- for _, roleItem := range role {
- roleRule = append(roleRule, roleItem)
- }
- var previousAdminRoleRule []interface{}
- for _, previousAdminRoleItem := range previousAdminRole {
- previousAdminRoleRule = append(previousAdminRoleRule, previousAdminRoleItem)
- }
- var newAdminRoleRule []interface{}
- for _, newAdminRoleItem := range newAdminRole {
- newAdminRoleRule = append(newAdminRoleRule, newAdminRoleItem)
- }
- logs, sub, err := _IAccessControl.contract.FilterLogs(opts, "RoleAdminChanged", roleRule, previousAdminRoleRule, newAdminRoleRule)
- if err != nil {
- return nil, err
- }
- return &IAccessControlRoleAdminChangedIterator{contract: _IAccessControl.contract, event: "RoleAdminChanged", logs: logs, sub: sub}, nil
- }
- // WatchRoleAdminChanged is a free log subscription operation binding the contract event 0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff.
- //
- // Solidity: event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)
- func (_IAccessControl *IAccessControlFilterer) WatchRoleAdminChanged(opts *bind.WatchOpts, sink chan<- *IAccessControlRoleAdminChanged, role [][32]byte, previousAdminRole [][32]byte, newAdminRole [][32]byte) (event.Subscription, error) {
- var roleRule []interface{}
- for _, roleItem := range role {
- roleRule = append(roleRule, roleItem)
- }
- var previousAdminRoleRule []interface{}
- for _, previousAdminRoleItem := range previousAdminRole {
- previousAdminRoleRule = append(previousAdminRoleRule, previousAdminRoleItem)
- }
- var newAdminRoleRule []interface{}
- for _, newAdminRoleItem := range newAdminRole {
- newAdminRoleRule = append(newAdminRoleRule, newAdminRoleItem)
- }
- logs, sub, err := _IAccessControl.contract.WatchLogs(opts, "RoleAdminChanged", roleRule, previousAdminRoleRule, newAdminRoleRule)
- if err != nil {
- return nil, err
- }
- return event.NewSubscription(func(quit <-chan struct{}) error {
- defer sub.Unsubscribe()
- for {
- select {
- case log := <-logs:
- // New log arrived, parse the event and forward to the user
- event := new(IAccessControlRoleAdminChanged)
- if err := _IAccessControl.contract.UnpackLog(event, "RoleAdminChanged", log); err != nil {
- return err
- }
- event.Raw = log
- select {
- case sink <- event:
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- }
- }), nil
- }
- // ParseRoleAdminChanged is a log parse operation binding the contract event 0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff.
- //
- // Solidity: event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)
- func (_IAccessControl *IAccessControlFilterer) ParseRoleAdminChanged(log types.Log) (*IAccessControlRoleAdminChanged, error) {
- event := new(IAccessControlRoleAdminChanged)
- if err := _IAccessControl.contract.UnpackLog(event, "RoleAdminChanged", log); err != nil {
- return nil, err
- }
- event.Raw = log
- return event, nil
- }
- // 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.
- type IAccessControlRoleGrantedIterator struct {
- Event *IAccessControlRoleGranted // Event containing the contract specifics and raw log
- contract *bind.BoundContract // Generic contract to use for unpacking event data
- event string // Event name to use for unpacking event data
- logs chan types.Log // Log channel receiving the found contract events
- sub ethereum.Subscription // Subscription for errors, completion and termination
- done bool // Whether the subscription completed delivering logs
- fail error // Occurred error to stop iteration
- }
- // Next advances the iterator to the subsequent event, returning whether there
- // are any more events found. In case of a retrieval or parsing error, false is
- // returned and Error() can be queried for the exact failure.
- func (it *IAccessControlRoleGrantedIterator) Next() bool {
- // If the iterator failed, stop iterating
- if it.fail != nil {
- return false
- }
- // If the iterator completed, deliver directly whatever's available
- if it.done {
- select {
- case log := <-it.logs:
- it.Event = new(IAccessControlRoleGranted)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- default:
- return false
- }
- }
- // Iterator still in progress, wait for either a data or an error event
- select {
- case log := <-it.logs:
- it.Event = new(IAccessControlRoleGranted)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- case err := <-it.sub.Err():
- it.done = true
- it.fail = err
- return it.Next()
- }
- }
- // Error returns any retrieval or parsing error occurred during filtering.
- func (it *IAccessControlRoleGrantedIterator) Error() error {
- return it.fail
- }
- // Close terminates the iteration process, releasing any pending underlying
- // resources.
- func (it *IAccessControlRoleGrantedIterator) Close() error {
- it.sub.Unsubscribe()
- return nil
- }
- // IAccessControlRoleGranted represents a RoleGranted event raised by the IAccessControl contract.
- type IAccessControlRoleGranted struct {
- Role [32]byte
- Account common.Address
- Sender common.Address
- Raw types.Log // Blockchain specific contextual infos
- }
- // FilterRoleGranted is a free log retrieval operation binding the contract event 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d.
- //
- // Solidity: event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)
- func (_IAccessControl *IAccessControlFilterer) FilterRoleGranted(opts *bind.FilterOpts, role [][32]byte, account []common.Address, sender []common.Address) (*IAccessControlRoleGrantedIterator, error) {
- var roleRule []interface{}
- for _, roleItem := range role {
- roleRule = append(roleRule, roleItem)
- }
- var accountRule []interface{}
- for _, accountItem := range account {
- accountRule = append(accountRule, accountItem)
- }
- var senderRule []interface{}
- for _, senderItem := range sender {
- senderRule = append(senderRule, senderItem)
- }
- logs, sub, err := _IAccessControl.contract.FilterLogs(opts, "RoleGranted", roleRule, accountRule, senderRule)
- if err != nil {
- return nil, err
- }
- return &IAccessControlRoleGrantedIterator{contract: _IAccessControl.contract, event: "RoleGranted", logs: logs, sub: sub}, nil
- }
- // WatchRoleGranted is a free log subscription operation binding the contract event 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d.
- //
- // Solidity: event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)
- func (_IAccessControl *IAccessControlFilterer) WatchRoleGranted(opts *bind.WatchOpts, sink chan<- *IAccessControlRoleGranted, role [][32]byte, account []common.Address, sender []common.Address) (event.Subscription, error) {
- var roleRule []interface{}
- for _, roleItem := range role {
- roleRule = append(roleRule, roleItem)
- }
- var accountRule []interface{}
- for _, accountItem := range account {
- accountRule = append(accountRule, accountItem)
- }
- var senderRule []interface{}
- for _, senderItem := range sender {
- senderRule = append(senderRule, senderItem)
- }
- logs, sub, err := _IAccessControl.contract.WatchLogs(opts, "RoleGranted", roleRule, accountRule, senderRule)
- if err != nil {
- return nil, err
- }
- return event.NewSubscription(func(quit <-chan struct{}) error {
- defer sub.Unsubscribe()
- for {
- select {
- case log := <-logs:
- // New log arrived, parse the event and forward to the user
- event := new(IAccessControlRoleGranted)
- if err := _IAccessControl.contract.UnpackLog(event, "RoleGranted", log); err != nil {
- return err
- }
- event.Raw = log
- select {
- case sink <- event:
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- }
- }), nil
- }
- // ParseRoleGranted is a log parse operation binding the contract event 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d.
- //
- // Solidity: event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)
- func (_IAccessControl *IAccessControlFilterer) ParseRoleGranted(log types.Log) (*IAccessControlRoleGranted, error) {
- event := new(IAccessControlRoleGranted)
- if err := _IAccessControl.contract.UnpackLog(event, "RoleGranted", log); err != nil {
- return nil, err
- }
- event.Raw = log
- return event, nil
- }
- // 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.
- type IAccessControlRoleRevokedIterator struct {
- Event *IAccessControlRoleRevoked // Event containing the contract specifics and raw log
- contract *bind.BoundContract // Generic contract to use for unpacking event data
- event string // Event name to use for unpacking event data
- logs chan types.Log // Log channel receiving the found contract events
- sub ethereum.Subscription // Subscription for errors, completion and termination
- done bool // Whether the subscription completed delivering logs
- fail error // Occurred error to stop iteration
- }
- // Next advances the iterator to the subsequent event, returning whether there
- // are any more events found. In case of a retrieval or parsing error, false is
- // returned and Error() can be queried for the exact failure.
- func (it *IAccessControlRoleRevokedIterator) Next() bool {
- // If the iterator failed, stop iterating
- if it.fail != nil {
- return false
- }
- // If the iterator completed, deliver directly whatever's available
- if it.done {
- select {
- case log := <-it.logs:
- it.Event = new(IAccessControlRoleRevoked)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- default:
- return false
- }
- }
- // Iterator still in progress, wait for either a data or an error event
- select {
- case log := <-it.logs:
- it.Event = new(IAccessControlRoleRevoked)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- case err := <-it.sub.Err():
- it.done = true
- it.fail = err
- return it.Next()
- }
- }
- // Error returns any retrieval or parsing error occurred during filtering.
- func (it *IAccessControlRoleRevokedIterator) Error() error {
- return it.fail
- }
- // Close terminates the iteration process, releasing any pending underlying
- // resources.
- func (it *IAccessControlRoleRevokedIterator) Close() error {
- it.sub.Unsubscribe()
- return nil
- }
- // IAccessControlRoleRevoked represents a RoleRevoked event raised by the IAccessControl contract.
- type IAccessControlRoleRevoked struct {
- Role [32]byte
- Account common.Address
- Sender common.Address
- Raw types.Log // Blockchain specific contextual infos
- }
- // FilterRoleRevoked is a free log retrieval operation binding the contract event 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b.
- //
- // Solidity: event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)
- func (_IAccessControl *IAccessControlFilterer) FilterRoleRevoked(opts *bind.FilterOpts, role [][32]byte, account []common.Address, sender []common.Address) (*IAccessControlRoleRevokedIterator, error) {
- var roleRule []interface{}
- for _, roleItem := range role {
- roleRule = append(roleRule, roleItem)
- }
- var accountRule []interface{}
- for _, accountItem := range account {
- accountRule = append(accountRule, accountItem)
- }
- var senderRule []interface{}
- for _, senderItem := range sender {
- senderRule = append(senderRule, senderItem)
- }
- logs, sub, err := _IAccessControl.contract.FilterLogs(opts, "RoleRevoked", roleRule, accountRule, senderRule)
- if err != nil {
- return nil, err
- }
- return &IAccessControlRoleRevokedIterator{contract: _IAccessControl.contract, event: "RoleRevoked", logs: logs, sub: sub}, nil
- }
- // WatchRoleRevoked is a free log subscription operation binding the contract event 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b.
- //
- // Solidity: event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)
- func (_IAccessControl *IAccessControlFilterer) WatchRoleRevoked(opts *bind.WatchOpts, sink chan<- *IAccessControlRoleRevoked, role [][32]byte, account []common.Address, sender []common.Address) (event.Subscription, error) {
- var roleRule []interface{}
- for _, roleItem := range role {
- roleRule = append(roleRule, roleItem)
- }
- var accountRule []interface{}
- for _, accountItem := range account {
- accountRule = append(accountRule, accountItem)
- }
- var senderRule []interface{}
- for _, senderItem := range sender {
- senderRule = append(senderRule, senderItem)
- }
- logs, sub, err := _IAccessControl.contract.WatchLogs(opts, "RoleRevoked", roleRule, accountRule, senderRule)
- if err != nil {
- return nil, err
- }
- return event.NewSubscription(func(quit <-chan struct{}) error {
- defer sub.Unsubscribe()
- for {
- select {
- case log := <-logs:
- // New log arrived, parse the event and forward to the user
- event := new(IAccessControlRoleRevoked)
- if err := _IAccessControl.contract.UnpackLog(event, "RoleRevoked", log); err != nil {
- return err
- }
- event.Raw = log
- select {
- case sink <- event:
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- }
- }), nil
- }
- // ParseRoleRevoked is a log parse operation binding the contract event 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b.
- //
- // Solidity: event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)
- func (_IAccessControl *IAccessControlFilterer) ParseRoleRevoked(log types.Log) (*IAccessControlRoleRevoked, error) {
- event := new(IAccessControlRoleRevoked)
- if err := _IAccessControl.contract.UnpackLog(event, "RoleRevoked", log); err != nil {
- return nil, err
- }
- event.Raw = log
- return event, nil
- }
- // IAccessControlEnumerableMetaData contains all meta data concerning the IAccessControlEnumerable contract.
- var IAccessControlEnumerableMetaData = &bind.MetaData{
- 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\"}]",
- Sigs: map[string]string{
- "248a9ca3": "getRoleAdmin(bytes32)",
- "9010d07c": "getRoleMember(bytes32,uint256)",
- "ca15c873": "getRoleMemberCount(bytes32)",
- "2f2ff15d": "grantRole(bytes32,address)",
- "91d14854": "hasRole(bytes32,address)",
- "36568abe": "renounceRole(bytes32,address)",
- "d547741f": "revokeRole(bytes32,address)",
- },
- }
- // IAccessControlEnumerableABI is the input ABI used to generate the binding from.
- // Deprecated: Use IAccessControlEnumerableMetaData.ABI instead.
- var IAccessControlEnumerableABI = IAccessControlEnumerableMetaData.ABI
- // Deprecated: Use IAccessControlEnumerableMetaData.Sigs instead.
- // IAccessControlEnumerableFuncSigs maps the 4-byte function signature to its string representation.
- var IAccessControlEnumerableFuncSigs = IAccessControlEnumerableMetaData.Sigs
- // IAccessControlEnumerable is an auto generated Go binding around an Ethereum contract.
- type IAccessControlEnumerable struct {
- IAccessControlEnumerableCaller // Read-only binding to the contract
- IAccessControlEnumerableTransactor // Write-only binding to the contract
- IAccessControlEnumerableFilterer // Log filterer for contract events
- }
- // IAccessControlEnumerableCaller is an auto generated read-only Go binding around an Ethereum contract.
- type IAccessControlEnumerableCaller struct {
- contract *bind.BoundContract // Generic contract wrapper for the low level calls
- }
- // IAccessControlEnumerableTransactor is an auto generated write-only Go binding around an Ethereum contract.
- type IAccessControlEnumerableTransactor struct {
- contract *bind.BoundContract // Generic contract wrapper for the low level calls
- }
- // IAccessControlEnumerableFilterer is an auto generated log filtering Go binding around an Ethereum contract events.
- type IAccessControlEnumerableFilterer struct {
- contract *bind.BoundContract // Generic contract wrapper for the low level calls
- }
- // IAccessControlEnumerableSession is an auto generated Go binding around an Ethereum contract,
- // with pre-set call and transact options.
- type IAccessControlEnumerableSession struct {
- Contract *IAccessControlEnumerable // Generic contract binding to set the session for
- CallOpts bind.CallOpts // Call options to use throughout this session
- TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
- }
- // IAccessControlEnumerableCallerSession is an auto generated read-only Go binding around an Ethereum contract,
- // with pre-set call options.
- type IAccessControlEnumerableCallerSession struct {
- Contract *IAccessControlEnumerableCaller // Generic contract caller binding to set the session for
- CallOpts bind.CallOpts // Call options to use throughout this session
- }
- // IAccessControlEnumerableTransactorSession is an auto generated write-only Go binding around an Ethereum contract,
- // with pre-set transact options.
- type IAccessControlEnumerableTransactorSession struct {
- Contract *IAccessControlEnumerableTransactor // Generic contract transactor binding to set the session for
- TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
- }
- // IAccessControlEnumerableRaw is an auto generated low-level Go binding around an Ethereum contract.
- type IAccessControlEnumerableRaw struct {
- Contract *IAccessControlEnumerable // Generic contract binding to access the raw methods on
- }
- // IAccessControlEnumerableCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
- type IAccessControlEnumerableCallerRaw struct {
- Contract *IAccessControlEnumerableCaller // Generic read-only contract binding to access the raw methods on
- }
- // IAccessControlEnumerableTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
- type IAccessControlEnumerableTransactorRaw struct {
- Contract *IAccessControlEnumerableTransactor // Generic write-only contract binding to access the raw methods on
- }
- // NewIAccessControlEnumerable creates a new instance of IAccessControlEnumerable, bound to a specific deployed contract.
- func NewIAccessControlEnumerable(address common.Address, backend bind.ContractBackend) (*IAccessControlEnumerable, error) {
- contract, err := bindIAccessControlEnumerable(address, backend, backend, backend)
- if err != nil {
- return nil, err
- }
- return &IAccessControlEnumerable{IAccessControlEnumerableCaller: IAccessControlEnumerableCaller{contract: contract}, IAccessControlEnumerableTransactor: IAccessControlEnumerableTransactor{contract: contract}, IAccessControlEnumerableFilterer: IAccessControlEnumerableFilterer{contract: contract}}, nil
- }
- // NewIAccessControlEnumerableCaller creates a new read-only instance of IAccessControlEnumerable, bound to a specific deployed contract.
- func NewIAccessControlEnumerableCaller(address common.Address, caller bind.ContractCaller) (*IAccessControlEnumerableCaller, error) {
- contract, err := bindIAccessControlEnumerable(address, caller, nil, nil)
- if err != nil {
- return nil, err
- }
- return &IAccessControlEnumerableCaller{contract: contract}, nil
- }
- // NewIAccessControlEnumerableTransactor creates a new write-only instance of IAccessControlEnumerable, bound to a specific deployed contract.
- func NewIAccessControlEnumerableTransactor(address common.Address, transactor bind.ContractTransactor) (*IAccessControlEnumerableTransactor, error) {
- contract, err := bindIAccessControlEnumerable(address, nil, transactor, nil)
- if err != nil {
- return nil, err
- }
- return &IAccessControlEnumerableTransactor{contract: contract}, nil
- }
- // NewIAccessControlEnumerableFilterer creates a new log filterer instance of IAccessControlEnumerable, bound to a specific deployed contract.
- func NewIAccessControlEnumerableFilterer(address common.Address, filterer bind.ContractFilterer) (*IAccessControlEnumerableFilterer, error) {
- contract, err := bindIAccessControlEnumerable(address, nil, nil, filterer)
- if err != nil {
- return nil, err
- }
- return &IAccessControlEnumerableFilterer{contract: contract}, nil
- }
- // bindIAccessControlEnumerable binds a generic wrapper to an already deployed contract.
- func bindIAccessControlEnumerable(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
- parsed, err := abi.JSON(strings.NewReader(IAccessControlEnumerableABI))
- if err != nil {
- return nil, err
- }
- return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil
- }
- // Call invokes the (constant) contract method with params as input values and
- // sets the output to result. The result type might be a single field for simple
- // returns, a slice of interfaces for anonymous returns and a struct for named
- // returns.
- func (_IAccessControlEnumerable *IAccessControlEnumerableRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
- return _IAccessControlEnumerable.Contract.IAccessControlEnumerableCaller.contract.Call(opts, result, method, params...)
- }
- // Transfer initiates a plain transaction to move funds to the contract, calling
- // its default method if one is available.
- func (_IAccessControlEnumerable *IAccessControlEnumerableRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
- return _IAccessControlEnumerable.Contract.IAccessControlEnumerableTransactor.contract.Transfer(opts)
- }
- // Transact invokes the (paid) contract method with params as input values.
- func (_IAccessControlEnumerable *IAccessControlEnumerableRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
- return _IAccessControlEnumerable.Contract.IAccessControlEnumerableTransactor.contract.Transact(opts, method, params...)
- }
- // Call invokes the (constant) contract method with params as input values and
- // sets the output to result. The result type might be a single field for simple
- // returns, a slice of interfaces for anonymous returns and a struct for named
- // returns.
- func (_IAccessControlEnumerable *IAccessControlEnumerableCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
- return _IAccessControlEnumerable.Contract.contract.Call(opts, result, method, params...)
- }
- // Transfer initiates a plain transaction to move funds to the contract, calling
- // its default method if one is available.
- func (_IAccessControlEnumerable *IAccessControlEnumerableTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
- return _IAccessControlEnumerable.Contract.contract.Transfer(opts)
- }
- // Transact invokes the (paid) contract method with params as input values.
- func (_IAccessControlEnumerable *IAccessControlEnumerableTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
- return _IAccessControlEnumerable.Contract.contract.Transact(opts, method, params...)
- }
- // GetRoleAdmin is a free data retrieval call binding the contract method 0x248a9ca3.
- //
- // Solidity: function getRoleAdmin(bytes32 role) view returns(bytes32)
- func (_IAccessControlEnumerable *IAccessControlEnumerableCaller) GetRoleAdmin(opts *bind.CallOpts, role [32]byte) ([32]byte, error) {
- var out []interface{}
- err := _IAccessControlEnumerable.contract.Call(opts, &out, "getRoleAdmin", role)
- if err != nil {
- return *new([32]byte), err
- }
- out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte)
- return out0, err
- }
- // GetRoleAdmin is a free data retrieval call binding the contract method 0x248a9ca3.
- //
- // Solidity: function getRoleAdmin(bytes32 role) view returns(bytes32)
- func (_IAccessControlEnumerable *IAccessControlEnumerableSession) GetRoleAdmin(role [32]byte) ([32]byte, error) {
- return _IAccessControlEnumerable.Contract.GetRoleAdmin(&_IAccessControlEnumerable.CallOpts, role)
- }
- // GetRoleAdmin is a free data retrieval call binding the contract method 0x248a9ca3.
- //
- // Solidity: function getRoleAdmin(bytes32 role) view returns(bytes32)
- func (_IAccessControlEnumerable *IAccessControlEnumerableCallerSession) GetRoleAdmin(role [32]byte) ([32]byte, error) {
- return _IAccessControlEnumerable.Contract.GetRoleAdmin(&_IAccessControlEnumerable.CallOpts, role)
- }
- // GetRoleMember is a free data retrieval call binding the contract method 0x9010d07c.
- //
- // Solidity: function getRoleMember(bytes32 role, uint256 index) view returns(address)
- func (_IAccessControlEnumerable *IAccessControlEnumerableCaller) GetRoleMember(opts *bind.CallOpts, role [32]byte, index *big.Int) (common.Address, error) {
- var out []interface{}
- err := _IAccessControlEnumerable.contract.Call(opts, &out, "getRoleMember", role, index)
- if err != nil {
- return *new(common.Address), err
- }
- out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
- return out0, err
- }
- // GetRoleMember is a free data retrieval call binding the contract method 0x9010d07c.
- //
- // Solidity: function getRoleMember(bytes32 role, uint256 index) view returns(address)
- func (_IAccessControlEnumerable *IAccessControlEnumerableSession) GetRoleMember(role [32]byte, index *big.Int) (common.Address, error) {
- return _IAccessControlEnumerable.Contract.GetRoleMember(&_IAccessControlEnumerable.CallOpts, role, index)
- }
- // GetRoleMember is a free data retrieval call binding the contract method 0x9010d07c.
- //
- // Solidity: function getRoleMember(bytes32 role, uint256 index) view returns(address)
- func (_IAccessControlEnumerable *IAccessControlEnumerableCallerSession) GetRoleMember(role [32]byte, index *big.Int) (common.Address, error) {
- return _IAccessControlEnumerable.Contract.GetRoleMember(&_IAccessControlEnumerable.CallOpts, role, index)
- }
- // GetRoleMemberCount is a free data retrieval call binding the contract method 0xca15c873.
- //
- // Solidity: function getRoleMemberCount(bytes32 role) view returns(uint256)
- func (_IAccessControlEnumerable *IAccessControlEnumerableCaller) GetRoleMemberCount(opts *bind.CallOpts, role [32]byte) (*big.Int, error) {
- var out []interface{}
- err := _IAccessControlEnumerable.contract.Call(opts, &out, "getRoleMemberCount", role)
- if err != nil {
- return *new(*big.Int), err
- }
- out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
- return out0, err
- }
- // GetRoleMemberCount is a free data retrieval call binding the contract method 0xca15c873.
- //
- // Solidity: function getRoleMemberCount(bytes32 role) view returns(uint256)
- func (_IAccessControlEnumerable *IAccessControlEnumerableSession) GetRoleMemberCount(role [32]byte) (*big.Int, error) {
- return _IAccessControlEnumerable.Contract.GetRoleMemberCount(&_IAccessControlEnumerable.CallOpts, role)
- }
- // GetRoleMemberCount is a free data retrieval call binding the contract method 0xca15c873.
- //
- // Solidity: function getRoleMemberCount(bytes32 role) view returns(uint256)
- func (_IAccessControlEnumerable *IAccessControlEnumerableCallerSession) GetRoleMemberCount(role [32]byte) (*big.Int, error) {
- return _IAccessControlEnumerable.Contract.GetRoleMemberCount(&_IAccessControlEnumerable.CallOpts, role)
- }
- // HasRole is a free data retrieval call binding the contract method 0x91d14854.
- //
- // Solidity: function hasRole(bytes32 role, address account) view returns(bool)
- func (_IAccessControlEnumerable *IAccessControlEnumerableCaller) HasRole(opts *bind.CallOpts, role [32]byte, account common.Address) (bool, error) {
- var out []interface{}
- err := _IAccessControlEnumerable.contract.Call(opts, &out, "hasRole", role, account)
- if err != nil {
- return *new(bool), err
- }
- out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
- return out0, err
- }
- // HasRole is a free data retrieval call binding the contract method 0x91d14854.
- //
- // Solidity: function hasRole(bytes32 role, address account) view returns(bool)
- func (_IAccessControlEnumerable *IAccessControlEnumerableSession) HasRole(role [32]byte, account common.Address) (bool, error) {
- return _IAccessControlEnumerable.Contract.HasRole(&_IAccessControlEnumerable.CallOpts, role, account)
- }
- // HasRole is a free data retrieval call binding the contract method 0x91d14854.
- //
- // Solidity: function hasRole(bytes32 role, address account) view returns(bool)
- func (_IAccessControlEnumerable *IAccessControlEnumerableCallerSession) HasRole(role [32]byte, account common.Address) (bool, error) {
- return _IAccessControlEnumerable.Contract.HasRole(&_IAccessControlEnumerable.CallOpts, role, account)
- }
- // GrantRole is a paid mutator transaction binding the contract method 0x2f2ff15d.
- //
- // Solidity: function grantRole(bytes32 role, address account) returns()
- func (_IAccessControlEnumerable *IAccessControlEnumerableTransactor) GrantRole(opts *bind.TransactOpts, role [32]byte, account common.Address) (*types.Transaction, error) {
- return _IAccessControlEnumerable.contract.Transact(opts, "grantRole", role, account)
- }
- // GrantRole is a paid mutator transaction binding the contract method 0x2f2ff15d.
- //
- // Solidity: function grantRole(bytes32 role, address account) returns()
- func (_IAccessControlEnumerable *IAccessControlEnumerableSession) GrantRole(role [32]byte, account common.Address) (*types.Transaction, error) {
- return _IAccessControlEnumerable.Contract.GrantRole(&_IAccessControlEnumerable.TransactOpts, role, account)
- }
- // GrantRole is a paid mutator transaction binding the contract method 0x2f2ff15d.
- //
- // Solidity: function grantRole(bytes32 role, address account) returns()
- func (_IAccessControlEnumerable *IAccessControlEnumerableTransactorSession) GrantRole(role [32]byte, account common.Address) (*types.Transaction, error) {
- return _IAccessControlEnumerable.Contract.GrantRole(&_IAccessControlEnumerable.TransactOpts, role, account)
- }
- // RenounceRole is a paid mutator transaction binding the contract method 0x36568abe.
- //
- // Solidity: function renounceRole(bytes32 role, address account) returns()
- func (_IAccessControlEnumerable *IAccessControlEnumerableTransactor) RenounceRole(opts *bind.TransactOpts, role [32]byte, account common.Address) (*types.Transaction, error) {
- return _IAccessControlEnumerable.contract.Transact(opts, "renounceRole", role, account)
- }
- // RenounceRole is a paid mutator transaction binding the contract method 0x36568abe.
- //
- // Solidity: function renounceRole(bytes32 role, address account) returns()
- func (_IAccessControlEnumerable *IAccessControlEnumerableSession) RenounceRole(role [32]byte, account common.Address) (*types.Transaction, error) {
- return _IAccessControlEnumerable.Contract.RenounceRole(&_IAccessControlEnumerable.TransactOpts, role, account)
- }
- // RenounceRole is a paid mutator transaction binding the contract method 0x36568abe.
- //
- // Solidity: function renounceRole(bytes32 role, address account) returns()
- func (_IAccessControlEnumerable *IAccessControlEnumerableTransactorSession) RenounceRole(role [32]byte, account common.Address) (*types.Transaction, error) {
- return _IAccessControlEnumerable.Contract.RenounceRole(&_IAccessControlEnumerable.TransactOpts, role, account)
- }
- // RevokeRole is a paid mutator transaction binding the contract method 0xd547741f.
- //
- // Solidity: function revokeRole(bytes32 role, address account) returns()
- func (_IAccessControlEnumerable *IAccessControlEnumerableTransactor) RevokeRole(opts *bind.TransactOpts, role [32]byte, account common.Address) (*types.Transaction, error) {
- return _IAccessControlEnumerable.contract.Transact(opts, "revokeRole", role, account)
- }
- // RevokeRole is a paid mutator transaction binding the contract method 0xd547741f.
- //
- // Solidity: function revokeRole(bytes32 role, address account) returns()
- func (_IAccessControlEnumerable *IAccessControlEnumerableSession) RevokeRole(role [32]byte, account common.Address) (*types.Transaction, error) {
- return _IAccessControlEnumerable.Contract.RevokeRole(&_IAccessControlEnumerable.TransactOpts, role, account)
- }
- // RevokeRole is a paid mutator transaction binding the contract method 0xd547741f.
- //
- // Solidity: function revokeRole(bytes32 role, address account) returns()
- func (_IAccessControlEnumerable *IAccessControlEnumerableTransactorSession) RevokeRole(role [32]byte, account common.Address) (*types.Transaction, error) {
- return _IAccessControlEnumerable.Contract.RevokeRole(&_IAccessControlEnumerable.TransactOpts, role, account)
- }
- // 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.
- type IAccessControlEnumerableRoleAdminChangedIterator struct {
- Event *IAccessControlEnumerableRoleAdminChanged // Event containing the contract specifics and raw log
- contract *bind.BoundContract // Generic contract to use for unpacking event data
- event string // Event name to use for unpacking event data
- logs chan types.Log // Log channel receiving the found contract events
- sub ethereum.Subscription // Subscription for errors, completion and termination
- done bool // Whether the subscription completed delivering logs
- fail error // Occurred error to stop iteration
- }
- // Next advances the iterator to the subsequent event, returning whether there
- // are any more events found. In case of a retrieval or parsing error, false is
- // returned and Error() can be queried for the exact failure.
- func (it *IAccessControlEnumerableRoleAdminChangedIterator) Next() bool {
- // If the iterator failed, stop iterating
- if it.fail != nil {
- return false
- }
- // If the iterator completed, deliver directly whatever's available
- if it.done {
- select {
- case log := <-it.logs:
- it.Event = new(IAccessControlEnumerableRoleAdminChanged)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- default:
- return false
- }
- }
- // Iterator still in progress, wait for either a data or an error event
- select {
- case log := <-it.logs:
- it.Event = new(IAccessControlEnumerableRoleAdminChanged)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- case err := <-it.sub.Err():
- it.done = true
- it.fail = err
- return it.Next()
- }
- }
- // Error returns any retrieval or parsing error occurred during filtering.
- func (it *IAccessControlEnumerableRoleAdminChangedIterator) Error() error {
- return it.fail
- }
- // Close terminates the iteration process, releasing any pending underlying
- // resources.
- func (it *IAccessControlEnumerableRoleAdminChangedIterator) Close() error {
- it.sub.Unsubscribe()
- return nil
- }
- // IAccessControlEnumerableRoleAdminChanged represents a RoleAdminChanged event raised by the IAccessControlEnumerable contract.
- type IAccessControlEnumerableRoleAdminChanged struct {
- Role [32]byte
- PreviousAdminRole [32]byte
- NewAdminRole [32]byte
- Raw types.Log // Blockchain specific contextual infos
- }
- // FilterRoleAdminChanged is a free log retrieval operation binding the contract event 0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff.
- //
- // Solidity: event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)
- func (_IAccessControlEnumerable *IAccessControlEnumerableFilterer) FilterRoleAdminChanged(opts *bind.FilterOpts, role [][32]byte, previousAdminRole [][32]byte, newAdminRole [][32]byte) (*IAccessControlEnumerableRoleAdminChangedIterator, error) {
- var roleRule []interface{}
- for _, roleItem := range role {
- roleRule = append(roleRule, roleItem)
- }
- var previousAdminRoleRule []interface{}
- for _, previousAdminRoleItem := range previousAdminRole {
- previousAdminRoleRule = append(previousAdminRoleRule, previousAdminRoleItem)
- }
- var newAdminRoleRule []interface{}
- for _, newAdminRoleItem := range newAdminRole {
- newAdminRoleRule = append(newAdminRoleRule, newAdminRoleItem)
- }
- logs, sub, err := _IAccessControlEnumerable.contract.FilterLogs(opts, "RoleAdminChanged", roleRule, previousAdminRoleRule, newAdminRoleRule)
- if err != nil {
- return nil, err
- }
- return &IAccessControlEnumerableRoleAdminChangedIterator{contract: _IAccessControlEnumerable.contract, event: "RoleAdminChanged", logs: logs, sub: sub}, nil
- }
- // WatchRoleAdminChanged is a free log subscription operation binding the contract event 0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff.
- //
- // Solidity: event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)
- func (_IAccessControlEnumerable *IAccessControlEnumerableFilterer) WatchRoleAdminChanged(opts *bind.WatchOpts, sink chan<- *IAccessControlEnumerableRoleAdminChanged, role [][32]byte, previousAdminRole [][32]byte, newAdminRole [][32]byte) (event.Subscription, error) {
- var roleRule []interface{}
- for _, roleItem := range role {
- roleRule = append(roleRule, roleItem)
- }
- var previousAdminRoleRule []interface{}
- for _, previousAdminRoleItem := range previousAdminRole {
- previousAdminRoleRule = append(previousAdminRoleRule, previousAdminRoleItem)
- }
- var newAdminRoleRule []interface{}
- for _, newAdminRoleItem := range newAdminRole {
- newAdminRoleRule = append(newAdminRoleRule, newAdminRoleItem)
- }
- logs, sub, err := _IAccessControlEnumerable.contract.WatchLogs(opts, "RoleAdminChanged", roleRule, previousAdminRoleRule, newAdminRoleRule)
- if err != nil {
- return nil, err
- }
- return event.NewSubscription(func(quit <-chan struct{}) error {
- defer sub.Unsubscribe()
- for {
- select {
- case log := <-logs:
- // New log arrived, parse the event and forward to the user
- event := new(IAccessControlEnumerableRoleAdminChanged)
- if err := _IAccessControlEnumerable.contract.UnpackLog(event, "RoleAdminChanged", log); err != nil {
- return err
- }
- event.Raw = log
- select {
- case sink <- event:
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- }
- }), nil
- }
- // ParseRoleAdminChanged is a log parse operation binding the contract event 0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff.
- //
- // Solidity: event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)
- func (_IAccessControlEnumerable *IAccessControlEnumerableFilterer) ParseRoleAdminChanged(log types.Log) (*IAccessControlEnumerableRoleAdminChanged, error) {
- event := new(IAccessControlEnumerableRoleAdminChanged)
- if err := _IAccessControlEnumerable.contract.UnpackLog(event, "RoleAdminChanged", log); err != nil {
- return nil, err
- }
- event.Raw = log
- return event, nil
- }
- // 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.
- type IAccessControlEnumerableRoleGrantedIterator struct {
- Event *IAccessControlEnumerableRoleGranted // Event containing the contract specifics and raw log
- contract *bind.BoundContract // Generic contract to use for unpacking event data
- event string // Event name to use for unpacking event data
- logs chan types.Log // Log channel receiving the found contract events
- sub ethereum.Subscription // Subscription for errors, completion and termination
- done bool // Whether the subscription completed delivering logs
- fail error // Occurred error to stop iteration
- }
- // Next advances the iterator to the subsequent event, returning whether there
- // are any more events found. In case of a retrieval or parsing error, false is
- // returned and Error() can be queried for the exact failure.
- func (it *IAccessControlEnumerableRoleGrantedIterator) Next() bool {
- // If the iterator failed, stop iterating
- if it.fail != nil {
- return false
- }
- // If the iterator completed, deliver directly whatever's available
- if it.done {
- select {
- case log := <-it.logs:
- it.Event = new(IAccessControlEnumerableRoleGranted)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- default:
- return false
- }
- }
- // Iterator still in progress, wait for either a data or an error event
- select {
- case log := <-it.logs:
- it.Event = new(IAccessControlEnumerableRoleGranted)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- case err := <-it.sub.Err():
- it.done = true
- it.fail = err
- return it.Next()
- }
- }
- // Error returns any retrieval or parsing error occurred during filtering.
- func (it *IAccessControlEnumerableRoleGrantedIterator) Error() error {
- return it.fail
- }
- // Close terminates the iteration process, releasing any pending underlying
- // resources.
- func (it *IAccessControlEnumerableRoleGrantedIterator) Close() error {
- it.sub.Unsubscribe()
- return nil
- }
- // IAccessControlEnumerableRoleGranted represents a RoleGranted event raised by the IAccessControlEnumerable contract.
- type IAccessControlEnumerableRoleGranted struct {
- Role [32]byte
- Account common.Address
- Sender common.Address
- Raw types.Log // Blockchain specific contextual infos
- }
- // FilterRoleGranted is a free log retrieval operation binding the contract event 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d.
- //
- // Solidity: event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)
- func (_IAccessControlEnumerable *IAccessControlEnumerableFilterer) FilterRoleGranted(opts *bind.FilterOpts, role [][32]byte, account []common.Address, sender []common.Address) (*IAccessControlEnumerableRoleGrantedIterator, error) {
- var roleRule []interface{}
- for _, roleItem := range role {
- roleRule = append(roleRule, roleItem)
- }
- var accountRule []interface{}
- for _, accountItem := range account {
- accountRule = append(accountRule, accountItem)
- }
- var senderRule []interface{}
- for _, senderItem := range sender {
- senderRule = append(senderRule, senderItem)
- }
- logs, sub, err := _IAccessControlEnumerable.contract.FilterLogs(opts, "RoleGranted", roleRule, accountRule, senderRule)
- if err != nil {
- return nil, err
- }
- return &IAccessControlEnumerableRoleGrantedIterator{contract: _IAccessControlEnumerable.contract, event: "RoleGranted", logs: logs, sub: sub}, nil
- }
- // WatchRoleGranted is a free log subscription operation binding the contract event 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d.
- //
- // Solidity: event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)
- func (_IAccessControlEnumerable *IAccessControlEnumerableFilterer) WatchRoleGranted(opts *bind.WatchOpts, sink chan<- *IAccessControlEnumerableRoleGranted, role [][32]byte, account []common.Address, sender []common.Address) (event.Subscription, error) {
- var roleRule []interface{}
- for _, roleItem := range role {
- roleRule = append(roleRule, roleItem)
- }
- var accountRule []interface{}
- for _, accountItem := range account {
- accountRule = append(accountRule, accountItem)
- }
- var senderRule []interface{}
- for _, senderItem := range sender {
- senderRule = append(senderRule, senderItem)
- }
- logs, sub, err := _IAccessControlEnumerable.contract.WatchLogs(opts, "RoleGranted", roleRule, accountRule, senderRule)
- if err != nil {
- return nil, err
- }
- return event.NewSubscription(func(quit <-chan struct{}) error {
- defer sub.Unsubscribe()
- for {
- select {
- case log := <-logs:
- // New log arrived, parse the event and forward to the user
- event := new(IAccessControlEnumerableRoleGranted)
- if err := _IAccessControlEnumerable.contract.UnpackLog(event, "RoleGranted", log); err != nil {
- return err
- }
- event.Raw = log
- select {
- case sink <- event:
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- }
- }), nil
- }
- // ParseRoleGranted is a log parse operation binding the contract event 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d.
- //
- // Solidity: event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)
- func (_IAccessControlEnumerable *IAccessControlEnumerableFilterer) ParseRoleGranted(log types.Log) (*IAccessControlEnumerableRoleGranted, error) {
- event := new(IAccessControlEnumerableRoleGranted)
- if err := _IAccessControlEnumerable.contract.UnpackLog(event, "RoleGranted", log); err != nil {
- return nil, err
- }
- event.Raw = log
- return event, nil
- }
- // 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.
- type IAccessControlEnumerableRoleRevokedIterator struct {
- Event *IAccessControlEnumerableRoleRevoked // Event containing the contract specifics and raw log
- contract *bind.BoundContract // Generic contract to use for unpacking event data
- event string // Event name to use for unpacking event data
- logs chan types.Log // Log channel receiving the found contract events
- sub ethereum.Subscription // Subscription for errors, completion and termination
- done bool // Whether the subscription completed delivering logs
- fail error // Occurred error to stop iteration
- }
- // Next advances the iterator to the subsequent event, returning whether there
- // are any more events found. In case of a retrieval or parsing error, false is
- // returned and Error() can be queried for the exact failure.
- func (it *IAccessControlEnumerableRoleRevokedIterator) Next() bool {
- // If the iterator failed, stop iterating
- if it.fail != nil {
- return false
- }
- // If the iterator completed, deliver directly whatever's available
- if it.done {
- select {
- case log := <-it.logs:
- it.Event = new(IAccessControlEnumerableRoleRevoked)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- default:
- return false
- }
- }
- // Iterator still in progress, wait for either a data or an error event
- select {
- case log := <-it.logs:
- it.Event = new(IAccessControlEnumerableRoleRevoked)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- case err := <-it.sub.Err():
- it.done = true
- it.fail = err
- return it.Next()
- }
- }
- // Error returns any retrieval or parsing error occurred during filtering.
- func (it *IAccessControlEnumerableRoleRevokedIterator) Error() error {
- return it.fail
- }
- // Close terminates the iteration process, releasing any pending underlying
- // resources.
- func (it *IAccessControlEnumerableRoleRevokedIterator) Close() error {
- it.sub.Unsubscribe()
- return nil
- }
- // IAccessControlEnumerableRoleRevoked represents a RoleRevoked event raised by the IAccessControlEnumerable contract.
- type IAccessControlEnumerableRoleRevoked struct {
- Role [32]byte
- Account common.Address
- Sender common.Address
- Raw types.Log // Blockchain specific contextual infos
- }
- // FilterRoleRevoked is a free log retrieval operation binding the contract event 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b.
- //
- // Solidity: event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)
- func (_IAccessControlEnumerable *IAccessControlEnumerableFilterer) FilterRoleRevoked(opts *bind.FilterOpts, role [][32]byte, account []common.Address, sender []common.Address) (*IAccessControlEnumerableRoleRevokedIterator, error) {
- var roleRule []interface{}
- for _, roleItem := range role {
- roleRule = append(roleRule, roleItem)
- }
- var accountRule []interface{}
- for _, accountItem := range account {
- accountRule = append(accountRule, accountItem)
- }
- var senderRule []interface{}
- for _, senderItem := range sender {
- senderRule = append(senderRule, senderItem)
- }
- logs, sub, err := _IAccessControlEnumerable.contract.FilterLogs(opts, "RoleRevoked", roleRule, accountRule, senderRule)
- if err != nil {
- return nil, err
- }
- return &IAccessControlEnumerableRoleRevokedIterator{contract: _IAccessControlEnumerable.contract, event: "RoleRevoked", logs: logs, sub: sub}, nil
- }
- // WatchRoleRevoked is a free log subscription operation binding the contract event 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b.
- //
- // Solidity: event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)
- func (_IAccessControlEnumerable *IAccessControlEnumerableFilterer) WatchRoleRevoked(opts *bind.WatchOpts, sink chan<- *IAccessControlEnumerableRoleRevoked, role [][32]byte, account []common.Address, sender []common.Address) (event.Subscription, error) {
- var roleRule []interface{}
- for _, roleItem := range role {
- roleRule = append(roleRule, roleItem)
- }
- var accountRule []interface{}
- for _, accountItem := range account {
- accountRule = append(accountRule, accountItem)
- }
- var senderRule []interface{}
- for _, senderItem := range sender {
- senderRule = append(senderRule, senderItem)
- }
- logs, sub, err := _IAccessControlEnumerable.contract.WatchLogs(opts, "RoleRevoked", roleRule, accountRule, senderRule)
- if err != nil {
- return nil, err
- }
- return event.NewSubscription(func(quit <-chan struct{}) error {
- defer sub.Unsubscribe()
- for {
- select {
- case log := <-logs:
- // New log arrived, parse the event and forward to the user
- event := new(IAccessControlEnumerableRoleRevoked)
- if err := _IAccessControlEnumerable.contract.UnpackLog(event, "RoleRevoked", log); err != nil {
- return err
- }
- event.Raw = log
- select {
- case sink <- event:
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- }
- }), nil
- }
- // ParseRoleRevoked is a log parse operation binding the contract event 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b.
- //
- // Solidity: event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)
- func (_IAccessControlEnumerable *IAccessControlEnumerableFilterer) ParseRoleRevoked(log types.Log) (*IAccessControlEnumerableRoleRevoked, error) {
- event := new(IAccessControlEnumerableRoleRevoked)
- if err := _IAccessControlEnumerable.contract.UnpackLog(event, "RoleRevoked", log); err != nil {
- return nil, err
- }
- event.Raw = log
- return event, nil
- }
- // IERC1155MetaData contains all meta data concerning the IERC1155 contract.
- var IERC1155MetaData = &bind.MetaData{
- 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\"}]",
- Sigs: map[string]string{
- "00fdd58e": "balanceOf(address,uint256)",
- "4e1273f4": "balanceOfBatch(address[],uint256[])",
- "e985e9c5": "isApprovedForAll(address,address)",
- "2eb2c2d6": "safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)",
- "f242432a": "safeTransferFrom(address,address,uint256,uint256,bytes)",
- "a22cb465": "setApprovalForAll(address,bool)",
- "01ffc9a7": "supportsInterface(bytes4)",
- },
- }
- // IERC1155ABI is the input ABI used to generate the binding from.
- // Deprecated: Use IERC1155MetaData.ABI instead.
- var IERC1155ABI = IERC1155MetaData.ABI
- // Deprecated: Use IERC1155MetaData.Sigs instead.
- // IERC1155FuncSigs maps the 4-byte function signature to its string representation.
- var IERC1155FuncSigs = IERC1155MetaData.Sigs
- // IERC1155 is an auto generated Go binding around an Ethereum contract.
- type IERC1155 struct {
- IERC1155Caller // Read-only binding to the contract
- IERC1155Transactor // Write-only binding to the contract
- IERC1155Filterer // Log filterer for contract events
- }
- // IERC1155Caller is an auto generated read-only Go binding around an Ethereum contract.
- type IERC1155Caller struct {
- contract *bind.BoundContract // Generic contract wrapper for the low level calls
- }
- // IERC1155Transactor is an auto generated write-only Go binding around an Ethereum contract.
- type IERC1155Transactor struct {
- contract *bind.BoundContract // Generic contract wrapper for the low level calls
- }
- // IERC1155Filterer is an auto generated log filtering Go binding around an Ethereum contract events.
- type IERC1155Filterer struct {
- contract *bind.BoundContract // Generic contract wrapper for the low level calls
- }
- // IERC1155Session is an auto generated Go binding around an Ethereum contract,
- // with pre-set call and transact options.
- type IERC1155Session struct {
- Contract *IERC1155 // Generic contract binding to set the session for
- CallOpts bind.CallOpts // Call options to use throughout this session
- TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
- }
- // IERC1155CallerSession is an auto generated read-only Go binding around an Ethereum contract,
- // with pre-set call options.
- type IERC1155CallerSession struct {
- Contract *IERC1155Caller // Generic contract caller binding to set the session for
- CallOpts bind.CallOpts // Call options to use throughout this session
- }
- // IERC1155TransactorSession is an auto generated write-only Go binding around an Ethereum contract,
- // with pre-set transact options.
- type IERC1155TransactorSession struct {
- Contract *IERC1155Transactor // Generic contract transactor binding to set the session for
- TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
- }
- // IERC1155Raw is an auto generated low-level Go binding around an Ethereum contract.
- type IERC1155Raw struct {
- Contract *IERC1155 // Generic contract binding to access the raw methods on
- }
- // IERC1155CallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
- type IERC1155CallerRaw struct {
- Contract *IERC1155Caller // Generic read-only contract binding to access the raw methods on
- }
- // IERC1155TransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
- type IERC1155TransactorRaw struct {
- Contract *IERC1155Transactor // Generic write-only contract binding to access the raw methods on
- }
- // NewIERC1155 creates a new instance of IERC1155, bound to a specific deployed contract.
- func NewIERC1155(address common.Address, backend bind.ContractBackend) (*IERC1155, error) {
- contract, err := bindIERC1155(address, backend, backend, backend)
- if err != nil {
- return nil, err
- }
- return &IERC1155{IERC1155Caller: IERC1155Caller{contract: contract}, IERC1155Transactor: IERC1155Transactor{contract: contract}, IERC1155Filterer: IERC1155Filterer{contract: contract}}, nil
- }
- // NewIERC1155Caller creates a new read-only instance of IERC1155, bound to a specific deployed contract.
- func NewIERC1155Caller(address common.Address, caller bind.ContractCaller) (*IERC1155Caller, error) {
- contract, err := bindIERC1155(address, caller, nil, nil)
- if err != nil {
- return nil, err
- }
- return &IERC1155Caller{contract: contract}, nil
- }
- // NewIERC1155Transactor creates a new write-only instance of IERC1155, bound to a specific deployed contract.
- func NewIERC1155Transactor(address common.Address, transactor bind.ContractTransactor) (*IERC1155Transactor, error) {
- contract, err := bindIERC1155(address, nil, transactor, nil)
- if err != nil {
- return nil, err
- }
- return &IERC1155Transactor{contract: contract}, nil
- }
- // NewIERC1155Filterer creates a new log filterer instance of IERC1155, bound to a specific deployed contract.
- func NewIERC1155Filterer(address common.Address, filterer bind.ContractFilterer) (*IERC1155Filterer, error) {
- contract, err := bindIERC1155(address, nil, nil, filterer)
- if err != nil {
- return nil, err
- }
- return &IERC1155Filterer{contract: contract}, nil
- }
- // bindIERC1155 binds a generic wrapper to an already deployed contract.
- func bindIERC1155(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
- parsed, err := abi.JSON(strings.NewReader(IERC1155ABI))
- if err != nil {
- return nil, err
- }
- return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil
- }
- // Call invokes the (constant) contract method with params as input values and
- // sets the output to result. The result type might be a single field for simple
- // returns, a slice of interfaces for anonymous returns and a struct for named
- // returns.
- func (_IERC1155 *IERC1155Raw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
- return _IERC1155.Contract.IERC1155Caller.contract.Call(opts, result, method, params...)
- }
- // Transfer initiates a plain transaction to move funds to the contract, calling
- // its default method if one is available.
- func (_IERC1155 *IERC1155Raw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
- return _IERC1155.Contract.IERC1155Transactor.contract.Transfer(opts)
- }
- // Transact invokes the (paid) contract method with params as input values.
- func (_IERC1155 *IERC1155Raw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
- return _IERC1155.Contract.IERC1155Transactor.contract.Transact(opts, method, params...)
- }
- // Call invokes the (constant) contract method with params as input values and
- // sets the output to result. The result type might be a single field for simple
- // returns, a slice of interfaces for anonymous returns and a struct for named
- // returns.
- func (_IERC1155 *IERC1155CallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
- return _IERC1155.Contract.contract.Call(opts, result, method, params...)
- }
- // Transfer initiates a plain transaction to move funds to the contract, calling
- // its default method if one is available.
- func (_IERC1155 *IERC1155TransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
- return _IERC1155.Contract.contract.Transfer(opts)
- }
- // Transact invokes the (paid) contract method with params as input values.
- func (_IERC1155 *IERC1155TransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
- return _IERC1155.Contract.contract.Transact(opts, method, params...)
- }
- // BalanceOf is a free data retrieval call binding the contract method 0x00fdd58e.
- //
- // Solidity: function balanceOf(address account, uint256 id) view returns(uint256)
- func (_IERC1155 *IERC1155Caller) BalanceOf(opts *bind.CallOpts, account common.Address, id *big.Int) (*big.Int, error) {
- var out []interface{}
- err := _IERC1155.contract.Call(opts, &out, "balanceOf", account, id)
- if err != nil {
- return *new(*big.Int), err
- }
- out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
- return out0, err
- }
- // BalanceOf is a free data retrieval call binding the contract method 0x00fdd58e.
- //
- // Solidity: function balanceOf(address account, uint256 id) view returns(uint256)
- func (_IERC1155 *IERC1155Session) BalanceOf(account common.Address, id *big.Int) (*big.Int, error) {
- return _IERC1155.Contract.BalanceOf(&_IERC1155.CallOpts, account, id)
- }
- // BalanceOf is a free data retrieval call binding the contract method 0x00fdd58e.
- //
- // Solidity: function balanceOf(address account, uint256 id) view returns(uint256)
- func (_IERC1155 *IERC1155CallerSession) BalanceOf(account common.Address, id *big.Int) (*big.Int, error) {
- return _IERC1155.Contract.BalanceOf(&_IERC1155.CallOpts, account, id)
- }
- // BalanceOfBatch is a free data retrieval call binding the contract method 0x4e1273f4.
- //
- // Solidity: function balanceOfBatch(address[] accounts, uint256[] ids) view returns(uint256[])
- func (_IERC1155 *IERC1155Caller) BalanceOfBatch(opts *bind.CallOpts, accounts []common.Address, ids []*big.Int) ([]*big.Int, error) {
- var out []interface{}
- err := _IERC1155.contract.Call(opts, &out, "balanceOfBatch", accounts, ids)
- if err != nil {
- return *new([]*big.Int), err
- }
- out0 := *abi.ConvertType(out[0], new([]*big.Int)).(*[]*big.Int)
- return out0, err
- }
- // BalanceOfBatch is a free data retrieval call binding the contract method 0x4e1273f4.
- //
- // Solidity: function balanceOfBatch(address[] accounts, uint256[] ids) view returns(uint256[])
- func (_IERC1155 *IERC1155Session) BalanceOfBatch(accounts []common.Address, ids []*big.Int) ([]*big.Int, error) {
- return _IERC1155.Contract.BalanceOfBatch(&_IERC1155.CallOpts, accounts, ids)
- }
- // BalanceOfBatch is a free data retrieval call binding the contract method 0x4e1273f4.
- //
- // Solidity: function balanceOfBatch(address[] accounts, uint256[] ids) view returns(uint256[])
- func (_IERC1155 *IERC1155CallerSession) BalanceOfBatch(accounts []common.Address, ids []*big.Int) ([]*big.Int, error) {
- return _IERC1155.Contract.BalanceOfBatch(&_IERC1155.CallOpts, accounts, ids)
- }
- // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5.
- //
- // Solidity: function isApprovedForAll(address account, address operator) view returns(bool)
- func (_IERC1155 *IERC1155Caller) IsApprovedForAll(opts *bind.CallOpts, account common.Address, operator common.Address) (bool, error) {
- var out []interface{}
- err := _IERC1155.contract.Call(opts, &out, "isApprovedForAll", account, operator)
- if err != nil {
- return *new(bool), err
- }
- out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
- return out0, err
- }
- // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5.
- //
- // Solidity: function isApprovedForAll(address account, address operator) view returns(bool)
- func (_IERC1155 *IERC1155Session) IsApprovedForAll(account common.Address, operator common.Address) (bool, error) {
- return _IERC1155.Contract.IsApprovedForAll(&_IERC1155.CallOpts, account, operator)
- }
- // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5.
- //
- // Solidity: function isApprovedForAll(address account, address operator) view returns(bool)
- func (_IERC1155 *IERC1155CallerSession) IsApprovedForAll(account common.Address, operator common.Address) (bool, error) {
- return _IERC1155.Contract.IsApprovedForAll(&_IERC1155.CallOpts, account, operator)
- }
- // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
- //
- // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
- func (_IERC1155 *IERC1155Caller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) {
- var out []interface{}
- err := _IERC1155.contract.Call(opts, &out, "supportsInterface", interfaceId)
- if err != nil {
- return *new(bool), err
- }
- out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
- return out0, err
- }
- // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
- //
- // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
- func (_IERC1155 *IERC1155Session) SupportsInterface(interfaceId [4]byte) (bool, error) {
- return _IERC1155.Contract.SupportsInterface(&_IERC1155.CallOpts, interfaceId)
- }
- // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
- //
- // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
- func (_IERC1155 *IERC1155CallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) {
- return _IERC1155.Contract.SupportsInterface(&_IERC1155.CallOpts, interfaceId)
- }
- // SafeBatchTransferFrom is a paid mutator transaction binding the contract method 0x2eb2c2d6.
- //
- // Solidity: function safeBatchTransferFrom(address from, address to, uint256[] ids, uint256[] amounts, bytes data) returns()
- func (_IERC1155 *IERC1155Transactor) SafeBatchTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, ids []*big.Int, amounts []*big.Int, data []byte) (*types.Transaction, error) {
- return _IERC1155.contract.Transact(opts, "safeBatchTransferFrom", from, to, ids, amounts, data)
- }
- // SafeBatchTransferFrom is a paid mutator transaction binding the contract method 0x2eb2c2d6.
- //
- // Solidity: function safeBatchTransferFrom(address from, address to, uint256[] ids, uint256[] amounts, bytes data) returns()
- func (_IERC1155 *IERC1155Session) SafeBatchTransferFrom(from common.Address, to common.Address, ids []*big.Int, amounts []*big.Int, data []byte) (*types.Transaction, error) {
- return _IERC1155.Contract.SafeBatchTransferFrom(&_IERC1155.TransactOpts, from, to, ids, amounts, data)
- }
- // SafeBatchTransferFrom is a paid mutator transaction binding the contract method 0x2eb2c2d6.
- //
- // Solidity: function safeBatchTransferFrom(address from, address to, uint256[] ids, uint256[] amounts, bytes data) returns()
- func (_IERC1155 *IERC1155TransactorSession) SafeBatchTransferFrom(from common.Address, to common.Address, ids []*big.Int, amounts []*big.Int, data []byte) (*types.Transaction, error) {
- return _IERC1155.Contract.SafeBatchTransferFrom(&_IERC1155.TransactOpts, from, to, ids, amounts, data)
- }
- // SafeTransferFrom is a paid mutator transaction binding the contract method 0xf242432a.
- //
- // Solidity: function safeTransferFrom(address from, address to, uint256 id, uint256 amount, bytes data) returns()
- func (_IERC1155 *IERC1155Transactor) SafeTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, id *big.Int, amount *big.Int, data []byte) (*types.Transaction, error) {
- return _IERC1155.contract.Transact(opts, "safeTransferFrom", from, to, id, amount, data)
- }
- // SafeTransferFrom is a paid mutator transaction binding the contract method 0xf242432a.
- //
- // Solidity: function safeTransferFrom(address from, address to, uint256 id, uint256 amount, bytes data) returns()
- func (_IERC1155 *IERC1155Session) SafeTransferFrom(from common.Address, to common.Address, id *big.Int, amount *big.Int, data []byte) (*types.Transaction, error) {
- return _IERC1155.Contract.SafeTransferFrom(&_IERC1155.TransactOpts, from, to, id, amount, data)
- }
- // SafeTransferFrom is a paid mutator transaction binding the contract method 0xf242432a.
- //
- // Solidity: function safeTransferFrom(address from, address to, uint256 id, uint256 amount, bytes data) returns()
- func (_IERC1155 *IERC1155TransactorSession) SafeTransferFrom(from common.Address, to common.Address, id *big.Int, amount *big.Int, data []byte) (*types.Transaction, error) {
- return _IERC1155.Contract.SafeTransferFrom(&_IERC1155.TransactOpts, from, to, id, amount, data)
- }
- // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465.
- //
- // Solidity: function setApprovalForAll(address operator, bool approved) returns()
- func (_IERC1155 *IERC1155Transactor) SetApprovalForAll(opts *bind.TransactOpts, operator common.Address, approved bool) (*types.Transaction, error) {
- return _IERC1155.contract.Transact(opts, "setApprovalForAll", operator, approved)
- }
- // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465.
- //
- // Solidity: function setApprovalForAll(address operator, bool approved) returns()
- func (_IERC1155 *IERC1155Session) SetApprovalForAll(operator common.Address, approved bool) (*types.Transaction, error) {
- return _IERC1155.Contract.SetApprovalForAll(&_IERC1155.TransactOpts, operator, approved)
- }
- // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465.
- //
- // Solidity: function setApprovalForAll(address operator, bool approved) returns()
- func (_IERC1155 *IERC1155TransactorSession) SetApprovalForAll(operator common.Address, approved bool) (*types.Transaction, error) {
- return _IERC1155.Contract.SetApprovalForAll(&_IERC1155.TransactOpts, operator, approved)
- }
- // 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.
- type IERC1155ApprovalForAllIterator struct {
- Event *IERC1155ApprovalForAll // Event containing the contract specifics and raw log
- contract *bind.BoundContract // Generic contract to use for unpacking event data
- event string // Event name to use for unpacking event data
- logs chan types.Log // Log channel receiving the found contract events
- sub ethereum.Subscription // Subscription for errors, completion and termination
- done bool // Whether the subscription completed delivering logs
- fail error // Occurred error to stop iteration
- }
- // Next advances the iterator to the subsequent event, returning whether there
- // are any more events found. In case of a retrieval or parsing error, false is
- // returned and Error() can be queried for the exact failure.
- func (it *IERC1155ApprovalForAllIterator) Next() bool {
- // If the iterator failed, stop iterating
- if it.fail != nil {
- return false
- }
- // If the iterator completed, deliver directly whatever's available
- if it.done {
- select {
- case log := <-it.logs:
- it.Event = new(IERC1155ApprovalForAll)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- default:
- return false
- }
- }
- // Iterator still in progress, wait for either a data or an error event
- select {
- case log := <-it.logs:
- it.Event = new(IERC1155ApprovalForAll)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- case err := <-it.sub.Err():
- it.done = true
- it.fail = err
- return it.Next()
- }
- }
- // Error returns any retrieval or parsing error occurred during filtering.
- func (it *IERC1155ApprovalForAllIterator) Error() error {
- return it.fail
- }
- // Close terminates the iteration process, releasing any pending underlying
- // resources.
- func (it *IERC1155ApprovalForAllIterator) Close() error {
- it.sub.Unsubscribe()
- return nil
- }
- // IERC1155ApprovalForAll represents a ApprovalForAll event raised by the IERC1155 contract.
- type IERC1155ApprovalForAll struct {
- Account common.Address
- Operator common.Address
- Approved bool
- Raw types.Log // Blockchain specific contextual infos
- }
- // FilterApprovalForAll is a free log retrieval operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31.
- //
- // Solidity: event ApprovalForAll(address indexed account, address indexed operator, bool approved)
- func (_IERC1155 *IERC1155Filterer) FilterApprovalForAll(opts *bind.FilterOpts, account []common.Address, operator []common.Address) (*IERC1155ApprovalForAllIterator, error) {
- var accountRule []interface{}
- for _, accountItem := range account {
- accountRule = append(accountRule, accountItem)
- }
- var operatorRule []interface{}
- for _, operatorItem := range operator {
- operatorRule = append(operatorRule, operatorItem)
- }
- logs, sub, err := _IERC1155.contract.FilterLogs(opts, "ApprovalForAll", accountRule, operatorRule)
- if err != nil {
- return nil, err
- }
- return &IERC1155ApprovalForAllIterator{contract: _IERC1155.contract, event: "ApprovalForAll", logs: logs, sub: sub}, nil
- }
- // WatchApprovalForAll is a free log subscription operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31.
- //
- // Solidity: event ApprovalForAll(address indexed account, address indexed operator, bool approved)
- func (_IERC1155 *IERC1155Filterer) WatchApprovalForAll(opts *bind.WatchOpts, sink chan<- *IERC1155ApprovalForAll, account []common.Address, operator []common.Address) (event.Subscription, error) {
- var accountRule []interface{}
- for _, accountItem := range account {
- accountRule = append(accountRule, accountItem)
- }
- var operatorRule []interface{}
- for _, operatorItem := range operator {
- operatorRule = append(operatorRule, operatorItem)
- }
- logs, sub, err := _IERC1155.contract.WatchLogs(opts, "ApprovalForAll", accountRule, operatorRule)
- if err != nil {
- return nil, err
- }
- return event.NewSubscription(func(quit <-chan struct{}) error {
- defer sub.Unsubscribe()
- for {
- select {
- case log := <-logs:
- // New log arrived, parse the event and forward to the user
- event := new(IERC1155ApprovalForAll)
- if err := _IERC1155.contract.UnpackLog(event, "ApprovalForAll", log); err != nil {
- return err
- }
- event.Raw = log
- select {
- case sink <- event:
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- }
- }), nil
- }
- // ParseApprovalForAll is a log parse operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31.
- //
- // Solidity: event ApprovalForAll(address indexed account, address indexed operator, bool approved)
- func (_IERC1155 *IERC1155Filterer) ParseApprovalForAll(log types.Log) (*IERC1155ApprovalForAll, error) {
- event := new(IERC1155ApprovalForAll)
- if err := _IERC1155.contract.UnpackLog(event, "ApprovalForAll", log); err != nil {
- return nil, err
- }
- event.Raw = log
- return event, nil
- }
- // 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.
- type IERC1155TransferBatchIterator struct {
- Event *IERC1155TransferBatch // Event containing the contract specifics and raw log
- contract *bind.BoundContract // Generic contract to use for unpacking event data
- event string // Event name to use for unpacking event data
- logs chan types.Log // Log channel receiving the found contract events
- sub ethereum.Subscription // Subscription for errors, completion and termination
- done bool // Whether the subscription completed delivering logs
- fail error // Occurred error to stop iteration
- }
- // Next advances the iterator to the subsequent event, returning whether there
- // are any more events found. In case of a retrieval or parsing error, false is
- // returned and Error() can be queried for the exact failure.
- func (it *IERC1155TransferBatchIterator) Next() bool {
- // If the iterator failed, stop iterating
- if it.fail != nil {
- return false
- }
- // If the iterator completed, deliver directly whatever's available
- if it.done {
- select {
- case log := <-it.logs:
- it.Event = new(IERC1155TransferBatch)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- default:
- return false
- }
- }
- // Iterator still in progress, wait for either a data or an error event
- select {
- case log := <-it.logs:
- it.Event = new(IERC1155TransferBatch)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- case err := <-it.sub.Err():
- it.done = true
- it.fail = err
- return it.Next()
- }
- }
- // Error returns any retrieval or parsing error occurred during filtering.
- func (it *IERC1155TransferBatchIterator) Error() error {
- return it.fail
- }
- // Close terminates the iteration process, releasing any pending underlying
- // resources.
- func (it *IERC1155TransferBatchIterator) Close() error {
- it.sub.Unsubscribe()
- return nil
- }
- // IERC1155TransferBatch represents a TransferBatch event raised by the IERC1155 contract.
- type IERC1155TransferBatch struct {
- Operator common.Address
- From common.Address
- To common.Address
- Ids []*big.Int
- Values []*big.Int
- Raw types.Log // Blockchain specific contextual infos
- }
- // FilterTransferBatch is a free log retrieval operation binding the contract event 0x4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb.
- //
- // Solidity: event TransferBatch(address indexed operator, address indexed from, address indexed to, uint256[] ids, uint256[] values)
- func (_IERC1155 *IERC1155Filterer) FilterTransferBatch(opts *bind.FilterOpts, operator []common.Address, from []common.Address, to []common.Address) (*IERC1155TransferBatchIterator, error) {
- var operatorRule []interface{}
- for _, operatorItem := range operator {
- operatorRule = append(operatorRule, operatorItem)
- }
- var fromRule []interface{}
- for _, fromItem := range from {
- fromRule = append(fromRule, fromItem)
- }
- var toRule []interface{}
- for _, toItem := range to {
- toRule = append(toRule, toItem)
- }
- logs, sub, err := _IERC1155.contract.FilterLogs(opts, "TransferBatch", operatorRule, fromRule, toRule)
- if err != nil {
- return nil, err
- }
- return &IERC1155TransferBatchIterator{contract: _IERC1155.contract, event: "TransferBatch", logs: logs, sub: sub}, nil
- }
- // WatchTransferBatch is a free log subscription operation binding the contract event 0x4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb.
- //
- // Solidity: event TransferBatch(address indexed operator, address indexed from, address indexed to, uint256[] ids, uint256[] values)
- func (_IERC1155 *IERC1155Filterer) WatchTransferBatch(opts *bind.WatchOpts, sink chan<- *IERC1155TransferBatch, operator []common.Address, from []common.Address, to []common.Address) (event.Subscription, error) {
- var operatorRule []interface{}
- for _, operatorItem := range operator {
- operatorRule = append(operatorRule, operatorItem)
- }
- var fromRule []interface{}
- for _, fromItem := range from {
- fromRule = append(fromRule, fromItem)
- }
- var toRule []interface{}
- for _, toItem := range to {
- toRule = append(toRule, toItem)
- }
- logs, sub, err := _IERC1155.contract.WatchLogs(opts, "TransferBatch", operatorRule, fromRule, toRule)
- if err != nil {
- return nil, err
- }
- return event.NewSubscription(func(quit <-chan struct{}) error {
- defer sub.Unsubscribe()
- for {
- select {
- case log := <-logs:
- // New log arrived, parse the event and forward to the user
- event := new(IERC1155TransferBatch)
- if err := _IERC1155.contract.UnpackLog(event, "TransferBatch", log); err != nil {
- return err
- }
- event.Raw = log
- select {
- case sink <- event:
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- }
- }), nil
- }
- // ParseTransferBatch is a log parse operation binding the contract event 0x4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb.
- //
- // Solidity: event TransferBatch(address indexed operator, address indexed from, address indexed to, uint256[] ids, uint256[] values)
- func (_IERC1155 *IERC1155Filterer) ParseTransferBatch(log types.Log) (*IERC1155TransferBatch, error) {
- event := new(IERC1155TransferBatch)
- if err := _IERC1155.contract.UnpackLog(event, "TransferBatch", log); err != nil {
- return nil, err
- }
- event.Raw = log
- return event, nil
- }
- // 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.
- type IERC1155TransferSingleIterator struct {
- Event *IERC1155TransferSingle // Event containing the contract specifics and raw log
- contract *bind.BoundContract // Generic contract to use for unpacking event data
- event string // Event name to use for unpacking event data
- logs chan types.Log // Log channel receiving the found contract events
- sub ethereum.Subscription // Subscription for errors, completion and termination
- done bool // Whether the subscription completed delivering logs
- fail error // Occurred error to stop iteration
- }
- // Next advances the iterator to the subsequent event, returning whether there
- // are any more events found. In case of a retrieval or parsing error, false is
- // returned and Error() can be queried for the exact failure.
- func (it *IERC1155TransferSingleIterator) Next() bool {
- // If the iterator failed, stop iterating
- if it.fail != nil {
- return false
- }
- // If the iterator completed, deliver directly whatever's available
- if it.done {
- select {
- case log := <-it.logs:
- it.Event = new(IERC1155TransferSingle)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- default:
- return false
- }
- }
- // Iterator still in progress, wait for either a data or an error event
- select {
- case log := <-it.logs:
- it.Event = new(IERC1155TransferSingle)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- case err := <-it.sub.Err():
- it.done = true
- it.fail = err
- return it.Next()
- }
- }
- // Error returns any retrieval or parsing error occurred during filtering.
- func (it *IERC1155TransferSingleIterator) Error() error {
- return it.fail
- }
- // Close terminates the iteration process, releasing any pending underlying
- // resources.
- func (it *IERC1155TransferSingleIterator) Close() error {
- it.sub.Unsubscribe()
- return nil
- }
- // IERC1155TransferSingle represents a TransferSingle event raised by the IERC1155 contract.
- type IERC1155TransferSingle struct {
- Operator common.Address
- From common.Address
- To common.Address
- Id *big.Int
- Value *big.Int
- Raw types.Log // Blockchain specific contextual infos
- }
- // FilterTransferSingle is a free log retrieval operation binding the contract event 0xc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62.
- //
- // Solidity: event TransferSingle(address indexed operator, address indexed from, address indexed to, uint256 id, uint256 value)
- func (_IERC1155 *IERC1155Filterer) FilterTransferSingle(opts *bind.FilterOpts, operator []common.Address, from []common.Address, to []common.Address) (*IERC1155TransferSingleIterator, error) {
- var operatorRule []interface{}
- for _, operatorItem := range operator {
- operatorRule = append(operatorRule, operatorItem)
- }
- var fromRule []interface{}
- for _, fromItem := range from {
- fromRule = append(fromRule, fromItem)
- }
- var toRule []interface{}
- for _, toItem := range to {
- toRule = append(toRule, toItem)
- }
- logs, sub, err := _IERC1155.contract.FilterLogs(opts, "TransferSingle", operatorRule, fromRule, toRule)
- if err != nil {
- return nil, err
- }
- return &IERC1155TransferSingleIterator{contract: _IERC1155.contract, event: "TransferSingle", logs: logs, sub: sub}, nil
- }
- // WatchTransferSingle is a free log subscription operation binding the contract event 0xc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62.
- //
- // Solidity: event TransferSingle(address indexed operator, address indexed from, address indexed to, uint256 id, uint256 value)
- func (_IERC1155 *IERC1155Filterer) WatchTransferSingle(opts *bind.WatchOpts, sink chan<- *IERC1155TransferSingle, operator []common.Address, from []common.Address, to []common.Address) (event.Subscription, error) {
- var operatorRule []interface{}
- for _, operatorItem := range operator {
- operatorRule = append(operatorRule, operatorItem)
- }
- var fromRule []interface{}
- for _, fromItem := range from {
- fromRule = append(fromRule, fromItem)
- }
- var toRule []interface{}
- for _, toItem := range to {
- toRule = append(toRule, toItem)
- }
- logs, sub, err := _IERC1155.contract.WatchLogs(opts, "TransferSingle", operatorRule, fromRule, toRule)
- if err != nil {
- return nil, err
- }
- return event.NewSubscription(func(quit <-chan struct{}) error {
- defer sub.Unsubscribe()
- for {
- select {
- case log := <-logs:
- // New log arrived, parse the event and forward to the user
- event := new(IERC1155TransferSingle)
- if err := _IERC1155.contract.UnpackLog(event, "TransferSingle", log); err != nil {
- return err
- }
- event.Raw = log
- select {
- case sink <- event:
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- }
- }), nil
- }
- // ParseTransferSingle is a log parse operation binding the contract event 0xc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62.
- //
- // Solidity: event TransferSingle(address indexed operator, address indexed from, address indexed to, uint256 id, uint256 value)
- func (_IERC1155 *IERC1155Filterer) ParseTransferSingle(log types.Log) (*IERC1155TransferSingle, error) {
- event := new(IERC1155TransferSingle)
- if err := _IERC1155.contract.UnpackLog(event, "TransferSingle", log); err != nil {
- return nil, err
- }
- event.Raw = log
- return event, nil
- }
- // 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.
- type IERC1155URIIterator struct {
- Event *IERC1155URI // Event containing the contract specifics and raw log
- contract *bind.BoundContract // Generic contract to use for unpacking event data
- event string // Event name to use for unpacking event data
- logs chan types.Log // Log channel receiving the found contract events
- sub ethereum.Subscription // Subscription for errors, completion and termination
- done bool // Whether the subscription completed delivering logs
- fail error // Occurred error to stop iteration
- }
- // Next advances the iterator to the subsequent event, returning whether there
- // are any more events found. In case of a retrieval or parsing error, false is
- // returned and Error() can be queried for the exact failure.
- func (it *IERC1155URIIterator) Next() bool {
- // If the iterator failed, stop iterating
- if it.fail != nil {
- return false
- }
- // If the iterator completed, deliver directly whatever's available
- if it.done {
- select {
- case log := <-it.logs:
- it.Event = new(IERC1155URI)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- default:
- return false
- }
- }
- // Iterator still in progress, wait for either a data or an error event
- select {
- case log := <-it.logs:
- it.Event = new(IERC1155URI)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- case err := <-it.sub.Err():
- it.done = true
- it.fail = err
- return it.Next()
- }
- }
- // Error returns any retrieval or parsing error occurred during filtering.
- func (it *IERC1155URIIterator) Error() error {
- return it.fail
- }
- // Close terminates the iteration process, releasing any pending underlying
- // resources.
- func (it *IERC1155URIIterator) Close() error {
- it.sub.Unsubscribe()
- return nil
- }
- // IERC1155URI represents a URI event raised by the IERC1155 contract.
- type IERC1155URI struct {
- Value string
- Id *big.Int
- Raw types.Log // Blockchain specific contextual infos
- }
- // FilterURI is a free log retrieval operation binding the contract event 0x6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b.
- //
- // Solidity: event URI(string value, uint256 indexed id)
- func (_IERC1155 *IERC1155Filterer) FilterURI(opts *bind.FilterOpts, id []*big.Int) (*IERC1155URIIterator, error) {
- var idRule []interface{}
- for _, idItem := range id {
- idRule = append(idRule, idItem)
- }
- logs, sub, err := _IERC1155.contract.FilterLogs(opts, "URI", idRule)
- if err != nil {
- return nil, err
- }
- return &IERC1155URIIterator{contract: _IERC1155.contract, event: "URI", logs: logs, sub: sub}, nil
- }
- // WatchURI is a free log subscription operation binding the contract event 0x6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b.
- //
- // Solidity: event URI(string value, uint256 indexed id)
- func (_IERC1155 *IERC1155Filterer) WatchURI(opts *bind.WatchOpts, sink chan<- *IERC1155URI, id []*big.Int) (event.Subscription, error) {
- var idRule []interface{}
- for _, idItem := range id {
- idRule = append(idRule, idItem)
- }
- logs, sub, err := _IERC1155.contract.WatchLogs(opts, "URI", idRule)
- if err != nil {
- return nil, err
- }
- return event.NewSubscription(func(quit <-chan struct{}) error {
- defer sub.Unsubscribe()
- for {
- select {
- case log := <-logs:
- // New log arrived, parse the event and forward to the user
- event := new(IERC1155URI)
- if err := _IERC1155.contract.UnpackLog(event, "URI", log); err != nil {
- return err
- }
- event.Raw = log
- select {
- case sink <- event:
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- }
- }), nil
- }
- // ParseURI is a log parse operation binding the contract event 0x6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b.
- //
- // Solidity: event URI(string value, uint256 indexed id)
- func (_IERC1155 *IERC1155Filterer) ParseURI(log types.Log) (*IERC1155URI, error) {
- event := new(IERC1155URI)
- if err := _IERC1155.contract.UnpackLog(event, "URI", log); err != nil {
- return nil, err
- }
- event.Raw = log
- return event, nil
- }
- // IERC1155MetadataURIMetaData contains all meta data concerning the IERC1155MetadataURI contract.
- var IERC1155MetadataURIMetaData = &bind.MetaData{
- 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\"}]",
- Sigs: map[string]string{
- "00fdd58e": "balanceOf(address,uint256)",
- "4e1273f4": "balanceOfBatch(address[],uint256[])",
- "e985e9c5": "isApprovedForAll(address,address)",
- "2eb2c2d6": "safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)",
- "f242432a": "safeTransferFrom(address,address,uint256,uint256,bytes)",
- "a22cb465": "setApprovalForAll(address,bool)",
- "01ffc9a7": "supportsInterface(bytes4)",
- "0e89341c": "uri(uint256)",
- },
- }
- // IERC1155MetadataURIABI is the input ABI used to generate the binding from.
- // Deprecated: Use IERC1155MetadataURIMetaData.ABI instead.
- var IERC1155MetadataURIABI = IERC1155MetadataURIMetaData.ABI
- // Deprecated: Use IERC1155MetadataURIMetaData.Sigs instead.
- // IERC1155MetadataURIFuncSigs maps the 4-byte function signature to its string representation.
- var IERC1155MetadataURIFuncSigs = IERC1155MetadataURIMetaData.Sigs
- // IERC1155MetadataURI is an auto generated Go binding around an Ethereum contract.
- type IERC1155MetadataURI struct {
- IERC1155MetadataURICaller // Read-only binding to the contract
- IERC1155MetadataURITransactor // Write-only binding to the contract
- IERC1155MetadataURIFilterer // Log filterer for contract events
- }
- // IERC1155MetadataURICaller is an auto generated read-only Go binding around an Ethereum contract.
- type IERC1155MetadataURICaller struct {
- contract *bind.BoundContract // Generic contract wrapper for the low level calls
- }
- // IERC1155MetadataURITransactor is an auto generated write-only Go binding around an Ethereum contract.
- type IERC1155MetadataURITransactor struct {
- contract *bind.BoundContract // Generic contract wrapper for the low level calls
- }
- // IERC1155MetadataURIFilterer is an auto generated log filtering Go binding around an Ethereum contract events.
- type IERC1155MetadataURIFilterer struct {
- contract *bind.BoundContract // Generic contract wrapper for the low level calls
- }
- // IERC1155MetadataURISession is an auto generated Go binding around an Ethereum contract,
- // with pre-set call and transact options.
- type IERC1155MetadataURISession struct {
- Contract *IERC1155MetadataURI // Generic contract binding to set the session for
- CallOpts bind.CallOpts // Call options to use throughout this session
- TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
- }
- // IERC1155MetadataURICallerSession is an auto generated read-only Go binding around an Ethereum contract,
- // with pre-set call options.
- type IERC1155MetadataURICallerSession struct {
- Contract *IERC1155MetadataURICaller // Generic contract caller binding to set the session for
- CallOpts bind.CallOpts // Call options to use throughout this session
- }
- // IERC1155MetadataURITransactorSession is an auto generated write-only Go binding around an Ethereum contract,
- // with pre-set transact options.
- type IERC1155MetadataURITransactorSession struct {
- Contract *IERC1155MetadataURITransactor // Generic contract transactor binding to set the session for
- TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
- }
- // IERC1155MetadataURIRaw is an auto generated low-level Go binding around an Ethereum contract.
- type IERC1155MetadataURIRaw struct {
- Contract *IERC1155MetadataURI // Generic contract binding to access the raw methods on
- }
- // IERC1155MetadataURICallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
- type IERC1155MetadataURICallerRaw struct {
- Contract *IERC1155MetadataURICaller // Generic read-only contract binding to access the raw methods on
- }
- // IERC1155MetadataURITransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
- type IERC1155MetadataURITransactorRaw struct {
- Contract *IERC1155MetadataURITransactor // Generic write-only contract binding to access the raw methods on
- }
- // NewIERC1155MetadataURI creates a new instance of IERC1155MetadataURI, bound to a specific deployed contract.
- func NewIERC1155MetadataURI(address common.Address, backend bind.ContractBackend) (*IERC1155MetadataURI, error) {
- contract, err := bindIERC1155MetadataURI(address, backend, backend, backend)
- if err != nil {
- return nil, err
- }
- return &IERC1155MetadataURI{IERC1155MetadataURICaller: IERC1155MetadataURICaller{contract: contract}, IERC1155MetadataURITransactor: IERC1155MetadataURITransactor{contract: contract}, IERC1155MetadataURIFilterer: IERC1155MetadataURIFilterer{contract: contract}}, nil
- }
- // NewIERC1155MetadataURICaller creates a new read-only instance of IERC1155MetadataURI, bound to a specific deployed contract.
- func NewIERC1155MetadataURICaller(address common.Address, caller bind.ContractCaller) (*IERC1155MetadataURICaller, error) {
- contract, err := bindIERC1155MetadataURI(address, caller, nil, nil)
- if err != nil {
- return nil, err
- }
- return &IERC1155MetadataURICaller{contract: contract}, nil
- }
- // NewIERC1155MetadataURITransactor creates a new write-only instance of IERC1155MetadataURI, bound to a specific deployed contract.
- func NewIERC1155MetadataURITransactor(address common.Address, transactor bind.ContractTransactor) (*IERC1155MetadataURITransactor, error) {
- contract, err := bindIERC1155MetadataURI(address, nil, transactor, nil)
- if err != nil {
- return nil, err
- }
- return &IERC1155MetadataURITransactor{contract: contract}, nil
- }
- // NewIERC1155MetadataURIFilterer creates a new log filterer instance of IERC1155MetadataURI, bound to a specific deployed contract.
- func NewIERC1155MetadataURIFilterer(address common.Address, filterer bind.ContractFilterer) (*IERC1155MetadataURIFilterer, error) {
- contract, err := bindIERC1155MetadataURI(address, nil, nil, filterer)
- if err != nil {
- return nil, err
- }
- return &IERC1155MetadataURIFilterer{contract: contract}, nil
- }
- // bindIERC1155MetadataURI binds a generic wrapper to an already deployed contract.
- func bindIERC1155MetadataURI(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
- parsed, err := abi.JSON(strings.NewReader(IERC1155MetadataURIABI))
- if err != nil {
- return nil, err
- }
- return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil
- }
- // Call invokes the (constant) contract method with params as input values and
- // sets the output to result. The result type might be a single field for simple
- // returns, a slice of interfaces for anonymous returns and a struct for named
- // returns.
- func (_IERC1155MetadataURI *IERC1155MetadataURIRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
- return _IERC1155MetadataURI.Contract.IERC1155MetadataURICaller.contract.Call(opts, result, method, params...)
- }
- // Transfer initiates a plain transaction to move funds to the contract, calling
- // its default method if one is available.
- func (_IERC1155MetadataURI *IERC1155MetadataURIRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
- return _IERC1155MetadataURI.Contract.IERC1155MetadataURITransactor.contract.Transfer(opts)
- }
- // Transact invokes the (paid) contract method with params as input values.
- func (_IERC1155MetadataURI *IERC1155MetadataURIRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
- return _IERC1155MetadataURI.Contract.IERC1155MetadataURITransactor.contract.Transact(opts, method, params...)
- }
- // Call invokes the (constant) contract method with params as input values and
- // sets the output to result. The result type might be a single field for simple
- // returns, a slice of interfaces for anonymous returns and a struct for named
- // returns.
- func (_IERC1155MetadataURI *IERC1155MetadataURICallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
- return _IERC1155MetadataURI.Contract.contract.Call(opts, result, method, params...)
- }
- // Transfer initiates a plain transaction to move funds to the contract, calling
- // its default method if one is available.
- func (_IERC1155MetadataURI *IERC1155MetadataURITransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
- return _IERC1155MetadataURI.Contract.contract.Transfer(opts)
- }
- // Transact invokes the (paid) contract method with params as input values.
- func (_IERC1155MetadataURI *IERC1155MetadataURITransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
- return _IERC1155MetadataURI.Contract.contract.Transact(opts, method, params...)
- }
- // BalanceOf is a free data retrieval call binding the contract method 0x00fdd58e.
- //
- // Solidity: function balanceOf(address account, uint256 id) view returns(uint256)
- func (_IERC1155MetadataURI *IERC1155MetadataURICaller) BalanceOf(opts *bind.CallOpts, account common.Address, id *big.Int) (*big.Int, error) {
- var out []interface{}
- err := _IERC1155MetadataURI.contract.Call(opts, &out, "balanceOf", account, id)
- if err != nil {
- return *new(*big.Int), err
- }
- out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
- return out0, err
- }
- // BalanceOf is a free data retrieval call binding the contract method 0x00fdd58e.
- //
- // Solidity: function balanceOf(address account, uint256 id) view returns(uint256)
- func (_IERC1155MetadataURI *IERC1155MetadataURISession) BalanceOf(account common.Address, id *big.Int) (*big.Int, error) {
- return _IERC1155MetadataURI.Contract.BalanceOf(&_IERC1155MetadataURI.CallOpts, account, id)
- }
- // BalanceOf is a free data retrieval call binding the contract method 0x00fdd58e.
- //
- // Solidity: function balanceOf(address account, uint256 id) view returns(uint256)
- func (_IERC1155MetadataURI *IERC1155MetadataURICallerSession) BalanceOf(account common.Address, id *big.Int) (*big.Int, error) {
- return _IERC1155MetadataURI.Contract.BalanceOf(&_IERC1155MetadataURI.CallOpts, account, id)
- }
- // BalanceOfBatch is a free data retrieval call binding the contract method 0x4e1273f4.
- //
- // Solidity: function balanceOfBatch(address[] accounts, uint256[] ids) view returns(uint256[])
- func (_IERC1155MetadataURI *IERC1155MetadataURICaller) BalanceOfBatch(opts *bind.CallOpts, accounts []common.Address, ids []*big.Int) ([]*big.Int, error) {
- var out []interface{}
- err := _IERC1155MetadataURI.contract.Call(opts, &out, "balanceOfBatch", accounts, ids)
- if err != nil {
- return *new([]*big.Int), err
- }
- out0 := *abi.ConvertType(out[0], new([]*big.Int)).(*[]*big.Int)
- return out0, err
- }
- // BalanceOfBatch is a free data retrieval call binding the contract method 0x4e1273f4.
- //
- // Solidity: function balanceOfBatch(address[] accounts, uint256[] ids) view returns(uint256[])
- func (_IERC1155MetadataURI *IERC1155MetadataURISession) BalanceOfBatch(accounts []common.Address, ids []*big.Int) ([]*big.Int, error) {
- return _IERC1155MetadataURI.Contract.BalanceOfBatch(&_IERC1155MetadataURI.CallOpts, accounts, ids)
- }
- // BalanceOfBatch is a free data retrieval call binding the contract method 0x4e1273f4.
- //
- // Solidity: function balanceOfBatch(address[] accounts, uint256[] ids) view returns(uint256[])
- func (_IERC1155MetadataURI *IERC1155MetadataURICallerSession) BalanceOfBatch(accounts []common.Address, ids []*big.Int) ([]*big.Int, error) {
- return _IERC1155MetadataURI.Contract.BalanceOfBatch(&_IERC1155MetadataURI.CallOpts, accounts, ids)
- }
- // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5.
- //
- // Solidity: function isApprovedForAll(address account, address operator) view returns(bool)
- func (_IERC1155MetadataURI *IERC1155MetadataURICaller) IsApprovedForAll(opts *bind.CallOpts, account common.Address, operator common.Address) (bool, error) {
- var out []interface{}
- err := _IERC1155MetadataURI.contract.Call(opts, &out, "isApprovedForAll", account, operator)
- if err != nil {
- return *new(bool), err
- }
- out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
- return out0, err
- }
- // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5.
- //
- // Solidity: function isApprovedForAll(address account, address operator) view returns(bool)
- func (_IERC1155MetadataURI *IERC1155MetadataURISession) IsApprovedForAll(account common.Address, operator common.Address) (bool, error) {
- return _IERC1155MetadataURI.Contract.IsApprovedForAll(&_IERC1155MetadataURI.CallOpts, account, operator)
- }
- // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5.
- //
- // Solidity: function isApprovedForAll(address account, address operator) view returns(bool)
- func (_IERC1155MetadataURI *IERC1155MetadataURICallerSession) IsApprovedForAll(account common.Address, operator common.Address) (bool, error) {
- return _IERC1155MetadataURI.Contract.IsApprovedForAll(&_IERC1155MetadataURI.CallOpts, account, operator)
- }
- // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
- //
- // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
- func (_IERC1155MetadataURI *IERC1155MetadataURICaller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) {
- var out []interface{}
- err := _IERC1155MetadataURI.contract.Call(opts, &out, "supportsInterface", interfaceId)
- if err != nil {
- return *new(bool), err
- }
- out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
- return out0, err
- }
- // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
- //
- // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
- func (_IERC1155MetadataURI *IERC1155MetadataURISession) SupportsInterface(interfaceId [4]byte) (bool, error) {
- return _IERC1155MetadataURI.Contract.SupportsInterface(&_IERC1155MetadataURI.CallOpts, interfaceId)
- }
- // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
- //
- // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
- func (_IERC1155MetadataURI *IERC1155MetadataURICallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) {
- return _IERC1155MetadataURI.Contract.SupportsInterface(&_IERC1155MetadataURI.CallOpts, interfaceId)
- }
- // Uri is a free data retrieval call binding the contract method 0x0e89341c.
- //
- // Solidity: function uri(uint256 id) view returns(string)
- func (_IERC1155MetadataURI *IERC1155MetadataURICaller) Uri(opts *bind.CallOpts, id *big.Int) (string, error) {
- var out []interface{}
- err := _IERC1155MetadataURI.contract.Call(opts, &out, "uri", id)
- if err != nil {
- return *new(string), err
- }
- out0 := *abi.ConvertType(out[0], new(string)).(*string)
- return out0, err
- }
- // Uri is a free data retrieval call binding the contract method 0x0e89341c.
- //
- // Solidity: function uri(uint256 id) view returns(string)
- func (_IERC1155MetadataURI *IERC1155MetadataURISession) Uri(id *big.Int) (string, error) {
- return _IERC1155MetadataURI.Contract.Uri(&_IERC1155MetadataURI.CallOpts, id)
- }
- // Uri is a free data retrieval call binding the contract method 0x0e89341c.
- //
- // Solidity: function uri(uint256 id) view returns(string)
- func (_IERC1155MetadataURI *IERC1155MetadataURICallerSession) Uri(id *big.Int) (string, error) {
- return _IERC1155MetadataURI.Contract.Uri(&_IERC1155MetadataURI.CallOpts, id)
- }
- // SafeBatchTransferFrom is a paid mutator transaction binding the contract method 0x2eb2c2d6.
- //
- // Solidity: function safeBatchTransferFrom(address from, address to, uint256[] ids, uint256[] amounts, bytes data) returns()
- func (_IERC1155MetadataURI *IERC1155MetadataURITransactor) SafeBatchTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, ids []*big.Int, amounts []*big.Int, data []byte) (*types.Transaction, error) {
- return _IERC1155MetadataURI.contract.Transact(opts, "safeBatchTransferFrom", from, to, ids, amounts, data)
- }
- // SafeBatchTransferFrom is a paid mutator transaction binding the contract method 0x2eb2c2d6.
- //
- // Solidity: function safeBatchTransferFrom(address from, address to, uint256[] ids, uint256[] amounts, bytes data) returns()
- func (_IERC1155MetadataURI *IERC1155MetadataURISession) SafeBatchTransferFrom(from common.Address, to common.Address, ids []*big.Int, amounts []*big.Int, data []byte) (*types.Transaction, error) {
- return _IERC1155MetadataURI.Contract.SafeBatchTransferFrom(&_IERC1155MetadataURI.TransactOpts, from, to, ids, amounts, data)
- }
- // SafeBatchTransferFrom is a paid mutator transaction binding the contract method 0x2eb2c2d6.
- //
- // Solidity: function safeBatchTransferFrom(address from, address to, uint256[] ids, uint256[] amounts, bytes data) returns()
- func (_IERC1155MetadataURI *IERC1155MetadataURITransactorSession) SafeBatchTransferFrom(from common.Address, to common.Address, ids []*big.Int, amounts []*big.Int, data []byte) (*types.Transaction, error) {
- return _IERC1155MetadataURI.Contract.SafeBatchTransferFrom(&_IERC1155MetadataURI.TransactOpts, from, to, ids, amounts, data)
- }
- // SafeTransferFrom is a paid mutator transaction binding the contract method 0xf242432a.
- //
- // Solidity: function safeTransferFrom(address from, address to, uint256 id, uint256 amount, bytes data) returns()
- func (_IERC1155MetadataURI *IERC1155MetadataURITransactor) SafeTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, id *big.Int, amount *big.Int, data []byte) (*types.Transaction, error) {
- return _IERC1155MetadataURI.contract.Transact(opts, "safeTransferFrom", from, to, id, amount, data)
- }
- // SafeTransferFrom is a paid mutator transaction binding the contract method 0xf242432a.
- //
- // Solidity: function safeTransferFrom(address from, address to, uint256 id, uint256 amount, bytes data) returns()
- func (_IERC1155MetadataURI *IERC1155MetadataURISession) SafeTransferFrom(from common.Address, to common.Address, id *big.Int, amount *big.Int, data []byte) (*types.Transaction, error) {
- return _IERC1155MetadataURI.Contract.SafeTransferFrom(&_IERC1155MetadataURI.TransactOpts, from, to, id, amount, data)
- }
- // SafeTransferFrom is a paid mutator transaction binding the contract method 0xf242432a.
- //
- // Solidity: function safeTransferFrom(address from, address to, uint256 id, uint256 amount, bytes data) returns()
- func (_IERC1155MetadataURI *IERC1155MetadataURITransactorSession) SafeTransferFrom(from common.Address, to common.Address, id *big.Int, amount *big.Int, data []byte) (*types.Transaction, error) {
- return _IERC1155MetadataURI.Contract.SafeTransferFrom(&_IERC1155MetadataURI.TransactOpts, from, to, id, amount, data)
- }
- // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465.
- //
- // Solidity: function setApprovalForAll(address operator, bool approved) returns()
- func (_IERC1155MetadataURI *IERC1155MetadataURITransactor) SetApprovalForAll(opts *bind.TransactOpts, operator common.Address, approved bool) (*types.Transaction, error) {
- return _IERC1155MetadataURI.contract.Transact(opts, "setApprovalForAll", operator, approved)
- }
- // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465.
- //
- // Solidity: function setApprovalForAll(address operator, bool approved) returns()
- func (_IERC1155MetadataURI *IERC1155MetadataURISession) SetApprovalForAll(operator common.Address, approved bool) (*types.Transaction, error) {
- return _IERC1155MetadataURI.Contract.SetApprovalForAll(&_IERC1155MetadataURI.TransactOpts, operator, approved)
- }
- // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465.
- //
- // Solidity: function setApprovalForAll(address operator, bool approved) returns()
- func (_IERC1155MetadataURI *IERC1155MetadataURITransactorSession) SetApprovalForAll(operator common.Address, approved bool) (*types.Transaction, error) {
- return _IERC1155MetadataURI.Contract.SetApprovalForAll(&_IERC1155MetadataURI.TransactOpts, operator, approved)
- }
- // 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.
- type IERC1155MetadataURIApprovalForAllIterator struct {
- Event *IERC1155MetadataURIApprovalForAll // Event containing the contract specifics and raw log
- contract *bind.BoundContract // Generic contract to use for unpacking event data
- event string // Event name to use for unpacking event data
- logs chan types.Log // Log channel receiving the found contract events
- sub ethereum.Subscription // Subscription for errors, completion and termination
- done bool // Whether the subscription completed delivering logs
- fail error // Occurred error to stop iteration
- }
- // Next advances the iterator to the subsequent event, returning whether there
- // are any more events found. In case of a retrieval or parsing error, false is
- // returned and Error() can be queried for the exact failure.
- func (it *IERC1155MetadataURIApprovalForAllIterator) Next() bool {
- // If the iterator failed, stop iterating
- if it.fail != nil {
- return false
- }
- // If the iterator completed, deliver directly whatever's available
- if it.done {
- select {
- case log := <-it.logs:
- it.Event = new(IERC1155MetadataURIApprovalForAll)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- default:
- return false
- }
- }
- // Iterator still in progress, wait for either a data or an error event
- select {
- case log := <-it.logs:
- it.Event = new(IERC1155MetadataURIApprovalForAll)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- case err := <-it.sub.Err():
- it.done = true
- it.fail = err
- return it.Next()
- }
- }
- // Error returns any retrieval or parsing error occurred during filtering.
- func (it *IERC1155MetadataURIApprovalForAllIterator) Error() error {
- return it.fail
- }
- // Close terminates the iteration process, releasing any pending underlying
- // resources.
- func (it *IERC1155MetadataURIApprovalForAllIterator) Close() error {
- it.sub.Unsubscribe()
- return nil
- }
- // IERC1155MetadataURIApprovalForAll represents a ApprovalForAll event raised by the IERC1155MetadataURI contract.
- type IERC1155MetadataURIApprovalForAll struct {
- Account common.Address
- Operator common.Address
- Approved bool
- Raw types.Log // Blockchain specific contextual infos
- }
- // FilterApprovalForAll is a free log retrieval operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31.
- //
- // Solidity: event ApprovalForAll(address indexed account, address indexed operator, bool approved)
- func (_IERC1155MetadataURI *IERC1155MetadataURIFilterer) FilterApprovalForAll(opts *bind.FilterOpts, account []common.Address, operator []common.Address) (*IERC1155MetadataURIApprovalForAllIterator, error) {
- var accountRule []interface{}
- for _, accountItem := range account {
- accountRule = append(accountRule, accountItem)
- }
- var operatorRule []interface{}
- for _, operatorItem := range operator {
- operatorRule = append(operatorRule, operatorItem)
- }
- logs, sub, err := _IERC1155MetadataURI.contract.FilterLogs(opts, "ApprovalForAll", accountRule, operatorRule)
- if err != nil {
- return nil, err
- }
- return &IERC1155MetadataURIApprovalForAllIterator{contract: _IERC1155MetadataURI.contract, event: "ApprovalForAll", logs: logs, sub: sub}, nil
- }
- // WatchApprovalForAll is a free log subscription operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31.
- //
- // Solidity: event ApprovalForAll(address indexed account, address indexed operator, bool approved)
- func (_IERC1155MetadataURI *IERC1155MetadataURIFilterer) WatchApprovalForAll(opts *bind.WatchOpts, sink chan<- *IERC1155MetadataURIApprovalForAll, account []common.Address, operator []common.Address) (event.Subscription, error) {
- var accountRule []interface{}
- for _, accountItem := range account {
- accountRule = append(accountRule, accountItem)
- }
- var operatorRule []interface{}
- for _, operatorItem := range operator {
- operatorRule = append(operatorRule, operatorItem)
- }
- logs, sub, err := _IERC1155MetadataURI.contract.WatchLogs(opts, "ApprovalForAll", accountRule, operatorRule)
- if err != nil {
- return nil, err
- }
- return event.NewSubscription(func(quit <-chan struct{}) error {
- defer sub.Unsubscribe()
- for {
- select {
- case log := <-logs:
- // New log arrived, parse the event and forward to the user
- event := new(IERC1155MetadataURIApprovalForAll)
- if err := _IERC1155MetadataURI.contract.UnpackLog(event, "ApprovalForAll", log); err != nil {
- return err
- }
- event.Raw = log
- select {
- case sink <- event:
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- }
- }), nil
- }
- // ParseApprovalForAll is a log parse operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31.
- //
- // Solidity: event ApprovalForAll(address indexed account, address indexed operator, bool approved)
- func (_IERC1155MetadataURI *IERC1155MetadataURIFilterer) ParseApprovalForAll(log types.Log) (*IERC1155MetadataURIApprovalForAll, error) {
- event := new(IERC1155MetadataURIApprovalForAll)
- if err := _IERC1155MetadataURI.contract.UnpackLog(event, "ApprovalForAll", log); err != nil {
- return nil, err
- }
- event.Raw = log
- return event, nil
- }
- // 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.
- type IERC1155MetadataURITransferBatchIterator struct {
- Event *IERC1155MetadataURITransferBatch // Event containing the contract specifics and raw log
- contract *bind.BoundContract // Generic contract to use for unpacking event data
- event string // Event name to use for unpacking event data
- logs chan types.Log // Log channel receiving the found contract events
- sub ethereum.Subscription // Subscription for errors, completion and termination
- done bool // Whether the subscription completed delivering logs
- fail error // Occurred error to stop iteration
- }
- // Next advances the iterator to the subsequent event, returning whether there
- // are any more events found. In case of a retrieval or parsing error, false is
- // returned and Error() can be queried for the exact failure.
- func (it *IERC1155MetadataURITransferBatchIterator) Next() bool {
- // If the iterator failed, stop iterating
- if it.fail != nil {
- return false
- }
- // If the iterator completed, deliver directly whatever's available
- if it.done {
- select {
- case log := <-it.logs:
- it.Event = new(IERC1155MetadataURITransferBatch)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- default:
- return false
- }
- }
- // Iterator still in progress, wait for either a data or an error event
- select {
- case log := <-it.logs:
- it.Event = new(IERC1155MetadataURITransferBatch)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- case err := <-it.sub.Err():
- it.done = true
- it.fail = err
- return it.Next()
- }
- }
- // Error returns any retrieval or parsing error occurred during filtering.
- func (it *IERC1155MetadataURITransferBatchIterator) Error() error {
- return it.fail
- }
- // Close terminates the iteration process, releasing any pending underlying
- // resources.
- func (it *IERC1155MetadataURITransferBatchIterator) Close() error {
- it.sub.Unsubscribe()
- return nil
- }
- // IERC1155MetadataURITransferBatch represents a TransferBatch event raised by the IERC1155MetadataURI contract.
- type IERC1155MetadataURITransferBatch struct {
- Operator common.Address
- From common.Address
- To common.Address
- Ids []*big.Int
- Values []*big.Int
- Raw types.Log // Blockchain specific contextual infos
- }
- // FilterTransferBatch is a free log retrieval operation binding the contract event 0x4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb.
- //
- // Solidity: event TransferBatch(address indexed operator, address indexed from, address indexed to, uint256[] ids, uint256[] values)
- func (_IERC1155MetadataURI *IERC1155MetadataURIFilterer) FilterTransferBatch(opts *bind.FilterOpts, operator []common.Address, from []common.Address, to []common.Address) (*IERC1155MetadataURITransferBatchIterator, error) {
- var operatorRule []interface{}
- for _, operatorItem := range operator {
- operatorRule = append(operatorRule, operatorItem)
- }
- var fromRule []interface{}
- for _, fromItem := range from {
- fromRule = append(fromRule, fromItem)
- }
- var toRule []interface{}
- for _, toItem := range to {
- toRule = append(toRule, toItem)
- }
- logs, sub, err := _IERC1155MetadataURI.contract.FilterLogs(opts, "TransferBatch", operatorRule, fromRule, toRule)
- if err != nil {
- return nil, err
- }
- return &IERC1155MetadataURITransferBatchIterator{contract: _IERC1155MetadataURI.contract, event: "TransferBatch", logs: logs, sub: sub}, nil
- }
- // WatchTransferBatch is a free log subscription operation binding the contract event 0x4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb.
- //
- // Solidity: event TransferBatch(address indexed operator, address indexed from, address indexed to, uint256[] ids, uint256[] values)
- func (_IERC1155MetadataURI *IERC1155MetadataURIFilterer) WatchTransferBatch(opts *bind.WatchOpts, sink chan<- *IERC1155MetadataURITransferBatch, operator []common.Address, from []common.Address, to []common.Address) (event.Subscription, error) {
- var operatorRule []interface{}
- for _, operatorItem := range operator {
- operatorRule = append(operatorRule, operatorItem)
- }
- var fromRule []interface{}
- for _, fromItem := range from {
- fromRule = append(fromRule, fromItem)
- }
- var toRule []interface{}
- for _, toItem := range to {
- toRule = append(toRule, toItem)
- }
- logs, sub, err := _IERC1155MetadataURI.contract.WatchLogs(opts, "TransferBatch", operatorRule, fromRule, toRule)
- if err != nil {
- return nil, err
- }
- return event.NewSubscription(func(quit <-chan struct{}) error {
- defer sub.Unsubscribe()
- for {
- select {
- case log := <-logs:
- // New log arrived, parse the event and forward to the user
- event := new(IERC1155MetadataURITransferBatch)
- if err := _IERC1155MetadataURI.contract.UnpackLog(event, "TransferBatch", log); err != nil {
- return err
- }
- event.Raw = log
- select {
- case sink <- event:
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- }
- }), nil
- }
- // ParseTransferBatch is a log parse operation binding the contract event 0x4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb.
- //
- // Solidity: event TransferBatch(address indexed operator, address indexed from, address indexed to, uint256[] ids, uint256[] values)
- func (_IERC1155MetadataURI *IERC1155MetadataURIFilterer) ParseTransferBatch(log types.Log) (*IERC1155MetadataURITransferBatch, error) {
- event := new(IERC1155MetadataURITransferBatch)
- if err := _IERC1155MetadataURI.contract.UnpackLog(event, "TransferBatch", log); err != nil {
- return nil, err
- }
- event.Raw = log
- return event, nil
- }
- // 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.
- type IERC1155MetadataURITransferSingleIterator struct {
- Event *IERC1155MetadataURITransferSingle // Event containing the contract specifics and raw log
- contract *bind.BoundContract // Generic contract to use for unpacking event data
- event string // Event name to use for unpacking event data
- logs chan types.Log // Log channel receiving the found contract events
- sub ethereum.Subscription // Subscription for errors, completion and termination
- done bool // Whether the subscription completed delivering logs
- fail error // Occurred error to stop iteration
- }
- // Next advances the iterator to the subsequent event, returning whether there
- // are any more events found. In case of a retrieval or parsing error, false is
- // returned and Error() can be queried for the exact failure.
- func (it *IERC1155MetadataURITransferSingleIterator) Next() bool {
- // If the iterator failed, stop iterating
- if it.fail != nil {
- return false
- }
- // If the iterator completed, deliver directly whatever's available
- if it.done {
- select {
- case log := <-it.logs:
- it.Event = new(IERC1155MetadataURITransferSingle)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- default:
- return false
- }
- }
- // Iterator still in progress, wait for either a data or an error event
- select {
- case log := <-it.logs:
- it.Event = new(IERC1155MetadataURITransferSingle)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- case err := <-it.sub.Err():
- it.done = true
- it.fail = err
- return it.Next()
- }
- }
- // Error returns any retrieval or parsing error occurred during filtering.
- func (it *IERC1155MetadataURITransferSingleIterator) Error() error {
- return it.fail
- }
- // Close terminates the iteration process, releasing any pending underlying
- // resources.
- func (it *IERC1155MetadataURITransferSingleIterator) Close() error {
- it.sub.Unsubscribe()
- return nil
- }
- // IERC1155MetadataURITransferSingle represents a TransferSingle event raised by the IERC1155MetadataURI contract.
- type IERC1155MetadataURITransferSingle struct {
- Operator common.Address
- From common.Address
- To common.Address
- Id *big.Int
- Value *big.Int
- Raw types.Log // Blockchain specific contextual infos
- }
- // FilterTransferSingle is a free log retrieval operation binding the contract event 0xc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62.
- //
- // Solidity: event TransferSingle(address indexed operator, address indexed from, address indexed to, uint256 id, uint256 value)
- func (_IERC1155MetadataURI *IERC1155MetadataURIFilterer) FilterTransferSingle(opts *bind.FilterOpts, operator []common.Address, from []common.Address, to []common.Address) (*IERC1155MetadataURITransferSingleIterator, error) {
- var operatorRule []interface{}
- for _, operatorItem := range operator {
- operatorRule = append(operatorRule, operatorItem)
- }
- var fromRule []interface{}
- for _, fromItem := range from {
- fromRule = append(fromRule, fromItem)
- }
- var toRule []interface{}
- for _, toItem := range to {
- toRule = append(toRule, toItem)
- }
- logs, sub, err := _IERC1155MetadataURI.contract.FilterLogs(opts, "TransferSingle", operatorRule, fromRule, toRule)
- if err != nil {
- return nil, err
- }
- return &IERC1155MetadataURITransferSingleIterator{contract: _IERC1155MetadataURI.contract, event: "TransferSingle", logs: logs, sub: sub}, nil
- }
- // WatchTransferSingle is a free log subscription operation binding the contract event 0xc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62.
- //
- // Solidity: event TransferSingle(address indexed operator, address indexed from, address indexed to, uint256 id, uint256 value)
- func (_IERC1155MetadataURI *IERC1155MetadataURIFilterer) WatchTransferSingle(opts *bind.WatchOpts, sink chan<- *IERC1155MetadataURITransferSingle, operator []common.Address, from []common.Address, to []common.Address) (event.Subscription, error) {
- var operatorRule []interface{}
- for _, operatorItem := range operator {
- operatorRule = append(operatorRule, operatorItem)
- }
- var fromRule []interface{}
- for _, fromItem := range from {
- fromRule = append(fromRule, fromItem)
- }
- var toRule []interface{}
- for _, toItem := range to {
- toRule = append(toRule, toItem)
- }
- logs, sub, err := _IERC1155MetadataURI.contract.WatchLogs(opts, "TransferSingle", operatorRule, fromRule, toRule)
- if err != nil {
- return nil, err
- }
- return event.NewSubscription(func(quit <-chan struct{}) error {
- defer sub.Unsubscribe()
- for {
- select {
- case log := <-logs:
- // New log arrived, parse the event and forward to the user
- event := new(IERC1155MetadataURITransferSingle)
- if err := _IERC1155MetadataURI.contract.UnpackLog(event, "TransferSingle", log); err != nil {
- return err
- }
- event.Raw = log
- select {
- case sink <- event:
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- }
- }), nil
- }
- // ParseTransferSingle is a log parse operation binding the contract event 0xc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62.
- //
- // Solidity: event TransferSingle(address indexed operator, address indexed from, address indexed to, uint256 id, uint256 value)
- func (_IERC1155MetadataURI *IERC1155MetadataURIFilterer) ParseTransferSingle(log types.Log) (*IERC1155MetadataURITransferSingle, error) {
- event := new(IERC1155MetadataURITransferSingle)
- if err := _IERC1155MetadataURI.contract.UnpackLog(event, "TransferSingle", log); err != nil {
- return nil, err
- }
- event.Raw = log
- return event, nil
- }
- // 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.
- type IERC1155MetadataURIURIIterator struct {
- Event *IERC1155MetadataURIURI // Event containing the contract specifics and raw log
- contract *bind.BoundContract // Generic contract to use for unpacking event data
- event string // Event name to use for unpacking event data
- logs chan types.Log // Log channel receiving the found contract events
- sub ethereum.Subscription // Subscription for errors, completion and termination
- done bool // Whether the subscription completed delivering logs
- fail error // Occurred error to stop iteration
- }
- // Next advances the iterator to the subsequent event, returning whether there
- // are any more events found. In case of a retrieval or parsing error, false is
- // returned and Error() can be queried for the exact failure.
- func (it *IERC1155MetadataURIURIIterator) Next() bool {
- // If the iterator failed, stop iterating
- if it.fail != nil {
- return false
- }
- // If the iterator completed, deliver directly whatever's available
- if it.done {
- select {
- case log := <-it.logs:
- it.Event = new(IERC1155MetadataURIURI)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- default:
- return false
- }
- }
- // Iterator still in progress, wait for either a data or an error event
- select {
- case log := <-it.logs:
- it.Event = new(IERC1155MetadataURIURI)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- case err := <-it.sub.Err():
- it.done = true
- it.fail = err
- return it.Next()
- }
- }
- // Error returns any retrieval or parsing error occurred during filtering.
- func (it *IERC1155MetadataURIURIIterator) Error() error {
- return it.fail
- }
- // Close terminates the iteration process, releasing any pending underlying
- // resources.
- func (it *IERC1155MetadataURIURIIterator) Close() error {
- it.sub.Unsubscribe()
- return nil
- }
- // IERC1155MetadataURIURI represents a URI event raised by the IERC1155MetadataURI contract.
- type IERC1155MetadataURIURI struct {
- Value string
- Id *big.Int
- Raw types.Log // Blockchain specific contextual infos
- }
- // FilterURI is a free log retrieval operation binding the contract event 0x6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b.
- //
- // Solidity: event URI(string value, uint256 indexed id)
- func (_IERC1155MetadataURI *IERC1155MetadataURIFilterer) FilterURI(opts *bind.FilterOpts, id []*big.Int) (*IERC1155MetadataURIURIIterator, error) {
- var idRule []interface{}
- for _, idItem := range id {
- idRule = append(idRule, idItem)
- }
- logs, sub, err := _IERC1155MetadataURI.contract.FilterLogs(opts, "URI", idRule)
- if err != nil {
- return nil, err
- }
- return &IERC1155MetadataURIURIIterator{contract: _IERC1155MetadataURI.contract, event: "URI", logs: logs, sub: sub}, nil
- }
- // WatchURI is a free log subscription operation binding the contract event 0x6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b.
- //
- // Solidity: event URI(string value, uint256 indexed id)
- func (_IERC1155MetadataURI *IERC1155MetadataURIFilterer) WatchURI(opts *bind.WatchOpts, sink chan<- *IERC1155MetadataURIURI, id []*big.Int) (event.Subscription, error) {
- var idRule []interface{}
- for _, idItem := range id {
- idRule = append(idRule, idItem)
- }
- logs, sub, err := _IERC1155MetadataURI.contract.WatchLogs(opts, "URI", idRule)
- if err != nil {
- return nil, err
- }
- return event.NewSubscription(func(quit <-chan struct{}) error {
- defer sub.Unsubscribe()
- for {
- select {
- case log := <-logs:
- // New log arrived, parse the event and forward to the user
- event := new(IERC1155MetadataURIURI)
- if err := _IERC1155MetadataURI.contract.UnpackLog(event, "URI", log); err != nil {
- return err
- }
- event.Raw = log
- select {
- case sink <- event:
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- }
- }), nil
- }
- // ParseURI is a log parse operation binding the contract event 0x6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b.
- //
- // Solidity: event URI(string value, uint256 indexed id)
- func (_IERC1155MetadataURI *IERC1155MetadataURIFilterer) ParseURI(log types.Log) (*IERC1155MetadataURIURI, error) {
- event := new(IERC1155MetadataURIURI)
- if err := _IERC1155MetadataURI.contract.UnpackLog(event, "URI", log); err != nil {
- return nil, err
- }
- event.Raw = log
- return event, nil
- }
- // IERC1155ReceiverMetaData contains all meta data concerning the IERC1155Receiver contract.
- var IERC1155ReceiverMetaData = &bind.MetaData{
- 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\"}]",
- Sigs: map[string]string{
- "bc197c81": "onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)",
- "f23a6e61": "onERC1155Received(address,address,uint256,uint256,bytes)",
- "01ffc9a7": "supportsInterface(bytes4)",
- },
- }
- // IERC1155ReceiverABI is the input ABI used to generate the binding from.
- // Deprecated: Use IERC1155ReceiverMetaData.ABI instead.
- var IERC1155ReceiverABI = IERC1155ReceiverMetaData.ABI
- // Deprecated: Use IERC1155ReceiverMetaData.Sigs instead.
- // IERC1155ReceiverFuncSigs maps the 4-byte function signature to its string representation.
- var IERC1155ReceiverFuncSigs = IERC1155ReceiverMetaData.Sigs
- // IERC1155Receiver is an auto generated Go binding around an Ethereum contract.
- type IERC1155Receiver struct {
- IERC1155ReceiverCaller // Read-only binding to the contract
- IERC1155ReceiverTransactor // Write-only binding to the contract
- IERC1155ReceiverFilterer // Log filterer for contract events
- }
- // IERC1155ReceiverCaller is an auto generated read-only Go binding around an Ethereum contract.
- type IERC1155ReceiverCaller struct {
- contract *bind.BoundContract // Generic contract wrapper for the low level calls
- }
- // IERC1155ReceiverTransactor is an auto generated write-only Go binding around an Ethereum contract.
- type IERC1155ReceiverTransactor struct {
- contract *bind.BoundContract // Generic contract wrapper for the low level calls
- }
- // IERC1155ReceiverFilterer is an auto generated log filtering Go binding around an Ethereum contract events.
- type IERC1155ReceiverFilterer struct {
- contract *bind.BoundContract // Generic contract wrapper for the low level calls
- }
- // IERC1155ReceiverSession is an auto generated Go binding around an Ethereum contract,
- // with pre-set call and transact options.
- type IERC1155ReceiverSession struct {
- Contract *IERC1155Receiver // Generic contract binding to set the session for
- CallOpts bind.CallOpts // Call options to use throughout this session
- TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
- }
- // IERC1155ReceiverCallerSession is an auto generated read-only Go binding around an Ethereum contract,
- // with pre-set call options.
- type IERC1155ReceiverCallerSession struct {
- Contract *IERC1155ReceiverCaller // Generic contract caller binding to set the session for
- CallOpts bind.CallOpts // Call options to use throughout this session
- }
- // IERC1155ReceiverTransactorSession is an auto generated write-only Go binding around an Ethereum contract,
- // with pre-set transact options.
- type IERC1155ReceiverTransactorSession struct {
- Contract *IERC1155ReceiverTransactor // Generic contract transactor binding to set the session for
- TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
- }
- // IERC1155ReceiverRaw is an auto generated low-level Go binding around an Ethereum contract.
- type IERC1155ReceiverRaw struct {
- Contract *IERC1155Receiver // Generic contract binding to access the raw methods on
- }
- // IERC1155ReceiverCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
- type IERC1155ReceiverCallerRaw struct {
- Contract *IERC1155ReceiverCaller // Generic read-only contract binding to access the raw methods on
- }
- // IERC1155ReceiverTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
- type IERC1155ReceiverTransactorRaw struct {
- Contract *IERC1155ReceiverTransactor // Generic write-only contract binding to access the raw methods on
- }
- // NewIERC1155Receiver creates a new instance of IERC1155Receiver, bound to a specific deployed contract.
- func NewIERC1155Receiver(address common.Address, backend bind.ContractBackend) (*IERC1155Receiver, error) {
- contract, err := bindIERC1155Receiver(address, backend, backend, backend)
- if err != nil {
- return nil, err
- }
- return &IERC1155Receiver{IERC1155ReceiverCaller: IERC1155ReceiverCaller{contract: contract}, IERC1155ReceiverTransactor: IERC1155ReceiverTransactor{contract: contract}, IERC1155ReceiverFilterer: IERC1155ReceiverFilterer{contract: contract}}, nil
- }
- // NewIERC1155ReceiverCaller creates a new read-only instance of IERC1155Receiver, bound to a specific deployed contract.
- func NewIERC1155ReceiverCaller(address common.Address, caller bind.ContractCaller) (*IERC1155ReceiverCaller, error) {
- contract, err := bindIERC1155Receiver(address, caller, nil, nil)
- if err != nil {
- return nil, err
- }
- return &IERC1155ReceiverCaller{contract: contract}, nil
- }
- // NewIERC1155ReceiverTransactor creates a new write-only instance of IERC1155Receiver, bound to a specific deployed contract.
- func NewIERC1155ReceiverTransactor(address common.Address, transactor bind.ContractTransactor) (*IERC1155ReceiverTransactor, error) {
- contract, err := bindIERC1155Receiver(address, nil, transactor, nil)
- if err != nil {
- return nil, err
- }
- return &IERC1155ReceiverTransactor{contract: contract}, nil
- }
- // NewIERC1155ReceiverFilterer creates a new log filterer instance of IERC1155Receiver, bound to a specific deployed contract.
- func NewIERC1155ReceiverFilterer(address common.Address, filterer bind.ContractFilterer) (*IERC1155ReceiverFilterer, error) {
- contract, err := bindIERC1155Receiver(address, nil, nil, filterer)
- if err != nil {
- return nil, err
- }
- return &IERC1155ReceiverFilterer{contract: contract}, nil
- }
- // bindIERC1155Receiver binds a generic wrapper to an already deployed contract.
- func bindIERC1155Receiver(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
- parsed, err := abi.JSON(strings.NewReader(IERC1155ReceiverABI))
- if err != nil {
- return nil, err
- }
- return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil
- }
- // Call invokes the (constant) contract method with params as input values and
- // sets the output to result. The result type might be a single field for simple
- // returns, a slice of interfaces for anonymous returns and a struct for named
- // returns.
- func (_IERC1155Receiver *IERC1155ReceiverRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
- return _IERC1155Receiver.Contract.IERC1155ReceiverCaller.contract.Call(opts, result, method, params...)
- }
- // Transfer initiates a plain transaction to move funds to the contract, calling
- // its default method if one is available.
- func (_IERC1155Receiver *IERC1155ReceiverRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
- return _IERC1155Receiver.Contract.IERC1155ReceiverTransactor.contract.Transfer(opts)
- }
- // Transact invokes the (paid) contract method with params as input values.
- func (_IERC1155Receiver *IERC1155ReceiverRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
- return _IERC1155Receiver.Contract.IERC1155ReceiverTransactor.contract.Transact(opts, method, params...)
- }
- // Call invokes the (constant) contract method with params as input values and
- // sets the output to result. The result type might be a single field for simple
- // returns, a slice of interfaces for anonymous returns and a struct for named
- // returns.
- func (_IERC1155Receiver *IERC1155ReceiverCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
- return _IERC1155Receiver.Contract.contract.Call(opts, result, method, params...)
- }
- // Transfer initiates a plain transaction to move funds to the contract, calling
- // its default method if one is available.
- func (_IERC1155Receiver *IERC1155ReceiverTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
- return _IERC1155Receiver.Contract.contract.Transfer(opts)
- }
- // Transact invokes the (paid) contract method with params as input values.
- func (_IERC1155Receiver *IERC1155ReceiverTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
- return _IERC1155Receiver.Contract.contract.Transact(opts, method, params...)
- }
- // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
- //
- // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
- func (_IERC1155Receiver *IERC1155ReceiverCaller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) {
- var out []interface{}
- err := _IERC1155Receiver.contract.Call(opts, &out, "supportsInterface", interfaceId)
- if err != nil {
- return *new(bool), err
- }
- out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
- return out0, err
- }
- // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
- //
- // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
- func (_IERC1155Receiver *IERC1155ReceiverSession) SupportsInterface(interfaceId [4]byte) (bool, error) {
- return _IERC1155Receiver.Contract.SupportsInterface(&_IERC1155Receiver.CallOpts, interfaceId)
- }
- // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
- //
- // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
- func (_IERC1155Receiver *IERC1155ReceiverCallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) {
- return _IERC1155Receiver.Contract.SupportsInterface(&_IERC1155Receiver.CallOpts, interfaceId)
- }
- // OnERC1155BatchReceived is a paid mutator transaction binding the contract method 0xbc197c81.
- //
- // Solidity: function onERC1155BatchReceived(address operator, address from, uint256[] ids, uint256[] values, bytes data) returns(bytes4)
- func (_IERC1155Receiver *IERC1155ReceiverTransactor) OnERC1155BatchReceived(opts *bind.TransactOpts, operator common.Address, from common.Address, ids []*big.Int, values []*big.Int, data []byte) (*types.Transaction, error) {
- return _IERC1155Receiver.contract.Transact(opts, "onERC1155BatchReceived", operator, from, ids, values, data)
- }
- // OnERC1155BatchReceived is a paid mutator transaction binding the contract method 0xbc197c81.
- //
- // Solidity: function onERC1155BatchReceived(address operator, address from, uint256[] ids, uint256[] values, bytes data) returns(bytes4)
- func (_IERC1155Receiver *IERC1155ReceiverSession) OnERC1155BatchReceived(operator common.Address, from common.Address, ids []*big.Int, values []*big.Int, data []byte) (*types.Transaction, error) {
- return _IERC1155Receiver.Contract.OnERC1155BatchReceived(&_IERC1155Receiver.TransactOpts, operator, from, ids, values, data)
- }
- // OnERC1155BatchReceived is a paid mutator transaction binding the contract method 0xbc197c81.
- //
- // Solidity: function onERC1155BatchReceived(address operator, address from, uint256[] ids, uint256[] values, bytes data) returns(bytes4)
- func (_IERC1155Receiver *IERC1155ReceiverTransactorSession) OnERC1155BatchReceived(operator common.Address, from common.Address, ids []*big.Int, values []*big.Int, data []byte) (*types.Transaction, error) {
- return _IERC1155Receiver.Contract.OnERC1155BatchReceived(&_IERC1155Receiver.TransactOpts, operator, from, ids, values, data)
- }
- // OnERC1155Received is a paid mutator transaction binding the contract method 0xf23a6e61.
- //
- // Solidity: function onERC1155Received(address operator, address from, uint256 id, uint256 value, bytes data) returns(bytes4)
- func (_IERC1155Receiver *IERC1155ReceiverTransactor) OnERC1155Received(opts *bind.TransactOpts, operator common.Address, from common.Address, id *big.Int, value *big.Int, data []byte) (*types.Transaction, error) {
- return _IERC1155Receiver.contract.Transact(opts, "onERC1155Received", operator, from, id, value, data)
- }
- // OnERC1155Received is a paid mutator transaction binding the contract method 0xf23a6e61.
- //
- // Solidity: function onERC1155Received(address operator, address from, uint256 id, uint256 value, bytes data) returns(bytes4)
- func (_IERC1155Receiver *IERC1155ReceiverSession) OnERC1155Received(operator common.Address, from common.Address, id *big.Int, value *big.Int, data []byte) (*types.Transaction, error) {
- return _IERC1155Receiver.Contract.OnERC1155Received(&_IERC1155Receiver.TransactOpts, operator, from, id, value, data)
- }
- // OnERC1155Received is a paid mutator transaction binding the contract method 0xf23a6e61.
- //
- // Solidity: function onERC1155Received(address operator, address from, uint256 id, uint256 value, bytes data) returns(bytes4)
- func (_IERC1155Receiver *IERC1155ReceiverTransactorSession) OnERC1155Received(operator common.Address, from common.Address, id *big.Int, value *big.Int, data []byte) (*types.Transaction, error) {
- return _IERC1155Receiver.Contract.OnERC1155Received(&_IERC1155Receiver.TransactOpts, operator, from, id, value, data)
- }
- // IERC165MetaData contains all meta data concerning the IERC165 contract.
- var IERC165MetaData = &bind.MetaData{
- ABI: "[{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]",
- Sigs: map[string]string{
- "01ffc9a7": "supportsInterface(bytes4)",
- },
- }
- // IERC165ABI is the input ABI used to generate the binding from.
- // Deprecated: Use IERC165MetaData.ABI instead.
- var IERC165ABI = IERC165MetaData.ABI
- // Deprecated: Use IERC165MetaData.Sigs instead.
- // IERC165FuncSigs maps the 4-byte function signature to its string representation.
- var IERC165FuncSigs = IERC165MetaData.Sigs
- // IERC165 is an auto generated Go binding around an Ethereum contract.
- type IERC165 struct {
- IERC165Caller // Read-only binding to the contract
- IERC165Transactor // Write-only binding to the contract
- IERC165Filterer // Log filterer for contract events
- }
- // IERC165Caller is an auto generated read-only Go binding around an Ethereum contract.
- type IERC165Caller struct {
- contract *bind.BoundContract // Generic contract wrapper for the low level calls
- }
- // IERC165Transactor is an auto generated write-only Go binding around an Ethereum contract.
- type IERC165Transactor struct {
- contract *bind.BoundContract // Generic contract wrapper for the low level calls
- }
- // IERC165Filterer is an auto generated log filtering Go binding around an Ethereum contract events.
- type IERC165Filterer struct {
- contract *bind.BoundContract // Generic contract wrapper for the low level calls
- }
- // IERC165Session is an auto generated Go binding around an Ethereum contract,
- // with pre-set call and transact options.
- type IERC165Session struct {
- Contract *IERC165 // Generic contract binding to set the session for
- CallOpts bind.CallOpts // Call options to use throughout this session
- TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
- }
- // IERC165CallerSession is an auto generated read-only Go binding around an Ethereum contract,
- // with pre-set call options.
- type IERC165CallerSession struct {
- Contract *IERC165Caller // Generic contract caller binding to set the session for
- CallOpts bind.CallOpts // Call options to use throughout this session
- }
- // IERC165TransactorSession is an auto generated write-only Go binding around an Ethereum contract,
- // with pre-set transact options.
- type IERC165TransactorSession struct {
- Contract *IERC165Transactor // Generic contract transactor binding to set the session for
- TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
- }
- // IERC165Raw is an auto generated low-level Go binding around an Ethereum contract.
- type IERC165Raw struct {
- Contract *IERC165 // Generic contract binding to access the raw methods on
- }
- // IERC165CallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
- type IERC165CallerRaw struct {
- Contract *IERC165Caller // Generic read-only contract binding to access the raw methods on
- }
- // IERC165TransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
- type IERC165TransactorRaw struct {
- Contract *IERC165Transactor // Generic write-only contract binding to access the raw methods on
- }
- // NewIERC165 creates a new instance of IERC165, bound to a specific deployed contract.
- func NewIERC165(address common.Address, backend bind.ContractBackend) (*IERC165, error) {
- contract, err := bindIERC165(address, backend, backend, backend)
- if err != nil {
- return nil, err
- }
- return &IERC165{IERC165Caller: IERC165Caller{contract: contract}, IERC165Transactor: IERC165Transactor{contract: contract}, IERC165Filterer: IERC165Filterer{contract: contract}}, nil
- }
- // NewIERC165Caller creates a new read-only instance of IERC165, bound to a specific deployed contract.
- func NewIERC165Caller(address common.Address, caller bind.ContractCaller) (*IERC165Caller, error) {
- contract, err := bindIERC165(address, caller, nil, nil)
- if err != nil {
- return nil, err
- }
- return &IERC165Caller{contract: contract}, nil
- }
- // NewIERC165Transactor creates a new write-only instance of IERC165, bound to a specific deployed contract.
- func NewIERC165Transactor(address common.Address, transactor bind.ContractTransactor) (*IERC165Transactor, error) {
- contract, err := bindIERC165(address, nil, transactor, nil)
- if err != nil {
- return nil, err
- }
- return &IERC165Transactor{contract: contract}, nil
- }
- // NewIERC165Filterer creates a new log filterer instance of IERC165, bound to a specific deployed contract.
- func NewIERC165Filterer(address common.Address, filterer bind.ContractFilterer) (*IERC165Filterer, error) {
- contract, err := bindIERC165(address, nil, nil, filterer)
- if err != nil {
- return nil, err
- }
- return &IERC165Filterer{contract: contract}, nil
- }
- // bindIERC165 binds a generic wrapper to an already deployed contract.
- func bindIERC165(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
- parsed, err := abi.JSON(strings.NewReader(IERC165ABI))
- if err != nil {
- return nil, err
- }
- return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil
- }
- // Call invokes the (constant) contract method with params as input values and
- // sets the output to result. The result type might be a single field for simple
- // returns, a slice of interfaces for anonymous returns and a struct for named
- // returns.
- func (_IERC165 *IERC165Raw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
- return _IERC165.Contract.IERC165Caller.contract.Call(opts, result, method, params...)
- }
- // Transfer initiates a plain transaction to move funds to the contract, calling
- // its default method if one is available.
- func (_IERC165 *IERC165Raw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
- return _IERC165.Contract.IERC165Transactor.contract.Transfer(opts)
- }
- // Transact invokes the (paid) contract method with params as input values.
- func (_IERC165 *IERC165Raw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
- return _IERC165.Contract.IERC165Transactor.contract.Transact(opts, method, params...)
- }
- // Call invokes the (constant) contract method with params as input values and
- // sets the output to result. The result type might be a single field for simple
- // returns, a slice of interfaces for anonymous returns and a struct for named
- // returns.
- func (_IERC165 *IERC165CallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
- return _IERC165.Contract.contract.Call(opts, result, method, params...)
- }
- // Transfer initiates a plain transaction to move funds to the contract, calling
- // its default method if one is available.
- func (_IERC165 *IERC165TransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
- return _IERC165.Contract.contract.Transfer(opts)
- }
- // Transact invokes the (paid) contract method with params as input values.
- func (_IERC165 *IERC165TransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
- return _IERC165.Contract.contract.Transact(opts, method, params...)
- }
- // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
- //
- // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
- func (_IERC165 *IERC165Caller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) {
- var out []interface{}
- err := _IERC165.contract.Call(opts, &out, "supportsInterface", interfaceId)
- if err != nil {
- return *new(bool), err
- }
- out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
- return out0, err
- }
- // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
- //
- // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
- func (_IERC165 *IERC165Session) SupportsInterface(interfaceId [4]byte) (bool, error) {
- return _IERC165.Contract.SupportsInterface(&_IERC165.CallOpts, interfaceId)
- }
- // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
- //
- // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
- func (_IERC165 *IERC165CallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) {
- return _IERC165.Contract.SupportsInterface(&_IERC165.CallOpts, interfaceId)
- }
- // IERC721MetaData contains all meta data concerning the IERC721 contract.
- var IERC721MetaData = &bind.MetaData{
- 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\"}]",
- Sigs: map[string]string{
- "095ea7b3": "approve(address,uint256)",
- "70a08231": "balanceOf(address)",
- "081812fc": "getApproved(uint256)",
- "e985e9c5": "isApprovedForAll(address,address)",
- "6352211e": "ownerOf(uint256)",
- "42842e0e": "safeTransferFrom(address,address,uint256)",
- "b88d4fde": "safeTransferFrom(address,address,uint256,bytes)",
- "a22cb465": "setApprovalForAll(address,bool)",
- "01ffc9a7": "supportsInterface(bytes4)",
- "23b872dd": "transferFrom(address,address,uint256)",
- },
- }
- // IERC721ABI is the input ABI used to generate the binding from.
- // Deprecated: Use IERC721MetaData.ABI instead.
- var IERC721ABI = IERC721MetaData.ABI
- // Deprecated: Use IERC721MetaData.Sigs instead.
- // IERC721FuncSigs maps the 4-byte function signature to its string representation.
- var IERC721FuncSigs = IERC721MetaData.Sigs
- // IERC721 is an auto generated Go binding around an Ethereum contract.
- type IERC721 struct {
- IERC721Caller // Read-only binding to the contract
- IERC721Transactor // Write-only binding to the contract
- IERC721Filterer // Log filterer for contract events
- }
- // IERC721Caller is an auto generated read-only Go binding around an Ethereum contract.
- type IERC721Caller struct {
- contract *bind.BoundContract // Generic contract wrapper for the low level calls
- }
- // IERC721Transactor is an auto generated write-only Go binding around an Ethereum contract.
- type IERC721Transactor struct {
- contract *bind.BoundContract // Generic contract wrapper for the low level calls
- }
- // IERC721Filterer is an auto generated log filtering Go binding around an Ethereum contract events.
- type IERC721Filterer struct {
- contract *bind.BoundContract // Generic contract wrapper for the low level calls
- }
- // IERC721Session is an auto generated Go binding around an Ethereum contract,
- // with pre-set call and transact options.
- type IERC721Session struct {
- Contract *IERC721 // Generic contract binding to set the session for
- CallOpts bind.CallOpts // Call options to use throughout this session
- TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
- }
- // IERC721CallerSession is an auto generated read-only Go binding around an Ethereum contract,
- // with pre-set call options.
- type IERC721CallerSession struct {
- Contract *IERC721Caller // Generic contract caller binding to set the session for
- CallOpts bind.CallOpts // Call options to use throughout this session
- }
- // IERC721TransactorSession is an auto generated write-only Go binding around an Ethereum contract,
- // with pre-set transact options.
- type IERC721TransactorSession struct {
- Contract *IERC721Transactor // Generic contract transactor binding to set the session for
- TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
- }
- // IERC721Raw is an auto generated low-level Go binding around an Ethereum contract.
- type IERC721Raw struct {
- Contract *IERC721 // Generic contract binding to access the raw methods on
- }
- // IERC721CallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
- type IERC721CallerRaw struct {
- Contract *IERC721Caller // Generic read-only contract binding to access the raw methods on
- }
- // IERC721TransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
- type IERC721TransactorRaw struct {
- Contract *IERC721Transactor // Generic write-only contract binding to access the raw methods on
- }
- // NewIERC721 creates a new instance of IERC721, bound to a specific deployed contract.
- func NewIERC721(address common.Address, backend bind.ContractBackend) (*IERC721, error) {
- contract, err := bindIERC721(address, backend, backend, backend)
- if err != nil {
- return nil, err
- }
- return &IERC721{IERC721Caller: IERC721Caller{contract: contract}, IERC721Transactor: IERC721Transactor{contract: contract}, IERC721Filterer: IERC721Filterer{contract: contract}}, nil
- }
- // NewIERC721Caller creates a new read-only instance of IERC721, bound to a specific deployed contract.
- func NewIERC721Caller(address common.Address, caller bind.ContractCaller) (*IERC721Caller, error) {
- contract, err := bindIERC721(address, caller, nil, nil)
- if err != nil {
- return nil, err
- }
- return &IERC721Caller{contract: contract}, nil
- }
- // NewIERC721Transactor creates a new write-only instance of IERC721, bound to a specific deployed contract.
- func NewIERC721Transactor(address common.Address, transactor bind.ContractTransactor) (*IERC721Transactor, error) {
- contract, err := bindIERC721(address, nil, transactor, nil)
- if err != nil {
- return nil, err
- }
- return &IERC721Transactor{contract: contract}, nil
- }
- // NewIERC721Filterer creates a new log filterer instance of IERC721, bound to a specific deployed contract.
- func NewIERC721Filterer(address common.Address, filterer bind.ContractFilterer) (*IERC721Filterer, error) {
- contract, err := bindIERC721(address, nil, nil, filterer)
- if err != nil {
- return nil, err
- }
- return &IERC721Filterer{contract: contract}, nil
- }
- // bindIERC721 binds a generic wrapper to an already deployed contract.
- func bindIERC721(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
- parsed, err := abi.JSON(strings.NewReader(IERC721ABI))
- if err != nil {
- return nil, err
- }
- return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil
- }
- // Call invokes the (constant) contract method with params as input values and
- // sets the output to result. The result type might be a single field for simple
- // returns, a slice of interfaces for anonymous returns and a struct for named
- // returns.
- func (_IERC721 *IERC721Raw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
- return _IERC721.Contract.IERC721Caller.contract.Call(opts, result, method, params...)
- }
- // Transfer initiates a plain transaction to move funds to the contract, calling
- // its default method if one is available.
- func (_IERC721 *IERC721Raw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
- return _IERC721.Contract.IERC721Transactor.contract.Transfer(opts)
- }
- // Transact invokes the (paid) contract method with params as input values.
- func (_IERC721 *IERC721Raw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
- return _IERC721.Contract.IERC721Transactor.contract.Transact(opts, method, params...)
- }
- // Call invokes the (constant) contract method with params as input values and
- // sets the output to result. The result type might be a single field for simple
- // returns, a slice of interfaces for anonymous returns and a struct for named
- // returns.
- func (_IERC721 *IERC721CallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
- return _IERC721.Contract.contract.Call(opts, result, method, params...)
- }
- // Transfer initiates a plain transaction to move funds to the contract, calling
- // its default method if one is available.
- func (_IERC721 *IERC721TransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
- return _IERC721.Contract.contract.Transfer(opts)
- }
- // Transact invokes the (paid) contract method with params as input values.
- func (_IERC721 *IERC721TransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
- return _IERC721.Contract.contract.Transact(opts, method, params...)
- }
- // BalanceOf is a free data retrieval call binding the contract method 0x70a08231.
- //
- // Solidity: function balanceOf(address owner) view returns(uint256 balance)
- func (_IERC721 *IERC721Caller) BalanceOf(opts *bind.CallOpts, owner common.Address) (*big.Int, error) {
- var out []interface{}
- err := _IERC721.contract.Call(opts, &out, "balanceOf", owner)
- if err != nil {
- return *new(*big.Int), err
- }
- out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
- return out0, err
- }
- // BalanceOf is a free data retrieval call binding the contract method 0x70a08231.
- //
- // Solidity: function balanceOf(address owner) view returns(uint256 balance)
- func (_IERC721 *IERC721Session) BalanceOf(owner common.Address) (*big.Int, error) {
- return _IERC721.Contract.BalanceOf(&_IERC721.CallOpts, owner)
- }
- // BalanceOf is a free data retrieval call binding the contract method 0x70a08231.
- //
- // Solidity: function balanceOf(address owner) view returns(uint256 balance)
- func (_IERC721 *IERC721CallerSession) BalanceOf(owner common.Address) (*big.Int, error) {
- return _IERC721.Contract.BalanceOf(&_IERC721.CallOpts, owner)
- }
- // GetApproved is a free data retrieval call binding the contract method 0x081812fc.
- //
- // Solidity: function getApproved(uint256 tokenId) view returns(address operator)
- func (_IERC721 *IERC721Caller) GetApproved(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) {
- var out []interface{}
- err := _IERC721.contract.Call(opts, &out, "getApproved", tokenId)
- if err != nil {
- return *new(common.Address), err
- }
- out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
- return out0, err
- }
- // GetApproved is a free data retrieval call binding the contract method 0x081812fc.
- //
- // Solidity: function getApproved(uint256 tokenId) view returns(address operator)
- func (_IERC721 *IERC721Session) GetApproved(tokenId *big.Int) (common.Address, error) {
- return _IERC721.Contract.GetApproved(&_IERC721.CallOpts, tokenId)
- }
- // GetApproved is a free data retrieval call binding the contract method 0x081812fc.
- //
- // Solidity: function getApproved(uint256 tokenId) view returns(address operator)
- func (_IERC721 *IERC721CallerSession) GetApproved(tokenId *big.Int) (common.Address, error) {
- return _IERC721.Contract.GetApproved(&_IERC721.CallOpts, tokenId)
- }
- // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5.
- //
- // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool)
- func (_IERC721 *IERC721Caller) IsApprovedForAll(opts *bind.CallOpts, owner common.Address, operator common.Address) (bool, error) {
- var out []interface{}
- err := _IERC721.contract.Call(opts, &out, "isApprovedForAll", owner, operator)
- if err != nil {
- return *new(bool), err
- }
- out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
- return out0, err
- }
- // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5.
- //
- // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool)
- func (_IERC721 *IERC721Session) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) {
- return _IERC721.Contract.IsApprovedForAll(&_IERC721.CallOpts, owner, operator)
- }
- // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5.
- //
- // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool)
- func (_IERC721 *IERC721CallerSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) {
- return _IERC721.Contract.IsApprovedForAll(&_IERC721.CallOpts, owner, operator)
- }
- // OwnerOf is a free data retrieval call binding the contract method 0x6352211e.
- //
- // Solidity: function ownerOf(uint256 tokenId) view returns(address owner)
- func (_IERC721 *IERC721Caller) OwnerOf(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) {
- var out []interface{}
- err := _IERC721.contract.Call(opts, &out, "ownerOf", tokenId)
- if err != nil {
- return *new(common.Address), err
- }
- out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
- return out0, err
- }
- // OwnerOf is a free data retrieval call binding the contract method 0x6352211e.
- //
- // Solidity: function ownerOf(uint256 tokenId) view returns(address owner)
- func (_IERC721 *IERC721Session) OwnerOf(tokenId *big.Int) (common.Address, error) {
- return _IERC721.Contract.OwnerOf(&_IERC721.CallOpts, tokenId)
- }
- // OwnerOf is a free data retrieval call binding the contract method 0x6352211e.
- //
- // Solidity: function ownerOf(uint256 tokenId) view returns(address owner)
- func (_IERC721 *IERC721CallerSession) OwnerOf(tokenId *big.Int) (common.Address, error) {
- return _IERC721.Contract.OwnerOf(&_IERC721.CallOpts, tokenId)
- }
- // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
- //
- // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
- func (_IERC721 *IERC721Caller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) {
- var out []interface{}
- err := _IERC721.contract.Call(opts, &out, "supportsInterface", interfaceId)
- if err != nil {
- return *new(bool), err
- }
- out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
- return out0, err
- }
- // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
- //
- // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
- func (_IERC721 *IERC721Session) SupportsInterface(interfaceId [4]byte) (bool, error) {
- return _IERC721.Contract.SupportsInterface(&_IERC721.CallOpts, interfaceId)
- }
- // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
- //
- // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
- func (_IERC721 *IERC721CallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) {
- return _IERC721.Contract.SupportsInterface(&_IERC721.CallOpts, interfaceId)
- }
- // Approve is a paid mutator transaction binding the contract method 0x095ea7b3.
- //
- // Solidity: function approve(address to, uint256 tokenId) returns()
- func (_IERC721 *IERC721Transactor) Approve(opts *bind.TransactOpts, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
- return _IERC721.contract.Transact(opts, "approve", to, tokenId)
- }
- // Approve is a paid mutator transaction binding the contract method 0x095ea7b3.
- //
- // Solidity: function approve(address to, uint256 tokenId) returns()
- func (_IERC721 *IERC721Session) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) {
- return _IERC721.Contract.Approve(&_IERC721.TransactOpts, to, tokenId)
- }
- // Approve is a paid mutator transaction binding the contract method 0x095ea7b3.
- //
- // Solidity: function approve(address to, uint256 tokenId) returns()
- func (_IERC721 *IERC721TransactorSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) {
- return _IERC721.Contract.Approve(&_IERC721.TransactOpts, to, tokenId)
- }
- // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e.
- //
- // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns()
- func (_IERC721 *IERC721Transactor) SafeTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
- return _IERC721.contract.Transact(opts, "safeTransferFrom", from, to, tokenId)
- }
- // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e.
- //
- // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns()
- func (_IERC721 *IERC721Session) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
- return _IERC721.Contract.SafeTransferFrom(&_IERC721.TransactOpts, from, to, tokenId)
- }
- // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e.
- //
- // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns()
- func (_IERC721 *IERC721TransactorSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
- return _IERC721.Contract.SafeTransferFrom(&_IERC721.TransactOpts, from, to, tokenId)
- }
- // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde.
- //
- // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes data) returns()
- func (_IERC721 *IERC721Transactor) SafeTransferFrom0(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) {
- return _IERC721.contract.Transact(opts, "safeTransferFrom0", from, to, tokenId, data)
- }
- // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde.
- //
- // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes data) returns()
- func (_IERC721 *IERC721Session) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) {
- return _IERC721.Contract.SafeTransferFrom0(&_IERC721.TransactOpts, from, to, tokenId, data)
- }
- // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde.
- //
- // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes data) returns()
- func (_IERC721 *IERC721TransactorSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) {
- return _IERC721.Contract.SafeTransferFrom0(&_IERC721.TransactOpts, from, to, tokenId, data)
- }
- // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465.
- //
- // Solidity: function setApprovalForAll(address operator, bool _approved) returns()
- func (_IERC721 *IERC721Transactor) SetApprovalForAll(opts *bind.TransactOpts, operator common.Address, _approved bool) (*types.Transaction, error) {
- return _IERC721.contract.Transact(opts, "setApprovalForAll", operator, _approved)
- }
- // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465.
- //
- // Solidity: function setApprovalForAll(address operator, bool _approved) returns()
- func (_IERC721 *IERC721Session) SetApprovalForAll(operator common.Address, _approved bool) (*types.Transaction, error) {
- return _IERC721.Contract.SetApprovalForAll(&_IERC721.TransactOpts, operator, _approved)
- }
- // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465.
- //
- // Solidity: function setApprovalForAll(address operator, bool _approved) returns()
- func (_IERC721 *IERC721TransactorSession) SetApprovalForAll(operator common.Address, _approved bool) (*types.Transaction, error) {
- return _IERC721.Contract.SetApprovalForAll(&_IERC721.TransactOpts, operator, _approved)
- }
- // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd.
- //
- // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns()
- func (_IERC721 *IERC721Transactor) TransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
- return _IERC721.contract.Transact(opts, "transferFrom", from, to, tokenId)
- }
- // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd.
- //
- // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns()
- func (_IERC721 *IERC721Session) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
- return _IERC721.Contract.TransferFrom(&_IERC721.TransactOpts, from, to, tokenId)
- }
- // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd.
- //
- // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns()
- func (_IERC721 *IERC721TransactorSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
- return _IERC721.Contract.TransferFrom(&_IERC721.TransactOpts, from, to, tokenId)
- }
- // 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.
- type IERC721ApprovalIterator struct {
- Event *IERC721Approval // Event containing the contract specifics and raw log
- contract *bind.BoundContract // Generic contract to use for unpacking event data
- event string // Event name to use for unpacking event data
- logs chan types.Log // Log channel receiving the found contract events
- sub ethereum.Subscription // Subscription for errors, completion and termination
- done bool // Whether the subscription completed delivering logs
- fail error // Occurred error to stop iteration
- }
- // Next advances the iterator to the subsequent event, returning whether there
- // are any more events found. In case of a retrieval or parsing error, false is
- // returned and Error() can be queried for the exact failure.
- func (it *IERC721ApprovalIterator) Next() bool {
- // If the iterator failed, stop iterating
- if it.fail != nil {
- return false
- }
- // If the iterator completed, deliver directly whatever's available
- if it.done {
- select {
- case log := <-it.logs:
- it.Event = new(IERC721Approval)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- default:
- return false
- }
- }
- // Iterator still in progress, wait for either a data or an error event
- select {
- case log := <-it.logs:
- it.Event = new(IERC721Approval)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- case err := <-it.sub.Err():
- it.done = true
- it.fail = err
- return it.Next()
- }
- }
- // Error returns any retrieval or parsing error occurred during filtering.
- func (it *IERC721ApprovalIterator) Error() error {
- return it.fail
- }
- // Close terminates the iteration process, releasing any pending underlying
- // resources.
- func (it *IERC721ApprovalIterator) Close() error {
- it.sub.Unsubscribe()
- return nil
- }
- // IERC721Approval represents a Approval event raised by the IERC721 contract.
- type IERC721Approval struct {
- Owner common.Address
- Approved common.Address
- TokenId *big.Int
- Raw types.Log // Blockchain specific contextual infos
- }
- // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925.
- //
- // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)
- func (_IERC721 *IERC721Filterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, approved []common.Address, tokenId []*big.Int) (*IERC721ApprovalIterator, error) {
- var ownerRule []interface{}
- for _, ownerItem := range owner {
- ownerRule = append(ownerRule, ownerItem)
- }
- var approvedRule []interface{}
- for _, approvedItem := range approved {
- approvedRule = append(approvedRule, approvedItem)
- }
- var tokenIdRule []interface{}
- for _, tokenIdItem := range tokenId {
- tokenIdRule = append(tokenIdRule, tokenIdItem)
- }
- logs, sub, err := _IERC721.contract.FilterLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule)
- if err != nil {
- return nil, err
- }
- return &IERC721ApprovalIterator{contract: _IERC721.contract, event: "Approval", logs: logs, sub: sub}, nil
- }
- // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925.
- //
- // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)
- func (_IERC721 *IERC721Filterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *IERC721Approval, owner []common.Address, approved []common.Address, tokenId []*big.Int) (event.Subscription, error) {
- var ownerRule []interface{}
- for _, ownerItem := range owner {
- ownerRule = append(ownerRule, ownerItem)
- }
- var approvedRule []interface{}
- for _, approvedItem := range approved {
- approvedRule = append(approvedRule, approvedItem)
- }
- var tokenIdRule []interface{}
- for _, tokenIdItem := range tokenId {
- tokenIdRule = append(tokenIdRule, tokenIdItem)
- }
- logs, sub, err := _IERC721.contract.WatchLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule)
- if err != nil {
- return nil, err
- }
- return event.NewSubscription(func(quit <-chan struct{}) error {
- defer sub.Unsubscribe()
- for {
- select {
- case log := <-logs:
- // New log arrived, parse the event and forward to the user
- event := new(IERC721Approval)
- if err := _IERC721.contract.UnpackLog(event, "Approval", log); err != nil {
- return err
- }
- event.Raw = log
- select {
- case sink <- event:
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- }
- }), nil
- }
- // ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925.
- //
- // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)
- func (_IERC721 *IERC721Filterer) ParseApproval(log types.Log) (*IERC721Approval, error) {
- event := new(IERC721Approval)
- if err := _IERC721.contract.UnpackLog(event, "Approval", log); err != nil {
- return nil, err
- }
- event.Raw = log
- return event, nil
- }
- // 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.
- type IERC721ApprovalForAllIterator struct {
- Event *IERC721ApprovalForAll // Event containing the contract specifics and raw log
- contract *bind.BoundContract // Generic contract to use for unpacking event data
- event string // Event name to use for unpacking event data
- logs chan types.Log // Log channel receiving the found contract events
- sub ethereum.Subscription // Subscription for errors, completion and termination
- done bool // Whether the subscription completed delivering logs
- fail error // Occurred error to stop iteration
- }
- // Next advances the iterator to the subsequent event, returning whether there
- // are any more events found. In case of a retrieval or parsing error, false is
- // returned and Error() can be queried for the exact failure.
- func (it *IERC721ApprovalForAllIterator) Next() bool {
- // If the iterator failed, stop iterating
- if it.fail != nil {
- return false
- }
- // If the iterator completed, deliver directly whatever's available
- if it.done {
- select {
- case log := <-it.logs:
- it.Event = new(IERC721ApprovalForAll)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- default:
- return false
- }
- }
- // Iterator still in progress, wait for either a data or an error event
- select {
- case log := <-it.logs:
- it.Event = new(IERC721ApprovalForAll)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- case err := <-it.sub.Err():
- it.done = true
- it.fail = err
- return it.Next()
- }
- }
- // Error returns any retrieval or parsing error occurred during filtering.
- func (it *IERC721ApprovalForAllIterator) Error() error {
- return it.fail
- }
- // Close terminates the iteration process, releasing any pending underlying
- // resources.
- func (it *IERC721ApprovalForAllIterator) Close() error {
- it.sub.Unsubscribe()
- return nil
- }
- // IERC721ApprovalForAll represents a ApprovalForAll event raised by the IERC721 contract.
- type IERC721ApprovalForAll struct {
- Owner common.Address
- Operator common.Address
- Approved bool
- Raw types.Log // Blockchain specific contextual infos
- }
- // FilterApprovalForAll is a free log retrieval operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31.
- //
- // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved)
- func (_IERC721 *IERC721Filterer) FilterApprovalForAll(opts *bind.FilterOpts, owner []common.Address, operator []common.Address) (*IERC721ApprovalForAllIterator, error) {
- var ownerRule []interface{}
- for _, ownerItem := range owner {
- ownerRule = append(ownerRule, ownerItem)
- }
- var operatorRule []interface{}
- for _, operatorItem := range operator {
- operatorRule = append(operatorRule, operatorItem)
- }
- logs, sub, err := _IERC721.contract.FilterLogs(opts, "ApprovalForAll", ownerRule, operatorRule)
- if err != nil {
- return nil, err
- }
- return &IERC721ApprovalForAllIterator{contract: _IERC721.contract, event: "ApprovalForAll", logs: logs, sub: sub}, nil
- }
- // WatchApprovalForAll is a free log subscription operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31.
- //
- // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved)
- func (_IERC721 *IERC721Filterer) WatchApprovalForAll(opts *bind.WatchOpts, sink chan<- *IERC721ApprovalForAll, owner []common.Address, operator []common.Address) (event.Subscription, error) {
- var ownerRule []interface{}
- for _, ownerItem := range owner {
- ownerRule = append(ownerRule, ownerItem)
- }
- var operatorRule []interface{}
- for _, operatorItem := range operator {
- operatorRule = append(operatorRule, operatorItem)
- }
- logs, sub, err := _IERC721.contract.WatchLogs(opts, "ApprovalForAll", ownerRule, operatorRule)
- if err != nil {
- return nil, err
- }
- return event.NewSubscription(func(quit <-chan struct{}) error {
- defer sub.Unsubscribe()
- for {
- select {
- case log := <-logs:
- // New log arrived, parse the event and forward to the user
- event := new(IERC721ApprovalForAll)
- if err := _IERC721.contract.UnpackLog(event, "ApprovalForAll", log); err != nil {
- return err
- }
- event.Raw = log
- select {
- case sink <- event:
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- }
- }), nil
- }
- // ParseApprovalForAll is a log parse operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31.
- //
- // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved)
- func (_IERC721 *IERC721Filterer) ParseApprovalForAll(log types.Log) (*IERC721ApprovalForAll, error) {
- event := new(IERC721ApprovalForAll)
- if err := _IERC721.contract.UnpackLog(event, "ApprovalForAll", log); err != nil {
- return nil, err
- }
- event.Raw = log
- return event, nil
- }
- // 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.
- type IERC721TransferIterator struct {
- Event *IERC721Transfer // Event containing the contract specifics and raw log
- contract *bind.BoundContract // Generic contract to use for unpacking event data
- event string // Event name to use for unpacking event data
- logs chan types.Log // Log channel receiving the found contract events
- sub ethereum.Subscription // Subscription for errors, completion and termination
- done bool // Whether the subscription completed delivering logs
- fail error // Occurred error to stop iteration
- }
- // Next advances the iterator to the subsequent event, returning whether there
- // are any more events found. In case of a retrieval or parsing error, false is
- // returned and Error() can be queried for the exact failure.
- func (it *IERC721TransferIterator) Next() bool {
- // If the iterator failed, stop iterating
- if it.fail != nil {
- return false
- }
- // If the iterator completed, deliver directly whatever's available
- if it.done {
- select {
- case log := <-it.logs:
- it.Event = new(IERC721Transfer)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- default:
- return false
- }
- }
- // Iterator still in progress, wait for either a data or an error event
- select {
- case log := <-it.logs:
- it.Event = new(IERC721Transfer)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- case err := <-it.sub.Err():
- it.done = true
- it.fail = err
- return it.Next()
- }
- }
- // Error returns any retrieval or parsing error occurred during filtering.
- func (it *IERC721TransferIterator) Error() error {
- return it.fail
- }
- // Close terminates the iteration process, releasing any pending underlying
- // resources.
- func (it *IERC721TransferIterator) Close() error {
- it.sub.Unsubscribe()
- return nil
- }
- // IERC721Transfer represents a Transfer event raised by the IERC721 contract.
- type IERC721Transfer struct {
- From common.Address
- To common.Address
- TokenId *big.Int
- Raw types.Log // Blockchain specific contextual infos
- }
- // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef.
- //
- // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)
- func (_IERC721 *IERC721Filterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address, tokenId []*big.Int) (*IERC721TransferIterator, error) {
- var fromRule []interface{}
- for _, fromItem := range from {
- fromRule = append(fromRule, fromItem)
- }
- var toRule []interface{}
- for _, toItem := range to {
- toRule = append(toRule, toItem)
- }
- var tokenIdRule []interface{}
- for _, tokenIdItem := range tokenId {
- tokenIdRule = append(tokenIdRule, tokenIdItem)
- }
- logs, sub, err := _IERC721.contract.FilterLogs(opts, "Transfer", fromRule, toRule, tokenIdRule)
- if err != nil {
- return nil, err
- }
- return &IERC721TransferIterator{contract: _IERC721.contract, event: "Transfer", logs: logs, sub: sub}, nil
- }
- // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef.
- //
- // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)
- func (_IERC721 *IERC721Filterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *IERC721Transfer, from []common.Address, to []common.Address, tokenId []*big.Int) (event.Subscription, error) {
- var fromRule []interface{}
- for _, fromItem := range from {
- fromRule = append(fromRule, fromItem)
- }
- var toRule []interface{}
- for _, toItem := range to {
- toRule = append(toRule, toItem)
- }
- var tokenIdRule []interface{}
- for _, tokenIdItem := range tokenId {
- tokenIdRule = append(tokenIdRule, tokenIdItem)
- }
- logs, sub, err := _IERC721.contract.WatchLogs(opts, "Transfer", fromRule, toRule, tokenIdRule)
- if err != nil {
- return nil, err
- }
- return event.NewSubscription(func(quit <-chan struct{}) error {
- defer sub.Unsubscribe()
- for {
- select {
- case log := <-logs:
- // New log arrived, parse the event and forward to the user
- event := new(IERC721Transfer)
- if err := _IERC721.contract.UnpackLog(event, "Transfer", log); err != nil {
- return err
- }
- event.Raw = log
- select {
- case sink <- event:
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- }
- }), nil
- }
- // ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef.
- //
- // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)
- func (_IERC721 *IERC721Filterer) ParseTransfer(log types.Log) (*IERC721Transfer, error) {
- event := new(IERC721Transfer)
- if err := _IERC721.contract.UnpackLog(event, "Transfer", log); err != nil {
- return nil, err
- }
- event.Raw = log
- return event, nil
- }
- // IERC721EnumerableMetaData contains all meta data concerning the IERC721Enumerable contract.
- var IERC721EnumerableMetaData = &bind.MetaData{
- 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\"}]",
- Sigs: map[string]string{
- "095ea7b3": "approve(address,uint256)",
- "70a08231": "balanceOf(address)",
- "081812fc": "getApproved(uint256)",
- "e985e9c5": "isApprovedForAll(address,address)",
- "6352211e": "ownerOf(uint256)",
- "42842e0e": "safeTransferFrom(address,address,uint256)",
- "b88d4fde": "safeTransferFrom(address,address,uint256,bytes)",
- "a22cb465": "setApprovalForAll(address,bool)",
- "01ffc9a7": "supportsInterface(bytes4)",
- "4f6ccce7": "tokenByIndex(uint256)",
- "2f745c59": "tokenOfOwnerByIndex(address,uint256)",
- "18160ddd": "totalSupply()",
- "23b872dd": "transferFrom(address,address,uint256)",
- },
- }
- // IERC721EnumerableABI is the input ABI used to generate the binding from.
- // Deprecated: Use IERC721EnumerableMetaData.ABI instead.
- var IERC721EnumerableABI = IERC721EnumerableMetaData.ABI
- // Deprecated: Use IERC721EnumerableMetaData.Sigs instead.
- // IERC721EnumerableFuncSigs maps the 4-byte function signature to its string representation.
- var IERC721EnumerableFuncSigs = IERC721EnumerableMetaData.Sigs
- // IERC721Enumerable is an auto generated Go binding around an Ethereum contract.
- type IERC721Enumerable struct {
- IERC721EnumerableCaller // Read-only binding to the contract
- IERC721EnumerableTransactor // Write-only binding to the contract
- IERC721EnumerableFilterer // Log filterer for contract events
- }
- // IERC721EnumerableCaller is an auto generated read-only Go binding around an Ethereum contract.
- type IERC721EnumerableCaller struct {
- contract *bind.BoundContract // Generic contract wrapper for the low level calls
- }
- // IERC721EnumerableTransactor is an auto generated write-only Go binding around an Ethereum contract.
- type IERC721EnumerableTransactor struct {
- contract *bind.BoundContract // Generic contract wrapper for the low level calls
- }
- // IERC721EnumerableFilterer is an auto generated log filtering Go binding around an Ethereum contract events.
- type IERC721EnumerableFilterer struct {
- contract *bind.BoundContract // Generic contract wrapper for the low level calls
- }
- // IERC721EnumerableSession is an auto generated Go binding around an Ethereum contract,
- // with pre-set call and transact options.
- type IERC721EnumerableSession struct {
- Contract *IERC721Enumerable // Generic contract binding to set the session for
- CallOpts bind.CallOpts // Call options to use throughout this session
- TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
- }
- // IERC721EnumerableCallerSession is an auto generated read-only Go binding around an Ethereum contract,
- // with pre-set call options.
- type IERC721EnumerableCallerSession struct {
- Contract *IERC721EnumerableCaller // Generic contract caller binding to set the session for
- CallOpts bind.CallOpts // Call options to use throughout this session
- }
- // IERC721EnumerableTransactorSession is an auto generated write-only Go binding around an Ethereum contract,
- // with pre-set transact options.
- type IERC721EnumerableTransactorSession struct {
- Contract *IERC721EnumerableTransactor // Generic contract transactor binding to set the session for
- TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
- }
- // IERC721EnumerableRaw is an auto generated low-level Go binding around an Ethereum contract.
- type IERC721EnumerableRaw struct {
- Contract *IERC721Enumerable // Generic contract binding to access the raw methods on
- }
- // IERC721EnumerableCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
- type IERC721EnumerableCallerRaw struct {
- Contract *IERC721EnumerableCaller // Generic read-only contract binding to access the raw methods on
- }
- // IERC721EnumerableTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
- type IERC721EnumerableTransactorRaw struct {
- Contract *IERC721EnumerableTransactor // Generic write-only contract binding to access the raw methods on
- }
- // NewIERC721Enumerable creates a new instance of IERC721Enumerable, bound to a specific deployed contract.
- func NewIERC721Enumerable(address common.Address, backend bind.ContractBackend) (*IERC721Enumerable, error) {
- contract, err := bindIERC721Enumerable(address, backend, backend, backend)
- if err != nil {
- return nil, err
- }
- return &IERC721Enumerable{IERC721EnumerableCaller: IERC721EnumerableCaller{contract: contract}, IERC721EnumerableTransactor: IERC721EnumerableTransactor{contract: contract}, IERC721EnumerableFilterer: IERC721EnumerableFilterer{contract: contract}}, nil
- }
- // NewIERC721EnumerableCaller creates a new read-only instance of IERC721Enumerable, bound to a specific deployed contract.
- func NewIERC721EnumerableCaller(address common.Address, caller bind.ContractCaller) (*IERC721EnumerableCaller, error) {
- contract, err := bindIERC721Enumerable(address, caller, nil, nil)
- if err != nil {
- return nil, err
- }
- return &IERC721EnumerableCaller{contract: contract}, nil
- }
- // NewIERC721EnumerableTransactor creates a new write-only instance of IERC721Enumerable, bound to a specific deployed contract.
- func NewIERC721EnumerableTransactor(address common.Address, transactor bind.ContractTransactor) (*IERC721EnumerableTransactor, error) {
- contract, err := bindIERC721Enumerable(address, nil, transactor, nil)
- if err != nil {
- return nil, err
- }
- return &IERC721EnumerableTransactor{contract: contract}, nil
- }
- // NewIERC721EnumerableFilterer creates a new log filterer instance of IERC721Enumerable, bound to a specific deployed contract.
- func NewIERC721EnumerableFilterer(address common.Address, filterer bind.ContractFilterer) (*IERC721EnumerableFilterer, error) {
- contract, err := bindIERC721Enumerable(address, nil, nil, filterer)
- if err != nil {
- return nil, err
- }
- return &IERC721EnumerableFilterer{contract: contract}, nil
- }
- // bindIERC721Enumerable binds a generic wrapper to an already deployed contract.
- func bindIERC721Enumerable(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
- parsed, err := abi.JSON(strings.NewReader(IERC721EnumerableABI))
- if err != nil {
- return nil, err
- }
- return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil
- }
- // Call invokes the (constant) contract method with params as input values and
- // sets the output to result. The result type might be a single field for simple
- // returns, a slice of interfaces for anonymous returns and a struct for named
- // returns.
- func (_IERC721Enumerable *IERC721EnumerableRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
- return _IERC721Enumerable.Contract.IERC721EnumerableCaller.contract.Call(opts, result, method, params...)
- }
- // Transfer initiates a plain transaction to move funds to the contract, calling
- // its default method if one is available.
- func (_IERC721Enumerable *IERC721EnumerableRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
- return _IERC721Enumerable.Contract.IERC721EnumerableTransactor.contract.Transfer(opts)
- }
- // Transact invokes the (paid) contract method with params as input values.
- func (_IERC721Enumerable *IERC721EnumerableRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
- return _IERC721Enumerable.Contract.IERC721EnumerableTransactor.contract.Transact(opts, method, params...)
- }
- // Call invokes the (constant) contract method with params as input values and
- // sets the output to result. The result type might be a single field for simple
- // returns, a slice of interfaces for anonymous returns and a struct for named
- // returns.
- func (_IERC721Enumerable *IERC721EnumerableCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
- return _IERC721Enumerable.Contract.contract.Call(opts, result, method, params...)
- }
- // Transfer initiates a plain transaction to move funds to the contract, calling
- // its default method if one is available.
- func (_IERC721Enumerable *IERC721EnumerableTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
- return _IERC721Enumerable.Contract.contract.Transfer(opts)
- }
- // Transact invokes the (paid) contract method with params as input values.
- func (_IERC721Enumerable *IERC721EnumerableTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
- return _IERC721Enumerable.Contract.contract.Transact(opts, method, params...)
- }
- // BalanceOf is a free data retrieval call binding the contract method 0x70a08231.
- //
- // Solidity: function balanceOf(address owner) view returns(uint256 balance)
- func (_IERC721Enumerable *IERC721EnumerableCaller) BalanceOf(opts *bind.CallOpts, owner common.Address) (*big.Int, error) {
- var out []interface{}
- err := _IERC721Enumerable.contract.Call(opts, &out, "balanceOf", owner)
- if err != nil {
- return *new(*big.Int), err
- }
- out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
- return out0, err
- }
- // BalanceOf is a free data retrieval call binding the contract method 0x70a08231.
- //
- // Solidity: function balanceOf(address owner) view returns(uint256 balance)
- func (_IERC721Enumerable *IERC721EnumerableSession) BalanceOf(owner common.Address) (*big.Int, error) {
- return _IERC721Enumerable.Contract.BalanceOf(&_IERC721Enumerable.CallOpts, owner)
- }
- // BalanceOf is a free data retrieval call binding the contract method 0x70a08231.
- //
- // Solidity: function balanceOf(address owner) view returns(uint256 balance)
- func (_IERC721Enumerable *IERC721EnumerableCallerSession) BalanceOf(owner common.Address) (*big.Int, error) {
- return _IERC721Enumerable.Contract.BalanceOf(&_IERC721Enumerable.CallOpts, owner)
- }
- // GetApproved is a free data retrieval call binding the contract method 0x081812fc.
- //
- // Solidity: function getApproved(uint256 tokenId) view returns(address operator)
- func (_IERC721Enumerable *IERC721EnumerableCaller) GetApproved(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) {
- var out []interface{}
- err := _IERC721Enumerable.contract.Call(opts, &out, "getApproved", tokenId)
- if err != nil {
- return *new(common.Address), err
- }
- out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
- return out0, err
- }
- // GetApproved is a free data retrieval call binding the contract method 0x081812fc.
- //
- // Solidity: function getApproved(uint256 tokenId) view returns(address operator)
- func (_IERC721Enumerable *IERC721EnumerableSession) GetApproved(tokenId *big.Int) (common.Address, error) {
- return _IERC721Enumerable.Contract.GetApproved(&_IERC721Enumerable.CallOpts, tokenId)
- }
- // GetApproved is a free data retrieval call binding the contract method 0x081812fc.
- //
- // Solidity: function getApproved(uint256 tokenId) view returns(address operator)
- func (_IERC721Enumerable *IERC721EnumerableCallerSession) GetApproved(tokenId *big.Int) (common.Address, error) {
- return _IERC721Enumerable.Contract.GetApproved(&_IERC721Enumerable.CallOpts, tokenId)
- }
- // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5.
- //
- // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool)
- func (_IERC721Enumerable *IERC721EnumerableCaller) IsApprovedForAll(opts *bind.CallOpts, owner common.Address, operator common.Address) (bool, error) {
- var out []interface{}
- err := _IERC721Enumerable.contract.Call(opts, &out, "isApprovedForAll", owner, operator)
- if err != nil {
- return *new(bool), err
- }
- out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
- return out0, err
- }
- // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5.
- //
- // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool)
- func (_IERC721Enumerable *IERC721EnumerableSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) {
- return _IERC721Enumerable.Contract.IsApprovedForAll(&_IERC721Enumerable.CallOpts, owner, operator)
- }
- // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5.
- //
- // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool)
- func (_IERC721Enumerable *IERC721EnumerableCallerSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) {
- return _IERC721Enumerable.Contract.IsApprovedForAll(&_IERC721Enumerable.CallOpts, owner, operator)
- }
- // OwnerOf is a free data retrieval call binding the contract method 0x6352211e.
- //
- // Solidity: function ownerOf(uint256 tokenId) view returns(address owner)
- func (_IERC721Enumerable *IERC721EnumerableCaller) OwnerOf(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) {
- var out []interface{}
- err := _IERC721Enumerable.contract.Call(opts, &out, "ownerOf", tokenId)
- if err != nil {
- return *new(common.Address), err
- }
- out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
- return out0, err
- }
- // OwnerOf is a free data retrieval call binding the contract method 0x6352211e.
- //
- // Solidity: function ownerOf(uint256 tokenId) view returns(address owner)
- func (_IERC721Enumerable *IERC721EnumerableSession) OwnerOf(tokenId *big.Int) (common.Address, error) {
- return _IERC721Enumerable.Contract.OwnerOf(&_IERC721Enumerable.CallOpts, tokenId)
- }
- // OwnerOf is a free data retrieval call binding the contract method 0x6352211e.
- //
- // Solidity: function ownerOf(uint256 tokenId) view returns(address owner)
- func (_IERC721Enumerable *IERC721EnumerableCallerSession) OwnerOf(tokenId *big.Int) (common.Address, error) {
- return _IERC721Enumerable.Contract.OwnerOf(&_IERC721Enumerable.CallOpts, tokenId)
- }
- // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
- //
- // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
- func (_IERC721Enumerable *IERC721EnumerableCaller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) {
- var out []interface{}
- err := _IERC721Enumerable.contract.Call(opts, &out, "supportsInterface", interfaceId)
- if err != nil {
- return *new(bool), err
- }
- out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
- return out0, err
- }
- // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
- //
- // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
- func (_IERC721Enumerable *IERC721EnumerableSession) SupportsInterface(interfaceId [4]byte) (bool, error) {
- return _IERC721Enumerable.Contract.SupportsInterface(&_IERC721Enumerable.CallOpts, interfaceId)
- }
- // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
- //
- // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
- func (_IERC721Enumerable *IERC721EnumerableCallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) {
- return _IERC721Enumerable.Contract.SupportsInterface(&_IERC721Enumerable.CallOpts, interfaceId)
- }
- // TokenByIndex is a free data retrieval call binding the contract method 0x4f6ccce7.
- //
- // Solidity: function tokenByIndex(uint256 index) view returns(uint256)
- func (_IERC721Enumerable *IERC721EnumerableCaller) TokenByIndex(opts *bind.CallOpts, index *big.Int) (*big.Int, error) {
- var out []interface{}
- err := _IERC721Enumerable.contract.Call(opts, &out, "tokenByIndex", index)
- if err != nil {
- return *new(*big.Int), err
- }
- out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
- return out0, err
- }
- // TokenByIndex is a free data retrieval call binding the contract method 0x4f6ccce7.
- //
- // Solidity: function tokenByIndex(uint256 index) view returns(uint256)
- func (_IERC721Enumerable *IERC721EnumerableSession) TokenByIndex(index *big.Int) (*big.Int, error) {
- return _IERC721Enumerable.Contract.TokenByIndex(&_IERC721Enumerable.CallOpts, index)
- }
- // TokenByIndex is a free data retrieval call binding the contract method 0x4f6ccce7.
- //
- // Solidity: function tokenByIndex(uint256 index) view returns(uint256)
- func (_IERC721Enumerable *IERC721EnumerableCallerSession) TokenByIndex(index *big.Int) (*big.Int, error) {
- return _IERC721Enumerable.Contract.TokenByIndex(&_IERC721Enumerable.CallOpts, index)
- }
- // TokenOfOwnerByIndex is a free data retrieval call binding the contract method 0x2f745c59.
- //
- // Solidity: function tokenOfOwnerByIndex(address owner, uint256 index) view returns(uint256)
- func (_IERC721Enumerable *IERC721EnumerableCaller) TokenOfOwnerByIndex(opts *bind.CallOpts, owner common.Address, index *big.Int) (*big.Int, error) {
- var out []interface{}
- err := _IERC721Enumerable.contract.Call(opts, &out, "tokenOfOwnerByIndex", owner, index)
- if err != nil {
- return *new(*big.Int), err
- }
- out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
- return out0, err
- }
- // TokenOfOwnerByIndex is a free data retrieval call binding the contract method 0x2f745c59.
- //
- // Solidity: function tokenOfOwnerByIndex(address owner, uint256 index) view returns(uint256)
- func (_IERC721Enumerable *IERC721EnumerableSession) TokenOfOwnerByIndex(owner common.Address, index *big.Int) (*big.Int, error) {
- return _IERC721Enumerable.Contract.TokenOfOwnerByIndex(&_IERC721Enumerable.CallOpts, owner, index)
- }
- // TokenOfOwnerByIndex is a free data retrieval call binding the contract method 0x2f745c59.
- //
- // Solidity: function tokenOfOwnerByIndex(address owner, uint256 index) view returns(uint256)
- func (_IERC721Enumerable *IERC721EnumerableCallerSession) TokenOfOwnerByIndex(owner common.Address, index *big.Int) (*big.Int, error) {
- return _IERC721Enumerable.Contract.TokenOfOwnerByIndex(&_IERC721Enumerable.CallOpts, owner, index)
- }
- // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd.
- //
- // Solidity: function totalSupply() view returns(uint256)
- func (_IERC721Enumerable *IERC721EnumerableCaller) TotalSupply(opts *bind.CallOpts) (*big.Int, error) {
- var out []interface{}
- err := _IERC721Enumerable.contract.Call(opts, &out, "totalSupply")
- if err != nil {
- return *new(*big.Int), err
- }
- out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
- return out0, err
- }
- // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd.
- //
- // Solidity: function totalSupply() view returns(uint256)
- func (_IERC721Enumerable *IERC721EnumerableSession) TotalSupply() (*big.Int, error) {
- return _IERC721Enumerable.Contract.TotalSupply(&_IERC721Enumerable.CallOpts)
- }
- // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd.
- //
- // Solidity: function totalSupply() view returns(uint256)
- func (_IERC721Enumerable *IERC721EnumerableCallerSession) TotalSupply() (*big.Int, error) {
- return _IERC721Enumerable.Contract.TotalSupply(&_IERC721Enumerable.CallOpts)
- }
- // Approve is a paid mutator transaction binding the contract method 0x095ea7b3.
- //
- // Solidity: function approve(address to, uint256 tokenId) returns()
- func (_IERC721Enumerable *IERC721EnumerableTransactor) Approve(opts *bind.TransactOpts, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
- return _IERC721Enumerable.contract.Transact(opts, "approve", to, tokenId)
- }
- // Approve is a paid mutator transaction binding the contract method 0x095ea7b3.
- //
- // Solidity: function approve(address to, uint256 tokenId) returns()
- func (_IERC721Enumerable *IERC721EnumerableSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) {
- return _IERC721Enumerable.Contract.Approve(&_IERC721Enumerable.TransactOpts, to, tokenId)
- }
- // Approve is a paid mutator transaction binding the contract method 0x095ea7b3.
- //
- // Solidity: function approve(address to, uint256 tokenId) returns()
- func (_IERC721Enumerable *IERC721EnumerableTransactorSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) {
- return _IERC721Enumerable.Contract.Approve(&_IERC721Enumerable.TransactOpts, to, tokenId)
- }
- // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e.
- //
- // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns()
- func (_IERC721Enumerable *IERC721EnumerableTransactor) SafeTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
- return _IERC721Enumerable.contract.Transact(opts, "safeTransferFrom", from, to, tokenId)
- }
- // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e.
- //
- // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns()
- func (_IERC721Enumerable *IERC721EnumerableSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
- return _IERC721Enumerable.Contract.SafeTransferFrom(&_IERC721Enumerable.TransactOpts, from, to, tokenId)
- }
- // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e.
- //
- // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns()
- func (_IERC721Enumerable *IERC721EnumerableTransactorSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
- return _IERC721Enumerable.Contract.SafeTransferFrom(&_IERC721Enumerable.TransactOpts, from, to, tokenId)
- }
- // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde.
- //
- // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes data) returns()
- func (_IERC721Enumerable *IERC721EnumerableTransactor) SafeTransferFrom0(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) {
- return _IERC721Enumerable.contract.Transact(opts, "safeTransferFrom0", from, to, tokenId, data)
- }
- // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde.
- //
- // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes data) returns()
- func (_IERC721Enumerable *IERC721EnumerableSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) {
- return _IERC721Enumerable.Contract.SafeTransferFrom0(&_IERC721Enumerable.TransactOpts, from, to, tokenId, data)
- }
- // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde.
- //
- // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes data) returns()
- func (_IERC721Enumerable *IERC721EnumerableTransactorSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) {
- return _IERC721Enumerable.Contract.SafeTransferFrom0(&_IERC721Enumerable.TransactOpts, from, to, tokenId, data)
- }
- // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465.
- //
- // Solidity: function setApprovalForAll(address operator, bool _approved) returns()
- func (_IERC721Enumerable *IERC721EnumerableTransactor) SetApprovalForAll(opts *bind.TransactOpts, operator common.Address, _approved bool) (*types.Transaction, error) {
- return _IERC721Enumerable.contract.Transact(opts, "setApprovalForAll", operator, _approved)
- }
- // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465.
- //
- // Solidity: function setApprovalForAll(address operator, bool _approved) returns()
- func (_IERC721Enumerable *IERC721EnumerableSession) SetApprovalForAll(operator common.Address, _approved bool) (*types.Transaction, error) {
- return _IERC721Enumerable.Contract.SetApprovalForAll(&_IERC721Enumerable.TransactOpts, operator, _approved)
- }
- // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465.
- //
- // Solidity: function setApprovalForAll(address operator, bool _approved) returns()
- func (_IERC721Enumerable *IERC721EnumerableTransactorSession) SetApprovalForAll(operator common.Address, _approved bool) (*types.Transaction, error) {
- return _IERC721Enumerable.Contract.SetApprovalForAll(&_IERC721Enumerable.TransactOpts, operator, _approved)
- }
- // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd.
- //
- // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns()
- func (_IERC721Enumerable *IERC721EnumerableTransactor) TransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
- return _IERC721Enumerable.contract.Transact(opts, "transferFrom", from, to, tokenId)
- }
- // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd.
- //
- // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns()
- func (_IERC721Enumerable *IERC721EnumerableSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
- return _IERC721Enumerable.Contract.TransferFrom(&_IERC721Enumerable.TransactOpts, from, to, tokenId)
- }
- // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd.
- //
- // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns()
- func (_IERC721Enumerable *IERC721EnumerableTransactorSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
- return _IERC721Enumerable.Contract.TransferFrom(&_IERC721Enumerable.TransactOpts, from, to, tokenId)
- }
- // 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.
- type IERC721EnumerableApprovalIterator struct {
- Event *IERC721EnumerableApproval // Event containing the contract specifics and raw log
- contract *bind.BoundContract // Generic contract to use for unpacking event data
- event string // Event name to use for unpacking event data
- logs chan types.Log // Log channel receiving the found contract events
- sub ethereum.Subscription // Subscription for errors, completion and termination
- done bool // Whether the subscription completed delivering logs
- fail error // Occurred error to stop iteration
- }
- // Next advances the iterator to the subsequent event, returning whether there
- // are any more events found. In case of a retrieval or parsing error, false is
- // returned and Error() can be queried for the exact failure.
- func (it *IERC721EnumerableApprovalIterator) Next() bool {
- // If the iterator failed, stop iterating
- if it.fail != nil {
- return false
- }
- // If the iterator completed, deliver directly whatever's available
- if it.done {
- select {
- case log := <-it.logs:
- it.Event = new(IERC721EnumerableApproval)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- default:
- return false
- }
- }
- // Iterator still in progress, wait for either a data or an error event
- select {
- case log := <-it.logs:
- it.Event = new(IERC721EnumerableApproval)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- case err := <-it.sub.Err():
- it.done = true
- it.fail = err
- return it.Next()
- }
- }
- // Error returns any retrieval or parsing error occurred during filtering.
- func (it *IERC721EnumerableApprovalIterator) Error() error {
- return it.fail
- }
- // Close terminates the iteration process, releasing any pending underlying
- // resources.
- func (it *IERC721EnumerableApprovalIterator) Close() error {
- it.sub.Unsubscribe()
- return nil
- }
- // IERC721EnumerableApproval represents a Approval event raised by the IERC721Enumerable contract.
- type IERC721EnumerableApproval struct {
- Owner common.Address
- Approved common.Address
- TokenId *big.Int
- Raw types.Log // Blockchain specific contextual infos
- }
- // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925.
- //
- // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)
- func (_IERC721Enumerable *IERC721EnumerableFilterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, approved []common.Address, tokenId []*big.Int) (*IERC721EnumerableApprovalIterator, error) {
- var ownerRule []interface{}
- for _, ownerItem := range owner {
- ownerRule = append(ownerRule, ownerItem)
- }
- var approvedRule []interface{}
- for _, approvedItem := range approved {
- approvedRule = append(approvedRule, approvedItem)
- }
- var tokenIdRule []interface{}
- for _, tokenIdItem := range tokenId {
- tokenIdRule = append(tokenIdRule, tokenIdItem)
- }
- logs, sub, err := _IERC721Enumerable.contract.FilterLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule)
- if err != nil {
- return nil, err
- }
- return &IERC721EnumerableApprovalIterator{contract: _IERC721Enumerable.contract, event: "Approval", logs: logs, sub: sub}, nil
- }
- // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925.
- //
- // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)
- func (_IERC721Enumerable *IERC721EnumerableFilterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *IERC721EnumerableApproval, owner []common.Address, approved []common.Address, tokenId []*big.Int) (event.Subscription, error) {
- var ownerRule []interface{}
- for _, ownerItem := range owner {
- ownerRule = append(ownerRule, ownerItem)
- }
- var approvedRule []interface{}
- for _, approvedItem := range approved {
- approvedRule = append(approvedRule, approvedItem)
- }
- var tokenIdRule []interface{}
- for _, tokenIdItem := range tokenId {
- tokenIdRule = append(tokenIdRule, tokenIdItem)
- }
- logs, sub, err := _IERC721Enumerable.contract.WatchLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule)
- if err != nil {
- return nil, err
- }
- return event.NewSubscription(func(quit <-chan struct{}) error {
- defer sub.Unsubscribe()
- for {
- select {
- case log := <-logs:
- // New log arrived, parse the event and forward to the user
- event := new(IERC721EnumerableApproval)
- if err := _IERC721Enumerable.contract.UnpackLog(event, "Approval", log); err != nil {
- return err
- }
- event.Raw = log
- select {
- case sink <- event:
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- }
- }), nil
- }
- // ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925.
- //
- // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)
- func (_IERC721Enumerable *IERC721EnumerableFilterer) ParseApproval(log types.Log) (*IERC721EnumerableApproval, error) {
- event := new(IERC721EnumerableApproval)
- if err := _IERC721Enumerable.contract.UnpackLog(event, "Approval", log); err != nil {
- return nil, err
- }
- event.Raw = log
- return event, nil
- }
- // 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.
- type IERC721EnumerableApprovalForAllIterator struct {
- Event *IERC721EnumerableApprovalForAll // Event containing the contract specifics and raw log
- contract *bind.BoundContract // Generic contract to use for unpacking event data
- event string // Event name to use for unpacking event data
- logs chan types.Log // Log channel receiving the found contract events
- sub ethereum.Subscription // Subscription for errors, completion and termination
- done bool // Whether the subscription completed delivering logs
- fail error // Occurred error to stop iteration
- }
- // Next advances the iterator to the subsequent event, returning whether there
- // are any more events found. In case of a retrieval or parsing error, false is
- // returned and Error() can be queried for the exact failure.
- func (it *IERC721EnumerableApprovalForAllIterator) Next() bool {
- // If the iterator failed, stop iterating
- if it.fail != nil {
- return false
- }
- // If the iterator completed, deliver directly whatever's available
- if it.done {
- select {
- case log := <-it.logs:
- it.Event = new(IERC721EnumerableApprovalForAll)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- default:
- return false
- }
- }
- // Iterator still in progress, wait for either a data or an error event
- select {
- case log := <-it.logs:
- it.Event = new(IERC721EnumerableApprovalForAll)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- case err := <-it.sub.Err():
- it.done = true
- it.fail = err
- return it.Next()
- }
- }
- // Error returns any retrieval or parsing error occurred during filtering.
- func (it *IERC721EnumerableApprovalForAllIterator) Error() error {
- return it.fail
- }
- // Close terminates the iteration process, releasing any pending underlying
- // resources.
- func (it *IERC721EnumerableApprovalForAllIterator) Close() error {
- it.sub.Unsubscribe()
- return nil
- }
- // IERC721EnumerableApprovalForAll represents a ApprovalForAll event raised by the IERC721Enumerable contract.
- type IERC721EnumerableApprovalForAll struct {
- Owner common.Address
- Operator common.Address
- Approved bool
- Raw types.Log // Blockchain specific contextual infos
- }
- // FilterApprovalForAll is a free log retrieval operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31.
- //
- // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved)
- func (_IERC721Enumerable *IERC721EnumerableFilterer) FilterApprovalForAll(opts *bind.FilterOpts, owner []common.Address, operator []common.Address) (*IERC721EnumerableApprovalForAllIterator, error) {
- var ownerRule []interface{}
- for _, ownerItem := range owner {
- ownerRule = append(ownerRule, ownerItem)
- }
- var operatorRule []interface{}
- for _, operatorItem := range operator {
- operatorRule = append(operatorRule, operatorItem)
- }
- logs, sub, err := _IERC721Enumerable.contract.FilterLogs(opts, "ApprovalForAll", ownerRule, operatorRule)
- if err != nil {
- return nil, err
- }
- return &IERC721EnumerableApprovalForAllIterator{contract: _IERC721Enumerable.contract, event: "ApprovalForAll", logs: logs, sub: sub}, nil
- }
- // WatchApprovalForAll is a free log subscription operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31.
- //
- // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved)
- func (_IERC721Enumerable *IERC721EnumerableFilterer) WatchApprovalForAll(opts *bind.WatchOpts, sink chan<- *IERC721EnumerableApprovalForAll, owner []common.Address, operator []common.Address) (event.Subscription, error) {
- var ownerRule []interface{}
- for _, ownerItem := range owner {
- ownerRule = append(ownerRule, ownerItem)
- }
- var operatorRule []interface{}
- for _, operatorItem := range operator {
- operatorRule = append(operatorRule, operatorItem)
- }
- logs, sub, err := _IERC721Enumerable.contract.WatchLogs(opts, "ApprovalForAll", ownerRule, operatorRule)
- if err != nil {
- return nil, err
- }
- return event.NewSubscription(func(quit <-chan struct{}) error {
- defer sub.Unsubscribe()
- for {
- select {
- case log := <-logs:
- // New log arrived, parse the event and forward to the user
- event := new(IERC721EnumerableApprovalForAll)
- if err := _IERC721Enumerable.contract.UnpackLog(event, "ApprovalForAll", log); err != nil {
- return err
- }
- event.Raw = log
- select {
- case sink <- event:
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- }
- }), nil
- }
- // ParseApprovalForAll is a log parse operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31.
- //
- // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved)
- func (_IERC721Enumerable *IERC721EnumerableFilterer) ParseApprovalForAll(log types.Log) (*IERC721EnumerableApprovalForAll, error) {
- event := new(IERC721EnumerableApprovalForAll)
- if err := _IERC721Enumerable.contract.UnpackLog(event, "ApprovalForAll", log); err != nil {
- return nil, err
- }
- event.Raw = log
- return event, nil
- }
- // 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.
- type IERC721EnumerableTransferIterator struct {
- Event *IERC721EnumerableTransfer // Event containing the contract specifics and raw log
- contract *bind.BoundContract // Generic contract to use for unpacking event data
- event string // Event name to use for unpacking event data
- logs chan types.Log // Log channel receiving the found contract events
- sub ethereum.Subscription // Subscription for errors, completion and termination
- done bool // Whether the subscription completed delivering logs
- fail error // Occurred error to stop iteration
- }
- // Next advances the iterator to the subsequent event, returning whether there
- // are any more events found. In case of a retrieval or parsing error, false is
- // returned and Error() can be queried for the exact failure.
- func (it *IERC721EnumerableTransferIterator) Next() bool {
- // If the iterator failed, stop iterating
- if it.fail != nil {
- return false
- }
- // If the iterator completed, deliver directly whatever's available
- if it.done {
- select {
- case log := <-it.logs:
- it.Event = new(IERC721EnumerableTransfer)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- default:
- return false
- }
- }
- // Iterator still in progress, wait for either a data or an error event
- select {
- case log := <-it.logs:
- it.Event = new(IERC721EnumerableTransfer)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- case err := <-it.sub.Err():
- it.done = true
- it.fail = err
- return it.Next()
- }
- }
- // Error returns any retrieval or parsing error occurred during filtering.
- func (it *IERC721EnumerableTransferIterator) Error() error {
- return it.fail
- }
- // Close terminates the iteration process, releasing any pending underlying
- // resources.
- func (it *IERC721EnumerableTransferIterator) Close() error {
- it.sub.Unsubscribe()
- return nil
- }
- // IERC721EnumerableTransfer represents a Transfer event raised by the IERC721Enumerable contract.
- type IERC721EnumerableTransfer struct {
- From common.Address
- To common.Address
- TokenId *big.Int
- Raw types.Log // Blockchain specific contextual infos
- }
- // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef.
- //
- // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)
- func (_IERC721Enumerable *IERC721EnumerableFilterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address, tokenId []*big.Int) (*IERC721EnumerableTransferIterator, error) {
- var fromRule []interface{}
- for _, fromItem := range from {
- fromRule = append(fromRule, fromItem)
- }
- var toRule []interface{}
- for _, toItem := range to {
- toRule = append(toRule, toItem)
- }
- var tokenIdRule []interface{}
- for _, tokenIdItem := range tokenId {
- tokenIdRule = append(tokenIdRule, tokenIdItem)
- }
- logs, sub, err := _IERC721Enumerable.contract.FilterLogs(opts, "Transfer", fromRule, toRule, tokenIdRule)
- if err != nil {
- return nil, err
- }
- return &IERC721EnumerableTransferIterator{contract: _IERC721Enumerable.contract, event: "Transfer", logs: logs, sub: sub}, nil
- }
- // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef.
- //
- // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)
- func (_IERC721Enumerable *IERC721EnumerableFilterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *IERC721EnumerableTransfer, from []common.Address, to []common.Address, tokenId []*big.Int) (event.Subscription, error) {
- var fromRule []interface{}
- for _, fromItem := range from {
- fromRule = append(fromRule, fromItem)
- }
- var toRule []interface{}
- for _, toItem := range to {
- toRule = append(toRule, toItem)
- }
- var tokenIdRule []interface{}
- for _, tokenIdItem := range tokenId {
- tokenIdRule = append(tokenIdRule, tokenIdItem)
- }
- logs, sub, err := _IERC721Enumerable.contract.WatchLogs(opts, "Transfer", fromRule, toRule, tokenIdRule)
- if err != nil {
- return nil, err
- }
- return event.NewSubscription(func(quit <-chan struct{}) error {
- defer sub.Unsubscribe()
- for {
- select {
- case log := <-logs:
- // New log arrived, parse the event and forward to the user
- event := new(IERC721EnumerableTransfer)
- if err := _IERC721Enumerable.contract.UnpackLog(event, "Transfer", log); err != nil {
- return err
- }
- event.Raw = log
- select {
- case sink <- event:
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- }
- }), nil
- }
- // ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef.
- //
- // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)
- func (_IERC721Enumerable *IERC721EnumerableFilterer) ParseTransfer(log types.Log) (*IERC721EnumerableTransfer, error) {
- event := new(IERC721EnumerableTransfer)
- if err := _IERC721Enumerable.contract.UnpackLog(event, "Transfer", log); err != nil {
- return nil, err
- }
- event.Raw = log
- return event, nil
- }
- // IERC721MetadataMetaData contains all meta data concerning the IERC721Metadata contract.
- var IERC721MetadataMetaData = &bind.MetaData{
- 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\"}]",
- Sigs: map[string]string{
- "095ea7b3": "approve(address,uint256)",
- "70a08231": "balanceOf(address)",
- "081812fc": "getApproved(uint256)",
- "e985e9c5": "isApprovedForAll(address,address)",
- "06fdde03": "name()",
- "6352211e": "ownerOf(uint256)",
- "42842e0e": "safeTransferFrom(address,address,uint256)",
- "b88d4fde": "safeTransferFrom(address,address,uint256,bytes)",
- "a22cb465": "setApprovalForAll(address,bool)",
- "01ffc9a7": "supportsInterface(bytes4)",
- "95d89b41": "symbol()",
- "c87b56dd": "tokenURI(uint256)",
- "23b872dd": "transferFrom(address,address,uint256)",
- },
- }
- // IERC721MetadataABI is the input ABI used to generate the binding from.
- // Deprecated: Use IERC721MetadataMetaData.ABI instead.
- var IERC721MetadataABI = IERC721MetadataMetaData.ABI
- // Deprecated: Use IERC721MetadataMetaData.Sigs instead.
- // IERC721MetadataFuncSigs maps the 4-byte function signature to its string representation.
- var IERC721MetadataFuncSigs = IERC721MetadataMetaData.Sigs
- // IERC721Metadata is an auto generated Go binding around an Ethereum contract.
- type IERC721Metadata struct {
- IERC721MetadataCaller // Read-only binding to the contract
- IERC721MetadataTransactor // Write-only binding to the contract
- IERC721MetadataFilterer // Log filterer for contract events
- }
- // IERC721MetadataCaller is an auto generated read-only Go binding around an Ethereum contract.
- type IERC721MetadataCaller struct {
- contract *bind.BoundContract // Generic contract wrapper for the low level calls
- }
- // IERC721MetadataTransactor is an auto generated write-only Go binding around an Ethereum contract.
- type IERC721MetadataTransactor struct {
- contract *bind.BoundContract // Generic contract wrapper for the low level calls
- }
- // IERC721MetadataFilterer is an auto generated log filtering Go binding around an Ethereum contract events.
- type IERC721MetadataFilterer struct {
- contract *bind.BoundContract // Generic contract wrapper for the low level calls
- }
- // IERC721MetadataSession is an auto generated Go binding around an Ethereum contract,
- // with pre-set call and transact options.
- type IERC721MetadataSession struct {
- Contract *IERC721Metadata // Generic contract binding to set the session for
- CallOpts bind.CallOpts // Call options to use throughout this session
- TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
- }
- // IERC721MetadataCallerSession is an auto generated read-only Go binding around an Ethereum contract,
- // with pre-set call options.
- type IERC721MetadataCallerSession struct {
- Contract *IERC721MetadataCaller // Generic contract caller binding to set the session for
- CallOpts bind.CallOpts // Call options to use throughout this session
- }
- // IERC721MetadataTransactorSession is an auto generated write-only Go binding around an Ethereum contract,
- // with pre-set transact options.
- type IERC721MetadataTransactorSession struct {
- Contract *IERC721MetadataTransactor // Generic contract transactor binding to set the session for
- TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
- }
- // IERC721MetadataRaw is an auto generated low-level Go binding around an Ethereum contract.
- type IERC721MetadataRaw struct {
- Contract *IERC721Metadata // Generic contract binding to access the raw methods on
- }
- // IERC721MetadataCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
- type IERC721MetadataCallerRaw struct {
- Contract *IERC721MetadataCaller // Generic read-only contract binding to access the raw methods on
- }
- // IERC721MetadataTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
- type IERC721MetadataTransactorRaw struct {
- Contract *IERC721MetadataTransactor // Generic write-only contract binding to access the raw methods on
- }
- // NewIERC721Metadata creates a new instance of IERC721Metadata, bound to a specific deployed contract.
- func NewIERC721Metadata(address common.Address, backend bind.ContractBackend) (*IERC721Metadata, error) {
- contract, err := bindIERC721Metadata(address, backend, backend, backend)
- if err != nil {
- return nil, err
- }
- return &IERC721Metadata{IERC721MetadataCaller: IERC721MetadataCaller{contract: contract}, IERC721MetadataTransactor: IERC721MetadataTransactor{contract: contract}, IERC721MetadataFilterer: IERC721MetadataFilterer{contract: contract}}, nil
- }
- // NewIERC721MetadataCaller creates a new read-only instance of IERC721Metadata, bound to a specific deployed contract.
- func NewIERC721MetadataCaller(address common.Address, caller bind.ContractCaller) (*IERC721MetadataCaller, error) {
- contract, err := bindIERC721Metadata(address, caller, nil, nil)
- if err != nil {
- return nil, err
- }
- return &IERC721MetadataCaller{contract: contract}, nil
- }
- // NewIERC721MetadataTransactor creates a new write-only instance of IERC721Metadata, bound to a specific deployed contract.
- func NewIERC721MetadataTransactor(address common.Address, transactor bind.ContractTransactor) (*IERC721MetadataTransactor, error) {
- contract, err := bindIERC721Metadata(address, nil, transactor, nil)
- if err != nil {
- return nil, err
- }
- return &IERC721MetadataTransactor{contract: contract}, nil
- }
- // NewIERC721MetadataFilterer creates a new log filterer instance of IERC721Metadata, bound to a specific deployed contract.
- func NewIERC721MetadataFilterer(address common.Address, filterer bind.ContractFilterer) (*IERC721MetadataFilterer, error) {
- contract, err := bindIERC721Metadata(address, nil, nil, filterer)
- if err != nil {
- return nil, err
- }
- return &IERC721MetadataFilterer{contract: contract}, nil
- }
- // bindIERC721Metadata binds a generic wrapper to an already deployed contract.
- func bindIERC721Metadata(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
- parsed, err := abi.JSON(strings.NewReader(IERC721MetadataABI))
- if err != nil {
- return nil, err
- }
- return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil
- }
- // Call invokes the (constant) contract method with params as input values and
- // sets the output to result. The result type might be a single field for simple
- // returns, a slice of interfaces for anonymous returns and a struct for named
- // returns.
- func (_IERC721Metadata *IERC721MetadataRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
- return _IERC721Metadata.Contract.IERC721MetadataCaller.contract.Call(opts, result, method, params...)
- }
- // Transfer initiates a plain transaction to move funds to the contract, calling
- // its default method if one is available.
- func (_IERC721Metadata *IERC721MetadataRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
- return _IERC721Metadata.Contract.IERC721MetadataTransactor.contract.Transfer(opts)
- }
- // Transact invokes the (paid) contract method with params as input values.
- func (_IERC721Metadata *IERC721MetadataRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
- return _IERC721Metadata.Contract.IERC721MetadataTransactor.contract.Transact(opts, method, params...)
- }
- // Call invokes the (constant) contract method with params as input values and
- // sets the output to result. The result type might be a single field for simple
- // returns, a slice of interfaces for anonymous returns and a struct for named
- // returns.
- func (_IERC721Metadata *IERC721MetadataCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
- return _IERC721Metadata.Contract.contract.Call(opts, result, method, params...)
- }
- // Transfer initiates a plain transaction to move funds to the contract, calling
- // its default method if one is available.
- func (_IERC721Metadata *IERC721MetadataTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
- return _IERC721Metadata.Contract.contract.Transfer(opts)
- }
- // Transact invokes the (paid) contract method with params as input values.
- func (_IERC721Metadata *IERC721MetadataTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
- return _IERC721Metadata.Contract.contract.Transact(opts, method, params...)
- }
- // BalanceOf is a free data retrieval call binding the contract method 0x70a08231.
- //
- // Solidity: function balanceOf(address owner) view returns(uint256 balance)
- func (_IERC721Metadata *IERC721MetadataCaller) BalanceOf(opts *bind.CallOpts, owner common.Address) (*big.Int, error) {
- var out []interface{}
- err := _IERC721Metadata.contract.Call(opts, &out, "balanceOf", owner)
- if err != nil {
- return *new(*big.Int), err
- }
- out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
- return out0, err
- }
- // BalanceOf is a free data retrieval call binding the contract method 0x70a08231.
- //
- // Solidity: function balanceOf(address owner) view returns(uint256 balance)
- func (_IERC721Metadata *IERC721MetadataSession) BalanceOf(owner common.Address) (*big.Int, error) {
- return _IERC721Metadata.Contract.BalanceOf(&_IERC721Metadata.CallOpts, owner)
- }
- // BalanceOf is a free data retrieval call binding the contract method 0x70a08231.
- //
- // Solidity: function balanceOf(address owner) view returns(uint256 balance)
- func (_IERC721Metadata *IERC721MetadataCallerSession) BalanceOf(owner common.Address) (*big.Int, error) {
- return _IERC721Metadata.Contract.BalanceOf(&_IERC721Metadata.CallOpts, owner)
- }
- // GetApproved is a free data retrieval call binding the contract method 0x081812fc.
- //
- // Solidity: function getApproved(uint256 tokenId) view returns(address operator)
- func (_IERC721Metadata *IERC721MetadataCaller) GetApproved(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) {
- var out []interface{}
- err := _IERC721Metadata.contract.Call(opts, &out, "getApproved", tokenId)
- if err != nil {
- return *new(common.Address), err
- }
- out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
- return out0, err
- }
- // GetApproved is a free data retrieval call binding the contract method 0x081812fc.
- //
- // Solidity: function getApproved(uint256 tokenId) view returns(address operator)
- func (_IERC721Metadata *IERC721MetadataSession) GetApproved(tokenId *big.Int) (common.Address, error) {
- return _IERC721Metadata.Contract.GetApproved(&_IERC721Metadata.CallOpts, tokenId)
- }
- // GetApproved is a free data retrieval call binding the contract method 0x081812fc.
- //
- // Solidity: function getApproved(uint256 tokenId) view returns(address operator)
- func (_IERC721Metadata *IERC721MetadataCallerSession) GetApproved(tokenId *big.Int) (common.Address, error) {
- return _IERC721Metadata.Contract.GetApproved(&_IERC721Metadata.CallOpts, tokenId)
- }
- // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5.
- //
- // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool)
- func (_IERC721Metadata *IERC721MetadataCaller) IsApprovedForAll(opts *bind.CallOpts, owner common.Address, operator common.Address) (bool, error) {
- var out []interface{}
- err := _IERC721Metadata.contract.Call(opts, &out, "isApprovedForAll", owner, operator)
- if err != nil {
- return *new(bool), err
- }
- out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
- return out0, err
- }
- // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5.
- //
- // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool)
- func (_IERC721Metadata *IERC721MetadataSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) {
- return _IERC721Metadata.Contract.IsApprovedForAll(&_IERC721Metadata.CallOpts, owner, operator)
- }
- // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5.
- //
- // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool)
- func (_IERC721Metadata *IERC721MetadataCallerSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) {
- return _IERC721Metadata.Contract.IsApprovedForAll(&_IERC721Metadata.CallOpts, owner, operator)
- }
- // Name is a free data retrieval call binding the contract method 0x06fdde03.
- //
- // Solidity: function name() view returns(string)
- func (_IERC721Metadata *IERC721MetadataCaller) Name(opts *bind.CallOpts) (string, error) {
- var out []interface{}
- err := _IERC721Metadata.contract.Call(opts, &out, "name")
- if err != nil {
- return *new(string), err
- }
- out0 := *abi.ConvertType(out[0], new(string)).(*string)
- return out0, err
- }
- // Name is a free data retrieval call binding the contract method 0x06fdde03.
- //
- // Solidity: function name() view returns(string)
- func (_IERC721Metadata *IERC721MetadataSession) Name() (string, error) {
- return _IERC721Metadata.Contract.Name(&_IERC721Metadata.CallOpts)
- }
- // Name is a free data retrieval call binding the contract method 0x06fdde03.
- //
- // Solidity: function name() view returns(string)
- func (_IERC721Metadata *IERC721MetadataCallerSession) Name() (string, error) {
- return _IERC721Metadata.Contract.Name(&_IERC721Metadata.CallOpts)
- }
- // OwnerOf is a free data retrieval call binding the contract method 0x6352211e.
- //
- // Solidity: function ownerOf(uint256 tokenId) view returns(address owner)
- func (_IERC721Metadata *IERC721MetadataCaller) OwnerOf(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) {
- var out []interface{}
- err := _IERC721Metadata.contract.Call(opts, &out, "ownerOf", tokenId)
- if err != nil {
- return *new(common.Address), err
- }
- out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
- return out0, err
- }
- // OwnerOf is a free data retrieval call binding the contract method 0x6352211e.
- //
- // Solidity: function ownerOf(uint256 tokenId) view returns(address owner)
- func (_IERC721Metadata *IERC721MetadataSession) OwnerOf(tokenId *big.Int) (common.Address, error) {
- return _IERC721Metadata.Contract.OwnerOf(&_IERC721Metadata.CallOpts, tokenId)
- }
- // OwnerOf is a free data retrieval call binding the contract method 0x6352211e.
- //
- // Solidity: function ownerOf(uint256 tokenId) view returns(address owner)
- func (_IERC721Metadata *IERC721MetadataCallerSession) OwnerOf(tokenId *big.Int) (common.Address, error) {
- return _IERC721Metadata.Contract.OwnerOf(&_IERC721Metadata.CallOpts, tokenId)
- }
- // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
- //
- // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
- func (_IERC721Metadata *IERC721MetadataCaller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) {
- var out []interface{}
- err := _IERC721Metadata.contract.Call(opts, &out, "supportsInterface", interfaceId)
- if err != nil {
- return *new(bool), err
- }
- out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
- return out0, err
- }
- // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
- //
- // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
- func (_IERC721Metadata *IERC721MetadataSession) SupportsInterface(interfaceId [4]byte) (bool, error) {
- return _IERC721Metadata.Contract.SupportsInterface(&_IERC721Metadata.CallOpts, interfaceId)
- }
- // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
- //
- // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
- func (_IERC721Metadata *IERC721MetadataCallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) {
- return _IERC721Metadata.Contract.SupportsInterface(&_IERC721Metadata.CallOpts, interfaceId)
- }
- // Symbol is a free data retrieval call binding the contract method 0x95d89b41.
- //
- // Solidity: function symbol() view returns(string)
- func (_IERC721Metadata *IERC721MetadataCaller) Symbol(opts *bind.CallOpts) (string, error) {
- var out []interface{}
- err := _IERC721Metadata.contract.Call(opts, &out, "symbol")
- if err != nil {
- return *new(string), err
- }
- out0 := *abi.ConvertType(out[0], new(string)).(*string)
- return out0, err
- }
- // Symbol is a free data retrieval call binding the contract method 0x95d89b41.
- //
- // Solidity: function symbol() view returns(string)
- func (_IERC721Metadata *IERC721MetadataSession) Symbol() (string, error) {
- return _IERC721Metadata.Contract.Symbol(&_IERC721Metadata.CallOpts)
- }
- // Symbol is a free data retrieval call binding the contract method 0x95d89b41.
- //
- // Solidity: function symbol() view returns(string)
- func (_IERC721Metadata *IERC721MetadataCallerSession) Symbol() (string, error) {
- return _IERC721Metadata.Contract.Symbol(&_IERC721Metadata.CallOpts)
- }
- // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd.
- //
- // Solidity: function tokenURI(uint256 tokenId) view returns(string)
- func (_IERC721Metadata *IERC721MetadataCaller) TokenURI(opts *bind.CallOpts, tokenId *big.Int) (string, error) {
- var out []interface{}
- err := _IERC721Metadata.contract.Call(opts, &out, "tokenURI", tokenId)
- if err != nil {
- return *new(string), err
- }
- out0 := *abi.ConvertType(out[0], new(string)).(*string)
- return out0, err
- }
- // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd.
- //
- // Solidity: function tokenURI(uint256 tokenId) view returns(string)
- func (_IERC721Metadata *IERC721MetadataSession) TokenURI(tokenId *big.Int) (string, error) {
- return _IERC721Metadata.Contract.TokenURI(&_IERC721Metadata.CallOpts, tokenId)
- }
- // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd.
- //
- // Solidity: function tokenURI(uint256 tokenId) view returns(string)
- func (_IERC721Metadata *IERC721MetadataCallerSession) TokenURI(tokenId *big.Int) (string, error) {
- return _IERC721Metadata.Contract.TokenURI(&_IERC721Metadata.CallOpts, tokenId)
- }
- // Approve is a paid mutator transaction binding the contract method 0x095ea7b3.
- //
- // Solidity: function approve(address to, uint256 tokenId) returns()
- func (_IERC721Metadata *IERC721MetadataTransactor) Approve(opts *bind.TransactOpts, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
- return _IERC721Metadata.contract.Transact(opts, "approve", to, tokenId)
- }
- // Approve is a paid mutator transaction binding the contract method 0x095ea7b3.
- //
- // Solidity: function approve(address to, uint256 tokenId) returns()
- func (_IERC721Metadata *IERC721MetadataSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) {
- return _IERC721Metadata.Contract.Approve(&_IERC721Metadata.TransactOpts, to, tokenId)
- }
- // Approve is a paid mutator transaction binding the contract method 0x095ea7b3.
- //
- // Solidity: function approve(address to, uint256 tokenId) returns()
- func (_IERC721Metadata *IERC721MetadataTransactorSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) {
- return _IERC721Metadata.Contract.Approve(&_IERC721Metadata.TransactOpts, to, tokenId)
- }
- // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e.
- //
- // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns()
- func (_IERC721Metadata *IERC721MetadataTransactor) SafeTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
- return _IERC721Metadata.contract.Transact(opts, "safeTransferFrom", from, to, tokenId)
- }
- // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e.
- //
- // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns()
- func (_IERC721Metadata *IERC721MetadataSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
- return _IERC721Metadata.Contract.SafeTransferFrom(&_IERC721Metadata.TransactOpts, from, to, tokenId)
- }
- // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e.
- //
- // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns()
- func (_IERC721Metadata *IERC721MetadataTransactorSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
- return _IERC721Metadata.Contract.SafeTransferFrom(&_IERC721Metadata.TransactOpts, from, to, tokenId)
- }
- // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde.
- //
- // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes data) returns()
- func (_IERC721Metadata *IERC721MetadataTransactor) SafeTransferFrom0(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) {
- return _IERC721Metadata.contract.Transact(opts, "safeTransferFrom0", from, to, tokenId, data)
- }
- // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde.
- //
- // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes data) returns()
- func (_IERC721Metadata *IERC721MetadataSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) {
- return _IERC721Metadata.Contract.SafeTransferFrom0(&_IERC721Metadata.TransactOpts, from, to, tokenId, data)
- }
- // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde.
- //
- // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes data) returns()
- func (_IERC721Metadata *IERC721MetadataTransactorSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) {
- return _IERC721Metadata.Contract.SafeTransferFrom0(&_IERC721Metadata.TransactOpts, from, to, tokenId, data)
- }
- // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465.
- //
- // Solidity: function setApprovalForAll(address operator, bool _approved) returns()
- func (_IERC721Metadata *IERC721MetadataTransactor) SetApprovalForAll(opts *bind.TransactOpts, operator common.Address, _approved bool) (*types.Transaction, error) {
- return _IERC721Metadata.contract.Transact(opts, "setApprovalForAll", operator, _approved)
- }
- // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465.
- //
- // Solidity: function setApprovalForAll(address operator, bool _approved) returns()
- func (_IERC721Metadata *IERC721MetadataSession) SetApprovalForAll(operator common.Address, _approved bool) (*types.Transaction, error) {
- return _IERC721Metadata.Contract.SetApprovalForAll(&_IERC721Metadata.TransactOpts, operator, _approved)
- }
- // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465.
- //
- // Solidity: function setApprovalForAll(address operator, bool _approved) returns()
- func (_IERC721Metadata *IERC721MetadataTransactorSession) SetApprovalForAll(operator common.Address, _approved bool) (*types.Transaction, error) {
- return _IERC721Metadata.Contract.SetApprovalForAll(&_IERC721Metadata.TransactOpts, operator, _approved)
- }
- // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd.
- //
- // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns()
- func (_IERC721Metadata *IERC721MetadataTransactor) TransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
- return _IERC721Metadata.contract.Transact(opts, "transferFrom", from, to, tokenId)
- }
- // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd.
- //
- // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns()
- func (_IERC721Metadata *IERC721MetadataSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
- return _IERC721Metadata.Contract.TransferFrom(&_IERC721Metadata.TransactOpts, from, to, tokenId)
- }
- // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd.
- //
- // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns()
- func (_IERC721Metadata *IERC721MetadataTransactorSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
- return _IERC721Metadata.Contract.TransferFrom(&_IERC721Metadata.TransactOpts, from, to, tokenId)
- }
- // 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.
- type IERC721MetadataApprovalIterator struct {
- Event *IERC721MetadataApproval // Event containing the contract specifics and raw log
- contract *bind.BoundContract // Generic contract to use for unpacking event data
- event string // Event name to use for unpacking event data
- logs chan types.Log // Log channel receiving the found contract events
- sub ethereum.Subscription // Subscription for errors, completion and termination
- done bool // Whether the subscription completed delivering logs
- fail error // Occurred error to stop iteration
- }
- // Next advances the iterator to the subsequent event, returning whether there
- // are any more events found. In case of a retrieval or parsing error, false is
- // returned and Error() can be queried for the exact failure.
- func (it *IERC721MetadataApprovalIterator) Next() bool {
- // If the iterator failed, stop iterating
- if it.fail != nil {
- return false
- }
- // If the iterator completed, deliver directly whatever's available
- if it.done {
- select {
- case log := <-it.logs:
- it.Event = new(IERC721MetadataApproval)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- default:
- return false
- }
- }
- // Iterator still in progress, wait for either a data or an error event
- select {
- case log := <-it.logs:
- it.Event = new(IERC721MetadataApproval)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- case err := <-it.sub.Err():
- it.done = true
- it.fail = err
- return it.Next()
- }
- }
- // Error returns any retrieval or parsing error occurred during filtering.
- func (it *IERC721MetadataApprovalIterator) Error() error {
- return it.fail
- }
- // Close terminates the iteration process, releasing any pending underlying
- // resources.
- func (it *IERC721MetadataApprovalIterator) Close() error {
- it.sub.Unsubscribe()
- return nil
- }
- // IERC721MetadataApproval represents a Approval event raised by the IERC721Metadata contract.
- type IERC721MetadataApproval struct {
- Owner common.Address
- Approved common.Address
- TokenId *big.Int
- Raw types.Log // Blockchain specific contextual infos
- }
- // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925.
- //
- // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)
- func (_IERC721Metadata *IERC721MetadataFilterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, approved []common.Address, tokenId []*big.Int) (*IERC721MetadataApprovalIterator, error) {
- var ownerRule []interface{}
- for _, ownerItem := range owner {
- ownerRule = append(ownerRule, ownerItem)
- }
- var approvedRule []interface{}
- for _, approvedItem := range approved {
- approvedRule = append(approvedRule, approvedItem)
- }
- var tokenIdRule []interface{}
- for _, tokenIdItem := range tokenId {
- tokenIdRule = append(tokenIdRule, tokenIdItem)
- }
- logs, sub, err := _IERC721Metadata.contract.FilterLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule)
- if err != nil {
- return nil, err
- }
- return &IERC721MetadataApprovalIterator{contract: _IERC721Metadata.contract, event: "Approval", logs: logs, sub: sub}, nil
- }
- // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925.
- //
- // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)
- func (_IERC721Metadata *IERC721MetadataFilterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *IERC721MetadataApproval, owner []common.Address, approved []common.Address, tokenId []*big.Int) (event.Subscription, error) {
- var ownerRule []interface{}
- for _, ownerItem := range owner {
- ownerRule = append(ownerRule, ownerItem)
- }
- var approvedRule []interface{}
- for _, approvedItem := range approved {
- approvedRule = append(approvedRule, approvedItem)
- }
- var tokenIdRule []interface{}
- for _, tokenIdItem := range tokenId {
- tokenIdRule = append(tokenIdRule, tokenIdItem)
- }
- logs, sub, err := _IERC721Metadata.contract.WatchLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule)
- if err != nil {
- return nil, err
- }
- return event.NewSubscription(func(quit <-chan struct{}) error {
- defer sub.Unsubscribe()
- for {
- select {
- case log := <-logs:
- // New log arrived, parse the event and forward to the user
- event := new(IERC721MetadataApproval)
- if err := _IERC721Metadata.contract.UnpackLog(event, "Approval", log); err != nil {
- return err
- }
- event.Raw = log
- select {
- case sink <- event:
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- }
- }), nil
- }
- // ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925.
- //
- // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)
- func (_IERC721Metadata *IERC721MetadataFilterer) ParseApproval(log types.Log) (*IERC721MetadataApproval, error) {
- event := new(IERC721MetadataApproval)
- if err := _IERC721Metadata.contract.UnpackLog(event, "Approval", log); err != nil {
- return nil, err
- }
- event.Raw = log
- return event, nil
- }
- // 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.
- type IERC721MetadataApprovalForAllIterator struct {
- Event *IERC721MetadataApprovalForAll // Event containing the contract specifics and raw log
- contract *bind.BoundContract // Generic contract to use for unpacking event data
- event string // Event name to use for unpacking event data
- logs chan types.Log // Log channel receiving the found contract events
- sub ethereum.Subscription // Subscription for errors, completion and termination
- done bool // Whether the subscription completed delivering logs
- fail error // Occurred error to stop iteration
- }
- // Next advances the iterator to the subsequent event, returning whether there
- // are any more events found. In case of a retrieval or parsing error, false is
- // returned and Error() can be queried for the exact failure.
- func (it *IERC721MetadataApprovalForAllIterator) Next() bool {
- // If the iterator failed, stop iterating
- if it.fail != nil {
- return false
- }
- // If the iterator completed, deliver directly whatever's available
- if it.done {
- select {
- case log := <-it.logs:
- it.Event = new(IERC721MetadataApprovalForAll)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- default:
- return false
- }
- }
- // Iterator still in progress, wait for either a data or an error event
- select {
- case log := <-it.logs:
- it.Event = new(IERC721MetadataApprovalForAll)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- case err := <-it.sub.Err():
- it.done = true
- it.fail = err
- return it.Next()
- }
- }
- // Error returns any retrieval or parsing error occurred during filtering.
- func (it *IERC721MetadataApprovalForAllIterator) Error() error {
- return it.fail
- }
- // Close terminates the iteration process, releasing any pending underlying
- // resources.
- func (it *IERC721MetadataApprovalForAllIterator) Close() error {
- it.sub.Unsubscribe()
- return nil
- }
- // IERC721MetadataApprovalForAll represents a ApprovalForAll event raised by the IERC721Metadata contract.
- type IERC721MetadataApprovalForAll struct {
- Owner common.Address
- Operator common.Address
- Approved bool
- Raw types.Log // Blockchain specific contextual infos
- }
- // FilterApprovalForAll is a free log retrieval operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31.
- //
- // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved)
- func (_IERC721Metadata *IERC721MetadataFilterer) FilterApprovalForAll(opts *bind.FilterOpts, owner []common.Address, operator []common.Address) (*IERC721MetadataApprovalForAllIterator, error) {
- var ownerRule []interface{}
- for _, ownerItem := range owner {
- ownerRule = append(ownerRule, ownerItem)
- }
- var operatorRule []interface{}
- for _, operatorItem := range operator {
- operatorRule = append(operatorRule, operatorItem)
- }
- logs, sub, err := _IERC721Metadata.contract.FilterLogs(opts, "ApprovalForAll", ownerRule, operatorRule)
- if err != nil {
- return nil, err
- }
- return &IERC721MetadataApprovalForAllIterator{contract: _IERC721Metadata.contract, event: "ApprovalForAll", logs: logs, sub: sub}, nil
- }
- // WatchApprovalForAll is a free log subscription operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31.
- //
- // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved)
- func (_IERC721Metadata *IERC721MetadataFilterer) WatchApprovalForAll(opts *bind.WatchOpts, sink chan<- *IERC721MetadataApprovalForAll, owner []common.Address, operator []common.Address) (event.Subscription, error) {
- var ownerRule []interface{}
- for _, ownerItem := range owner {
- ownerRule = append(ownerRule, ownerItem)
- }
- var operatorRule []interface{}
- for _, operatorItem := range operator {
- operatorRule = append(operatorRule, operatorItem)
- }
- logs, sub, err := _IERC721Metadata.contract.WatchLogs(opts, "ApprovalForAll", ownerRule, operatorRule)
- if err != nil {
- return nil, err
- }
- return event.NewSubscription(func(quit <-chan struct{}) error {
- defer sub.Unsubscribe()
- for {
- select {
- case log := <-logs:
- // New log arrived, parse the event and forward to the user
- event := new(IERC721MetadataApprovalForAll)
- if err := _IERC721Metadata.contract.UnpackLog(event, "ApprovalForAll", log); err != nil {
- return err
- }
- event.Raw = log
- select {
- case sink <- event:
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- }
- }), nil
- }
- // ParseApprovalForAll is a log parse operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31.
- //
- // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved)
- func (_IERC721Metadata *IERC721MetadataFilterer) ParseApprovalForAll(log types.Log) (*IERC721MetadataApprovalForAll, error) {
- event := new(IERC721MetadataApprovalForAll)
- if err := _IERC721Metadata.contract.UnpackLog(event, "ApprovalForAll", log); err != nil {
- return nil, err
- }
- event.Raw = log
- return event, nil
- }
- // 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.
- type IERC721MetadataTransferIterator struct {
- Event *IERC721MetadataTransfer // Event containing the contract specifics and raw log
- contract *bind.BoundContract // Generic contract to use for unpacking event data
- event string // Event name to use for unpacking event data
- logs chan types.Log // Log channel receiving the found contract events
- sub ethereum.Subscription // Subscription for errors, completion and termination
- done bool // Whether the subscription completed delivering logs
- fail error // Occurred error to stop iteration
- }
- // Next advances the iterator to the subsequent event, returning whether there
- // are any more events found. In case of a retrieval or parsing error, false is
- // returned and Error() can be queried for the exact failure.
- func (it *IERC721MetadataTransferIterator) Next() bool {
- // If the iterator failed, stop iterating
- if it.fail != nil {
- return false
- }
- // If the iterator completed, deliver directly whatever's available
- if it.done {
- select {
- case log := <-it.logs:
- it.Event = new(IERC721MetadataTransfer)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- default:
- return false
- }
- }
- // Iterator still in progress, wait for either a data or an error event
- select {
- case log := <-it.logs:
- it.Event = new(IERC721MetadataTransfer)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- case err := <-it.sub.Err():
- it.done = true
- it.fail = err
- return it.Next()
- }
- }
- // Error returns any retrieval or parsing error occurred during filtering.
- func (it *IERC721MetadataTransferIterator) Error() error {
- return it.fail
- }
- // Close terminates the iteration process, releasing any pending underlying
- // resources.
- func (it *IERC721MetadataTransferIterator) Close() error {
- it.sub.Unsubscribe()
- return nil
- }
- // IERC721MetadataTransfer represents a Transfer event raised by the IERC721Metadata contract.
- type IERC721MetadataTransfer struct {
- From common.Address
- To common.Address
- TokenId *big.Int
- Raw types.Log // Blockchain specific contextual infos
- }
- // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef.
- //
- // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)
- func (_IERC721Metadata *IERC721MetadataFilterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address, tokenId []*big.Int) (*IERC721MetadataTransferIterator, error) {
- var fromRule []interface{}
- for _, fromItem := range from {
- fromRule = append(fromRule, fromItem)
- }
- var toRule []interface{}
- for _, toItem := range to {
- toRule = append(toRule, toItem)
- }
- var tokenIdRule []interface{}
- for _, tokenIdItem := range tokenId {
- tokenIdRule = append(tokenIdRule, tokenIdItem)
- }
- logs, sub, err := _IERC721Metadata.contract.FilterLogs(opts, "Transfer", fromRule, toRule, tokenIdRule)
- if err != nil {
- return nil, err
- }
- return &IERC721MetadataTransferIterator{contract: _IERC721Metadata.contract, event: "Transfer", logs: logs, sub: sub}, nil
- }
- // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef.
- //
- // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)
- func (_IERC721Metadata *IERC721MetadataFilterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *IERC721MetadataTransfer, from []common.Address, to []common.Address, tokenId []*big.Int) (event.Subscription, error) {
- var fromRule []interface{}
- for _, fromItem := range from {
- fromRule = append(fromRule, fromItem)
- }
- var toRule []interface{}
- for _, toItem := range to {
- toRule = append(toRule, toItem)
- }
- var tokenIdRule []interface{}
- for _, tokenIdItem := range tokenId {
- tokenIdRule = append(tokenIdRule, tokenIdItem)
- }
- logs, sub, err := _IERC721Metadata.contract.WatchLogs(opts, "Transfer", fromRule, toRule, tokenIdRule)
- if err != nil {
- return nil, err
- }
- return event.NewSubscription(func(quit <-chan struct{}) error {
- defer sub.Unsubscribe()
- for {
- select {
- case log := <-logs:
- // New log arrived, parse the event and forward to the user
- event := new(IERC721MetadataTransfer)
- if err := _IERC721Metadata.contract.UnpackLog(event, "Transfer", log); err != nil {
- return err
- }
- event.Raw = log
- select {
- case sink <- event:
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- }
- }), nil
- }
- // ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef.
- //
- // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)
- func (_IERC721Metadata *IERC721MetadataFilterer) ParseTransfer(log types.Log) (*IERC721MetadataTransfer, error) {
- event := new(IERC721MetadataTransfer)
- if err := _IERC721Metadata.contract.UnpackLog(event, "Transfer", log); err != nil {
- return nil, err
- }
- event.Raw = log
- return event, nil
- }
- // IERC721ReceiverMetaData contains all meta data concerning the IERC721Receiver contract.
- var IERC721ReceiverMetaData = &bind.MetaData{
- 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\"}]",
- Sigs: map[string]string{
- "150b7a02": "onERC721Received(address,address,uint256,bytes)",
- },
- }
- // IERC721ReceiverABI is the input ABI used to generate the binding from.
- // Deprecated: Use IERC721ReceiverMetaData.ABI instead.
- var IERC721ReceiverABI = IERC721ReceiverMetaData.ABI
- // Deprecated: Use IERC721ReceiverMetaData.Sigs instead.
- // IERC721ReceiverFuncSigs maps the 4-byte function signature to its string representation.
- var IERC721ReceiverFuncSigs = IERC721ReceiverMetaData.Sigs
- // IERC721Receiver is an auto generated Go binding around an Ethereum contract.
- type IERC721Receiver struct {
- IERC721ReceiverCaller // Read-only binding to the contract
- IERC721ReceiverTransactor // Write-only binding to the contract
- IERC721ReceiverFilterer // Log filterer for contract events
- }
- // IERC721ReceiverCaller is an auto generated read-only Go binding around an Ethereum contract.
- type IERC721ReceiverCaller struct {
- contract *bind.BoundContract // Generic contract wrapper for the low level calls
- }
- // IERC721ReceiverTransactor is an auto generated write-only Go binding around an Ethereum contract.
- type IERC721ReceiverTransactor struct {
- contract *bind.BoundContract // Generic contract wrapper for the low level calls
- }
- // IERC721ReceiverFilterer is an auto generated log filtering Go binding around an Ethereum contract events.
- type IERC721ReceiverFilterer struct {
- contract *bind.BoundContract // Generic contract wrapper for the low level calls
- }
- // IERC721ReceiverSession is an auto generated Go binding around an Ethereum contract,
- // with pre-set call and transact options.
- type IERC721ReceiverSession struct {
- Contract *IERC721Receiver // Generic contract binding to set the session for
- CallOpts bind.CallOpts // Call options to use throughout this session
- TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
- }
- // IERC721ReceiverCallerSession is an auto generated read-only Go binding around an Ethereum contract,
- // with pre-set call options.
- type IERC721ReceiverCallerSession struct {
- Contract *IERC721ReceiverCaller // Generic contract caller binding to set the session for
- CallOpts bind.CallOpts // Call options to use throughout this session
- }
- // IERC721ReceiverTransactorSession is an auto generated write-only Go binding around an Ethereum contract,
- // with pre-set transact options.
- type IERC721ReceiverTransactorSession struct {
- Contract *IERC721ReceiverTransactor // Generic contract transactor binding to set the session for
- TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
- }
- // IERC721ReceiverRaw is an auto generated low-level Go binding around an Ethereum contract.
- type IERC721ReceiverRaw struct {
- Contract *IERC721Receiver // Generic contract binding to access the raw methods on
- }
- // IERC721ReceiverCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
- type IERC721ReceiverCallerRaw struct {
- Contract *IERC721ReceiverCaller // Generic read-only contract binding to access the raw methods on
- }
- // IERC721ReceiverTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
- type IERC721ReceiverTransactorRaw struct {
- Contract *IERC721ReceiverTransactor // Generic write-only contract binding to access the raw methods on
- }
- // NewIERC721Receiver creates a new instance of IERC721Receiver, bound to a specific deployed contract.
- func NewIERC721Receiver(address common.Address, backend bind.ContractBackend) (*IERC721Receiver, error) {
- contract, err := bindIERC721Receiver(address, backend, backend, backend)
- if err != nil {
- return nil, err
- }
- return &IERC721Receiver{IERC721ReceiverCaller: IERC721ReceiverCaller{contract: contract}, IERC721ReceiverTransactor: IERC721ReceiverTransactor{contract: contract}, IERC721ReceiverFilterer: IERC721ReceiverFilterer{contract: contract}}, nil
- }
- // NewIERC721ReceiverCaller creates a new read-only instance of IERC721Receiver, bound to a specific deployed contract.
- func NewIERC721ReceiverCaller(address common.Address, caller bind.ContractCaller) (*IERC721ReceiverCaller, error) {
- contract, err := bindIERC721Receiver(address, caller, nil, nil)
- if err != nil {
- return nil, err
- }
- return &IERC721ReceiverCaller{contract: contract}, nil
- }
- // NewIERC721ReceiverTransactor creates a new write-only instance of IERC721Receiver, bound to a specific deployed contract.
- func NewIERC721ReceiverTransactor(address common.Address, transactor bind.ContractTransactor) (*IERC721ReceiverTransactor, error) {
- contract, err := bindIERC721Receiver(address, nil, transactor, nil)
- if err != nil {
- return nil, err
- }
- return &IERC721ReceiverTransactor{contract: contract}, nil
- }
- // NewIERC721ReceiverFilterer creates a new log filterer instance of IERC721Receiver, bound to a specific deployed contract.
- func NewIERC721ReceiverFilterer(address common.Address, filterer bind.ContractFilterer) (*IERC721ReceiverFilterer, error) {
- contract, err := bindIERC721Receiver(address, nil, nil, filterer)
- if err != nil {
- return nil, err
- }
- return &IERC721ReceiverFilterer{contract: contract}, nil
- }
- // bindIERC721Receiver binds a generic wrapper to an already deployed contract.
- func bindIERC721Receiver(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
- parsed, err := abi.JSON(strings.NewReader(IERC721ReceiverABI))
- if err != nil {
- return nil, err
- }
- return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil
- }
- // Call invokes the (constant) contract method with params as input values and
- // sets the output to result. The result type might be a single field for simple
- // returns, a slice of interfaces for anonymous returns and a struct for named
- // returns.
- func (_IERC721Receiver *IERC721ReceiverRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
- return _IERC721Receiver.Contract.IERC721ReceiverCaller.contract.Call(opts, result, method, params...)
- }
- // Transfer initiates a plain transaction to move funds to the contract, calling
- // its default method if one is available.
- func (_IERC721Receiver *IERC721ReceiverRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
- return _IERC721Receiver.Contract.IERC721ReceiverTransactor.contract.Transfer(opts)
- }
- // Transact invokes the (paid) contract method with params as input values.
- func (_IERC721Receiver *IERC721ReceiverRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
- return _IERC721Receiver.Contract.IERC721ReceiverTransactor.contract.Transact(opts, method, params...)
- }
- // Call invokes the (constant) contract method with params as input values and
- // sets the output to result. The result type might be a single field for simple
- // returns, a slice of interfaces for anonymous returns and a struct for named
- // returns.
- func (_IERC721Receiver *IERC721ReceiverCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
- return _IERC721Receiver.Contract.contract.Call(opts, result, method, params...)
- }
- // Transfer initiates a plain transaction to move funds to the contract, calling
- // its default method if one is available.
- func (_IERC721Receiver *IERC721ReceiverTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
- return _IERC721Receiver.Contract.contract.Transfer(opts)
- }
- // Transact invokes the (paid) contract method with params as input values.
- func (_IERC721Receiver *IERC721ReceiverTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
- return _IERC721Receiver.Contract.contract.Transact(opts, method, params...)
- }
- // OnERC721Received is a paid mutator transaction binding the contract method 0x150b7a02.
- //
- // Solidity: function onERC721Received(address operator, address from, uint256 tokenId, bytes data) returns(bytes4)
- func (_IERC721Receiver *IERC721ReceiverTransactor) OnERC721Received(opts *bind.TransactOpts, operator common.Address, from common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) {
- return _IERC721Receiver.contract.Transact(opts, "onERC721Received", operator, from, tokenId, data)
- }
- // OnERC721Received is a paid mutator transaction binding the contract method 0x150b7a02.
- //
- // Solidity: function onERC721Received(address operator, address from, uint256 tokenId, bytes data) returns(bytes4)
- func (_IERC721Receiver *IERC721ReceiverSession) OnERC721Received(operator common.Address, from common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) {
- return _IERC721Receiver.Contract.OnERC721Received(&_IERC721Receiver.TransactOpts, operator, from, tokenId, data)
- }
- // OnERC721Received is a paid mutator transaction binding the contract method 0x150b7a02.
- //
- // Solidity: function onERC721Received(address operator, address from, uint256 tokenId, bytes data) returns(bytes4)
- func (_IERC721Receiver *IERC721ReceiverTransactorSession) OnERC721Received(operator common.Address, from common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) {
- return _IERC721Receiver.Contract.OnERC721Received(&_IERC721Receiver.TransactOpts, operator, from, tokenId, data)
- }
- // IMetaRareERC1155CollectionMetaData contains all meta data concerning the IMetaRareERC1155Collection contract.
- var IMetaRareERC1155CollectionMetaData = &bind.MetaData{
- 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\"}]",
- Sigs: map[string]string{
- "d6d0faee": "initialize(string,string,string,address,address)",
- },
- }
- // IMetaRareERC1155CollectionABI is the input ABI used to generate the binding from.
- // Deprecated: Use IMetaRareERC1155CollectionMetaData.ABI instead.
- var IMetaRareERC1155CollectionABI = IMetaRareERC1155CollectionMetaData.ABI
- // Deprecated: Use IMetaRareERC1155CollectionMetaData.Sigs instead.
- // IMetaRareERC1155CollectionFuncSigs maps the 4-byte function signature to its string representation.
- var IMetaRareERC1155CollectionFuncSigs = IMetaRareERC1155CollectionMetaData.Sigs
- // IMetaRareERC1155Collection is an auto generated Go binding around an Ethereum contract.
- type IMetaRareERC1155Collection struct {
- IMetaRareERC1155CollectionCaller // Read-only binding to the contract
- IMetaRareERC1155CollectionTransactor // Write-only binding to the contract
- IMetaRareERC1155CollectionFilterer // Log filterer for contract events
- }
- // IMetaRareERC1155CollectionCaller is an auto generated read-only Go binding around an Ethereum contract.
- type IMetaRareERC1155CollectionCaller struct {
- contract *bind.BoundContract // Generic contract wrapper for the low level calls
- }
- // IMetaRareERC1155CollectionTransactor is an auto generated write-only Go binding around an Ethereum contract.
- type IMetaRareERC1155CollectionTransactor struct {
- contract *bind.BoundContract // Generic contract wrapper for the low level calls
- }
- // IMetaRareERC1155CollectionFilterer is an auto generated log filtering Go binding around an Ethereum contract events.
- type IMetaRareERC1155CollectionFilterer struct {
- contract *bind.BoundContract // Generic contract wrapper for the low level calls
- }
- // IMetaRareERC1155CollectionSession is an auto generated Go binding around an Ethereum contract,
- // with pre-set call and transact options.
- type IMetaRareERC1155CollectionSession struct {
- Contract *IMetaRareERC1155Collection // Generic contract binding to set the session for
- CallOpts bind.CallOpts // Call options to use throughout this session
- TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
- }
- // IMetaRareERC1155CollectionCallerSession is an auto generated read-only Go binding around an Ethereum contract,
- // with pre-set call options.
- type IMetaRareERC1155CollectionCallerSession struct {
- Contract *IMetaRareERC1155CollectionCaller // Generic contract caller binding to set the session for
- CallOpts bind.CallOpts // Call options to use throughout this session
- }
- // IMetaRareERC1155CollectionTransactorSession is an auto generated write-only Go binding around an Ethereum contract,
- // with pre-set transact options.
- type IMetaRareERC1155CollectionTransactorSession struct {
- Contract *IMetaRareERC1155CollectionTransactor // Generic contract transactor binding to set the session for
- TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
- }
- // IMetaRareERC1155CollectionRaw is an auto generated low-level Go binding around an Ethereum contract.
- type IMetaRareERC1155CollectionRaw struct {
- Contract *IMetaRareERC1155Collection // Generic contract binding to access the raw methods on
- }
- // IMetaRareERC1155CollectionCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
- type IMetaRareERC1155CollectionCallerRaw struct {
- Contract *IMetaRareERC1155CollectionCaller // Generic read-only contract binding to access the raw methods on
- }
- // IMetaRareERC1155CollectionTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
- type IMetaRareERC1155CollectionTransactorRaw struct {
- Contract *IMetaRareERC1155CollectionTransactor // Generic write-only contract binding to access the raw methods on
- }
- // NewIMetaRareERC1155Collection creates a new instance of IMetaRareERC1155Collection, bound to a specific deployed contract.
- func NewIMetaRareERC1155Collection(address common.Address, backend bind.ContractBackend) (*IMetaRareERC1155Collection, error) {
- contract, err := bindIMetaRareERC1155Collection(address, backend, backend, backend)
- if err != nil {
- return nil, err
- }
- return &IMetaRareERC1155Collection{IMetaRareERC1155CollectionCaller: IMetaRareERC1155CollectionCaller{contract: contract}, IMetaRareERC1155CollectionTransactor: IMetaRareERC1155CollectionTransactor{contract: contract}, IMetaRareERC1155CollectionFilterer: IMetaRareERC1155CollectionFilterer{contract: contract}}, nil
- }
- // NewIMetaRareERC1155CollectionCaller creates a new read-only instance of IMetaRareERC1155Collection, bound to a specific deployed contract.
- func NewIMetaRareERC1155CollectionCaller(address common.Address, caller bind.ContractCaller) (*IMetaRareERC1155CollectionCaller, error) {
- contract, err := bindIMetaRareERC1155Collection(address, caller, nil, nil)
- if err != nil {
- return nil, err
- }
- return &IMetaRareERC1155CollectionCaller{contract: contract}, nil
- }
- // NewIMetaRareERC1155CollectionTransactor creates a new write-only instance of IMetaRareERC1155Collection, bound to a specific deployed contract.
- func NewIMetaRareERC1155CollectionTransactor(address common.Address, transactor bind.ContractTransactor) (*IMetaRareERC1155CollectionTransactor, error) {
- contract, err := bindIMetaRareERC1155Collection(address, nil, transactor, nil)
- if err != nil {
- return nil, err
- }
- return &IMetaRareERC1155CollectionTransactor{contract: contract}, nil
- }
- // NewIMetaRareERC1155CollectionFilterer creates a new log filterer instance of IMetaRareERC1155Collection, bound to a specific deployed contract.
- func NewIMetaRareERC1155CollectionFilterer(address common.Address, filterer bind.ContractFilterer) (*IMetaRareERC1155CollectionFilterer, error) {
- contract, err := bindIMetaRareERC1155Collection(address, nil, nil, filterer)
- if err != nil {
- return nil, err
- }
- return &IMetaRareERC1155CollectionFilterer{contract: contract}, nil
- }
- // bindIMetaRareERC1155Collection binds a generic wrapper to an already deployed contract.
- func bindIMetaRareERC1155Collection(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
- parsed, err := abi.JSON(strings.NewReader(IMetaRareERC1155CollectionABI))
- if err != nil {
- return nil, err
- }
- return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil
- }
- // Call invokes the (constant) contract method with params as input values and
- // sets the output to result. The result type might be a single field for simple
- // returns, a slice of interfaces for anonymous returns and a struct for named
- // returns.
- func (_IMetaRareERC1155Collection *IMetaRareERC1155CollectionRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
- return _IMetaRareERC1155Collection.Contract.IMetaRareERC1155CollectionCaller.contract.Call(opts, result, method, params...)
- }
- // Transfer initiates a plain transaction to move funds to the contract, calling
- // its default method if one is available.
- func (_IMetaRareERC1155Collection *IMetaRareERC1155CollectionRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
- return _IMetaRareERC1155Collection.Contract.IMetaRareERC1155CollectionTransactor.contract.Transfer(opts)
- }
- // Transact invokes the (paid) contract method with params as input values.
- func (_IMetaRareERC1155Collection *IMetaRareERC1155CollectionRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
- return _IMetaRareERC1155Collection.Contract.IMetaRareERC1155CollectionTransactor.contract.Transact(opts, method, params...)
- }
- // Call invokes the (constant) contract method with params as input values and
- // sets the output to result. The result type might be a single field for simple
- // returns, a slice of interfaces for anonymous returns and a struct for named
- // returns.
- func (_IMetaRareERC1155Collection *IMetaRareERC1155CollectionCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
- return _IMetaRareERC1155Collection.Contract.contract.Call(opts, result, method, params...)
- }
- // Transfer initiates a plain transaction to move funds to the contract, calling
- // its default method if one is available.
- func (_IMetaRareERC1155Collection *IMetaRareERC1155CollectionTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
- return _IMetaRareERC1155Collection.Contract.contract.Transfer(opts)
- }
- // Transact invokes the (paid) contract method with params as input values.
- func (_IMetaRareERC1155Collection *IMetaRareERC1155CollectionTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
- return _IMetaRareERC1155Collection.Contract.contract.Transact(opts, method, params...)
- }
- // Initialize is a paid mutator transaction binding the contract method 0xd6d0faee.
- //
- // Solidity: function initialize(string , string , string , address , address ) returns()
- func (_IMetaRareERC1155Collection *IMetaRareERC1155CollectionTransactor) Initialize(opts *bind.TransactOpts, arg0 string, arg1 string, arg2 string, arg3 common.Address, arg4 common.Address) (*types.Transaction, error) {
- return _IMetaRareERC1155Collection.contract.Transact(opts, "initialize", arg0, arg1, arg2, arg3, arg4)
- }
- // Initialize is a paid mutator transaction binding the contract method 0xd6d0faee.
- //
- // Solidity: function initialize(string , string , string , address , address ) returns()
- func (_IMetaRareERC1155Collection *IMetaRareERC1155CollectionSession) Initialize(arg0 string, arg1 string, arg2 string, arg3 common.Address, arg4 common.Address) (*types.Transaction, error) {
- return _IMetaRareERC1155Collection.Contract.Initialize(&_IMetaRareERC1155Collection.TransactOpts, arg0, arg1, arg2, arg3, arg4)
- }
- // Initialize is a paid mutator transaction binding the contract method 0xd6d0faee.
- //
- // Solidity: function initialize(string , string , string , address , address ) returns()
- func (_IMetaRareERC1155Collection *IMetaRareERC1155CollectionTransactorSession) Initialize(arg0 string, arg1 string, arg2 string, arg3 common.Address, arg4 common.Address) (*types.Transaction, error) {
- return _IMetaRareERC1155Collection.Contract.Initialize(&_IMetaRareERC1155Collection.TransactOpts, arg0, arg1, arg2, arg3, arg4)
- }
- // IMetaRareERC721CollectionMetaData contains all meta data concerning the IMetaRareERC721Collection contract.
- var IMetaRareERC721CollectionMetaData = &bind.MetaData{
- 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\"}]",
- Sigs: map[string]string{
- "d6d0faee": "initialize(string,string,string,address,address)",
- },
- }
- // IMetaRareERC721CollectionABI is the input ABI used to generate the binding from.
- // Deprecated: Use IMetaRareERC721CollectionMetaData.ABI instead.
- var IMetaRareERC721CollectionABI = IMetaRareERC721CollectionMetaData.ABI
- // Deprecated: Use IMetaRareERC721CollectionMetaData.Sigs instead.
- // IMetaRareERC721CollectionFuncSigs maps the 4-byte function signature to its string representation.
- var IMetaRareERC721CollectionFuncSigs = IMetaRareERC721CollectionMetaData.Sigs
- // IMetaRareERC721Collection is an auto generated Go binding around an Ethereum contract.
- type IMetaRareERC721Collection struct {
- IMetaRareERC721CollectionCaller // Read-only binding to the contract
- IMetaRareERC721CollectionTransactor // Write-only binding to the contract
- IMetaRareERC721CollectionFilterer // Log filterer for contract events
- }
- // IMetaRareERC721CollectionCaller is an auto generated read-only Go binding around an Ethereum contract.
- type IMetaRareERC721CollectionCaller struct {
- contract *bind.BoundContract // Generic contract wrapper for the low level calls
- }
- // IMetaRareERC721CollectionTransactor is an auto generated write-only Go binding around an Ethereum contract.
- type IMetaRareERC721CollectionTransactor struct {
- contract *bind.BoundContract // Generic contract wrapper for the low level calls
- }
- // IMetaRareERC721CollectionFilterer is an auto generated log filtering Go binding around an Ethereum contract events.
- type IMetaRareERC721CollectionFilterer struct {
- contract *bind.BoundContract // Generic contract wrapper for the low level calls
- }
- // IMetaRareERC721CollectionSession is an auto generated Go binding around an Ethereum contract,
- // with pre-set call and transact options.
- type IMetaRareERC721CollectionSession struct {
- Contract *IMetaRareERC721Collection // Generic contract binding to set the session for
- CallOpts bind.CallOpts // Call options to use throughout this session
- TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
- }
- // IMetaRareERC721CollectionCallerSession is an auto generated read-only Go binding around an Ethereum contract,
- // with pre-set call options.
- type IMetaRareERC721CollectionCallerSession struct {
- Contract *IMetaRareERC721CollectionCaller // Generic contract caller binding to set the session for
- CallOpts bind.CallOpts // Call options to use throughout this session
- }
- // IMetaRareERC721CollectionTransactorSession is an auto generated write-only Go binding around an Ethereum contract,
- // with pre-set transact options.
- type IMetaRareERC721CollectionTransactorSession struct {
- Contract *IMetaRareERC721CollectionTransactor // Generic contract transactor binding to set the session for
- TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
- }
- // IMetaRareERC721CollectionRaw is an auto generated low-level Go binding around an Ethereum contract.
- type IMetaRareERC721CollectionRaw struct {
- Contract *IMetaRareERC721Collection // Generic contract binding to access the raw methods on
- }
- // IMetaRareERC721CollectionCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
- type IMetaRareERC721CollectionCallerRaw struct {
- Contract *IMetaRareERC721CollectionCaller // Generic read-only contract binding to access the raw methods on
- }
- // IMetaRareERC721CollectionTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
- type IMetaRareERC721CollectionTransactorRaw struct {
- Contract *IMetaRareERC721CollectionTransactor // Generic write-only contract binding to access the raw methods on
- }
- // NewIMetaRareERC721Collection creates a new instance of IMetaRareERC721Collection, bound to a specific deployed contract.
- func NewIMetaRareERC721Collection(address common.Address, backend bind.ContractBackend) (*IMetaRareERC721Collection, error) {
- contract, err := bindIMetaRareERC721Collection(address, backend, backend, backend)
- if err != nil {
- return nil, err
- }
- return &IMetaRareERC721Collection{IMetaRareERC721CollectionCaller: IMetaRareERC721CollectionCaller{contract: contract}, IMetaRareERC721CollectionTransactor: IMetaRareERC721CollectionTransactor{contract: contract}, IMetaRareERC721CollectionFilterer: IMetaRareERC721CollectionFilterer{contract: contract}}, nil
- }
- // NewIMetaRareERC721CollectionCaller creates a new read-only instance of IMetaRareERC721Collection, bound to a specific deployed contract.
- func NewIMetaRareERC721CollectionCaller(address common.Address, caller bind.ContractCaller) (*IMetaRareERC721CollectionCaller, error) {
- contract, err := bindIMetaRareERC721Collection(address, caller, nil, nil)
- if err != nil {
- return nil, err
- }
- return &IMetaRareERC721CollectionCaller{contract: contract}, nil
- }
- // NewIMetaRareERC721CollectionTransactor creates a new write-only instance of IMetaRareERC721Collection, bound to a specific deployed contract.
- func NewIMetaRareERC721CollectionTransactor(address common.Address, transactor bind.ContractTransactor) (*IMetaRareERC721CollectionTransactor, error) {
- contract, err := bindIMetaRareERC721Collection(address, nil, transactor, nil)
- if err != nil {
- return nil, err
- }
- return &IMetaRareERC721CollectionTransactor{contract: contract}, nil
- }
- // NewIMetaRareERC721CollectionFilterer creates a new log filterer instance of IMetaRareERC721Collection, bound to a specific deployed contract.
- func NewIMetaRareERC721CollectionFilterer(address common.Address, filterer bind.ContractFilterer) (*IMetaRareERC721CollectionFilterer, error) {
- contract, err := bindIMetaRareERC721Collection(address, nil, nil, filterer)
- if err != nil {
- return nil, err
- }
- return &IMetaRareERC721CollectionFilterer{contract: contract}, nil
- }
- // bindIMetaRareERC721Collection binds a generic wrapper to an already deployed contract.
- func bindIMetaRareERC721Collection(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
- parsed, err := abi.JSON(strings.NewReader(IMetaRareERC721CollectionABI))
- if err != nil {
- return nil, err
- }
- return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil
- }
- // Call invokes the (constant) contract method with params as input values and
- // sets the output to result. The result type might be a single field for simple
- // returns, a slice of interfaces for anonymous returns and a struct for named
- // returns.
- func (_IMetaRareERC721Collection *IMetaRareERC721CollectionRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
- return _IMetaRareERC721Collection.Contract.IMetaRareERC721CollectionCaller.contract.Call(opts, result, method, params...)
- }
- // Transfer initiates a plain transaction to move funds to the contract, calling
- // its default method if one is available.
- func (_IMetaRareERC721Collection *IMetaRareERC721CollectionRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
- return _IMetaRareERC721Collection.Contract.IMetaRareERC721CollectionTransactor.contract.Transfer(opts)
- }
- // Transact invokes the (paid) contract method with params as input values.
- func (_IMetaRareERC721Collection *IMetaRareERC721CollectionRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
- return _IMetaRareERC721Collection.Contract.IMetaRareERC721CollectionTransactor.contract.Transact(opts, method, params...)
- }
- // Call invokes the (constant) contract method with params as input values and
- // sets the output to result. The result type might be a single field for simple
- // returns, a slice of interfaces for anonymous returns and a struct for named
- // returns.
- func (_IMetaRareERC721Collection *IMetaRareERC721CollectionCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
- return _IMetaRareERC721Collection.Contract.contract.Call(opts, result, method, params...)
- }
- // Transfer initiates a plain transaction to move funds to the contract, calling
- // its default method if one is available.
- func (_IMetaRareERC721Collection *IMetaRareERC721CollectionTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
- return _IMetaRareERC721Collection.Contract.contract.Transfer(opts)
- }
- // Transact invokes the (paid) contract method with params as input values.
- func (_IMetaRareERC721Collection *IMetaRareERC721CollectionTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
- return _IMetaRareERC721Collection.Contract.contract.Transact(opts, method, params...)
- }
- // Initialize is a paid mutator transaction binding the contract method 0xd6d0faee.
- //
- // Solidity: function initialize(string , string , string , address , address ) returns()
- func (_IMetaRareERC721Collection *IMetaRareERC721CollectionTransactor) Initialize(opts *bind.TransactOpts, arg0 string, arg1 string, arg2 string, arg3 common.Address, arg4 common.Address) (*types.Transaction, error) {
- return _IMetaRareERC721Collection.contract.Transact(opts, "initialize", arg0, arg1, arg2, arg3, arg4)
- }
- // Initialize is a paid mutator transaction binding the contract method 0xd6d0faee.
- //
- // Solidity: function initialize(string , string , string , address , address ) returns()
- func (_IMetaRareERC721Collection *IMetaRareERC721CollectionSession) Initialize(arg0 string, arg1 string, arg2 string, arg3 common.Address, arg4 common.Address) (*types.Transaction, error) {
- return _IMetaRareERC721Collection.Contract.Initialize(&_IMetaRareERC721Collection.TransactOpts, arg0, arg1, arg2, arg3, arg4)
- }
- // Initialize is a paid mutator transaction binding the contract method 0xd6d0faee.
- //
- // Solidity: function initialize(string , string , string , address , address ) returns()
- func (_IMetaRareERC721Collection *IMetaRareERC721CollectionTransactorSession) Initialize(arg0 string, arg1 string, arg2 string, arg3 common.Address, arg4 common.Address) (*types.Transaction, error) {
- return _IMetaRareERC721Collection.Contract.Initialize(&_IMetaRareERC721Collection.TransactOpts, arg0, arg1, arg2, arg3, arg4)
- }
- // MetaRareCollectionFactoryMetaData contains all meta data concerning the MetaRareCollectionFactory contract.
- var MetaRareCollectionFactoryMetaData = &bind.MetaData{
- 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\"}]",
- Sigs: map[string]string{
- "ce5216cf": "CreateMetaRareERC1155Collection(string,string,string,address)",
- "5167cf80": "CreateMetaRareERC721Collection(string,string,string,address)",
- },
- Bin: "0x608060405234801561001057600080fd5b5060008055616002806100246000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80635167cf801461003b578063ce5216cf14610050575b600080fd5b61004e610049366004610304565b610063565b005b61004e61005e366004610304565b610117565b60006100708585856101bc565b604051636b687d7760e11b81529091506001600160a01b0382169063d6d0faee906100a7908890889088903390899060040161042f565b600060405180830381600087803b1580156100c157600080fd5b505af11580156100d5573d6000803e3d6000fd5b505050507fd6d8f7b07325e6b897eeb15a60d044c62db3616c8c636fca706fb22e3bc656f581604051610108919061041b565b60405180910390a15050505050565b6000610124858585610250565b604051636b687d7760e11b81529091506001600160a01b0382169063d6d0faee9061015b908890889088903390899060040161042f565b600060405180830381600087803b15801561017557600080fd5b505af1158015610189573d6000803e3d6000fd5b505050507f0d3de3f5754e9b4e85f7c08370a9ee6420616bddaa78ece20378473b8de6979281604051610108919061041b565b600080604051806020016101cf90610263565b6020820181038252601f19601f820116604052509050600085858560005460405160200161020094939291906103d2565b604051602081830303815290604052805190602001209050600160008082825461022a919061048e565b909155505081518190602084016000f59250823b61024757600080fd5b50509392505050565b600080604051806020016101cf90610270565b612ead806104f983390190565b612c27806133a683390190565b600082601f83011261028d578081fd5b813567ffffffffffffffff808211156102a8576102a86104e2565b604051601f8301601f19908116603f011681019082821181831017156102d0576102d06104e2565b816040528381528660208588010111156102e8578485fd5b8360208701602083013792830160200193909352509392505050565b60008060008060808587031215610319578384fd5b843567ffffffffffffffff80821115610330578586fd5b61033c8883890161027d565b95506020870135915080821115610351578485fd5b61035d8883890161027d565b94506040870135915080821115610372578384fd5b5061037f8782880161027d565b92505060608501356001600160a01b038116811461039b578182fd5b939692955090935050565b600081518084526103be8160208601602086016104b2565b601f01601f19169290920160200192915050565b600085516103e4818460208a016104b2565b8551908301906103f8818360208a016104b2565b855191019061040b8183602089016104b2565b0192835250506020019392505050565b6001600160a01b0391909116815260200190565b600060a0825261044260a08301886103a6565b828103602084015261045481886103a6565b9050828103604084015261046881876103a6565b6001600160a01b0395861660608501529390941660809092019190915250949350505050565b600082198211156104ad57634e487b7160e01b81526011600452602481fd5b500190565b60005b838110156104cd5781810151838201526020016104b5565b838111156104dc576000848401525b50505050565b634e487b7160e01b600052604160045260246000fdfe60806040523480156200001157600080fd5b506040805180820182526008815267696e69744e616d6560c01b60208083019182528351808501909452600a8452691a5b9a5d14de5b589bdb60b21b908401528151919291620000649160029162000095565b5080516200007a90600390602084019062000095565b5050600d80546001600160a01b031916331790555062000178565b828054620000a3906200013b565b90600052602060002090601f016020900481019282620000c7576000855562000112565b82601f10620000e257805160ff191683800117855562000112565b8280016001018555821562000112579182015b8281111562000112578251825591602001919060010190620000f5565b506200012092915062000124565b5090565b5b8082111562000120576000815560010162000125565b6002810460018216806200015057607f821691505b602082108114156200017257634e487b7160e01b600052602260045260246000fd5b50919050565b612d2580620001886000396000f3fe608060405234801561001057600080fd5b50600436106102115760003560e01c80636352211e11610125578063b88d4fde116100ad578063cf25a2fd1161007c578063cf25a2fd14610458578063d539139314610460578063d547741f14610468578063d6d0faee1461047b578063e985e9c51461048e57610211565b8063b88d4fde1461040c578063c47f00271461041f578063c87b56dd14610432578063ca15c8731461044557610211565b806391d14854116100f457806391d14854146103c357806395d89b41146103d6578063a217fddf146103de578063a22cb465146103e6578063b84c8246146103f957610211565b80636352211e146103825780636585690d1461039557806370a082311461039d5780639010d07c146103b057610211565b80632f2ff15d116101a857806342842e0e1161017757806342842e0e1461032357806342966c68146103365780634f6ccce7146103495780635145dc571461035c57806355f804b31461036f57610211565b80632f2ff15d146102d75780632f745c59146102ea57806336568abe146102fd57806340c10f191461031057610211565b8063162094c4116101e4578063162094c41461028957806318160ddd1461029c57806323b872dd146102b1578063248a9ca3146102c457610211565b806301ffc9a71461021657806306fdde031461023f578063081812fc14610254578063095ea7b314610274575b600080fd5b61022961022436600461214f565b6104a1565b60405161023691906123c6565b60405180910390f35b6102476104ce565b60405161023691906123da565b6102676102623660046120f4565b610560565b6040516102369190612375565b6102876102823660046120cb565b6105ac565b005b610287610297366004612260565b610644565b6102a461067b565b60405161023691906123d1565b6102876102bf366004611fdd565b610681565b6102a46102d23660046120f4565b6106b9565b6102876102e536600461210c565b6106ce565b6102a46102f83660046120cb565b6106f2565b61028761030b36600461210c565b610747565b61028761031e3660046120cb565b610789565b610287610331366004611fdd565b6107c9565b6102876103443660046120f4565b6107e4565b6102a46103573660046120f4565b610817565b61028761036a366004611fdd565b610872565b61028761037d366004612187565b6108a7565b6102676103903660046120f4565b6108e3565b610267610918565b6102a46103ab366004611f91565b610927565b6102676103be36600461212e565b61096b565b6102296103d136600461210c565b61098a565b6102476109b3565b6102a46109c2565b6102876103f4366004612091565b6109c7565b610287610407366004612187565b6109d9565b61028761041a366004612018565b610a15565b61028761042d366004612187565b610a54565b6102476104403660046120f4565b610a90565b6102a46104533660046120f4565b610a9b565b610267610ab2565b6102a4610ac1565b61028761047636600461210c565b610ad3565b6102876104893660046121ba565b610af2565b61022961049c366004611fab565b610bda565b60006001600160e01b0319821663780e9d6360e01b14806104c657506104c682610c08565b90505b919050565b6060601080546104dd90612c0d565b80601f016020809104026020016040519081016040528092919081815260200182805461050990612c0d565b80156105565780601f1061052b57610100808354040283529160200191610556565b820191906000526020600020905b81548152906001019060200180831161053957829003601f168201915b5050505050905090565b600061056b82610c2d565b6105905760405162461bcd60e51b81526004016105879061286f565b60405180910390fd5b506000908152600660205260409020546001600160a01b031690565b60006105b7826108e3565b9050806001600160a01b0316836001600160a01b031614156105eb5760405162461bcd60e51b815260040161058790612958565b806001600160a01b03166105fd610c4a565b6001600160a01b0316148061061957506106198161049c610c4a565b6106355760405162461bcd60e51b815260040161058790612630565b61063f8383610c4e565b505050565b61065160006103d1610c4a565b61066d5760405162461bcd60e51b81526004016105879061290a565b6106778282610cbc565b5050565b600a5490565b61069261068c610c4a565b82610d00565b6106ae5760405162461bcd60e51b815260040161058790612999565b61063f838383610d85565b60009081526020819052604090206001015490565b6106d7826106b9565b6106e8816106e3610c4a565b610eb8565b61063f8383610f1c565b60006106fd83610927565b821061071b5760405162461bcd60e51b815260040161058790612422565b506001600160a01b03821660009081526008602090815260408083208484529091529020545b92915050565b61074f610c4a565b6001600160a01b0316816001600160a01b03161461077f5760405162461bcd60e51b815260040161058790612b19565b6106778282610f3e565b6107a3600080516020612cd08339815191526103d1610c4a565b6107bf5760405162461bcd60e51b815260040161058790612ad4565b6106778282610f60565b61063f83838360405180602001604052806000815250610a15565b6107ef61068c610c4a565b61080b5760405162461bcd60e51b815260040161058790612a84565b61081481611047565b50565b600061082161067b565b821061083f5760405162461bcd60e51b815260040161058790612a38565b600a828154811061086057634e487b7160e01b600052603260045260246000fd5b90600052602060002001549050919050565b600e546001600160a01b0316331461089c5760405162461bcd60e51b8152600401610587906127da565b61063f838383611050565b6108b460006103d1610c4a565b6108d05760405162461bcd60e51b8152600401610587906129ea565b805161067790600f906020840190611e14565b6000818152600460205260408120546001600160a01b0316806104c65760405162461bcd60e51b8152600401610587906126d7565b600e546001600160a01b031681565b60006001600160a01b03821661094f5760405162461bcd60e51b81526004016105879061268d565b506001600160a01b031660009081526005602052604090205490565b6000828152600160205260408120610983908361106b565b9392505050565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b6060601180546104dd90612c0d565b600081565b6106776109d2610c4a565b8383611077565b6109e660006103d1610c4a565b610a025760405162461bcd60e51b81526004016105879061253b565b8051610677906011906020840190611e14565b610a26610a20610c4a565b83610d00565b610a425760405162461bcd60e51b815260040161058790612999565b610a4e8484848461111a565b50505050565b610a6160006103d1610c4a565b610a7d5760405162461bcd60e51b81526004016105879061253b565b8051610677906010906020840190611e14565b60606104c68261114d565b60008181526001602052604081206104c690611266565b600d546001600160a01b031681565b600080516020612cd083398151915281565b610adc826106b9565b610ae8816106e3610c4a565b61063f8383610f3e565b600d546001600160a01b03163314610b1c5760405162461bcd60e51b81526004016105879061276e565b610b2e6000610b29610c4a565b611271565b610b48600080516020612cd0833981519152610b29610c4a565b610b60600080516020612cd083398151915283611271565b610b78600080516020612cd083398151915282611271565b8251610b8b90600f906020860190611e14565b508451610b9f906010906020880190611e14565b508351610bb3906011906020870190611e14565b50600e80546001600160a01b0319166001600160a01b039290921691909117905550505050565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205460ff1690565b60006001600160e01b0319821663780e9d6360e01b14806104c657506104c68261127b565b6000908152600460205260409020546001600160a01b0316151590565b3390565b600081815260066020526040902080546001600160a01b0319166001600160a01b0384169081179091558190610c83826108e3565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b610cc582610c2d565b610ce15760405162461bcd60e51b815260040161058790612720565b6000828152600c60209081526040909120825161063f92840190611e14565b6000610d0b82610c2d565b610d275760405162461bcd60e51b8152600401610587906125e4565b6000610d32836108e3565b9050806001600160a01b0316846001600160a01b03161480610d6d5750836001600160a01b0316610d6284610560565b6001600160a01b0316145b80610d7d5750610d7d8185610bda565b949350505050565b826001600160a01b0316610d98826108e3565b6001600160a01b031614610dbe5760405162461bcd60e51b8152600401610587906124bf565b6001600160a01b038216610de45760405162461bcd60e51b815260040161058790612569565b610def8383836112bb565b610dfa600082610c4e565b6001600160a01b0383166000908152600560205260408120805460019290610e23908490612bb3565b90915550506001600160a01b0382166000908152600560205260408120805460019290610e51908490612b68565b909155505060008181526004602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a461063f83838361063f565b610ec2828261098a565b61067757610eda816001600160a01b031660146112c6565b610ee58360206112c6565b604051602001610ef6929190612300565b60408051601f198184030181529082905262461bcd60e51b8252610587916004016123da565b610f268282611478565b600082815260016020526040902061063f90826114fd565b610f488282611512565b600082815260016020526040902061063f9082611595565b6001600160a01b038216610f865760405162461bcd60e51b8152600401610587906127a5565b610f8f81610c2d565b15610fac5760405162461bcd60e51b815260040161058790612504565b610fb8600083836112bb565b6001600160a01b0382166000908152600560205260408120805460019290610fe1908490612b68565b909155505060008181526004602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a46106776000838361063f565b610814816115aa565b61063f8383836040518060200160405280600081525061111a565b600061098383836115ea565b816001600160a01b0316836001600160a01b031614156110a95760405162461bcd60e51b8152600401610587906125ad565b6001600160a01b0383811660008181526007602090815260408083209487168084529490915290819020805460ff1916851515179055517f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c319061110d9085906123c6565b60405180910390a3505050565b611125848484610d85565b61113184848484611622565b610a4e5760405162461bcd60e51b81526004016105879061246d565b606061115882610c2d565b6111745760405162461bcd60e51b81526004016105879061281e565b6000828152600c60205260408120805461118d90612c0d565b80601f01602080910402602001604051908101604052809291908181526020018280546111b990612c0d565b80156112065780601f106111db57610100808354040283529160200191611206565b820191906000526020600020905b8154815290600101906020018083116111e957829003601f168201915b50505050509050600061121761173d565b905080516000141561122b575090506104c9565b81511561125d5780826040516020016112459291906122d1565b604051602081830303815290604052925050506104c9565b610d7d8461174c565b60006104c6826117ce565b6106778282610f1c565b60006001600160e01b031982166380ac58cd60e01b14806112ac57506001600160e01b03198216635b5e139f60e01b145b806104c657506104c6826117d2565b61063f8383836117f7565b606060006112d5836002612b94565b6112e0906002612b68565b67ffffffffffffffff81111561130657634e487b7160e01b600052604160045260246000fd5b6040519080825280601f01601f191660200182016040528015611330576020820181803683370190505b509050600360fc1b8160008151811061135957634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061139657634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a90535060006113ba846002612b94565b6113c5906001612b68565b90505b6001811115611459576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061140757634e487b7160e01b600052603260045260246000fd5b1a60f81b82828151811061142b57634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a90535060049490941c9361145281612bf6565b90506113c8565b5083156109835760405162461bcd60e51b8152600401610587906123ed565b611482828261098a565b610677576000828152602081815260408083206001600160a01b03851684529091529020805460ff191660011790556114b9610c4a565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000610983836001600160a01b038416611880565b61151c828261098a565b15610677576000828152602081815260408083206001600160a01b03851684529091529020805460ff19169055611551610c4a565b6001600160a01b0316816001600160a01b0316837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45050565b6000610983836001600160a01b0384166118ca565b6115b3816119e7565b6000818152600c6020526040902080546115cc90612c0d565b159050610814576000818152600c6020526040812061081491611e98565b600082600001828154811061160f57634e487b7160e01b600052603260045260246000fd5b9060005260206000200154905092915050565b6000611636846001600160a01b0316611a96565b1561173257836001600160a01b031663150b7a02611652610c4a565b8786866040518563ffffffff1660e01b81526004016116749493929190612389565b602060405180830381600087803b15801561168e57600080fd5b505af19250505080156116be575060408051601f3d908101601f191682019092526116bb9181019061216b565b60015b611718573d8080156116ec576040519150601f19603f3d011682016040523d82523d6000602084013e6116f1565b606091505b5080516117105760405162461bcd60e51b81526004016105879061246d565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050610d7d565b506001949350505050565b6060600f80546104dd90612c0d565b606061175782610c2d565b6117735760405162461bcd60e51b8152600401610587906128bb565b600061177d61173d565b9050600081511161179d5760405180602001604052806000815250610983565b806117a784611aa5565b6040516020016117b89291906122d1565b6040516020818303038152906040529392505050565b5490565b60006001600160e01b03198216635a05180f60e01b14806104c657506104c682611bc0565b61180283838361063f565b6001600160a01b03831661181e5761181981611be5565b611841565b816001600160a01b0316836001600160a01b031614611841576118418382611c29565b6001600160a01b03821661185d5761185881611cc6565b61063f565b826001600160a01b0316826001600160a01b03161461063f5761063f8282611d9f565b600061188c8383611de3565b6118c257508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610741565b506000610741565b600081815260018301602052604081205480156119dd5760006118ee600183612bb3565b855490915060009061190290600190612bb3565b905081811461198357600086600001828154811061193057634e487b7160e01b600052603260045260246000fd5b906000526020600020015490508087600001848154811061196157634e487b7160e01b600052603260045260246000fd5b6000918252602080832090910192909255918252600188019052604090208390555b85548690806119a257634e487b7160e01b600052603160045260246000fd5b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610741565b6000915050610741565b60006119f2826108e3565b9050611a00816000846112bb565b611a0b600083610c4e565b6001600160a01b0381166000908152600560205260408120805460019290611a34908490612bb3565b909155505060008281526004602052604080822080546001600160a01b0319169055518391906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a46106778160008461063f565b6001600160a01b03163b151590565b606081611aca57506040805180820190915260018152600360fc1b60208201526104c9565b8160005b8115611af45780611ade81612c48565b9150611aed9050600a83612b80565b9150611ace565b60008167ffffffffffffffff811115611b1d57634e487b7160e01b600052604160045260246000fd5b6040519080825280601f01601f191660200182016040528015611b47576020820181803683370190505b5090505b8415610d7d57611b5c600183612bb3565b9150611b69600a86612c63565b611b74906030612b68565b60f81b818381518110611b9757634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a905350611bb9600a86612b80565b9450611b4b565b60006001600160e01b03198216637965db0b60e01b14806104c657506104c682611dfb565b600a80546000838152600b60205260408120829055600182018355919091527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a80155565b60006001611c3684610927565b611c409190612bb3565b600083815260096020526040902054909150808214611c93576001600160a01b03841660009081526008602090815260408083208584528252808320548484528184208190558352600990915290208190555b5060009182526009602090815260408084208490556001600160a01b039094168352600881528383209183525290812055565b600a54600090611cd890600190612bb3565b6000838152600b6020526040812054600a8054939450909284908110611d0e57634e487b7160e01b600052603260045260246000fd5b9060005260206000200154905080600a8381548110611d3d57634e487b7160e01b600052603260045260246000fd5b6000918252602080832090910192909255828152600b9091526040808220849055858252812055600a805480611d8357634e487b7160e01b600052603160045260246000fd5b6001900381819060005260206000200160009055905550505050565b6000611daa83610927565b6001600160a01b039093166000908152600860209081526040808320868452825280832085905593825260099052919091209190915550565b60009081526001919091016020526040902054151590565b6001600160e01b031981166301ffc9a760e01b14919050565b828054611e2090612c0d565b90600052602060002090601f016020900481019282611e425760008555611e88565b82601f10611e5b57805160ff1916838001178555611e88565b82800160010185558215611e88579182015b82811115611e88578251825591602001919060010190611e6d565b50611e94929150611ed0565b5090565b508054611ea490612c0d565b6000825580601f10611eb65750610814565b601f01602090049060005260206000209081019061081491905b5b80821115611e945760008155600101611ed1565b600067ffffffffffffffff80841115611f0057611f00612ca3565b604051601f8501601f19908116603f01168101908282118183101715611f2857611f28612ca3565b81604052809350858152868686011115611f4157600080fd5b858560208301376000602087830101525050509392505050565b80356001600160a01b03811681146104c957600080fd5b600082601f830112611f82578081fd5b61098383833560208501611ee5565b600060208284031215611fa2578081fd5b61098382611f5b565b60008060408385031215611fbd578081fd5b611fc683611f5b565b9150611fd460208401611f5b565b90509250929050565b600080600060608486031215611ff1578081fd5b611ffa84611f5b565b925061200860208501611f5b565b9150604084013590509250925092565b6000806000806080858703121561202d578081fd5b61203685611f5b565b935061204460208601611f5b565b925060408501359150606085013567ffffffffffffffff811115612066578182fd5b8501601f81018713612076578182fd5b61208587823560208401611ee5565b91505092959194509250565b600080604083850312156120a3578182fd5b6120ac83611f5b565b9150602083013580151581146120c0578182fd5b809150509250929050565b600080604083850312156120dd578182fd5b6120e683611f5b565b946020939093013593505050565b600060208284031215612105578081fd5b5035919050565b6000806040838503121561211e578182fd5b82359150611fd460208401611f5b565b60008060408385031215612140578182fd5b50508035926020909101359150565b600060208284031215612160578081fd5b813561098381612cb9565b60006020828403121561217c578081fd5b815161098381612cb9565b600060208284031215612198578081fd5b813567ffffffffffffffff8111156121ae578182fd5b610d7d84828501611f72565b600080600080600060a086880312156121d1578081fd5b853567ffffffffffffffff808211156121e8578283fd5b6121f489838a01611f72565b96506020880135915080821115612209578283fd5b61221589838a01611f72565b9550604088013591508082111561222a578283fd5b5061223788828901611f72565b93505061224660608701611f5b565b915061225460808701611f5b565b90509295509295909350565b60008060408385031215612272578182fd5b82359150602083013567ffffffffffffffff81111561228f578182fd5b61229b85828601611f72565b9150509250929050565b600081518084526122bd816020860160208601612bca565b601f01601f19169290920160200192915050565b600083516122e3818460208801612bca565b8351908301906122f7818360208801612bca565b01949350505050565b60007f416363657373436f6e74726f6c3a206163636f756e742000000000000000000082528351612338816017850160208801612bca565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351612369816028840160208801612bca565b01602801949350505050565b6001600160a01b0391909116815260200190565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906123bc908301846122a5565b9695505050505050565b901515815260200190565b90815260200190565b60006020825261098360208301846122a5565b6020808252818101527f537472696e67733a20686578206c656e67746820696e73756666696369656e74604082015260600190565b6020808252602b908201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560408201526a74206f6620626f756e647360a81b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b6020808252601c908201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604082015260600190565b6020808252601490820152734d75737420686176652041646d696e20726f6c6560601b604082015260600190565b60208082526024908201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646040820152637265737360e01b606082015260800190565b60208082526019908201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604082015260600190565b6020808252602c908201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860408201526b34b9ba32b73a103a37b5b2b760a11b606082015260800190565b60208082526038908201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760408201527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000606082015260800190565b6020808252602a908201527f4552433732313a2062616c616e636520717565727920666f7220746865207a65604082015269726f206164647265737360b01b606082015260800190565b60208082526029908201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460408201526832b73a103a37b5b2b760b91b606082015260800190565b6020808252602e908201527f45524337323155524953746f726167653a2055524920736574206f66206e6f6e60408201526d32bc34b9ba32b73a103a37b5b2b760911b606082015260800190565b6020808252601c908201527f4552433732313a20494e495449414c495a4520464f5242494444454e00000000604082015260600190565b6020808252818101527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604082015260600190565b60208082526024908201527f4f7065726174726f6e206f6e6c792063616e2075736520746869732066756e636040820152633a34b7b760e11b606082015260800190565b60208082526031908201527f45524337323155524953746f726167653a2055524920717565727920666f72206040820152703737b732bc34b9ba32b73a103a37b5b2b760791b606082015260800190565b6020808252602c908201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860408201526b34b9ba32b73a103a37b5b2b760a11b606082015260800190565b6020808252602f908201527f4552433732314d657461646174613a2055524920717565727920666f72206e6f60408201526e3732bc34b9ba32b73a103a37b5b2b760891b606082015260800190565b6020808252602e908201527f4552433732313a206d75737420686176652061646d696e20726f6c6520746f2060408201526d73657420546f6b656e205552497360901b606082015260800190565b60208082526021908201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656040820152603960f91b606082015260800190565b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b6020808252602e908201527f4552433732313a206d75737420686176652061646d696e20726f6c6520746f2060408201526d6368616e6765206261736555726960901b606082015260800190565b6020808252602c908201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60408201526b7574206f6620626f756e647360a01b606082015260800190565b60208082526030908201527f4552433732314275726e61626c653a2063616c6c6572206973206e6f74206f7760408201526f1b995c881b9bdc88185c1c1c9bdd995960821b606082015260800190565b60208082526025908201527f4552433732313a206d7573742068617665206d696e74657220726f6c6520746f604082015264081b5a5b9d60da1b606082015260800190565b6020808252602f908201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560408201526e103937b632b9903337b91039b2b63360891b606082015260800190565b60008219821115612b7b57612b7b612c77565b500190565b600082612b8f57612b8f612c8d565b500490565b6000816000190483118215151615612bae57612bae612c77565b500290565b600082821015612bc557612bc5612c77565b500390565b60005b83811015612be5578181015183820152602001612bcd565b83811115610a4e5750506000910152565b600081612c0557612c05612c77565b506000190190565b600281046001821680612c2157607f821691505b60208210811415612c4257634e487b7160e01b600052602260045260246000fd5b50919050565b6000600019821415612c5c57612c5c612c77565b5060010190565b600082612c7257612c72612c8d565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160e01b03198116811461081457600080fdfe9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6a2646970667358221220b030f4f70553d52f8e53838cf6b36cebd96c32ddf8ea9b9b3425e184b80967a664736f6c6343000801003360806040523480156200001157600080fd5b506040805180820190915260048152635f75726960e01b6020820152620000388162000065565b506200004d620000476200007e565b62000082565b600480546001600160a01b03191633179055620001b7565b80516200007a906002906020840190620000d4565b5050565b3390565b600380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b828054620000e2906200017a565b90600052602060002090601f01602090048101928262000106576000855562000151565b82601f106200012157805160ff191683800117855562000151565b8280016001018555821562000151579182015b828111156200015157825182559160200191906001019062000134565b506200015f92915062000163565b5090565b5b808211156200015f576000815560010162000164565b6002810460018216806200018f57607f821691505b60208210811415620001b157634e487b7160e01b600052602260045260246000fd5b50919050565b612a6080620001c76000396000f3fe608060405234801561001057600080fd5b50600436106101ce5760003560e01c8063731133e911610104578063bd85b039116100a2578063d6d0faee11610071578063d6d0faee146103b8578063e985e9c5146103cb578063f242432a146103de578063f2fde38b146103f1576101ce565b8063bd85b03914610377578063cd53d08e1461038a578063cf25a2fd1461039d578063d2a6b51a146103a5576101ce565b80638da5cb5b116100de5780638da5cb5b1461034157806395d89b4114610349578063a22cb46514610351578063b48ab8b614610364576101ce565b8063731133e9146103085780637c7ae4d11461031b5780638a28a5a21461032e576101ce565b806336a100d5116101715780634f558e791161014b5780634f558e79146102c557806361321c14146102d85780636585690d146102eb578063715018a614610300576101ce565b806336a100d51461027f5780633adf80b4146102925780634e1273f4146102a5576101ce565b806306fdde03116101ad57806306fdde03146102315780630e89341c146102465780632693ebf2146102595780632eb2c2d61461026c576101ce565b8062fdd58e146101d357806301ffc9a7146101fc57806302fe53051461021c575b600080fd5b6101e66101e1366004611e1e565b610404565b6040516101f39190612872565b60405180910390f35b61020f61020a366004611fac565b61045b565b6040516101f39190612292565b61022f61022a366004611fe4565b6104a3565b005b6102396104ee565b6040516101f3919061229d565b6102396102543660046120c3565b61057c565b6101e66102673660046120c3565b6106fc565b61022f61027a366004611bbd565b61070e565b6101e661028d366004611e99565b61076c565b61022f6102a03660046120db565b61088a565b6102b86102b3366004611eee565b610929565b6040516101f39190612251565b61020f6102d33660046120c3565b610a48565b6101e66102e6366004611e99565b610a53565b6102f3610af3565b6040516101f3919061219a565b61022f610b02565b61022f610316366004611e47565b610b4d565b61022f610329366004611c62565b610bcd565b61023961033c3660046120c3565b610c09565b6102f3610c22565b610239610c32565b61022f61035f366004611de4565b610c3f565b61022f610372366004611d50565b610c55565b6101e66103853660046120c3565b610d53565b6102f36103983660046120c3565b610d65565b6102f3610d80565b61022f6103b3366004611d05565b610d8f565b61022f6103c636600461201e565b610e0f565b61020f6103d9366004611b8b565b610e99565b61022f6103ec366004611ca3565b610eac565b61022f6103ff366004611b71565b610f03565b60006001600160a01b0383166104355760405162461bcd60e51b815260040161042c90612409565b60405180910390fd5b506000908152602081815260408083206001600160a01b03949094168352929052205490565b60006001600160e01b03198216636cdb3d1360e11b148061048c57506001600160e01b031982166303a24d0760e21b145b8061049b575061049b82610f71565b90505b919050565b6104ab610f8a565b6001600160a01b03166104bc610c22565b6001600160a01b0316146104e25760405162461bcd60e51b815260040161042c9061264e565b6104eb81610f8e565b50565b600980546104fb906128c4565b80601f0160208091040260200160405190810160405280929190818152602001828054610527906128c4565b80156105745780601f1061054957610100808354040283529160200191610574565b820191906000526020600020905b81548152906001019060200180831161055757829003601f168201915b505050505081565b606061058782610fa1565b6105a35760405162461bcd60e51b815260040161042c9061257a565b600082815260086020526040812080546105bc906128c4565b80601f01602080910402602001604051908101604052809291908181526020018280546105e8906128c4565b80156106355780601f1061060a57610100808354040283529160200191610635565b820191906000526020600020905b81548152906001019060200180831161061857829003601f168201915b505050505090506000815111156106e5576000838152600860205260409020805461065f906128c4565b80601f016020809104026020016040519081016040528092919081815260200182805461068b906128c4565b80156106d85780601f106106ad576101008083540402835291602001916106d8565b820191906000526020600020905b8154815290600101906020018083116106bb57829003601f168201915b505050505091505061049e565b6106ee83610fbe565b91505061049e565b50919050565b60076020526000908152604090205481565b610716610f8a565b6001600160a01b0316856001600160a01b0316148061073c575061073c856103d9610f8a565b6107585760405162461bcd60e51b815260040161042c90612528565b6107658585858585611052565b5050505050565b6000610776610f8a565b6001600160a01b0316610787610c22565b6001600160a01b0316146107ad5760405162461bcd60e51b815260040161042c9061264e565b6107b685610fa1565b156107d35760405162461bcd60e51b815260040161042c90612304565b6107db610f8a565b600086815260066020526040902080546001600160a01b0319166001600160a01b0392909216919091179055825115610867576000858152600860209081526040909120845161082d928601906119e1565b50847f6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b8460405161085e919061229d565b60405180910390a25b61087386868685611223565b505050600082815260076020526040902055919050565b81610893610f8a565b6000828152600660205260409020546001600160a01b039081169116146108cc5760405162461bcd60e51b815260040161042c906127ea565b600083815260086020908152604090912083516108eb928501906119e1565b50827f6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b8360405161091c919061229d565b60405180910390a2505050565b6060815183511461094c5760405162461bcd60e51b815260040161042c90612718565b600083516001600160401b0381111561097557634e487b7160e01b600052604160045260246000fd5b60405190808252806020026020018201604052801561099e578160200160208202803683370190505b50905060005b8451811015610a4057610a058582815181106109d057634e487b7160e01b600052603260045260246000fd5b60200260200101518583815181106109f857634e487b7160e01b600052603260045260246000fd5b6020026020010151610404565b828281518110610a2557634e487b7160e01b600052603260045260246000fd5b6020908102919091010152610a3981612925565b90506109a4565b509392505050565b600061049b82610fa1565b6005546000906001600160a01b03163314610a805760405162461bcd60e51b815260040161042c90612383565b610a8985610fa1565b15610aa65760405162461bcd60e51b815260040161042c90612304565b600085815260066020526040902080546001600160a01b0319166001600160a01b038816179055825115610867576000858152600860209081526040909120845161082d928601906119e1565b6005546001600160a01b031681565b610b0a610f8a565b6001600160a01b0316610b1b610c22565b6001600160a01b031614610b415760405162461bcd60e51b815260040161042c9061264e565b610b4b6000611312565b565b82610b56610f8a565b6000828152600660205260409020546001600160a01b03908116911614610b8f5760405162461bcd60e51b815260040161042c906127ea565b610b9b85858585611223565b600084815260076020526040902054610bb49084611364565b6000948552600760205260409094209390935550505050565b6005546001600160a01b03163314610bf75760405162461bcd60e51b815260040161042c9061260a565b610c0384848484611370565b50505050565b600860205260009081526040902080546104fb906128c4565b6003546001600160a01b03165b90565b600a80546104fb906128c4565b610c51610c4a610f8a565b838361138c565b5050565b60005b8351811015610d46576000848281518110610c8357634e487b7160e01b600052603260045260246000fd5b60200260200101519050610c95610f8a565b6000828152600660205260409020546001600160a01b03908116911614610cce5760405162461bcd60e51b815260040161042c906123ba565b6000848381518110610cf057634e487b7160e01b600052603260045260246000fd5b60200260200101519050610d2081600760008581526020019081526020016000205461136490919063ffffffff16565b600092835260076020526040909220919091555080610d3e81612925565b915050610c58565b50610c038484848461142f565b60009081526007602052604090205490565b6006602052600090815260409020546001600160a01b031681565b6004546001600160a01b031681565b6001600160a01b038216610db55760405162461bcd60e51b815260040161042c90612683565b60005b8151811015610e0a576000828281518110610de357634e487b7160e01b600052603260045260246000fd5b60200260200101519050610df784826115b0565b5080610e0281612925565b915050610db8565b505050565b6004546001600160a01b03163314610e395760405162461bcd60e51b815260040161042c9061283b565b8451610e4c9060099060208801906119e1565b508351610e6090600a9060208701906119e1565b50610e6a83610f8e565b600580546001600160a01b0319166001600160a01b038316179055610e8e82610f03565b610765816001610c3f565b6000610ea58383611621565b9392505050565b610eb4610f8a565b6001600160a01b0316856001600160a01b03161480610eda5750610eda856103d9610f8a565b610ef65760405162461bcd60e51b815260040161042c9061249a565b610765858585858561164f565b610f0b610f8a565b6001600160a01b0316610f1c610c22565b6001600160a01b031614610f425760405162461bcd60e51b815260040161042c9061264e565b6001600160a01b038116610f685760405162461bcd60e51b815260040161042c90612454565b6104eb81611312565b6001600160e01b031981166301ffc9a760e01b14919050565b3390565b8051610c519060029060208401906119e1565b6000908152600660205260409020546001600160a01b0316151590565b606060028054610fcd906128c4565b80601f0160208091040260200160405190810160405280929190818152602001828054610ff9906128c4565b80156110465780601f1061101b57610100808354040283529160200191611046565b820191906000526020600020905b81548152906001019060200180831161102957829003601f168201915b50505050509050919050565b81518351146110735760405162461bcd60e51b815260040161042c90612761565b6001600160a01b0384166110995760405162461bcd60e51b815260040161042c906124e3565b60006110a3610f8a565b90506110b381878787878761121b565b60005b84518110156111b55760008582815181106110e157634e487b7160e01b600052603260045260246000fd5b60200260200101519050600085838151811061110d57634e487b7160e01b600052603260045260246000fd5b602090810291909101810151600084815280835260408082206001600160a01b038e16835290935291909120549091508181101561115d5760405162461bcd60e51b815260040161042c906125c0565b6000838152602081815260408083206001600160a01b038e8116855292528083208585039055908b1682528120805484929061119a9084906128ac565b92505081905550505050806111ae90612925565b90506110b6565b50846001600160a01b0316866001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051611205929190612264565b60405180910390a461121b818787878787611783565b505050505050565b6001600160a01b0384166112495760405162461bcd60e51b815260040161042c906127a9565b6000611253610f8a565b905061127481600087611265886118a8565b61126e886118a8565b8761121b565b6000848152602081815260408083206001600160a01b0389168452909152812080548592906112a49084906128ac565b92505081905550846001600160a01b031660006001600160a01b0316826001600160a01b03167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6287876040516112fb92919061287b565b60405180910390a461076581600087878787611901565b600380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000610ea582846128ac565b610c03848484846040518060200160405280600081525061164f565b816001600160a01b0316836001600160a01b031614156113be5760405162461bcd60e51b815260040161042c906126cf565b6001600160a01b0383811660008181526001602090815260408083209487168084529490915290819020805460ff1916851515179055517f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3190611422908590612292565b60405180910390a3505050565b6001600160a01b0384166114555760405162461bcd60e51b815260040161042c906127a9565b81518351146114765760405162461bcd60e51b815260040161042c90612761565b6000611480610f8a565b90506114918160008787878761121b565b60005b8451811015611548578381815181106114bd57634e487b7160e01b600052603260045260246000fd5b60200260200101516000808784815181106114e857634e487b7160e01b600052603260045260246000fd5b602002602001015181526020019081526020016000206000886001600160a01b03166001600160a01b03168152602001908152602001600020600082825461153091906128ac565b9091555081905061154081612925565b915050611494565b50846001600160a01b031660006001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051611599929190612264565b60405180910390a461076581600087878787611783565b806115b9610f8a565b6000828152600660205260409020546001600160a01b039081169116146115f25760405162461bcd60e51b815260040161042c906127ea565b50600090815260066020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205460ff1690565b6001600160a01b0384166116755760405162461bcd60e51b815260040161042c906124e3565b600061167f610f8a565b9050611690818787611265886118a8565b6000848152602081815260408083206001600160a01b038a168452909152902054838110156116d15760405162461bcd60e51b815260040161042c906125c0565b6000858152602081815260408083206001600160a01b038b811685529252808320878503905590881682528120805486929061170e9084906128ac565b92505081905550856001600160a01b0316876001600160a01b0316836001600160a01b03167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62888860405161176492919061287b565b60405180910390a461177a828888888888611901565b50505050505050565b611795846001600160a01b03166119d2565b1561121b5760405163bc197c8160e01b81526001600160a01b0385169063bc197c81906117ce90899089908890889088906004016121ae565b602060405180830381600087803b1580156117e857600080fd5b505af1925050508015611818575060408051601f3d908101601f1916820190925261181591810190611fc8565b60015b6118785761182461296c565b806308c379a0141561185e5750611839612983565b806118445750611860565b8060405162461bcd60e51b815260040161042c919061229d565b505b60405162461bcd60e51b815260040161042c906122b0565b6001600160e01b0319811663bc197c8160e01b1461177a5760405162461bcd60e51b815260040161042c9061233b565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106118f057634e487b7160e01b600052603260045260246000fd5b602090810291909101015292915050565b611913846001600160a01b03166119d2565b1561121b5760405163f23a6e6160e01b81526001600160a01b0385169063f23a6e619061194c908990899088908890889060040161220c565b602060405180830381600087803b15801561196657600080fd5b505af1925050508015611996575060408051601f3d908101601f1916820190925261199391810190611fc8565b60015b6119a25761182461296c565b6001600160e01b0319811663f23a6e6160e01b1461177a5760405162461bcd60e51b815260040161042c9061233b565b6001600160a01b03163b151590565b8280546119ed906128c4565b90600052602060002090601f016020900481019282611a0f5760008555611a55565b82601f10611a2857805160ff1916838001178555611a55565b82800160010185558215611a55579182015b82811115611a55578251825591602001919060010190611a3a565b50611a61929150611a65565b5090565b5b80821115611a615760008155600101611a66565b80356001600160a01b038116811461049e57600080fd5b600082601f830112611aa1578081fd5b81356020611aae82612889565b604051611abb82826128f9565b838152828101915085830183850287018401881015611ad8578586fd5b855b85811015611af657813584529284019290840190600101611ada565b5090979650505050505050565b600082601f830112611b13578081fd5b81356001600160401b03811115611b2c57611b2c612956565b604051611b43601f8301601f1916602001826128f9565b818152846020838601011115611b57578283fd5b816020850160208301379081016020019190915292915050565b600060208284031215611b82578081fd5b610ea582611a7a565b60008060408385031215611b9d578081fd5b611ba683611a7a565b9150611bb460208401611a7a565b90509250929050565b600080600080600060a08688031215611bd4578081fd5b611bdd86611a7a565b9450611beb60208701611a7a565b935060408601356001600160401b0380821115611c06578283fd5b611c1289838a01611a91565b94506060880135915080821115611c27578283fd5b611c3389838a01611a91565b93506080880135915080821115611c48578283fd5b50611c5588828901611b03565b9150509295509295909350565b60008060008060808587031215611c77578384fd5b611c8085611a7a565b9350611c8e60208601611a7a565b93969395505050506040820135916060013590565b600080600080600060a08688031215611cba578081fd5b611cc386611a7a565b9450611cd160208701611a7a565b9350604086013592506060860135915060808601356001600160401b03811115611cf9578182fd5b611c5588828901611b03565b60008060408385031215611d17578182fd5b611d2083611a7a565b915060208301356001600160401b03811115611d3a578182fd5b611d4685828601611a91565b9150509250929050565b60008060008060808587031215611d65578384fd5b611d6e85611a7a565b935060208501356001600160401b0380821115611d89578485fd5b611d9588838901611a91565b94506040870135915080821115611daa578384fd5b611db688838901611a91565b93506060870135915080821115611dcb578283fd5b50611dd887828801611b03565b91505092959194509250565b60008060408385031215611df6578182fd5b611dff83611a7a565b915060208301358015158114611e13578182fd5b809150509250929050565b60008060408385031215611e30578182fd5b611e3983611a7a565b946020939093013593505050565b60008060008060808587031215611e5c578182fd5b611e6585611a7a565b9350602085013592506040850135915060608501356001600160401b03811115611e8d578182fd5b611dd887828801611b03565b600080600080600060a08688031215611eb0578283fd5b611eb986611a7a565b9450602086013593506040860135925060608601356001600160401b0380821115611ee2578283fd5b611c3389838a01611b03565b60008060408385031215611f00578182fd5b82356001600160401b0380821115611f16578384fd5b818501915085601f830112611f29578384fd5b81356020611f3682612889565b604051611f4382826128f9565b8381528281019150858301838502870184018b1015611f60578889fd5b8896505b84871015611f8957611f7581611a7a565b835260019690960195918301918301611f64565b5096505086013592505080821115611f9f578283fd5b50611d4685828601611a91565b600060208284031215611fbd578081fd5b8135610ea581612a14565b600060208284031215611fd9578081fd5b8151610ea581612a14565b600060208284031215611ff5578081fd5b81356001600160401b0381111561200a578182fd5b61201684828501611b03565b949350505050565b600080600080600060a08688031215612035578283fd5b85356001600160401b038082111561204b578485fd5b61205789838a01611b03565b9650602088013591508082111561206c578485fd5b61207889838a01611b03565b9550604088013591508082111561208d578485fd5b5061209a88828901611b03565b9350506120a960608701611a7a565b91506120b760808701611a7a565b90509295509295909350565b6000602082840312156120d4578081fd5b5035919050565b600080604083850312156120ed578182fd5b8235915060208301356001600160401b03811115612109578182fd5b611d4685828601611b03565b6000815180845260208085019450808401835b8381101561214457815187529582019590820190600101612128565b509495945050505050565b60008151808452815b8181101561217457602081850181015186830182015201612158565b818111156121855782602083870101525b50601f01601f19169290920160200192915050565b6001600160a01b0391909116815260200190565b6001600160a01b0386811682528516602082015260a0604082018190526000906121da90830186612115565b82810360608401526121ec8186612115565b90508281036080840152612200818561214f565b98975050505050505050565b6001600160a01b03868116825285166020820152604081018490526060810183905260a0608082018190526000906122469083018461214f565b979650505050505050565b600060208252610ea56020830184612115565b6000604082526122776040830185612115565b82810360208401526122898185612115565b95945050505050565b901515815260200190565b600060208252610ea5602083018461214f565b60208082526034908201527f455243313135353a207472616e7366657220746f206e6f6e20455243313135356040820152732932b1b2b4bb32b91034b6b83632b6b2b73a32b960611b606082015260800190565b60208082526018908201527f746f6b656e205f696420616c7265616479206578697374730000000000000000604082015260600190565b60208082526028908201527f455243313135353a204552433131353552656365697665722072656a656374656040820152676420746f6b656e7360c01b606082015260800190565b6020808252601d908201527f43616e6e6f742063616c6c6564206279206e6f74206f70657261746f72000000604082015260600190565b6020808252602f908201527f455243313135355472616461626c652362617463684d696e743a204f4e4c595f60408201526e10d491505513d497d0531313d5d151608a1b606082015260800190565b6020808252602b908201527f455243313135353a2062616c616e636520717565727920666f7220746865207a60408201526a65726f206164647265737360a81b606082015260800190565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201526564647265737360d01b606082015260800190565b60208082526029908201527f455243313135353a2063616c6c6572206973206e6f74206f776e6572206e6f7260408201526808185c1c1c9bdd995960ba1b606082015260800190565b60208082526025908201527f455243313135353a207472616e7366657220746f20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526032908201527f455243313135353a207472616e736665722063616c6c6572206973206e6f74206040820152711bdddb995c881b9bdc88185c1c1c9bdd995960721b606082015260800190565b60208082526026908201527f455243313135355472616461626c65237572693a204e4f4e4558495354454e546040820152652faa27a5a2a760d11b606082015260800190565b6020808252602a908201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60408201526939103a3930b739b332b960b11b606082015260800190565b60208082526024908201527f4f7065726174726f6e206f6e6c792063616e2075736520746869732066756e636040820152633a34b7b760e11b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252602c908201527f455243313135355472616461626c652373657443726561746f723a20494e564160408201526b2624a22fa0a2222922a9a99760a11b606082015260800190565b60208082526029908201527f455243313135353a2073657474696e6720617070726f76616c20737461747573604082015268103337b91039b2b63360b91b606082015260800190565b60208082526029908201527f455243313135353a206163636f756e747320616e6420696473206c656e677468604082015268040dad2e6dac2e8c6d60bb1b606082015260800190565b60208082526028908201527f455243313135353a2069647320616e6420616d6f756e7473206c656e677468206040820152670dad2e6dac2e8c6d60c31b606082015260800190565b60208082526021908201527f455243313135353a206d696e7420746f20746865207a65726f206164647265736040820152607360f81b606082015260800190565b60208082526031908201527f455243313135355472616461626c652363726561746f724f6e6c793a204f4e4c6040820152701657d0d491505513d497d0531313d5d151607a1b606082015260800190565b6020808252601d908201527f455243313135353a20494e495449414c495a4520464f5242494444454e000000604082015260600190565b90815260200190565b918252602082015260400190565b60006001600160401b038211156128a2576128a2612956565b5060209081020190565b600082198211156128bf576128bf612940565b500190565b6002810460018216806128d857607f821691505b602082108114156106f657634e487b7160e01b600052602260045260246000fd5b601f8201601f191681016001600160401b038111828210171561291e5761291e612956565b6040525050565b600060001982141561293957612939612940565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b600060033d1115610c2f57600481823e5160e01c90565b600060443d101561299357610c2f565b6040516003193d81016004833e81513d6001600160401b0381602484011181841117156129c4575050505050610c2f565b82850191508151818111156129de57505050505050610c2f565b843d87010160208285010111156129fa57505050505050610c2f565b612a09602082860101876128f9565b509094505050505090565b6001600160e01b0319811681146104eb57600080fdfea2646970667358221220f78e3718344884bd7316b6a520c284da62c9c926c0b9bc9b54ccad0bffa695d364736f6c63430008010033a26469706673582212207edbcd58bfd6be43ca42a397426c1a0776436066dbbfaa2742d16b0b7ba15a7364736f6c63430008010033",
- }
- // MetaRareCollectionFactoryABI is the input ABI used to generate the binding from.
- // Deprecated: Use MetaRareCollectionFactoryMetaData.ABI instead.
- var MetaRareCollectionFactoryABI = MetaRareCollectionFactoryMetaData.ABI
- // Deprecated: Use MetaRareCollectionFactoryMetaData.Sigs instead.
- // MetaRareCollectionFactoryFuncSigs maps the 4-byte function signature to its string representation.
- var MetaRareCollectionFactoryFuncSigs = MetaRareCollectionFactoryMetaData.Sigs
- // MetaRareCollectionFactoryBin is the compiled bytecode used for deploying new contracts.
- // Deprecated: Use MetaRareCollectionFactoryMetaData.Bin instead.
- var MetaRareCollectionFactoryBin = MetaRareCollectionFactoryMetaData.Bin
- // DeployMetaRareCollectionFactory deploys a new Ethereum contract, binding an instance of MetaRareCollectionFactory to it.
- func DeployMetaRareCollectionFactory(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *MetaRareCollectionFactory, error) {
- parsed, err := MetaRareCollectionFactoryMetaData.GetAbi()
- if err != nil {
- return common.Address{}, nil, nil, err
- }
- if parsed == nil {
- return common.Address{}, nil, nil, errors.New("GetABI returned nil")
- }
- address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(MetaRareCollectionFactoryBin), backend)
- if err != nil {
- return common.Address{}, nil, nil, err
- }
- return address, tx, &MetaRareCollectionFactory{MetaRareCollectionFactoryCaller: MetaRareCollectionFactoryCaller{contract: contract}, MetaRareCollectionFactoryTransactor: MetaRareCollectionFactoryTransactor{contract: contract}, MetaRareCollectionFactoryFilterer: MetaRareCollectionFactoryFilterer{contract: contract}}, nil
- }
- // MetaRareCollectionFactory is an auto generated Go binding around an Ethereum contract.
- type MetaRareCollectionFactory struct {
- MetaRareCollectionFactoryCaller // Read-only binding to the contract
- MetaRareCollectionFactoryTransactor // Write-only binding to the contract
- MetaRareCollectionFactoryFilterer // Log filterer for contract events
- }
- // MetaRareCollectionFactoryCaller is an auto generated read-only Go binding around an Ethereum contract.
- type MetaRareCollectionFactoryCaller struct {
- contract *bind.BoundContract // Generic contract wrapper for the low level calls
- }
- // MetaRareCollectionFactoryTransactor is an auto generated write-only Go binding around an Ethereum contract.
- type MetaRareCollectionFactoryTransactor struct {
- contract *bind.BoundContract // Generic contract wrapper for the low level calls
- }
- // MetaRareCollectionFactoryFilterer is an auto generated log filtering Go binding around an Ethereum contract events.
- type MetaRareCollectionFactoryFilterer struct {
- contract *bind.BoundContract // Generic contract wrapper for the low level calls
- }
- // MetaRareCollectionFactorySession is an auto generated Go binding around an Ethereum contract,
- // with pre-set call and transact options.
- type MetaRareCollectionFactorySession struct {
- Contract *MetaRareCollectionFactory // Generic contract binding to set the session for
- CallOpts bind.CallOpts // Call options to use throughout this session
- TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
- }
- // MetaRareCollectionFactoryCallerSession is an auto generated read-only Go binding around an Ethereum contract,
- // with pre-set call options.
- type MetaRareCollectionFactoryCallerSession struct {
- Contract *MetaRareCollectionFactoryCaller // Generic contract caller binding to set the session for
- CallOpts bind.CallOpts // Call options to use throughout this session
- }
- // MetaRareCollectionFactoryTransactorSession is an auto generated write-only Go binding around an Ethereum contract,
- // with pre-set transact options.
- type MetaRareCollectionFactoryTransactorSession struct {
- Contract *MetaRareCollectionFactoryTransactor // Generic contract transactor binding to set the session for
- TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
- }
- // MetaRareCollectionFactoryRaw is an auto generated low-level Go binding around an Ethereum contract.
- type MetaRareCollectionFactoryRaw struct {
- Contract *MetaRareCollectionFactory // Generic contract binding to access the raw methods on
- }
- // MetaRareCollectionFactoryCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
- type MetaRareCollectionFactoryCallerRaw struct {
- Contract *MetaRareCollectionFactoryCaller // Generic read-only contract binding to access the raw methods on
- }
- // MetaRareCollectionFactoryTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
- type MetaRareCollectionFactoryTransactorRaw struct {
- Contract *MetaRareCollectionFactoryTransactor // Generic write-only contract binding to access the raw methods on
- }
- // NewMetaRareCollectionFactory creates a new instance of MetaRareCollectionFactory, bound to a specific deployed contract.
- func NewMetaRareCollectionFactory(address common.Address, backend bind.ContractBackend) (*MetaRareCollectionFactory, error) {
- contract, err := bindMetaRareCollectionFactory(address, backend, backend, backend)
- if err != nil {
- return nil, err
- }
- return &MetaRareCollectionFactory{MetaRareCollectionFactoryCaller: MetaRareCollectionFactoryCaller{contract: contract}, MetaRareCollectionFactoryTransactor: MetaRareCollectionFactoryTransactor{contract: contract}, MetaRareCollectionFactoryFilterer: MetaRareCollectionFactoryFilterer{contract: contract}}, nil
- }
- // NewMetaRareCollectionFactoryCaller creates a new read-only instance of MetaRareCollectionFactory, bound to a specific deployed contract.
- func NewMetaRareCollectionFactoryCaller(address common.Address, caller bind.ContractCaller) (*MetaRareCollectionFactoryCaller, error) {
- contract, err := bindMetaRareCollectionFactory(address, caller, nil, nil)
- if err != nil {
- return nil, err
- }
- return &MetaRareCollectionFactoryCaller{contract: contract}, nil
- }
- // NewMetaRareCollectionFactoryTransactor creates a new write-only instance of MetaRareCollectionFactory, bound to a specific deployed contract.
- func NewMetaRareCollectionFactoryTransactor(address common.Address, transactor bind.ContractTransactor) (*MetaRareCollectionFactoryTransactor, error) {
- contract, err := bindMetaRareCollectionFactory(address, nil, transactor, nil)
- if err != nil {
- return nil, err
- }
- return &MetaRareCollectionFactoryTransactor{contract: contract}, nil
- }
- // NewMetaRareCollectionFactoryFilterer creates a new log filterer instance of MetaRareCollectionFactory, bound to a specific deployed contract.
- func NewMetaRareCollectionFactoryFilterer(address common.Address, filterer bind.ContractFilterer) (*MetaRareCollectionFactoryFilterer, error) {
- contract, err := bindMetaRareCollectionFactory(address, nil, nil, filterer)
- if err != nil {
- return nil, err
- }
- return &MetaRareCollectionFactoryFilterer{contract: contract}, nil
- }
- // bindMetaRareCollectionFactory binds a generic wrapper to an already deployed contract.
- func bindMetaRareCollectionFactory(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
- parsed, err := abi.JSON(strings.NewReader(MetaRareCollectionFactoryABI))
- if err != nil {
- return nil, err
- }
- return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil
- }
- // Call invokes the (constant) contract method with params as input values and
- // sets the output to result. The result type might be a single field for simple
- // returns, a slice of interfaces for anonymous returns and a struct for named
- // returns.
- func (_MetaRareCollectionFactory *MetaRareCollectionFactoryRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
- return _MetaRareCollectionFactory.Contract.MetaRareCollectionFactoryCaller.contract.Call(opts, result, method, params...)
- }
- // Transfer initiates a plain transaction to move funds to the contract, calling
- // its default method if one is available.
- func (_MetaRareCollectionFactory *MetaRareCollectionFactoryRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
- return _MetaRareCollectionFactory.Contract.MetaRareCollectionFactoryTransactor.contract.Transfer(opts)
- }
- // Transact invokes the (paid) contract method with params as input values.
- func (_MetaRareCollectionFactory *MetaRareCollectionFactoryRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
- return _MetaRareCollectionFactory.Contract.MetaRareCollectionFactoryTransactor.contract.Transact(opts, method, params...)
- }
- // Call invokes the (constant) contract method with params as input values and
- // sets the output to result. The result type might be a single field for simple
- // returns, a slice of interfaces for anonymous returns and a struct for named
- // returns.
- func (_MetaRareCollectionFactory *MetaRareCollectionFactoryCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
- return _MetaRareCollectionFactory.Contract.contract.Call(opts, result, method, params...)
- }
- // Transfer initiates a plain transaction to move funds to the contract, calling
- // its default method if one is available.
- func (_MetaRareCollectionFactory *MetaRareCollectionFactoryTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
- return _MetaRareCollectionFactory.Contract.contract.Transfer(opts)
- }
- // Transact invokes the (paid) contract method with params as input values.
- func (_MetaRareCollectionFactory *MetaRareCollectionFactoryTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
- return _MetaRareCollectionFactory.Contract.contract.Transact(opts, method, params...)
- }
- // CreateMetaRareERC1155Collection is a paid mutator transaction binding the contract method 0xce5216cf.
- //
- // Solidity: function CreateMetaRareERC1155Collection(string name, string symbol, string uri, address OperatorContract) returns()
- func (_MetaRareCollectionFactory *MetaRareCollectionFactoryTransactor) CreateMetaRareERC1155Collection(opts *bind.TransactOpts, name string, symbol string, uri string, OperatorContract common.Address) (*types.Transaction, error) {
- return _MetaRareCollectionFactory.contract.Transact(opts, "CreateMetaRareERC1155Collection", name, symbol, uri, OperatorContract)
- }
- // CreateMetaRareERC1155Collection is a paid mutator transaction binding the contract method 0xce5216cf.
- //
- // Solidity: function CreateMetaRareERC1155Collection(string name, string symbol, string uri, address OperatorContract) returns()
- func (_MetaRareCollectionFactory *MetaRareCollectionFactorySession) CreateMetaRareERC1155Collection(name string, symbol string, uri string, OperatorContract common.Address) (*types.Transaction, error) {
- return _MetaRareCollectionFactory.Contract.CreateMetaRareERC1155Collection(&_MetaRareCollectionFactory.TransactOpts, name, symbol, uri, OperatorContract)
- }
- // CreateMetaRareERC1155Collection is a paid mutator transaction binding the contract method 0xce5216cf.
- //
- // Solidity: function CreateMetaRareERC1155Collection(string name, string symbol, string uri, address OperatorContract) returns()
- func (_MetaRareCollectionFactory *MetaRareCollectionFactoryTransactorSession) CreateMetaRareERC1155Collection(name string, symbol string, uri string, OperatorContract common.Address) (*types.Transaction, error) {
- return _MetaRareCollectionFactory.Contract.CreateMetaRareERC1155Collection(&_MetaRareCollectionFactory.TransactOpts, name, symbol, uri, OperatorContract)
- }
- // CreateMetaRareERC721Collection is a paid mutator transaction binding the contract method 0x5167cf80.
- //
- // Solidity: function CreateMetaRareERC721Collection(string name, string symbol, string baseURI, address OperatorContract) returns()
- func (_MetaRareCollectionFactory *MetaRareCollectionFactoryTransactor) CreateMetaRareERC721Collection(opts *bind.TransactOpts, name string, symbol string, baseURI string, OperatorContract common.Address) (*types.Transaction, error) {
- return _MetaRareCollectionFactory.contract.Transact(opts, "CreateMetaRareERC721Collection", name, symbol, baseURI, OperatorContract)
- }
- // CreateMetaRareERC721Collection is a paid mutator transaction binding the contract method 0x5167cf80.
- //
- // Solidity: function CreateMetaRareERC721Collection(string name, string symbol, string baseURI, address OperatorContract) returns()
- func (_MetaRareCollectionFactory *MetaRareCollectionFactorySession) CreateMetaRareERC721Collection(name string, symbol string, baseURI string, OperatorContract common.Address) (*types.Transaction, error) {
- return _MetaRareCollectionFactory.Contract.CreateMetaRareERC721Collection(&_MetaRareCollectionFactory.TransactOpts, name, symbol, baseURI, OperatorContract)
- }
- // CreateMetaRareERC721Collection is a paid mutator transaction binding the contract method 0x5167cf80.
- //
- // Solidity: function CreateMetaRareERC721Collection(string name, string symbol, string baseURI, address OperatorContract) returns()
- func (_MetaRareCollectionFactory *MetaRareCollectionFactoryTransactorSession) CreateMetaRareERC721Collection(name string, symbol string, baseURI string, OperatorContract common.Address) (*types.Transaction, error) {
- return _MetaRareCollectionFactory.Contract.CreateMetaRareERC721Collection(&_MetaRareCollectionFactory.TransactOpts, name, symbol, baseURI, OperatorContract)
- }
- // 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.
- type MetaRareCollectionFactoryCreateERC1155CollectionIterator struct {
- Event *MetaRareCollectionFactoryCreateERC1155Collection // Event containing the contract specifics and raw log
- contract *bind.BoundContract // Generic contract to use for unpacking event data
- event string // Event name to use for unpacking event data
- logs chan types.Log // Log channel receiving the found contract events
- sub ethereum.Subscription // Subscription for errors, completion and termination
- done bool // Whether the subscription completed delivering logs
- fail error // Occurred error to stop iteration
- }
- // Next advances the iterator to the subsequent event, returning whether there
- // are any more events found. In case of a retrieval or parsing error, false is
- // returned and Error() can be queried for the exact failure.
- func (it *MetaRareCollectionFactoryCreateERC1155CollectionIterator) Next() bool {
- // If the iterator failed, stop iterating
- if it.fail != nil {
- return false
- }
- // If the iterator completed, deliver directly whatever's available
- if it.done {
- select {
- case log := <-it.logs:
- it.Event = new(MetaRareCollectionFactoryCreateERC1155Collection)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- default:
- return false
- }
- }
- // Iterator still in progress, wait for either a data or an error event
- select {
- case log := <-it.logs:
- it.Event = new(MetaRareCollectionFactoryCreateERC1155Collection)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- case err := <-it.sub.Err():
- it.done = true
- it.fail = err
- return it.Next()
- }
- }
- // Error returns any retrieval or parsing error occurred during filtering.
- func (it *MetaRareCollectionFactoryCreateERC1155CollectionIterator) Error() error {
- return it.fail
- }
- // Close terminates the iteration process, releasing any pending underlying
- // resources.
- func (it *MetaRareCollectionFactoryCreateERC1155CollectionIterator) Close() error {
- it.sub.Unsubscribe()
- return nil
- }
- // MetaRareCollectionFactoryCreateERC1155Collection represents a CreateERC1155Collection event raised by the MetaRareCollectionFactory contract.
- type MetaRareCollectionFactoryCreateERC1155Collection struct {
- Collection common.Address
- Raw types.Log // Blockchain specific contextual infos
- }
- // FilterCreateERC1155Collection is a free log retrieval operation binding the contract event 0x0d3de3f5754e9b4e85f7c08370a9ee6420616bddaa78ece20378473b8de69792.
- //
- // Solidity: event CreateERC1155Collection(address collection)
- func (_MetaRareCollectionFactory *MetaRareCollectionFactoryFilterer) FilterCreateERC1155Collection(opts *bind.FilterOpts) (*MetaRareCollectionFactoryCreateERC1155CollectionIterator, error) {
- logs, sub, err := _MetaRareCollectionFactory.contract.FilterLogs(opts, "CreateERC1155Collection")
- if err != nil {
- return nil, err
- }
- return &MetaRareCollectionFactoryCreateERC1155CollectionIterator{contract: _MetaRareCollectionFactory.contract, event: "CreateERC1155Collection", logs: logs, sub: sub}, nil
- }
- // WatchCreateERC1155Collection is a free log subscription operation binding the contract event 0x0d3de3f5754e9b4e85f7c08370a9ee6420616bddaa78ece20378473b8de69792.
- //
- // Solidity: event CreateERC1155Collection(address collection)
- func (_MetaRareCollectionFactory *MetaRareCollectionFactoryFilterer) WatchCreateERC1155Collection(opts *bind.WatchOpts, sink chan<- *MetaRareCollectionFactoryCreateERC1155Collection) (event.Subscription, error) {
- logs, sub, err := _MetaRareCollectionFactory.contract.WatchLogs(opts, "CreateERC1155Collection")
- if err != nil {
- return nil, err
- }
- return event.NewSubscription(func(quit <-chan struct{}) error {
- defer sub.Unsubscribe()
- for {
- select {
- case log := <-logs:
- // New log arrived, parse the event and forward to the user
- event := new(MetaRareCollectionFactoryCreateERC1155Collection)
- if err := _MetaRareCollectionFactory.contract.UnpackLog(event, "CreateERC1155Collection", log); err != nil {
- return err
- }
- event.Raw = log
- select {
- case sink <- event:
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- }
- }), nil
- }
- // ParseCreateERC1155Collection is a log parse operation binding the contract event 0x0d3de3f5754e9b4e85f7c08370a9ee6420616bddaa78ece20378473b8de69792.
- //
- // Solidity: event CreateERC1155Collection(address collection)
- func (_MetaRareCollectionFactory *MetaRareCollectionFactoryFilterer) ParseCreateERC1155Collection(log types.Log) (*MetaRareCollectionFactoryCreateERC1155Collection, error) {
- event := new(MetaRareCollectionFactoryCreateERC1155Collection)
- if err := _MetaRareCollectionFactory.contract.UnpackLog(event, "CreateERC1155Collection", log); err != nil {
- return nil, err
- }
- event.Raw = log
- return event, nil
- }
- // 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.
- type MetaRareCollectionFactoryCreateERC721CollectionIterator struct {
- Event *MetaRareCollectionFactoryCreateERC721Collection // Event containing the contract specifics and raw log
- contract *bind.BoundContract // Generic contract to use for unpacking event data
- event string // Event name to use for unpacking event data
- logs chan types.Log // Log channel receiving the found contract events
- sub ethereum.Subscription // Subscription for errors, completion and termination
- done bool // Whether the subscription completed delivering logs
- fail error // Occurred error to stop iteration
- }
- // Next advances the iterator to the subsequent event, returning whether there
- // are any more events found. In case of a retrieval or parsing error, false is
- // returned and Error() can be queried for the exact failure.
- func (it *MetaRareCollectionFactoryCreateERC721CollectionIterator) Next() bool {
- // If the iterator failed, stop iterating
- if it.fail != nil {
- return false
- }
- // If the iterator completed, deliver directly whatever's available
- if it.done {
- select {
- case log := <-it.logs:
- it.Event = new(MetaRareCollectionFactoryCreateERC721Collection)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- default:
- return false
- }
- }
- // Iterator still in progress, wait for either a data or an error event
- select {
- case log := <-it.logs:
- it.Event = new(MetaRareCollectionFactoryCreateERC721Collection)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- case err := <-it.sub.Err():
- it.done = true
- it.fail = err
- return it.Next()
- }
- }
- // Error returns any retrieval or parsing error occurred during filtering.
- func (it *MetaRareCollectionFactoryCreateERC721CollectionIterator) Error() error {
- return it.fail
- }
- // Close terminates the iteration process, releasing any pending underlying
- // resources.
- func (it *MetaRareCollectionFactoryCreateERC721CollectionIterator) Close() error {
- it.sub.Unsubscribe()
- return nil
- }
- // MetaRareCollectionFactoryCreateERC721Collection represents a CreateERC721Collection event raised by the MetaRareCollectionFactory contract.
- type MetaRareCollectionFactoryCreateERC721Collection struct {
- Collection common.Address
- Raw types.Log // Blockchain specific contextual infos
- }
- // FilterCreateERC721Collection is a free log retrieval operation binding the contract event 0xd6d8f7b07325e6b897eeb15a60d044c62db3616c8c636fca706fb22e3bc656f5.
- //
- // Solidity: event CreateERC721Collection(address collection)
- func (_MetaRareCollectionFactory *MetaRareCollectionFactoryFilterer) FilterCreateERC721Collection(opts *bind.FilterOpts) (*MetaRareCollectionFactoryCreateERC721CollectionIterator, error) {
- logs, sub, err := _MetaRareCollectionFactory.contract.FilterLogs(opts, "CreateERC721Collection")
- if err != nil {
- return nil, err
- }
- return &MetaRareCollectionFactoryCreateERC721CollectionIterator{contract: _MetaRareCollectionFactory.contract, event: "CreateERC721Collection", logs: logs, sub: sub}, nil
- }
- // WatchCreateERC721Collection is a free log subscription operation binding the contract event 0xd6d8f7b07325e6b897eeb15a60d044c62db3616c8c636fca706fb22e3bc656f5.
- //
- // Solidity: event CreateERC721Collection(address collection)
- func (_MetaRareCollectionFactory *MetaRareCollectionFactoryFilterer) WatchCreateERC721Collection(opts *bind.WatchOpts, sink chan<- *MetaRareCollectionFactoryCreateERC721Collection) (event.Subscription, error) {
- logs, sub, err := _MetaRareCollectionFactory.contract.WatchLogs(opts, "CreateERC721Collection")
- if err != nil {
- return nil, err
- }
- return event.NewSubscription(func(quit <-chan struct{}) error {
- defer sub.Unsubscribe()
- for {
- select {
- case log := <-logs:
- // New log arrived, parse the event and forward to the user
- event := new(MetaRareCollectionFactoryCreateERC721Collection)
- if err := _MetaRareCollectionFactory.contract.UnpackLog(event, "CreateERC721Collection", log); err != nil {
- return err
- }
- event.Raw = log
- select {
- case sink <- event:
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- }
- }), nil
- }
- // ParseCreateERC721Collection is a log parse operation binding the contract event 0xd6d8f7b07325e6b897eeb15a60d044c62db3616c8c636fca706fb22e3bc656f5.
- //
- // Solidity: event CreateERC721Collection(address collection)
- func (_MetaRareCollectionFactory *MetaRareCollectionFactoryFilterer) ParseCreateERC721Collection(log types.Log) (*MetaRareCollectionFactoryCreateERC721Collection, error) {
- event := new(MetaRareCollectionFactoryCreateERC721Collection)
- if err := _MetaRareCollectionFactory.contract.UnpackLog(event, "CreateERC721Collection", log); err != nil {
- return nil, err
- }
- event.Raw = log
- return event, nil
- }
- // MetaRareERC1155CollectionMetaData contains all meta data concerning the MetaRareERC1155Collection contract.
- var MetaRareERC1155CollectionMetaData = &bind.MetaData{
- 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\"}]",
- Sigs: map[string]string{
- "6585690d": "MetaRareOperator()",
- "00fdd58e": "balanceOf(address,uint256)",
- "4e1273f4": "balanceOfBatch(address[],uint256[])",
- "b48ab8b6": "batchMint(address,uint256[],uint256[],bytes)",
- "cf25a2fd": "collectionFactory()",
- "36a100d5": "create(address,uint256,uint256,string,bytes)",
- "61321c14": "createByOperator(address,uint256,uint256,string,bytes)",
- "cd53d08e": "creators(uint256)",
- "8a28a5a2": "customUri(uint256)",
- "4f558e79": "exists(uint256)",
- "d6d0faee": "initialize(string,string,string,address,address)",
- "e985e9c5": "isApprovedForAll(address,address)",
- "731133e9": "mint(address,uint256,uint256,bytes)",
- "06fdde03": "name()",
- "8da5cb5b": "owner()",
- "715018a6": "renounceOwnership()",
- "2eb2c2d6": "safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)",
- "f242432a": "safeTransferFrom(address,address,uint256,uint256,bytes)",
- "a22cb465": "setApprovalForAll(address,bool)",
- "d2a6b51a": "setCreator(address,uint256[])",
- "3adf80b4": "setCustomURI(uint256,string)",
- "02fe5305": "setURI(string)",
- "01ffc9a7": "supportsInterface(bytes4)",
- "95d89b41": "symbol()",
- "2693ebf2": "tokenSupply(uint256)",
- "bd85b039": "totalSupply(uint256)",
- "7c7ae4d1": "transferOnlyOperator(address,address,uint256,uint256)",
- "f2fde38b": "transferOwnership(address)",
- "0e89341c": "uri(uint256)",
- },
- Bin: "0x60806040523480156200001157600080fd5b506040805180820190915260048152635f75726960e01b6020820152620000388162000065565b506200004d620000476200007e565b62000082565b600480546001600160a01b03191633179055620001b7565b80516200007a906002906020840190620000d4565b5050565b3390565b600380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b828054620000e2906200017a565b90600052602060002090601f01602090048101928262000106576000855562000151565b82601f106200012157805160ff191683800117855562000151565b8280016001018555821562000151579182015b828111156200015157825182559160200191906001019062000134565b506200015f92915062000163565b5090565b5b808211156200015f576000815560010162000164565b6002810460018216806200018f57607f821691505b60208210811415620001b157634e487b7160e01b600052602260045260246000fd5b50919050565b612a6080620001c76000396000f3fe608060405234801561001057600080fd5b50600436106101ce5760003560e01c8063731133e911610104578063bd85b039116100a2578063d6d0faee11610071578063d6d0faee146103b8578063e985e9c5146103cb578063f242432a146103de578063f2fde38b146103f1576101ce565b8063bd85b03914610377578063cd53d08e1461038a578063cf25a2fd1461039d578063d2a6b51a146103a5576101ce565b80638da5cb5b116100de5780638da5cb5b1461034157806395d89b4114610349578063a22cb46514610351578063b48ab8b614610364576101ce565b8063731133e9146103085780637c7ae4d11461031b5780638a28a5a21461032e576101ce565b806336a100d5116101715780634f558e791161014b5780634f558e79146102c557806361321c14146102d85780636585690d146102eb578063715018a614610300576101ce565b806336a100d51461027f5780633adf80b4146102925780634e1273f4146102a5576101ce565b806306fdde03116101ad57806306fdde03146102315780630e89341c146102465780632693ebf2146102595780632eb2c2d61461026c576101ce565b8062fdd58e146101d357806301ffc9a7146101fc57806302fe53051461021c575b600080fd5b6101e66101e1366004611e1e565b610404565b6040516101f39190612872565b60405180910390f35b61020f61020a366004611fac565b61045b565b6040516101f39190612292565b61022f61022a366004611fe4565b6104a3565b005b6102396104ee565b6040516101f3919061229d565b6102396102543660046120c3565b61057c565b6101e66102673660046120c3565b6106fc565b61022f61027a366004611bbd565b61070e565b6101e661028d366004611e99565b61076c565b61022f6102a03660046120db565b61088a565b6102b86102b3366004611eee565b610929565b6040516101f39190612251565b61020f6102d33660046120c3565b610a48565b6101e66102e6366004611e99565b610a53565b6102f3610af3565b6040516101f3919061219a565b61022f610b02565b61022f610316366004611e47565b610b4d565b61022f610329366004611c62565b610bcd565b61023961033c3660046120c3565b610c09565b6102f3610c22565b610239610c32565b61022f61035f366004611de4565b610c3f565b61022f610372366004611d50565b610c55565b6101e66103853660046120c3565b610d53565b6102f36103983660046120c3565b610d65565b6102f3610d80565b61022f6103b3366004611d05565b610d8f565b61022f6103c636600461201e565b610e0f565b61020f6103d9366004611b8b565b610e99565b61022f6103ec366004611ca3565b610eac565b61022f6103ff366004611b71565b610f03565b60006001600160a01b0383166104355760405162461bcd60e51b815260040161042c90612409565b60405180910390fd5b506000908152602081815260408083206001600160a01b03949094168352929052205490565b60006001600160e01b03198216636cdb3d1360e11b148061048c57506001600160e01b031982166303a24d0760e21b145b8061049b575061049b82610f71565b90505b919050565b6104ab610f8a565b6001600160a01b03166104bc610c22565b6001600160a01b0316146104e25760405162461bcd60e51b815260040161042c9061264e565b6104eb81610f8e565b50565b600980546104fb906128c4565b80601f0160208091040260200160405190810160405280929190818152602001828054610527906128c4565b80156105745780601f1061054957610100808354040283529160200191610574565b820191906000526020600020905b81548152906001019060200180831161055757829003601f168201915b505050505081565b606061058782610fa1565b6105a35760405162461bcd60e51b815260040161042c9061257a565b600082815260086020526040812080546105bc906128c4565b80601f01602080910402602001604051908101604052809291908181526020018280546105e8906128c4565b80156106355780601f1061060a57610100808354040283529160200191610635565b820191906000526020600020905b81548152906001019060200180831161061857829003601f168201915b505050505090506000815111156106e5576000838152600860205260409020805461065f906128c4565b80601f016020809104026020016040519081016040528092919081815260200182805461068b906128c4565b80156106d85780601f106106ad576101008083540402835291602001916106d8565b820191906000526020600020905b8154815290600101906020018083116106bb57829003601f168201915b505050505091505061049e565b6106ee83610fbe565b91505061049e565b50919050565b60076020526000908152604090205481565b610716610f8a565b6001600160a01b0316856001600160a01b0316148061073c575061073c856103d9610f8a565b6107585760405162461bcd60e51b815260040161042c90612528565b6107658585858585611052565b5050505050565b6000610776610f8a565b6001600160a01b0316610787610c22565b6001600160a01b0316146107ad5760405162461bcd60e51b815260040161042c9061264e565b6107b685610fa1565b156107d35760405162461bcd60e51b815260040161042c90612304565b6107db610f8a565b600086815260066020526040902080546001600160a01b0319166001600160a01b0392909216919091179055825115610867576000858152600860209081526040909120845161082d928601906119e1565b50847f6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b8460405161085e919061229d565b60405180910390a25b61087386868685611223565b505050600082815260076020526040902055919050565b81610893610f8a565b6000828152600660205260409020546001600160a01b039081169116146108cc5760405162461bcd60e51b815260040161042c906127ea565b600083815260086020908152604090912083516108eb928501906119e1565b50827f6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b8360405161091c919061229d565b60405180910390a2505050565b6060815183511461094c5760405162461bcd60e51b815260040161042c90612718565b600083516001600160401b0381111561097557634e487b7160e01b600052604160045260246000fd5b60405190808252806020026020018201604052801561099e578160200160208202803683370190505b50905060005b8451811015610a4057610a058582815181106109d057634e487b7160e01b600052603260045260246000fd5b60200260200101518583815181106109f857634e487b7160e01b600052603260045260246000fd5b6020026020010151610404565b828281518110610a2557634e487b7160e01b600052603260045260246000fd5b6020908102919091010152610a3981612925565b90506109a4565b509392505050565b600061049b82610fa1565b6005546000906001600160a01b03163314610a805760405162461bcd60e51b815260040161042c90612383565b610a8985610fa1565b15610aa65760405162461bcd60e51b815260040161042c90612304565b600085815260066020526040902080546001600160a01b0319166001600160a01b038816179055825115610867576000858152600860209081526040909120845161082d928601906119e1565b6005546001600160a01b031681565b610b0a610f8a565b6001600160a01b0316610b1b610c22565b6001600160a01b031614610b415760405162461bcd60e51b815260040161042c9061264e565b610b4b6000611312565b565b82610b56610f8a565b6000828152600660205260409020546001600160a01b03908116911614610b8f5760405162461bcd60e51b815260040161042c906127ea565b610b9b85858585611223565b600084815260076020526040902054610bb49084611364565b6000948552600760205260409094209390935550505050565b6005546001600160a01b03163314610bf75760405162461bcd60e51b815260040161042c9061260a565b610c0384848484611370565b50505050565b600860205260009081526040902080546104fb906128c4565b6003546001600160a01b03165b90565b600a80546104fb906128c4565b610c51610c4a610f8a565b838361138c565b5050565b60005b8351811015610d46576000848281518110610c8357634e487b7160e01b600052603260045260246000fd5b60200260200101519050610c95610f8a565b6000828152600660205260409020546001600160a01b03908116911614610cce5760405162461bcd60e51b815260040161042c906123ba565b6000848381518110610cf057634e487b7160e01b600052603260045260246000fd5b60200260200101519050610d2081600760008581526020019081526020016000205461136490919063ffffffff16565b600092835260076020526040909220919091555080610d3e81612925565b915050610c58565b50610c038484848461142f565b60009081526007602052604090205490565b6006602052600090815260409020546001600160a01b031681565b6004546001600160a01b031681565b6001600160a01b038216610db55760405162461bcd60e51b815260040161042c90612683565b60005b8151811015610e0a576000828281518110610de357634e487b7160e01b600052603260045260246000fd5b60200260200101519050610df784826115b0565b5080610e0281612925565b915050610db8565b505050565b6004546001600160a01b03163314610e395760405162461bcd60e51b815260040161042c9061283b565b8451610e4c9060099060208801906119e1565b508351610e6090600a9060208701906119e1565b50610e6a83610f8e565b600580546001600160a01b0319166001600160a01b038316179055610e8e82610f03565b610765816001610c3f565b6000610ea58383611621565b9392505050565b610eb4610f8a565b6001600160a01b0316856001600160a01b03161480610eda5750610eda856103d9610f8a565b610ef65760405162461bcd60e51b815260040161042c9061249a565b610765858585858561164f565b610f0b610f8a565b6001600160a01b0316610f1c610c22565b6001600160a01b031614610f425760405162461bcd60e51b815260040161042c9061264e565b6001600160a01b038116610f685760405162461bcd60e51b815260040161042c90612454565b6104eb81611312565b6001600160e01b031981166301ffc9a760e01b14919050565b3390565b8051610c519060029060208401906119e1565b6000908152600660205260409020546001600160a01b0316151590565b606060028054610fcd906128c4565b80601f0160208091040260200160405190810160405280929190818152602001828054610ff9906128c4565b80156110465780601f1061101b57610100808354040283529160200191611046565b820191906000526020600020905b81548152906001019060200180831161102957829003601f168201915b50505050509050919050565b81518351146110735760405162461bcd60e51b815260040161042c90612761565b6001600160a01b0384166110995760405162461bcd60e51b815260040161042c906124e3565b60006110a3610f8a565b90506110b381878787878761121b565b60005b84518110156111b55760008582815181106110e157634e487b7160e01b600052603260045260246000fd5b60200260200101519050600085838151811061110d57634e487b7160e01b600052603260045260246000fd5b602090810291909101810151600084815280835260408082206001600160a01b038e16835290935291909120549091508181101561115d5760405162461bcd60e51b815260040161042c906125c0565b6000838152602081815260408083206001600160a01b038e8116855292528083208585039055908b1682528120805484929061119a9084906128ac565b92505081905550505050806111ae90612925565b90506110b6565b50846001600160a01b0316866001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051611205929190612264565b60405180910390a461121b818787878787611783565b505050505050565b6001600160a01b0384166112495760405162461bcd60e51b815260040161042c906127a9565b6000611253610f8a565b905061127481600087611265886118a8565b61126e886118a8565b8761121b565b6000848152602081815260408083206001600160a01b0389168452909152812080548592906112a49084906128ac565b92505081905550846001600160a01b031660006001600160a01b0316826001600160a01b03167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6287876040516112fb92919061287b565b60405180910390a461076581600087878787611901565b600380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000610ea582846128ac565b610c03848484846040518060200160405280600081525061164f565b816001600160a01b0316836001600160a01b031614156113be5760405162461bcd60e51b815260040161042c906126cf565b6001600160a01b0383811660008181526001602090815260408083209487168084529490915290819020805460ff1916851515179055517f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3190611422908590612292565b60405180910390a3505050565b6001600160a01b0384166114555760405162461bcd60e51b815260040161042c906127a9565b81518351146114765760405162461bcd60e51b815260040161042c90612761565b6000611480610f8a565b90506114918160008787878761121b565b60005b8451811015611548578381815181106114bd57634e487b7160e01b600052603260045260246000fd5b60200260200101516000808784815181106114e857634e487b7160e01b600052603260045260246000fd5b602002602001015181526020019081526020016000206000886001600160a01b03166001600160a01b03168152602001908152602001600020600082825461153091906128ac565b9091555081905061154081612925565b915050611494565b50846001600160a01b031660006001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051611599929190612264565b60405180910390a461076581600087878787611783565b806115b9610f8a565b6000828152600660205260409020546001600160a01b039081169116146115f25760405162461bcd60e51b815260040161042c906127ea565b50600090815260066020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205460ff1690565b6001600160a01b0384166116755760405162461bcd60e51b815260040161042c906124e3565b600061167f610f8a565b9050611690818787611265886118a8565b6000848152602081815260408083206001600160a01b038a168452909152902054838110156116d15760405162461bcd60e51b815260040161042c906125c0565b6000858152602081815260408083206001600160a01b038b811685529252808320878503905590881682528120805486929061170e9084906128ac565b92505081905550856001600160a01b0316876001600160a01b0316836001600160a01b03167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62888860405161176492919061287b565b60405180910390a461177a828888888888611901565b50505050505050565b611795846001600160a01b03166119d2565b1561121b5760405163bc197c8160e01b81526001600160a01b0385169063bc197c81906117ce90899089908890889088906004016121ae565b602060405180830381600087803b1580156117e857600080fd5b505af1925050508015611818575060408051601f3d908101601f1916820190925261181591810190611fc8565b60015b6118785761182461296c565b806308c379a0141561185e5750611839612983565b806118445750611860565b8060405162461bcd60e51b815260040161042c919061229d565b505b60405162461bcd60e51b815260040161042c906122b0565b6001600160e01b0319811663bc197c8160e01b1461177a5760405162461bcd60e51b815260040161042c9061233b565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106118f057634e487b7160e01b600052603260045260246000fd5b602090810291909101015292915050565b611913846001600160a01b03166119d2565b1561121b5760405163f23a6e6160e01b81526001600160a01b0385169063f23a6e619061194c908990899088908890889060040161220c565b602060405180830381600087803b15801561196657600080fd5b505af1925050508015611996575060408051601f3d908101601f1916820190925261199391810190611fc8565b60015b6119a25761182461296c565b6001600160e01b0319811663f23a6e6160e01b1461177a5760405162461bcd60e51b815260040161042c9061233b565b6001600160a01b03163b151590565b8280546119ed906128c4565b90600052602060002090601f016020900481019282611a0f5760008555611a55565b82601f10611a2857805160ff1916838001178555611a55565b82800160010185558215611a55579182015b82811115611a55578251825591602001919060010190611a3a565b50611a61929150611a65565b5090565b5b80821115611a615760008155600101611a66565b80356001600160a01b038116811461049e57600080fd5b600082601f830112611aa1578081fd5b81356020611aae82612889565b604051611abb82826128f9565b838152828101915085830183850287018401881015611ad8578586fd5b855b85811015611af657813584529284019290840190600101611ada565b5090979650505050505050565b600082601f830112611b13578081fd5b81356001600160401b03811115611b2c57611b2c612956565b604051611b43601f8301601f1916602001826128f9565b818152846020838601011115611b57578283fd5b816020850160208301379081016020019190915292915050565b600060208284031215611b82578081fd5b610ea582611a7a565b60008060408385031215611b9d578081fd5b611ba683611a7a565b9150611bb460208401611a7a565b90509250929050565b600080600080600060a08688031215611bd4578081fd5b611bdd86611a7a565b9450611beb60208701611a7a565b935060408601356001600160401b0380821115611c06578283fd5b611c1289838a01611a91565b94506060880135915080821115611c27578283fd5b611c3389838a01611a91565b93506080880135915080821115611c48578283fd5b50611c5588828901611b03565b9150509295509295909350565b60008060008060808587031215611c77578384fd5b611c8085611a7a565b9350611c8e60208601611a7a565b93969395505050506040820135916060013590565b600080600080600060a08688031215611cba578081fd5b611cc386611a7a565b9450611cd160208701611a7a565b9350604086013592506060860135915060808601356001600160401b03811115611cf9578182fd5b611c5588828901611b03565b60008060408385031215611d17578182fd5b611d2083611a7a565b915060208301356001600160401b03811115611d3a578182fd5b611d4685828601611a91565b9150509250929050565b60008060008060808587031215611d65578384fd5b611d6e85611a7a565b935060208501356001600160401b0380821115611d89578485fd5b611d9588838901611a91565b94506040870135915080821115611daa578384fd5b611db688838901611a91565b93506060870135915080821115611dcb578283fd5b50611dd887828801611b03565b91505092959194509250565b60008060408385031215611df6578182fd5b611dff83611a7a565b915060208301358015158114611e13578182fd5b809150509250929050565b60008060408385031215611e30578182fd5b611e3983611a7a565b946020939093013593505050565b60008060008060808587031215611e5c578182fd5b611e6585611a7a565b9350602085013592506040850135915060608501356001600160401b03811115611e8d578182fd5b611dd887828801611b03565b600080600080600060a08688031215611eb0578283fd5b611eb986611a7a565b9450602086013593506040860135925060608601356001600160401b0380821115611ee2578283fd5b611c3389838a01611b03565b60008060408385031215611f00578182fd5b82356001600160401b0380821115611f16578384fd5b818501915085601f830112611f29578384fd5b81356020611f3682612889565b604051611f4382826128f9565b8381528281019150858301838502870184018b1015611f60578889fd5b8896505b84871015611f8957611f7581611a7a565b835260019690960195918301918301611f64565b5096505086013592505080821115611f9f578283fd5b50611d4685828601611a91565b600060208284031215611fbd578081fd5b8135610ea581612a14565b600060208284031215611fd9578081fd5b8151610ea581612a14565b600060208284031215611ff5578081fd5b81356001600160401b0381111561200a578182fd5b61201684828501611b03565b949350505050565b600080600080600060a08688031215612035578283fd5b85356001600160401b038082111561204b578485fd5b61205789838a01611b03565b9650602088013591508082111561206c578485fd5b61207889838a01611b03565b9550604088013591508082111561208d578485fd5b5061209a88828901611b03565b9350506120a960608701611a7a565b91506120b760808701611a7a565b90509295509295909350565b6000602082840312156120d4578081fd5b5035919050565b600080604083850312156120ed578182fd5b8235915060208301356001600160401b03811115612109578182fd5b611d4685828601611b03565b6000815180845260208085019450808401835b8381101561214457815187529582019590820190600101612128565b509495945050505050565b60008151808452815b8181101561217457602081850181015186830182015201612158565b818111156121855782602083870101525b50601f01601f19169290920160200192915050565b6001600160a01b0391909116815260200190565b6001600160a01b0386811682528516602082015260a0604082018190526000906121da90830186612115565b82810360608401526121ec8186612115565b90508281036080840152612200818561214f565b98975050505050505050565b6001600160a01b03868116825285166020820152604081018490526060810183905260a0608082018190526000906122469083018461214f565b979650505050505050565b600060208252610ea56020830184612115565b6000604082526122776040830185612115565b82810360208401526122898185612115565b95945050505050565b901515815260200190565b600060208252610ea5602083018461214f565b60208082526034908201527f455243313135353a207472616e7366657220746f206e6f6e20455243313135356040820152732932b1b2b4bb32b91034b6b83632b6b2b73a32b960611b606082015260800190565b60208082526018908201527f746f6b656e205f696420616c7265616479206578697374730000000000000000604082015260600190565b60208082526028908201527f455243313135353a204552433131353552656365697665722072656a656374656040820152676420746f6b656e7360c01b606082015260800190565b6020808252601d908201527f43616e6e6f742063616c6c6564206279206e6f74206f70657261746f72000000604082015260600190565b6020808252602f908201527f455243313135355472616461626c652362617463684d696e743a204f4e4c595f60408201526e10d491505513d497d0531313d5d151608a1b606082015260800190565b6020808252602b908201527f455243313135353a2062616c616e636520717565727920666f7220746865207a60408201526a65726f206164647265737360a81b606082015260800190565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201526564647265737360d01b606082015260800190565b60208082526029908201527f455243313135353a2063616c6c6572206973206e6f74206f776e6572206e6f7260408201526808185c1c1c9bdd995960ba1b606082015260800190565b60208082526025908201527f455243313135353a207472616e7366657220746f20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526032908201527f455243313135353a207472616e736665722063616c6c6572206973206e6f74206040820152711bdddb995c881b9bdc88185c1c1c9bdd995960721b606082015260800190565b60208082526026908201527f455243313135355472616461626c65237572693a204e4f4e4558495354454e546040820152652faa27a5a2a760d11b606082015260800190565b6020808252602a908201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60408201526939103a3930b739b332b960b11b606082015260800190565b60208082526024908201527f4f7065726174726f6e206f6e6c792063616e2075736520746869732066756e636040820152633a34b7b760e11b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252602c908201527f455243313135355472616461626c652373657443726561746f723a20494e564160408201526b2624a22fa0a2222922a9a99760a11b606082015260800190565b60208082526029908201527f455243313135353a2073657474696e6720617070726f76616c20737461747573604082015268103337b91039b2b63360b91b606082015260800190565b60208082526029908201527f455243313135353a206163636f756e747320616e6420696473206c656e677468604082015268040dad2e6dac2e8c6d60bb1b606082015260800190565b60208082526028908201527f455243313135353a2069647320616e6420616d6f756e7473206c656e677468206040820152670dad2e6dac2e8c6d60c31b606082015260800190565b60208082526021908201527f455243313135353a206d696e7420746f20746865207a65726f206164647265736040820152607360f81b606082015260800190565b60208082526031908201527f455243313135355472616461626c652363726561746f724f6e6c793a204f4e4c6040820152701657d0d491505513d497d0531313d5d151607a1b606082015260800190565b6020808252601d908201527f455243313135353a20494e495449414c495a4520464f5242494444454e000000604082015260600190565b90815260200190565b918252602082015260400190565b60006001600160401b038211156128a2576128a2612956565b5060209081020190565b600082198211156128bf576128bf612940565b500190565b6002810460018216806128d857607f821691505b602082108114156106f657634e487b7160e01b600052602260045260246000fd5b601f8201601f191681016001600160401b038111828210171561291e5761291e612956565b6040525050565b600060001982141561293957612939612940565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b600060033d1115610c2f57600481823e5160e01c90565b600060443d101561299357610c2f565b6040516003193d81016004833e81513d6001600160401b0381602484011181841117156129c4575050505050610c2f565b82850191508151818111156129de57505050505050610c2f565b843d87010160208285010111156129fa57505050505050610c2f565b612a09602082860101876128f9565b509094505050505090565b6001600160e01b0319811681146104eb57600080fdfea2646970667358221220f78e3718344884bd7316b6a520c284da62c9c926c0b9bc9b54ccad0bffa695d364736f6c63430008010033",
- }
- // MetaRareERC1155CollectionABI is the input ABI used to generate the binding from.
- // Deprecated: Use MetaRareERC1155CollectionMetaData.ABI instead.
- var MetaRareERC1155CollectionABI = MetaRareERC1155CollectionMetaData.ABI
- // Deprecated: Use MetaRareERC1155CollectionMetaData.Sigs instead.
- // MetaRareERC1155CollectionFuncSigs maps the 4-byte function signature to its string representation.
- var MetaRareERC1155CollectionFuncSigs = MetaRareERC1155CollectionMetaData.Sigs
- // MetaRareERC1155CollectionBin is the compiled bytecode used for deploying new contracts.
- // Deprecated: Use MetaRareERC1155CollectionMetaData.Bin instead.
- var MetaRareERC1155CollectionBin = MetaRareERC1155CollectionMetaData.Bin
- // DeployMetaRareERC1155Collection deploys a new Ethereum contract, binding an instance of MetaRareERC1155Collection to it.
- func DeployMetaRareERC1155Collection(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *MetaRareERC1155Collection, error) {
- parsed, err := MetaRareERC1155CollectionMetaData.GetAbi()
- if err != nil {
- return common.Address{}, nil, nil, err
- }
- if parsed == nil {
- return common.Address{}, nil, nil, errors.New("GetABI returned nil")
- }
- address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(MetaRareERC1155CollectionBin), backend)
- if err != nil {
- return common.Address{}, nil, nil, err
- }
- return address, tx, &MetaRareERC1155Collection{MetaRareERC1155CollectionCaller: MetaRareERC1155CollectionCaller{contract: contract}, MetaRareERC1155CollectionTransactor: MetaRareERC1155CollectionTransactor{contract: contract}, MetaRareERC1155CollectionFilterer: MetaRareERC1155CollectionFilterer{contract: contract}}, nil
- }
- // MetaRareERC1155Collection is an auto generated Go binding around an Ethereum contract.
- type MetaRareERC1155Collection struct {
- MetaRareERC1155CollectionCaller // Read-only binding to the contract
- MetaRareERC1155CollectionTransactor // Write-only binding to the contract
- MetaRareERC1155CollectionFilterer // Log filterer for contract events
- }
- // MetaRareERC1155CollectionCaller is an auto generated read-only Go binding around an Ethereum contract.
- type MetaRareERC1155CollectionCaller struct {
- contract *bind.BoundContract // Generic contract wrapper for the low level calls
- }
- // MetaRareERC1155CollectionTransactor is an auto generated write-only Go binding around an Ethereum contract.
- type MetaRareERC1155CollectionTransactor struct {
- contract *bind.BoundContract // Generic contract wrapper for the low level calls
- }
- // MetaRareERC1155CollectionFilterer is an auto generated log filtering Go binding around an Ethereum contract events.
- type MetaRareERC1155CollectionFilterer struct {
- contract *bind.BoundContract // Generic contract wrapper for the low level calls
- }
- // MetaRareERC1155CollectionSession is an auto generated Go binding around an Ethereum contract,
- // with pre-set call and transact options.
- type MetaRareERC1155CollectionSession struct {
- Contract *MetaRareERC1155Collection // Generic contract binding to set the session for
- CallOpts bind.CallOpts // Call options to use throughout this session
- TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
- }
- // MetaRareERC1155CollectionCallerSession is an auto generated read-only Go binding around an Ethereum contract,
- // with pre-set call options.
- type MetaRareERC1155CollectionCallerSession struct {
- Contract *MetaRareERC1155CollectionCaller // Generic contract caller binding to set the session for
- CallOpts bind.CallOpts // Call options to use throughout this session
- }
- // MetaRareERC1155CollectionTransactorSession is an auto generated write-only Go binding around an Ethereum contract,
- // with pre-set transact options.
- type MetaRareERC1155CollectionTransactorSession struct {
- Contract *MetaRareERC1155CollectionTransactor // Generic contract transactor binding to set the session for
- TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
- }
- // MetaRareERC1155CollectionRaw is an auto generated low-level Go binding around an Ethereum contract.
- type MetaRareERC1155CollectionRaw struct {
- Contract *MetaRareERC1155Collection // Generic contract binding to access the raw methods on
- }
- // MetaRareERC1155CollectionCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
- type MetaRareERC1155CollectionCallerRaw struct {
- Contract *MetaRareERC1155CollectionCaller // Generic read-only contract binding to access the raw methods on
- }
- // MetaRareERC1155CollectionTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
- type MetaRareERC1155CollectionTransactorRaw struct {
- Contract *MetaRareERC1155CollectionTransactor // Generic write-only contract binding to access the raw methods on
- }
- // NewMetaRareERC1155Collection creates a new instance of MetaRareERC1155Collection, bound to a specific deployed contract.
- func NewMetaRareERC1155Collection(address common.Address, backend bind.ContractBackend) (*MetaRareERC1155Collection, error) {
- contract, err := bindMetaRareERC1155Collection(address, backend, backend, backend)
- if err != nil {
- return nil, err
- }
- return &MetaRareERC1155Collection{MetaRareERC1155CollectionCaller: MetaRareERC1155CollectionCaller{contract: contract}, MetaRareERC1155CollectionTransactor: MetaRareERC1155CollectionTransactor{contract: contract}, MetaRareERC1155CollectionFilterer: MetaRareERC1155CollectionFilterer{contract: contract}}, nil
- }
- // NewMetaRareERC1155CollectionCaller creates a new read-only instance of MetaRareERC1155Collection, bound to a specific deployed contract.
- func NewMetaRareERC1155CollectionCaller(address common.Address, caller bind.ContractCaller) (*MetaRareERC1155CollectionCaller, error) {
- contract, err := bindMetaRareERC1155Collection(address, caller, nil, nil)
- if err != nil {
- return nil, err
- }
- return &MetaRareERC1155CollectionCaller{contract: contract}, nil
- }
- // NewMetaRareERC1155CollectionTransactor creates a new write-only instance of MetaRareERC1155Collection, bound to a specific deployed contract.
- func NewMetaRareERC1155CollectionTransactor(address common.Address, transactor bind.ContractTransactor) (*MetaRareERC1155CollectionTransactor, error) {
- contract, err := bindMetaRareERC1155Collection(address, nil, transactor, nil)
- if err != nil {
- return nil, err
- }
- return &MetaRareERC1155CollectionTransactor{contract: contract}, nil
- }
- // NewMetaRareERC1155CollectionFilterer creates a new log filterer instance of MetaRareERC1155Collection, bound to a specific deployed contract.
- func NewMetaRareERC1155CollectionFilterer(address common.Address, filterer bind.ContractFilterer) (*MetaRareERC1155CollectionFilterer, error) {
- contract, err := bindMetaRareERC1155Collection(address, nil, nil, filterer)
- if err != nil {
- return nil, err
- }
- return &MetaRareERC1155CollectionFilterer{contract: contract}, nil
- }
- // bindMetaRareERC1155Collection binds a generic wrapper to an already deployed contract.
- func bindMetaRareERC1155Collection(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
- parsed, err := abi.JSON(strings.NewReader(MetaRareERC1155CollectionABI))
- if err != nil {
- return nil, err
- }
- return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil
- }
- // Call invokes the (constant) contract method with params as input values and
- // sets the output to result. The result type might be a single field for simple
- // returns, a slice of interfaces for anonymous returns and a struct for named
- // returns.
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
- return _MetaRareERC1155Collection.Contract.MetaRareERC1155CollectionCaller.contract.Call(opts, result, method, params...)
- }
- // Transfer initiates a plain transaction to move funds to the contract, calling
- // its default method if one is available.
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
- return _MetaRareERC1155Collection.Contract.MetaRareERC1155CollectionTransactor.contract.Transfer(opts)
- }
- // Transact invokes the (paid) contract method with params as input values.
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
- return _MetaRareERC1155Collection.Contract.MetaRareERC1155CollectionTransactor.contract.Transact(opts, method, params...)
- }
- // Call invokes the (constant) contract method with params as input values and
- // sets the output to result. The result type might be a single field for simple
- // returns, a slice of interfaces for anonymous returns and a struct for named
- // returns.
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
- return _MetaRareERC1155Collection.Contract.contract.Call(opts, result, method, params...)
- }
- // Transfer initiates a plain transaction to move funds to the contract, calling
- // its default method if one is available.
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
- return _MetaRareERC1155Collection.Contract.contract.Transfer(opts)
- }
- // Transact invokes the (paid) contract method with params as input values.
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
- return _MetaRareERC1155Collection.Contract.contract.Transact(opts, method, params...)
- }
- // MetaRareOperator is a free data retrieval call binding the contract method 0x6585690d.
- //
- // Solidity: function MetaRareOperator() view returns(address)
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionCaller) MetaRareOperator(opts *bind.CallOpts) (common.Address, error) {
- var out []interface{}
- err := _MetaRareERC1155Collection.contract.Call(opts, &out, "MetaRareOperator")
- if err != nil {
- return *new(common.Address), err
- }
- out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
- return out0, err
- }
- // MetaRareOperator is a free data retrieval call binding the contract method 0x6585690d.
- //
- // Solidity: function MetaRareOperator() view returns(address)
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionSession) MetaRareOperator() (common.Address, error) {
- return _MetaRareERC1155Collection.Contract.MetaRareOperator(&_MetaRareERC1155Collection.CallOpts)
- }
- // MetaRareOperator is a free data retrieval call binding the contract method 0x6585690d.
- //
- // Solidity: function MetaRareOperator() view returns(address)
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionCallerSession) MetaRareOperator() (common.Address, error) {
- return _MetaRareERC1155Collection.Contract.MetaRareOperator(&_MetaRareERC1155Collection.CallOpts)
- }
- // BalanceOf is a free data retrieval call binding the contract method 0x00fdd58e.
- //
- // Solidity: function balanceOf(address account, uint256 id) view returns(uint256)
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionCaller) BalanceOf(opts *bind.CallOpts, account common.Address, id *big.Int) (*big.Int, error) {
- var out []interface{}
- err := _MetaRareERC1155Collection.contract.Call(opts, &out, "balanceOf", account, id)
- if err != nil {
- return *new(*big.Int), err
- }
- out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
- return out0, err
- }
- // BalanceOf is a free data retrieval call binding the contract method 0x00fdd58e.
- //
- // Solidity: function balanceOf(address account, uint256 id) view returns(uint256)
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionSession) BalanceOf(account common.Address, id *big.Int) (*big.Int, error) {
- return _MetaRareERC1155Collection.Contract.BalanceOf(&_MetaRareERC1155Collection.CallOpts, account, id)
- }
- // BalanceOf is a free data retrieval call binding the contract method 0x00fdd58e.
- //
- // Solidity: function balanceOf(address account, uint256 id) view returns(uint256)
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionCallerSession) BalanceOf(account common.Address, id *big.Int) (*big.Int, error) {
- return _MetaRareERC1155Collection.Contract.BalanceOf(&_MetaRareERC1155Collection.CallOpts, account, id)
- }
- // BalanceOfBatch is a free data retrieval call binding the contract method 0x4e1273f4.
- //
- // Solidity: function balanceOfBatch(address[] accounts, uint256[] ids) view returns(uint256[])
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionCaller) BalanceOfBatch(opts *bind.CallOpts, accounts []common.Address, ids []*big.Int) ([]*big.Int, error) {
- var out []interface{}
- err := _MetaRareERC1155Collection.contract.Call(opts, &out, "balanceOfBatch", accounts, ids)
- if err != nil {
- return *new([]*big.Int), err
- }
- out0 := *abi.ConvertType(out[0], new([]*big.Int)).(*[]*big.Int)
- return out0, err
- }
- // BalanceOfBatch is a free data retrieval call binding the contract method 0x4e1273f4.
- //
- // Solidity: function balanceOfBatch(address[] accounts, uint256[] ids) view returns(uint256[])
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionSession) BalanceOfBatch(accounts []common.Address, ids []*big.Int) ([]*big.Int, error) {
- return _MetaRareERC1155Collection.Contract.BalanceOfBatch(&_MetaRareERC1155Collection.CallOpts, accounts, ids)
- }
- // BalanceOfBatch is a free data retrieval call binding the contract method 0x4e1273f4.
- //
- // Solidity: function balanceOfBatch(address[] accounts, uint256[] ids) view returns(uint256[])
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionCallerSession) BalanceOfBatch(accounts []common.Address, ids []*big.Int) ([]*big.Int, error) {
- return _MetaRareERC1155Collection.Contract.BalanceOfBatch(&_MetaRareERC1155Collection.CallOpts, accounts, ids)
- }
- // CollectionFactory is a free data retrieval call binding the contract method 0xcf25a2fd.
- //
- // Solidity: function collectionFactory() view returns(address)
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionCaller) CollectionFactory(opts *bind.CallOpts) (common.Address, error) {
- var out []interface{}
- err := _MetaRareERC1155Collection.contract.Call(opts, &out, "collectionFactory")
- if err != nil {
- return *new(common.Address), err
- }
- out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
- return out0, err
- }
- // CollectionFactory is a free data retrieval call binding the contract method 0xcf25a2fd.
- //
- // Solidity: function collectionFactory() view returns(address)
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionSession) CollectionFactory() (common.Address, error) {
- return _MetaRareERC1155Collection.Contract.CollectionFactory(&_MetaRareERC1155Collection.CallOpts)
- }
- // CollectionFactory is a free data retrieval call binding the contract method 0xcf25a2fd.
- //
- // Solidity: function collectionFactory() view returns(address)
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionCallerSession) CollectionFactory() (common.Address, error) {
- return _MetaRareERC1155Collection.Contract.CollectionFactory(&_MetaRareERC1155Collection.CallOpts)
- }
- // Creators is a free data retrieval call binding the contract method 0xcd53d08e.
- //
- // Solidity: function creators(uint256 ) view returns(address)
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionCaller) Creators(opts *bind.CallOpts, arg0 *big.Int) (common.Address, error) {
- var out []interface{}
- err := _MetaRareERC1155Collection.contract.Call(opts, &out, "creators", arg0)
- if err != nil {
- return *new(common.Address), err
- }
- out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
- return out0, err
- }
- // Creators is a free data retrieval call binding the contract method 0xcd53d08e.
- //
- // Solidity: function creators(uint256 ) view returns(address)
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionSession) Creators(arg0 *big.Int) (common.Address, error) {
- return _MetaRareERC1155Collection.Contract.Creators(&_MetaRareERC1155Collection.CallOpts, arg0)
- }
- // Creators is a free data retrieval call binding the contract method 0xcd53d08e.
- //
- // Solidity: function creators(uint256 ) view returns(address)
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionCallerSession) Creators(arg0 *big.Int) (common.Address, error) {
- return _MetaRareERC1155Collection.Contract.Creators(&_MetaRareERC1155Collection.CallOpts, arg0)
- }
- // CustomUri is a free data retrieval call binding the contract method 0x8a28a5a2.
- //
- // Solidity: function customUri(uint256 ) view returns(string)
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionCaller) CustomUri(opts *bind.CallOpts, arg0 *big.Int) (string, error) {
- var out []interface{}
- err := _MetaRareERC1155Collection.contract.Call(opts, &out, "customUri", arg0)
- if err != nil {
- return *new(string), err
- }
- out0 := *abi.ConvertType(out[0], new(string)).(*string)
- return out0, err
- }
- // CustomUri is a free data retrieval call binding the contract method 0x8a28a5a2.
- //
- // Solidity: function customUri(uint256 ) view returns(string)
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionSession) CustomUri(arg0 *big.Int) (string, error) {
- return _MetaRareERC1155Collection.Contract.CustomUri(&_MetaRareERC1155Collection.CallOpts, arg0)
- }
- // CustomUri is a free data retrieval call binding the contract method 0x8a28a5a2.
- //
- // Solidity: function customUri(uint256 ) view returns(string)
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionCallerSession) CustomUri(arg0 *big.Int) (string, error) {
- return _MetaRareERC1155Collection.Contract.CustomUri(&_MetaRareERC1155Collection.CallOpts, arg0)
- }
- // Exists is a free data retrieval call binding the contract method 0x4f558e79.
- //
- // Solidity: function exists(uint256 _id) view returns(bool)
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionCaller) Exists(opts *bind.CallOpts, _id *big.Int) (bool, error) {
- var out []interface{}
- err := _MetaRareERC1155Collection.contract.Call(opts, &out, "exists", _id)
- if err != nil {
- return *new(bool), err
- }
- out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
- return out0, err
- }
- // Exists is a free data retrieval call binding the contract method 0x4f558e79.
- //
- // Solidity: function exists(uint256 _id) view returns(bool)
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionSession) Exists(_id *big.Int) (bool, error) {
- return _MetaRareERC1155Collection.Contract.Exists(&_MetaRareERC1155Collection.CallOpts, _id)
- }
- // Exists is a free data retrieval call binding the contract method 0x4f558e79.
- //
- // Solidity: function exists(uint256 _id) view returns(bool)
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionCallerSession) Exists(_id *big.Int) (bool, error) {
- return _MetaRareERC1155Collection.Contract.Exists(&_MetaRareERC1155Collection.CallOpts, _id)
- }
- // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5.
- //
- // Solidity: function isApprovedForAll(address _owner, address _operator) view returns(bool isOperator)
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionCaller) IsApprovedForAll(opts *bind.CallOpts, _owner common.Address, _operator common.Address) (bool, error) {
- var out []interface{}
- err := _MetaRareERC1155Collection.contract.Call(opts, &out, "isApprovedForAll", _owner, _operator)
- if err != nil {
- return *new(bool), err
- }
- out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
- return out0, err
- }
- // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5.
- //
- // Solidity: function isApprovedForAll(address _owner, address _operator) view returns(bool isOperator)
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionSession) IsApprovedForAll(_owner common.Address, _operator common.Address) (bool, error) {
- return _MetaRareERC1155Collection.Contract.IsApprovedForAll(&_MetaRareERC1155Collection.CallOpts, _owner, _operator)
- }
- // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5.
- //
- // Solidity: function isApprovedForAll(address _owner, address _operator) view returns(bool isOperator)
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionCallerSession) IsApprovedForAll(_owner common.Address, _operator common.Address) (bool, error) {
- return _MetaRareERC1155Collection.Contract.IsApprovedForAll(&_MetaRareERC1155Collection.CallOpts, _owner, _operator)
- }
- // Name is a free data retrieval call binding the contract method 0x06fdde03.
- //
- // Solidity: function name() view returns(string)
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionCaller) Name(opts *bind.CallOpts) (string, error) {
- var out []interface{}
- err := _MetaRareERC1155Collection.contract.Call(opts, &out, "name")
- if err != nil {
- return *new(string), err
- }
- out0 := *abi.ConvertType(out[0], new(string)).(*string)
- return out0, err
- }
- // Name is a free data retrieval call binding the contract method 0x06fdde03.
- //
- // Solidity: function name() view returns(string)
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionSession) Name() (string, error) {
- return _MetaRareERC1155Collection.Contract.Name(&_MetaRareERC1155Collection.CallOpts)
- }
- // Name is a free data retrieval call binding the contract method 0x06fdde03.
- //
- // Solidity: function name() view returns(string)
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionCallerSession) Name() (string, error) {
- return _MetaRareERC1155Collection.Contract.Name(&_MetaRareERC1155Collection.CallOpts)
- }
- // Owner is a free data retrieval call binding the contract method 0x8da5cb5b.
- //
- // Solidity: function owner() view returns(address)
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionCaller) Owner(opts *bind.CallOpts) (common.Address, error) {
- var out []interface{}
- err := _MetaRareERC1155Collection.contract.Call(opts, &out, "owner")
- if err != nil {
- return *new(common.Address), err
- }
- out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
- return out0, err
- }
- // Owner is a free data retrieval call binding the contract method 0x8da5cb5b.
- //
- // Solidity: function owner() view returns(address)
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionSession) Owner() (common.Address, error) {
- return _MetaRareERC1155Collection.Contract.Owner(&_MetaRareERC1155Collection.CallOpts)
- }
- // Owner is a free data retrieval call binding the contract method 0x8da5cb5b.
- //
- // Solidity: function owner() view returns(address)
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionCallerSession) Owner() (common.Address, error) {
- return _MetaRareERC1155Collection.Contract.Owner(&_MetaRareERC1155Collection.CallOpts)
- }
- // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
- //
- // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionCaller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) {
- var out []interface{}
- err := _MetaRareERC1155Collection.contract.Call(opts, &out, "supportsInterface", interfaceId)
- if err != nil {
- return *new(bool), err
- }
- out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
- return out0, err
- }
- // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
- //
- // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionSession) SupportsInterface(interfaceId [4]byte) (bool, error) {
- return _MetaRareERC1155Collection.Contract.SupportsInterface(&_MetaRareERC1155Collection.CallOpts, interfaceId)
- }
- // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
- //
- // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionCallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) {
- return _MetaRareERC1155Collection.Contract.SupportsInterface(&_MetaRareERC1155Collection.CallOpts, interfaceId)
- }
- // Symbol is a free data retrieval call binding the contract method 0x95d89b41.
- //
- // Solidity: function symbol() view returns(string)
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionCaller) Symbol(opts *bind.CallOpts) (string, error) {
- var out []interface{}
- err := _MetaRareERC1155Collection.contract.Call(opts, &out, "symbol")
- if err != nil {
- return *new(string), err
- }
- out0 := *abi.ConvertType(out[0], new(string)).(*string)
- return out0, err
- }
- // Symbol is a free data retrieval call binding the contract method 0x95d89b41.
- //
- // Solidity: function symbol() view returns(string)
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionSession) Symbol() (string, error) {
- return _MetaRareERC1155Collection.Contract.Symbol(&_MetaRareERC1155Collection.CallOpts)
- }
- // Symbol is a free data retrieval call binding the contract method 0x95d89b41.
- //
- // Solidity: function symbol() view returns(string)
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionCallerSession) Symbol() (string, error) {
- return _MetaRareERC1155Collection.Contract.Symbol(&_MetaRareERC1155Collection.CallOpts)
- }
- // TokenSupply is a free data retrieval call binding the contract method 0x2693ebf2.
- //
- // Solidity: function tokenSupply(uint256 ) view returns(uint256)
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionCaller) TokenSupply(opts *bind.CallOpts, arg0 *big.Int) (*big.Int, error) {
- var out []interface{}
- err := _MetaRareERC1155Collection.contract.Call(opts, &out, "tokenSupply", arg0)
- if err != nil {
- return *new(*big.Int), err
- }
- out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
- return out0, err
- }
- // TokenSupply is a free data retrieval call binding the contract method 0x2693ebf2.
- //
- // Solidity: function tokenSupply(uint256 ) view returns(uint256)
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionSession) TokenSupply(arg0 *big.Int) (*big.Int, error) {
- return _MetaRareERC1155Collection.Contract.TokenSupply(&_MetaRareERC1155Collection.CallOpts, arg0)
- }
- // TokenSupply is a free data retrieval call binding the contract method 0x2693ebf2.
- //
- // Solidity: function tokenSupply(uint256 ) view returns(uint256)
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionCallerSession) TokenSupply(arg0 *big.Int) (*big.Int, error) {
- return _MetaRareERC1155Collection.Contract.TokenSupply(&_MetaRareERC1155Collection.CallOpts, arg0)
- }
- // TotalSupply is a free data retrieval call binding the contract method 0xbd85b039.
- //
- // Solidity: function totalSupply(uint256 _id) view returns(uint256)
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionCaller) TotalSupply(opts *bind.CallOpts, _id *big.Int) (*big.Int, error) {
- var out []interface{}
- err := _MetaRareERC1155Collection.contract.Call(opts, &out, "totalSupply", _id)
- if err != nil {
- return *new(*big.Int), err
- }
- out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
- return out0, err
- }
- // TotalSupply is a free data retrieval call binding the contract method 0xbd85b039.
- //
- // Solidity: function totalSupply(uint256 _id) view returns(uint256)
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionSession) TotalSupply(_id *big.Int) (*big.Int, error) {
- return _MetaRareERC1155Collection.Contract.TotalSupply(&_MetaRareERC1155Collection.CallOpts, _id)
- }
- // TotalSupply is a free data retrieval call binding the contract method 0xbd85b039.
- //
- // Solidity: function totalSupply(uint256 _id) view returns(uint256)
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionCallerSession) TotalSupply(_id *big.Int) (*big.Int, error) {
- return _MetaRareERC1155Collection.Contract.TotalSupply(&_MetaRareERC1155Collection.CallOpts, _id)
- }
- // Uri is a free data retrieval call binding the contract method 0x0e89341c.
- //
- // Solidity: function uri(uint256 _id) view returns(string)
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionCaller) Uri(opts *bind.CallOpts, _id *big.Int) (string, error) {
- var out []interface{}
- err := _MetaRareERC1155Collection.contract.Call(opts, &out, "uri", _id)
- if err != nil {
- return *new(string), err
- }
- out0 := *abi.ConvertType(out[0], new(string)).(*string)
- return out0, err
- }
- // Uri is a free data retrieval call binding the contract method 0x0e89341c.
- //
- // Solidity: function uri(uint256 _id) view returns(string)
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionSession) Uri(_id *big.Int) (string, error) {
- return _MetaRareERC1155Collection.Contract.Uri(&_MetaRareERC1155Collection.CallOpts, _id)
- }
- // Uri is a free data retrieval call binding the contract method 0x0e89341c.
- //
- // Solidity: function uri(uint256 _id) view returns(string)
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionCallerSession) Uri(_id *big.Int) (string, error) {
- return _MetaRareERC1155Collection.Contract.Uri(&_MetaRareERC1155Collection.CallOpts, _id)
- }
- // BatchMint is a paid mutator transaction binding the contract method 0xb48ab8b6.
- //
- // Solidity: function batchMint(address _to, uint256[] _ids, uint256[] _quantities, bytes _data) returns()
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionTransactor) BatchMint(opts *bind.TransactOpts, _to common.Address, _ids []*big.Int, _quantities []*big.Int, _data []byte) (*types.Transaction, error) {
- return _MetaRareERC1155Collection.contract.Transact(opts, "batchMint", _to, _ids, _quantities, _data)
- }
- // BatchMint is a paid mutator transaction binding the contract method 0xb48ab8b6.
- //
- // Solidity: function batchMint(address _to, uint256[] _ids, uint256[] _quantities, bytes _data) returns()
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionSession) BatchMint(_to common.Address, _ids []*big.Int, _quantities []*big.Int, _data []byte) (*types.Transaction, error) {
- return _MetaRareERC1155Collection.Contract.BatchMint(&_MetaRareERC1155Collection.TransactOpts, _to, _ids, _quantities, _data)
- }
- // BatchMint is a paid mutator transaction binding the contract method 0xb48ab8b6.
- //
- // Solidity: function batchMint(address _to, uint256[] _ids, uint256[] _quantities, bytes _data) returns()
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionTransactorSession) BatchMint(_to common.Address, _ids []*big.Int, _quantities []*big.Int, _data []byte) (*types.Transaction, error) {
- return _MetaRareERC1155Collection.Contract.BatchMint(&_MetaRareERC1155Collection.TransactOpts, _to, _ids, _quantities, _data)
- }
- // Create is a paid mutator transaction binding the contract method 0x36a100d5.
- //
- // Solidity: function create(address _initialOwner, uint256 _id, uint256 _initialSupply, string _uri, bytes _data) returns(uint256)
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionTransactor) Create(opts *bind.TransactOpts, _initialOwner common.Address, _id *big.Int, _initialSupply *big.Int, _uri string, _data []byte) (*types.Transaction, error) {
- return _MetaRareERC1155Collection.contract.Transact(opts, "create", _initialOwner, _id, _initialSupply, _uri, _data)
- }
- // Create is a paid mutator transaction binding the contract method 0x36a100d5.
- //
- // Solidity: function create(address _initialOwner, uint256 _id, uint256 _initialSupply, string _uri, bytes _data) returns(uint256)
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionSession) Create(_initialOwner common.Address, _id *big.Int, _initialSupply *big.Int, _uri string, _data []byte) (*types.Transaction, error) {
- return _MetaRareERC1155Collection.Contract.Create(&_MetaRareERC1155Collection.TransactOpts, _initialOwner, _id, _initialSupply, _uri, _data)
- }
- // Create is a paid mutator transaction binding the contract method 0x36a100d5.
- //
- // Solidity: function create(address _initialOwner, uint256 _id, uint256 _initialSupply, string _uri, bytes _data) returns(uint256)
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionTransactorSession) Create(_initialOwner common.Address, _id *big.Int, _initialSupply *big.Int, _uri string, _data []byte) (*types.Transaction, error) {
- return _MetaRareERC1155Collection.Contract.Create(&_MetaRareERC1155Collection.TransactOpts, _initialOwner, _id, _initialSupply, _uri, _data)
- }
- // CreateByOperator is a paid mutator transaction binding the contract method 0x61321c14.
- //
- // Solidity: function createByOperator(address _initialOwner, uint256 _id, uint256 _initialSupply, string _uri, bytes _data) returns(uint256)
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionTransactor) CreateByOperator(opts *bind.TransactOpts, _initialOwner common.Address, _id *big.Int, _initialSupply *big.Int, _uri string, _data []byte) (*types.Transaction, error) {
- return _MetaRareERC1155Collection.contract.Transact(opts, "createByOperator", _initialOwner, _id, _initialSupply, _uri, _data)
- }
- // CreateByOperator is a paid mutator transaction binding the contract method 0x61321c14.
- //
- // Solidity: function createByOperator(address _initialOwner, uint256 _id, uint256 _initialSupply, string _uri, bytes _data) returns(uint256)
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionSession) CreateByOperator(_initialOwner common.Address, _id *big.Int, _initialSupply *big.Int, _uri string, _data []byte) (*types.Transaction, error) {
- return _MetaRareERC1155Collection.Contract.CreateByOperator(&_MetaRareERC1155Collection.TransactOpts, _initialOwner, _id, _initialSupply, _uri, _data)
- }
- // CreateByOperator is a paid mutator transaction binding the contract method 0x61321c14.
- //
- // Solidity: function createByOperator(address _initialOwner, uint256 _id, uint256 _initialSupply, string _uri, bytes _data) returns(uint256)
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionTransactorSession) CreateByOperator(_initialOwner common.Address, _id *big.Int, _initialSupply *big.Int, _uri string, _data []byte) (*types.Transaction, error) {
- return _MetaRareERC1155Collection.Contract.CreateByOperator(&_MetaRareERC1155Collection.TransactOpts, _initialOwner, _id, _initialSupply, _uri, _data)
- }
- // Initialize is a paid mutator transaction binding the contract method 0xd6d0faee.
- //
- // Solidity: function initialize(string _name, string _symbol, string _uri, address collectionOwner, address operatorContract) returns()
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionTransactor) Initialize(opts *bind.TransactOpts, _name string, _symbol string, _uri string, collectionOwner common.Address, operatorContract common.Address) (*types.Transaction, error) {
- return _MetaRareERC1155Collection.contract.Transact(opts, "initialize", _name, _symbol, _uri, collectionOwner, operatorContract)
- }
- // Initialize is a paid mutator transaction binding the contract method 0xd6d0faee.
- //
- // Solidity: function initialize(string _name, string _symbol, string _uri, address collectionOwner, address operatorContract) returns()
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionSession) Initialize(_name string, _symbol string, _uri string, collectionOwner common.Address, operatorContract common.Address) (*types.Transaction, error) {
- return _MetaRareERC1155Collection.Contract.Initialize(&_MetaRareERC1155Collection.TransactOpts, _name, _symbol, _uri, collectionOwner, operatorContract)
- }
- // Initialize is a paid mutator transaction binding the contract method 0xd6d0faee.
- //
- // Solidity: function initialize(string _name, string _symbol, string _uri, address collectionOwner, address operatorContract) returns()
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionTransactorSession) Initialize(_name string, _symbol string, _uri string, collectionOwner common.Address, operatorContract common.Address) (*types.Transaction, error) {
- return _MetaRareERC1155Collection.Contract.Initialize(&_MetaRareERC1155Collection.TransactOpts, _name, _symbol, _uri, collectionOwner, operatorContract)
- }
- // Mint is a paid mutator transaction binding the contract method 0x731133e9.
- //
- // Solidity: function mint(address _to, uint256 _id, uint256 _quantity, bytes _data) returns()
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionTransactor) Mint(opts *bind.TransactOpts, _to common.Address, _id *big.Int, _quantity *big.Int, _data []byte) (*types.Transaction, error) {
- return _MetaRareERC1155Collection.contract.Transact(opts, "mint", _to, _id, _quantity, _data)
- }
- // Mint is a paid mutator transaction binding the contract method 0x731133e9.
- //
- // Solidity: function mint(address _to, uint256 _id, uint256 _quantity, bytes _data) returns()
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionSession) Mint(_to common.Address, _id *big.Int, _quantity *big.Int, _data []byte) (*types.Transaction, error) {
- return _MetaRareERC1155Collection.Contract.Mint(&_MetaRareERC1155Collection.TransactOpts, _to, _id, _quantity, _data)
- }
- // Mint is a paid mutator transaction binding the contract method 0x731133e9.
- //
- // Solidity: function mint(address _to, uint256 _id, uint256 _quantity, bytes _data) returns()
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionTransactorSession) Mint(_to common.Address, _id *big.Int, _quantity *big.Int, _data []byte) (*types.Transaction, error) {
- return _MetaRareERC1155Collection.Contract.Mint(&_MetaRareERC1155Collection.TransactOpts, _to, _id, _quantity, _data)
- }
- // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6.
- //
- // Solidity: function renounceOwnership() returns()
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionTransactor) RenounceOwnership(opts *bind.TransactOpts) (*types.Transaction, error) {
- return _MetaRareERC1155Collection.contract.Transact(opts, "renounceOwnership")
- }
- // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6.
- //
- // Solidity: function renounceOwnership() returns()
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionSession) RenounceOwnership() (*types.Transaction, error) {
- return _MetaRareERC1155Collection.Contract.RenounceOwnership(&_MetaRareERC1155Collection.TransactOpts)
- }
- // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6.
- //
- // Solidity: function renounceOwnership() returns()
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionTransactorSession) RenounceOwnership() (*types.Transaction, error) {
- return _MetaRareERC1155Collection.Contract.RenounceOwnership(&_MetaRareERC1155Collection.TransactOpts)
- }
- // SafeBatchTransferFrom is a paid mutator transaction binding the contract method 0x2eb2c2d6.
- //
- // Solidity: function safeBatchTransferFrom(address from, address to, uint256[] ids, uint256[] amounts, bytes data) returns()
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionTransactor) SafeBatchTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, ids []*big.Int, amounts []*big.Int, data []byte) (*types.Transaction, error) {
- return _MetaRareERC1155Collection.contract.Transact(opts, "safeBatchTransferFrom", from, to, ids, amounts, data)
- }
- // SafeBatchTransferFrom is a paid mutator transaction binding the contract method 0x2eb2c2d6.
- //
- // Solidity: function safeBatchTransferFrom(address from, address to, uint256[] ids, uint256[] amounts, bytes data) returns()
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionSession) SafeBatchTransferFrom(from common.Address, to common.Address, ids []*big.Int, amounts []*big.Int, data []byte) (*types.Transaction, error) {
- return _MetaRareERC1155Collection.Contract.SafeBatchTransferFrom(&_MetaRareERC1155Collection.TransactOpts, from, to, ids, amounts, data)
- }
- // SafeBatchTransferFrom is a paid mutator transaction binding the contract method 0x2eb2c2d6.
- //
- // Solidity: function safeBatchTransferFrom(address from, address to, uint256[] ids, uint256[] amounts, bytes data) returns()
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionTransactorSession) SafeBatchTransferFrom(from common.Address, to common.Address, ids []*big.Int, amounts []*big.Int, data []byte) (*types.Transaction, error) {
- return _MetaRareERC1155Collection.Contract.SafeBatchTransferFrom(&_MetaRareERC1155Collection.TransactOpts, from, to, ids, amounts, data)
- }
- // SafeTransferFrom is a paid mutator transaction binding the contract method 0xf242432a.
- //
- // Solidity: function safeTransferFrom(address from, address to, uint256 id, uint256 amount, bytes data) returns()
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionTransactor) SafeTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, id *big.Int, amount *big.Int, data []byte) (*types.Transaction, error) {
- return _MetaRareERC1155Collection.contract.Transact(opts, "safeTransferFrom", from, to, id, amount, data)
- }
- // SafeTransferFrom is a paid mutator transaction binding the contract method 0xf242432a.
- //
- // Solidity: function safeTransferFrom(address from, address to, uint256 id, uint256 amount, bytes data) returns()
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionSession) SafeTransferFrom(from common.Address, to common.Address, id *big.Int, amount *big.Int, data []byte) (*types.Transaction, error) {
- return _MetaRareERC1155Collection.Contract.SafeTransferFrom(&_MetaRareERC1155Collection.TransactOpts, from, to, id, amount, data)
- }
- // SafeTransferFrom is a paid mutator transaction binding the contract method 0xf242432a.
- //
- // Solidity: function safeTransferFrom(address from, address to, uint256 id, uint256 amount, bytes data) returns()
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionTransactorSession) SafeTransferFrom(from common.Address, to common.Address, id *big.Int, amount *big.Int, data []byte) (*types.Transaction, error) {
- return _MetaRareERC1155Collection.Contract.SafeTransferFrom(&_MetaRareERC1155Collection.TransactOpts, from, to, id, amount, data)
- }
- // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465.
- //
- // Solidity: function setApprovalForAll(address operator, bool approved) returns()
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionTransactor) SetApprovalForAll(opts *bind.TransactOpts, operator common.Address, approved bool) (*types.Transaction, error) {
- return _MetaRareERC1155Collection.contract.Transact(opts, "setApprovalForAll", operator, approved)
- }
- // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465.
- //
- // Solidity: function setApprovalForAll(address operator, bool approved) returns()
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionSession) SetApprovalForAll(operator common.Address, approved bool) (*types.Transaction, error) {
- return _MetaRareERC1155Collection.Contract.SetApprovalForAll(&_MetaRareERC1155Collection.TransactOpts, operator, approved)
- }
- // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465.
- //
- // Solidity: function setApprovalForAll(address operator, bool approved) returns()
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionTransactorSession) SetApprovalForAll(operator common.Address, approved bool) (*types.Transaction, error) {
- return _MetaRareERC1155Collection.Contract.SetApprovalForAll(&_MetaRareERC1155Collection.TransactOpts, operator, approved)
- }
- // SetCreator is a paid mutator transaction binding the contract method 0xd2a6b51a.
- //
- // Solidity: function setCreator(address _to, uint256[] _ids) returns()
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionTransactor) SetCreator(opts *bind.TransactOpts, _to common.Address, _ids []*big.Int) (*types.Transaction, error) {
- return _MetaRareERC1155Collection.contract.Transact(opts, "setCreator", _to, _ids)
- }
- // SetCreator is a paid mutator transaction binding the contract method 0xd2a6b51a.
- //
- // Solidity: function setCreator(address _to, uint256[] _ids) returns()
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionSession) SetCreator(_to common.Address, _ids []*big.Int) (*types.Transaction, error) {
- return _MetaRareERC1155Collection.Contract.SetCreator(&_MetaRareERC1155Collection.TransactOpts, _to, _ids)
- }
- // SetCreator is a paid mutator transaction binding the contract method 0xd2a6b51a.
- //
- // Solidity: function setCreator(address _to, uint256[] _ids) returns()
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionTransactorSession) SetCreator(_to common.Address, _ids []*big.Int) (*types.Transaction, error) {
- return _MetaRareERC1155Collection.Contract.SetCreator(&_MetaRareERC1155Collection.TransactOpts, _to, _ids)
- }
- // SetCustomURI is a paid mutator transaction binding the contract method 0x3adf80b4.
- //
- // Solidity: function setCustomURI(uint256 _tokenId, string _newURI) returns()
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionTransactor) SetCustomURI(opts *bind.TransactOpts, _tokenId *big.Int, _newURI string) (*types.Transaction, error) {
- return _MetaRareERC1155Collection.contract.Transact(opts, "setCustomURI", _tokenId, _newURI)
- }
- // SetCustomURI is a paid mutator transaction binding the contract method 0x3adf80b4.
- //
- // Solidity: function setCustomURI(uint256 _tokenId, string _newURI) returns()
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionSession) SetCustomURI(_tokenId *big.Int, _newURI string) (*types.Transaction, error) {
- return _MetaRareERC1155Collection.Contract.SetCustomURI(&_MetaRareERC1155Collection.TransactOpts, _tokenId, _newURI)
- }
- // SetCustomURI is a paid mutator transaction binding the contract method 0x3adf80b4.
- //
- // Solidity: function setCustomURI(uint256 _tokenId, string _newURI) returns()
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionTransactorSession) SetCustomURI(_tokenId *big.Int, _newURI string) (*types.Transaction, error) {
- return _MetaRareERC1155Collection.Contract.SetCustomURI(&_MetaRareERC1155Collection.TransactOpts, _tokenId, _newURI)
- }
- // SetURI is a paid mutator transaction binding the contract method 0x02fe5305.
- //
- // Solidity: function setURI(string _newURI) returns()
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionTransactor) SetURI(opts *bind.TransactOpts, _newURI string) (*types.Transaction, error) {
- return _MetaRareERC1155Collection.contract.Transact(opts, "setURI", _newURI)
- }
- // SetURI is a paid mutator transaction binding the contract method 0x02fe5305.
- //
- // Solidity: function setURI(string _newURI) returns()
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionSession) SetURI(_newURI string) (*types.Transaction, error) {
- return _MetaRareERC1155Collection.Contract.SetURI(&_MetaRareERC1155Collection.TransactOpts, _newURI)
- }
- // SetURI is a paid mutator transaction binding the contract method 0x02fe5305.
- //
- // Solidity: function setURI(string _newURI) returns()
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionTransactorSession) SetURI(_newURI string) (*types.Transaction, error) {
- return _MetaRareERC1155Collection.Contract.SetURI(&_MetaRareERC1155Collection.TransactOpts, _newURI)
- }
- // TransferOnlyOperator is a paid mutator transaction binding the contract method 0x7c7ae4d1.
- //
- // Solidity: function transferOnlyOperator(address from, address to, uint256 tokenId, uint256 amount) returns()
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionTransactor) TransferOnlyOperator(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int, amount *big.Int) (*types.Transaction, error) {
- return _MetaRareERC1155Collection.contract.Transact(opts, "transferOnlyOperator", from, to, tokenId, amount)
- }
- // TransferOnlyOperator is a paid mutator transaction binding the contract method 0x7c7ae4d1.
- //
- // Solidity: function transferOnlyOperator(address from, address to, uint256 tokenId, uint256 amount) returns()
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionSession) TransferOnlyOperator(from common.Address, to common.Address, tokenId *big.Int, amount *big.Int) (*types.Transaction, error) {
- return _MetaRareERC1155Collection.Contract.TransferOnlyOperator(&_MetaRareERC1155Collection.TransactOpts, from, to, tokenId, amount)
- }
- // TransferOnlyOperator is a paid mutator transaction binding the contract method 0x7c7ae4d1.
- //
- // Solidity: function transferOnlyOperator(address from, address to, uint256 tokenId, uint256 amount) returns()
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionTransactorSession) TransferOnlyOperator(from common.Address, to common.Address, tokenId *big.Int, amount *big.Int) (*types.Transaction, error) {
- return _MetaRareERC1155Collection.Contract.TransferOnlyOperator(&_MetaRareERC1155Collection.TransactOpts, from, to, tokenId, amount)
- }
- // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b.
- //
- // Solidity: function transferOwnership(address newOwner) returns()
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionTransactor) TransferOwnership(opts *bind.TransactOpts, newOwner common.Address) (*types.Transaction, error) {
- return _MetaRareERC1155Collection.contract.Transact(opts, "transferOwnership", newOwner)
- }
- // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b.
- //
- // Solidity: function transferOwnership(address newOwner) returns()
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) {
- return _MetaRareERC1155Collection.Contract.TransferOwnership(&_MetaRareERC1155Collection.TransactOpts, newOwner)
- }
- // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b.
- //
- // Solidity: function transferOwnership(address newOwner) returns()
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionTransactorSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) {
- return _MetaRareERC1155Collection.Contract.TransferOwnership(&_MetaRareERC1155Collection.TransactOpts, newOwner)
- }
- // 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.
- type MetaRareERC1155CollectionApprovalForAllIterator struct {
- Event *MetaRareERC1155CollectionApprovalForAll // Event containing the contract specifics and raw log
- contract *bind.BoundContract // Generic contract to use for unpacking event data
- event string // Event name to use for unpacking event data
- logs chan types.Log // Log channel receiving the found contract events
- sub ethereum.Subscription // Subscription for errors, completion and termination
- done bool // Whether the subscription completed delivering logs
- fail error // Occurred error to stop iteration
- }
- // Next advances the iterator to the subsequent event, returning whether there
- // are any more events found. In case of a retrieval or parsing error, false is
- // returned and Error() can be queried for the exact failure.
- func (it *MetaRareERC1155CollectionApprovalForAllIterator) Next() bool {
- // If the iterator failed, stop iterating
- if it.fail != nil {
- return false
- }
- // If the iterator completed, deliver directly whatever's available
- if it.done {
- select {
- case log := <-it.logs:
- it.Event = new(MetaRareERC1155CollectionApprovalForAll)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- default:
- return false
- }
- }
- // Iterator still in progress, wait for either a data or an error event
- select {
- case log := <-it.logs:
- it.Event = new(MetaRareERC1155CollectionApprovalForAll)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- case err := <-it.sub.Err():
- it.done = true
- it.fail = err
- return it.Next()
- }
- }
- // Error returns any retrieval or parsing error occurred during filtering.
- func (it *MetaRareERC1155CollectionApprovalForAllIterator) Error() error {
- return it.fail
- }
- // Close terminates the iteration process, releasing any pending underlying
- // resources.
- func (it *MetaRareERC1155CollectionApprovalForAllIterator) Close() error {
- it.sub.Unsubscribe()
- return nil
- }
- // MetaRareERC1155CollectionApprovalForAll represents a ApprovalForAll event raised by the MetaRareERC1155Collection contract.
- type MetaRareERC1155CollectionApprovalForAll struct {
- Account common.Address
- Operator common.Address
- Approved bool
- Raw types.Log // Blockchain specific contextual infos
- }
- // FilterApprovalForAll is a free log retrieval operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31.
- //
- // Solidity: event ApprovalForAll(address indexed account, address indexed operator, bool approved)
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionFilterer) FilterApprovalForAll(opts *bind.FilterOpts, account []common.Address, operator []common.Address) (*MetaRareERC1155CollectionApprovalForAllIterator, error) {
- var accountRule []interface{}
- for _, accountItem := range account {
- accountRule = append(accountRule, accountItem)
- }
- var operatorRule []interface{}
- for _, operatorItem := range operator {
- operatorRule = append(operatorRule, operatorItem)
- }
- logs, sub, err := _MetaRareERC1155Collection.contract.FilterLogs(opts, "ApprovalForAll", accountRule, operatorRule)
- if err != nil {
- return nil, err
- }
- return &MetaRareERC1155CollectionApprovalForAllIterator{contract: _MetaRareERC1155Collection.contract, event: "ApprovalForAll", logs: logs, sub: sub}, nil
- }
- // WatchApprovalForAll is a free log subscription operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31.
- //
- // Solidity: event ApprovalForAll(address indexed account, address indexed operator, bool approved)
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionFilterer) WatchApprovalForAll(opts *bind.WatchOpts, sink chan<- *MetaRareERC1155CollectionApprovalForAll, account []common.Address, operator []common.Address) (event.Subscription, error) {
- var accountRule []interface{}
- for _, accountItem := range account {
- accountRule = append(accountRule, accountItem)
- }
- var operatorRule []interface{}
- for _, operatorItem := range operator {
- operatorRule = append(operatorRule, operatorItem)
- }
- logs, sub, err := _MetaRareERC1155Collection.contract.WatchLogs(opts, "ApprovalForAll", accountRule, operatorRule)
- if err != nil {
- return nil, err
- }
- return event.NewSubscription(func(quit <-chan struct{}) error {
- defer sub.Unsubscribe()
- for {
- select {
- case log := <-logs:
- // New log arrived, parse the event and forward to the user
- event := new(MetaRareERC1155CollectionApprovalForAll)
- if err := _MetaRareERC1155Collection.contract.UnpackLog(event, "ApprovalForAll", log); err != nil {
- return err
- }
- event.Raw = log
- select {
- case sink <- event:
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- }
- }), nil
- }
- // ParseApprovalForAll is a log parse operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31.
- //
- // Solidity: event ApprovalForAll(address indexed account, address indexed operator, bool approved)
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionFilterer) ParseApprovalForAll(log types.Log) (*MetaRareERC1155CollectionApprovalForAll, error) {
- event := new(MetaRareERC1155CollectionApprovalForAll)
- if err := _MetaRareERC1155Collection.contract.UnpackLog(event, "ApprovalForAll", log); err != nil {
- return nil, err
- }
- event.Raw = log
- return event, nil
- }
- // 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.
- type MetaRareERC1155CollectionOwnershipTransferredIterator struct {
- Event *MetaRareERC1155CollectionOwnershipTransferred // Event containing the contract specifics and raw log
- contract *bind.BoundContract // Generic contract to use for unpacking event data
- event string // Event name to use for unpacking event data
- logs chan types.Log // Log channel receiving the found contract events
- sub ethereum.Subscription // Subscription for errors, completion and termination
- done bool // Whether the subscription completed delivering logs
- fail error // Occurred error to stop iteration
- }
- // Next advances the iterator to the subsequent event, returning whether there
- // are any more events found. In case of a retrieval or parsing error, false is
- // returned and Error() can be queried for the exact failure.
- func (it *MetaRareERC1155CollectionOwnershipTransferredIterator) Next() bool {
- // If the iterator failed, stop iterating
- if it.fail != nil {
- return false
- }
- // If the iterator completed, deliver directly whatever's available
- if it.done {
- select {
- case log := <-it.logs:
- it.Event = new(MetaRareERC1155CollectionOwnershipTransferred)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- default:
- return false
- }
- }
- // Iterator still in progress, wait for either a data or an error event
- select {
- case log := <-it.logs:
- it.Event = new(MetaRareERC1155CollectionOwnershipTransferred)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- case err := <-it.sub.Err():
- it.done = true
- it.fail = err
- return it.Next()
- }
- }
- // Error returns any retrieval or parsing error occurred during filtering.
- func (it *MetaRareERC1155CollectionOwnershipTransferredIterator) Error() error {
- return it.fail
- }
- // Close terminates the iteration process, releasing any pending underlying
- // resources.
- func (it *MetaRareERC1155CollectionOwnershipTransferredIterator) Close() error {
- it.sub.Unsubscribe()
- return nil
- }
- // MetaRareERC1155CollectionOwnershipTransferred represents a OwnershipTransferred event raised by the MetaRareERC1155Collection contract.
- type MetaRareERC1155CollectionOwnershipTransferred struct {
- PreviousOwner common.Address
- NewOwner common.Address
- Raw types.Log // Blockchain specific contextual infos
- }
- // FilterOwnershipTransferred is a free log retrieval operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0.
- //
- // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionFilterer) FilterOwnershipTransferred(opts *bind.FilterOpts, previousOwner []common.Address, newOwner []common.Address) (*MetaRareERC1155CollectionOwnershipTransferredIterator, error) {
- var previousOwnerRule []interface{}
- for _, previousOwnerItem := range previousOwner {
- previousOwnerRule = append(previousOwnerRule, previousOwnerItem)
- }
- var newOwnerRule []interface{}
- for _, newOwnerItem := range newOwner {
- newOwnerRule = append(newOwnerRule, newOwnerItem)
- }
- logs, sub, err := _MetaRareERC1155Collection.contract.FilterLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule)
- if err != nil {
- return nil, err
- }
- return &MetaRareERC1155CollectionOwnershipTransferredIterator{contract: _MetaRareERC1155Collection.contract, event: "OwnershipTransferred", logs: logs, sub: sub}, nil
- }
- // WatchOwnershipTransferred is a free log subscription operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0.
- //
- // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionFilterer) WatchOwnershipTransferred(opts *bind.WatchOpts, sink chan<- *MetaRareERC1155CollectionOwnershipTransferred, previousOwner []common.Address, newOwner []common.Address) (event.Subscription, error) {
- var previousOwnerRule []interface{}
- for _, previousOwnerItem := range previousOwner {
- previousOwnerRule = append(previousOwnerRule, previousOwnerItem)
- }
- var newOwnerRule []interface{}
- for _, newOwnerItem := range newOwner {
- newOwnerRule = append(newOwnerRule, newOwnerItem)
- }
- logs, sub, err := _MetaRareERC1155Collection.contract.WatchLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule)
- if err != nil {
- return nil, err
- }
- return event.NewSubscription(func(quit <-chan struct{}) error {
- defer sub.Unsubscribe()
- for {
- select {
- case log := <-logs:
- // New log arrived, parse the event and forward to the user
- event := new(MetaRareERC1155CollectionOwnershipTransferred)
- if err := _MetaRareERC1155Collection.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil {
- return err
- }
- event.Raw = log
- select {
- case sink <- event:
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- }
- }), nil
- }
- // ParseOwnershipTransferred is a log parse operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0.
- //
- // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionFilterer) ParseOwnershipTransferred(log types.Log) (*MetaRareERC1155CollectionOwnershipTransferred, error) {
- event := new(MetaRareERC1155CollectionOwnershipTransferred)
- if err := _MetaRareERC1155Collection.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil {
- return nil, err
- }
- event.Raw = log
- return event, nil
- }
- // 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.
- type MetaRareERC1155CollectionTransferBatchIterator struct {
- Event *MetaRareERC1155CollectionTransferBatch // Event containing the contract specifics and raw log
- contract *bind.BoundContract // Generic contract to use for unpacking event data
- event string // Event name to use for unpacking event data
- logs chan types.Log // Log channel receiving the found contract events
- sub ethereum.Subscription // Subscription for errors, completion and termination
- done bool // Whether the subscription completed delivering logs
- fail error // Occurred error to stop iteration
- }
- // Next advances the iterator to the subsequent event, returning whether there
- // are any more events found. In case of a retrieval or parsing error, false is
- // returned and Error() can be queried for the exact failure.
- func (it *MetaRareERC1155CollectionTransferBatchIterator) Next() bool {
- // If the iterator failed, stop iterating
- if it.fail != nil {
- return false
- }
- // If the iterator completed, deliver directly whatever's available
- if it.done {
- select {
- case log := <-it.logs:
- it.Event = new(MetaRareERC1155CollectionTransferBatch)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- default:
- return false
- }
- }
- // Iterator still in progress, wait for either a data or an error event
- select {
- case log := <-it.logs:
- it.Event = new(MetaRareERC1155CollectionTransferBatch)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- case err := <-it.sub.Err():
- it.done = true
- it.fail = err
- return it.Next()
- }
- }
- // Error returns any retrieval or parsing error occurred during filtering.
- func (it *MetaRareERC1155CollectionTransferBatchIterator) Error() error {
- return it.fail
- }
- // Close terminates the iteration process, releasing any pending underlying
- // resources.
- func (it *MetaRareERC1155CollectionTransferBatchIterator) Close() error {
- it.sub.Unsubscribe()
- return nil
- }
- // MetaRareERC1155CollectionTransferBatch represents a TransferBatch event raised by the MetaRareERC1155Collection contract.
- type MetaRareERC1155CollectionTransferBatch struct {
- Operator common.Address
- From common.Address
- To common.Address
- Ids []*big.Int
- Values []*big.Int
- Raw types.Log // Blockchain specific contextual infos
- }
- // FilterTransferBatch is a free log retrieval operation binding the contract event 0x4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb.
- //
- // Solidity: event TransferBatch(address indexed operator, address indexed from, address indexed to, uint256[] ids, uint256[] values)
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionFilterer) FilterTransferBatch(opts *bind.FilterOpts, operator []common.Address, from []common.Address, to []common.Address) (*MetaRareERC1155CollectionTransferBatchIterator, error) {
- var operatorRule []interface{}
- for _, operatorItem := range operator {
- operatorRule = append(operatorRule, operatorItem)
- }
- var fromRule []interface{}
- for _, fromItem := range from {
- fromRule = append(fromRule, fromItem)
- }
- var toRule []interface{}
- for _, toItem := range to {
- toRule = append(toRule, toItem)
- }
- logs, sub, err := _MetaRareERC1155Collection.contract.FilterLogs(opts, "TransferBatch", operatorRule, fromRule, toRule)
- if err != nil {
- return nil, err
- }
- return &MetaRareERC1155CollectionTransferBatchIterator{contract: _MetaRareERC1155Collection.contract, event: "TransferBatch", logs: logs, sub: sub}, nil
- }
- // WatchTransferBatch is a free log subscription operation binding the contract event 0x4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb.
- //
- // Solidity: event TransferBatch(address indexed operator, address indexed from, address indexed to, uint256[] ids, uint256[] values)
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionFilterer) WatchTransferBatch(opts *bind.WatchOpts, sink chan<- *MetaRareERC1155CollectionTransferBatch, operator []common.Address, from []common.Address, to []common.Address) (event.Subscription, error) {
- var operatorRule []interface{}
- for _, operatorItem := range operator {
- operatorRule = append(operatorRule, operatorItem)
- }
- var fromRule []interface{}
- for _, fromItem := range from {
- fromRule = append(fromRule, fromItem)
- }
- var toRule []interface{}
- for _, toItem := range to {
- toRule = append(toRule, toItem)
- }
- logs, sub, err := _MetaRareERC1155Collection.contract.WatchLogs(opts, "TransferBatch", operatorRule, fromRule, toRule)
- if err != nil {
- return nil, err
- }
- return event.NewSubscription(func(quit <-chan struct{}) error {
- defer sub.Unsubscribe()
- for {
- select {
- case log := <-logs:
- // New log arrived, parse the event and forward to the user
- event := new(MetaRareERC1155CollectionTransferBatch)
- if err := _MetaRareERC1155Collection.contract.UnpackLog(event, "TransferBatch", log); err != nil {
- return err
- }
- event.Raw = log
- select {
- case sink <- event:
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- }
- }), nil
- }
- // ParseTransferBatch is a log parse operation binding the contract event 0x4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb.
- //
- // Solidity: event TransferBatch(address indexed operator, address indexed from, address indexed to, uint256[] ids, uint256[] values)
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionFilterer) ParseTransferBatch(log types.Log) (*MetaRareERC1155CollectionTransferBatch, error) {
- event := new(MetaRareERC1155CollectionTransferBatch)
- if err := _MetaRareERC1155Collection.contract.UnpackLog(event, "TransferBatch", log); err != nil {
- return nil, err
- }
- event.Raw = log
- return event, nil
- }
- // 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.
- type MetaRareERC1155CollectionTransferSingleIterator struct {
- Event *MetaRareERC1155CollectionTransferSingle // Event containing the contract specifics and raw log
- contract *bind.BoundContract // Generic contract to use for unpacking event data
- event string // Event name to use for unpacking event data
- logs chan types.Log // Log channel receiving the found contract events
- sub ethereum.Subscription // Subscription for errors, completion and termination
- done bool // Whether the subscription completed delivering logs
- fail error // Occurred error to stop iteration
- }
- // Next advances the iterator to the subsequent event, returning whether there
- // are any more events found. In case of a retrieval or parsing error, false is
- // returned and Error() can be queried for the exact failure.
- func (it *MetaRareERC1155CollectionTransferSingleIterator) Next() bool {
- // If the iterator failed, stop iterating
- if it.fail != nil {
- return false
- }
- // If the iterator completed, deliver directly whatever's available
- if it.done {
- select {
- case log := <-it.logs:
- it.Event = new(MetaRareERC1155CollectionTransferSingle)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- default:
- return false
- }
- }
- // Iterator still in progress, wait for either a data or an error event
- select {
- case log := <-it.logs:
- it.Event = new(MetaRareERC1155CollectionTransferSingle)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- case err := <-it.sub.Err():
- it.done = true
- it.fail = err
- return it.Next()
- }
- }
- // Error returns any retrieval or parsing error occurred during filtering.
- func (it *MetaRareERC1155CollectionTransferSingleIterator) Error() error {
- return it.fail
- }
- // Close terminates the iteration process, releasing any pending underlying
- // resources.
- func (it *MetaRareERC1155CollectionTransferSingleIterator) Close() error {
- it.sub.Unsubscribe()
- return nil
- }
- // MetaRareERC1155CollectionTransferSingle represents a TransferSingle event raised by the MetaRareERC1155Collection contract.
- type MetaRareERC1155CollectionTransferSingle struct {
- Operator common.Address
- From common.Address
- To common.Address
- Id *big.Int
- Value *big.Int
- Raw types.Log // Blockchain specific contextual infos
- }
- // FilterTransferSingle is a free log retrieval operation binding the contract event 0xc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62.
- //
- // Solidity: event TransferSingle(address indexed operator, address indexed from, address indexed to, uint256 id, uint256 value)
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionFilterer) FilterTransferSingle(opts *bind.FilterOpts, operator []common.Address, from []common.Address, to []common.Address) (*MetaRareERC1155CollectionTransferSingleIterator, error) {
- var operatorRule []interface{}
- for _, operatorItem := range operator {
- operatorRule = append(operatorRule, operatorItem)
- }
- var fromRule []interface{}
- for _, fromItem := range from {
- fromRule = append(fromRule, fromItem)
- }
- var toRule []interface{}
- for _, toItem := range to {
- toRule = append(toRule, toItem)
- }
- logs, sub, err := _MetaRareERC1155Collection.contract.FilterLogs(opts, "TransferSingle", operatorRule, fromRule, toRule)
- if err != nil {
- return nil, err
- }
- return &MetaRareERC1155CollectionTransferSingleIterator{contract: _MetaRareERC1155Collection.contract, event: "TransferSingle", logs: logs, sub: sub}, nil
- }
- // WatchTransferSingle is a free log subscription operation binding the contract event 0xc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62.
- //
- // Solidity: event TransferSingle(address indexed operator, address indexed from, address indexed to, uint256 id, uint256 value)
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionFilterer) WatchTransferSingle(opts *bind.WatchOpts, sink chan<- *MetaRareERC1155CollectionTransferSingle, operator []common.Address, from []common.Address, to []common.Address) (event.Subscription, error) {
- var operatorRule []interface{}
- for _, operatorItem := range operator {
- operatorRule = append(operatorRule, operatorItem)
- }
- var fromRule []interface{}
- for _, fromItem := range from {
- fromRule = append(fromRule, fromItem)
- }
- var toRule []interface{}
- for _, toItem := range to {
- toRule = append(toRule, toItem)
- }
- logs, sub, err := _MetaRareERC1155Collection.contract.WatchLogs(opts, "TransferSingle", operatorRule, fromRule, toRule)
- if err != nil {
- return nil, err
- }
- return event.NewSubscription(func(quit <-chan struct{}) error {
- defer sub.Unsubscribe()
- for {
- select {
- case log := <-logs:
- // New log arrived, parse the event and forward to the user
- event := new(MetaRareERC1155CollectionTransferSingle)
- if err := _MetaRareERC1155Collection.contract.UnpackLog(event, "TransferSingle", log); err != nil {
- return err
- }
- event.Raw = log
- select {
- case sink <- event:
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- }
- }), nil
- }
- // ParseTransferSingle is a log parse operation binding the contract event 0xc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62.
- //
- // Solidity: event TransferSingle(address indexed operator, address indexed from, address indexed to, uint256 id, uint256 value)
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionFilterer) ParseTransferSingle(log types.Log) (*MetaRareERC1155CollectionTransferSingle, error) {
- event := new(MetaRareERC1155CollectionTransferSingle)
- if err := _MetaRareERC1155Collection.contract.UnpackLog(event, "TransferSingle", log); err != nil {
- return nil, err
- }
- event.Raw = log
- return event, nil
- }
- // 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.
- type MetaRareERC1155CollectionURIIterator struct {
- Event *MetaRareERC1155CollectionURI // Event containing the contract specifics and raw log
- contract *bind.BoundContract // Generic contract to use for unpacking event data
- event string // Event name to use for unpacking event data
- logs chan types.Log // Log channel receiving the found contract events
- sub ethereum.Subscription // Subscription for errors, completion and termination
- done bool // Whether the subscription completed delivering logs
- fail error // Occurred error to stop iteration
- }
- // Next advances the iterator to the subsequent event, returning whether there
- // are any more events found. In case of a retrieval or parsing error, false is
- // returned and Error() can be queried for the exact failure.
- func (it *MetaRareERC1155CollectionURIIterator) Next() bool {
- // If the iterator failed, stop iterating
- if it.fail != nil {
- return false
- }
- // If the iterator completed, deliver directly whatever's available
- if it.done {
- select {
- case log := <-it.logs:
- it.Event = new(MetaRareERC1155CollectionURI)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- default:
- return false
- }
- }
- // Iterator still in progress, wait for either a data or an error event
- select {
- case log := <-it.logs:
- it.Event = new(MetaRareERC1155CollectionURI)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- case err := <-it.sub.Err():
- it.done = true
- it.fail = err
- return it.Next()
- }
- }
- // Error returns any retrieval or parsing error occurred during filtering.
- func (it *MetaRareERC1155CollectionURIIterator) Error() error {
- return it.fail
- }
- // Close terminates the iteration process, releasing any pending underlying
- // resources.
- func (it *MetaRareERC1155CollectionURIIterator) Close() error {
- it.sub.Unsubscribe()
- return nil
- }
- // MetaRareERC1155CollectionURI represents a URI event raised by the MetaRareERC1155Collection contract.
- type MetaRareERC1155CollectionURI struct {
- Value string
- Id *big.Int
- Raw types.Log // Blockchain specific contextual infos
- }
- // FilterURI is a free log retrieval operation binding the contract event 0x6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b.
- //
- // Solidity: event URI(string value, uint256 indexed id)
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionFilterer) FilterURI(opts *bind.FilterOpts, id []*big.Int) (*MetaRareERC1155CollectionURIIterator, error) {
- var idRule []interface{}
- for _, idItem := range id {
- idRule = append(idRule, idItem)
- }
- logs, sub, err := _MetaRareERC1155Collection.contract.FilterLogs(opts, "URI", idRule)
- if err != nil {
- return nil, err
- }
- return &MetaRareERC1155CollectionURIIterator{contract: _MetaRareERC1155Collection.contract, event: "URI", logs: logs, sub: sub}, nil
- }
- // WatchURI is a free log subscription operation binding the contract event 0x6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b.
- //
- // Solidity: event URI(string value, uint256 indexed id)
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionFilterer) WatchURI(opts *bind.WatchOpts, sink chan<- *MetaRareERC1155CollectionURI, id []*big.Int) (event.Subscription, error) {
- var idRule []interface{}
- for _, idItem := range id {
- idRule = append(idRule, idItem)
- }
- logs, sub, err := _MetaRareERC1155Collection.contract.WatchLogs(opts, "URI", idRule)
- if err != nil {
- return nil, err
- }
- return event.NewSubscription(func(quit <-chan struct{}) error {
- defer sub.Unsubscribe()
- for {
- select {
- case log := <-logs:
- // New log arrived, parse the event and forward to the user
- event := new(MetaRareERC1155CollectionURI)
- if err := _MetaRareERC1155Collection.contract.UnpackLog(event, "URI", log); err != nil {
- return err
- }
- event.Raw = log
- select {
- case sink <- event:
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- }
- }), nil
- }
- // ParseURI is a log parse operation binding the contract event 0x6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b.
- //
- // Solidity: event URI(string value, uint256 indexed id)
- func (_MetaRareERC1155Collection *MetaRareERC1155CollectionFilterer) ParseURI(log types.Log) (*MetaRareERC1155CollectionURI, error) {
- event := new(MetaRareERC1155CollectionURI)
- if err := _MetaRareERC1155Collection.contract.UnpackLog(event, "URI", log); err != nil {
- return nil, err
- }
- event.Raw = log
- return event, nil
- }
- // MetaRareERC721CollectionMetaData contains all meta data concerning the MetaRareERC721Collection contract.
- var MetaRareERC721CollectionMetaData = &bind.MetaData{
- 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\"}]",
- Sigs: map[string]string{
- "a217fddf": "DEFAULT_ADMIN_ROLE()",
- "d5391393": "MINTER_ROLE()",
- "6585690d": "MetaRareOperator()",
- "095ea7b3": "approve(address,uint256)",
- "70a08231": "balanceOf(address)",
- "42966c68": "burn(uint256)",
- "cf25a2fd": "collectionFactory()",
- "081812fc": "getApproved(uint256)",
- "248a9ca3": "getRoleAdmin(bytes32)",
- "9010d07c": "getRoleMember(bytes32,uint256)",
- "ca15c873": "getRoleMemberCount(bytes32)",
- "2f2ff15d": "grantRole(bytes32,address)",
- "91d14854": "hasRole(bytes32,address)",
- "d6d0faee": "initialize(string,string,string,address,address)",
- "e985e9c5": "isApprovedForAll(address,address)",
- "40c10f19": "mint(address,uint256)",
- "06fdde03": "name()",
- "6352211e": "ownerOf(uint256)",
- "36568abe": "renounceRole(bytes32,address)",
- "d547741f": "revokeRole(bytes32,address)",
- "42842e0e": "safeTransferFrom(address,address,uint256)",
- "b88d4fde": "safeTransferFrom(address,address,uint256,bytes)",
- "a22cb465": "setApprovalForAll(address,bool)",
- "55f804b3": "setBaseURI(string)",
- "c47f0027": "setName(string)",
- "b84c8246": "setSymbol(string)",
- "162094c4": "setTokenURI(uint256,string)",
- "01ffc9a7": "supportsInterface(bytes4)",
- "95d89b41": "symbol()",
- "4f6ccce7": "tokenByIndex(uint256)",
- "2f745c59": "tokenOfOwnerByIndex(address,uint256)",
- "c87b56dd": "tokenURI(uint256)",
- "18160ddd": "totalSupply()",
- "23b872dd": "transferFrom(address,address,uint256)",
- "5145dc57": "transferOnlyOperator(address,address,uint256)",
- },
- Bin: "0x60806040523480156200001157600080fd5b506040805180820182526008815267696e69744e616d6560c01b60208083019182528351808501909452600a8452691a5b9a5d14de5b589bdb60b21b908401528151919291620000649160029162000095565b5080516200007a90600390602084019062000095565b5050600d80546001600160a01b031916331790555062000178565b828054620000a3906200013b565b90600052602060002090601f016020900481019282620000c7576000855562000112565b82601f10620000e257805160ff191683800117855562000112565b8280016001018555821562000112579182015b8281111562000112578251825591602001919060010190620000f5565b506200012092915062000124565b5090565b5b8082111562000120576000815560010162000125565b6002810460018216806200015057607f821691505b602082108114156200017257634e487b7160e01b600052602260045260246000fd5b50919050565b612d2580620001886000396000f3fe608060405234801561001057600080fd5b50600436106102115760003560e01c80636352211e11610125578063b88d4fde116100ad578063cf25a2fd1161007c578063cf25a2fd14610458578063d539139314610460578063d547741f14610468578063d6d0faee1461047b578063e985e9c51461048e57610211565b8063b88d4fde1461040c578063c47f00271461041f578063c87b56dd14610432578063ca15c8731461044557610211565b806391d14854116100f457806391d14854146103c357806395d89b41146103d6578063a217fddf146103de578063a22cb465146103e6578063b84c8246146103f957610211565b80636352211e146103825780636585690d1461039557806370a082311461039d5780639010d07c146103b057610211565b80632f2ff15d116101a857806342842e0e1161017757806342842e0e1461032357806342966c68146103365780634f6ccce7146103495780635145dc571461035c57806355f804b31461036f57610211565b80632f2ff15d146102d75780632f745c59146102ea57806336568abe146102fd57806340c10f191461031057610211565b8063162094c4116101e4578063162094c41461028957806318160ddd1461029c57806323b872dd146102b1578063248a9ca3146102c457610211565b806301ffc9a71461021657806306fdde031461023f578063081812fc14610254578063095ea7b314610274575b600080fd5b61022961022436600461214f565b6104a1565b60405161023691906123c6565b60405180910390f35b6102476104ce565b60405161023691906123da565b6102676102623660046120f4565b610560565b6040516102369190612375565b6102876102823660046120cb565b6105ac565b005b610287610297366004612260565b610644565b6102a461067b565b60405161023691906123d1565b6102876102bf366004611fdd565b610681565b6102a46102d23660046120f4565b6106b9565b6102876102e536600461210c565b6106ce565b6102a46102f83660046120cb565b6106f2565b61028761030b36600461210c565b610747565b61028761031e3660046120cb565b610789565b610287610331366004611fdd565b6107c9565b6102876103443660046120f4565b6107e4565b6102a46103573660046120f4565b610817565b61028761036a366004611fdd565b610872565b61028761037d366004612187565b6108a7565b6102676103903660046120f4565b6108e3565b610267610918565b6102a46103ab366004611f91565b610927565b6102676103be36600461212e565b61096b565b6102296103d136600461210c565b61098a565b6102476109b3565b6102a46109c2565b6102876103f4366004612091565b6109c7565b610287610407366004612187565b6109d9565b61028761041a366004612018565b610a15565b61028761042d366004612187565b610a54565b6102476104403660046120f4565b610a90565b6102a46104533660046120f4565b610a9b565b610267610ab2565b6102a4610ac1565b61028761047636600461210c565b610ad3565b6102876104893660046121ba565b610af2565b61022961049c366004611fab565b610bda565b60006001600160e01b0319821663780e9d6360e01b14806104c657506104c682610c08565b90505b919050565b6060601080546104dd90612c0d565b80601f016020809104026020016040519081016040528092919081815260200182805461050990612c0d565b80156105565780601f1061052b57610100808354040283529160200191610556565b820191906000526020600020905b81548152906001019060200180831161053957829003601f168201915b5050505050905090565b600061056b82610c2d565b6105905760405162461bcd60e51b81526004016105879061286f565b60405180910390fd5b506000908152600660205260409020546001600160a01b031690565b60006105b7826108e3565b9050806001600160a01b0316836001600160a01b031614156105eb5760405162461bcd60e51b815260040161058790612958565b806001600160a01b03166105fd610c4a565b6001600160a01b0316148061061957506106198161049c610c4a565b6106355760405162461bcd60e51b815260040161058790612630565b61063f8383610c4e565b505050565b61065160006103d1610c4a565b61066d5760405162461bcd60e51b81526004016105879061290a565b6106778282610cbc565b5050565b600a5490565b61069261068c610c4a565b82610d00565b6106ae5760405162461bcd60e51b815260040161058790612999565b61063f838383610d85565b60009081526020819052604090206001015490565b6106d7826106b9565b6106e8816106e3610c4a565b610eb8565b61063f8383610f1c565b60006106fd83610927565b821061071b5760405162461bcd60e51b815260040161058790612422565b506001600160a01b03821660009081526008602090815260408083208484529091529020545b92915050565b61074f610c4a565b6001600160a01b0316816001600160a01b03161461077f5760405162461bcd60e51b815260040161058790612b19565b6106778282610f3e565b6107a3600080516020612cd08339815191526103d1610c4a565b6107bf5760405162461bcd60e51b815260040161058790612ad4565b6106778282610f60565b61063f83838360405180602001604052806000815250610a15565b6107ef61068c610c4a565b61080b5760405162461bcd60e51b815260040161058790612a84565b61081481611047565b50565b600061082161067b565b821061083f5760405162461bcd60e51b815260040161058790612a38565b600a828154811061086057634e487b7160e01b600052603260045260246000fd5b90600052602060002001549050919050565b600e546001600160a01b0316331461089c5760405162461bcd60e51b8152600401610587906127da565b61063f838383611050565b6108b460006103d1610c4a565b6108d05760405162461bcd60e51b8152600401610587906129ea565b805161067790600f906020840190611e14565b6000818152600460205260408120546001600160a01b0316806104c65760405162461bcd60e51b8152600401610587906126d7565b600e546001600160a01b031681565b60006001600160a01b03821661094f5760405162461bcd60e51b81526004016105879061268d565b506001600160a01b031660009081526005602052604090205490565b6000828152600160205260408120610983908361106b565b9392505050565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b6060601180546104dd90612c0d565b600081565b6106776109d2610c4a565b8383611077565b6109e660006103d1610c4a565b610a025760405162461bcd60e51b81526004016105879061253b565b8051610677906011906020840190611e14565b610a26610a20610c4a565b83610d00565b610a425760405162461bcd60e51b815260040161058790612999565b610a4e8484848461111a565b50505050565b610a6160006103d1610c4a565b610a7d5760405162461bcd60e51b81526004016105879061253b565b8051610677906010906020840190611e14565b60606104c68261114d565b60008181526001602052604081206104c690611266565b600d546001600160a01b031681565b600080516020612cd083398151915281565b610adc826106b9565b610ae8816106e3610c4a565b61063f8383610f3e565b600d546001600160a01b03163314610b1c5760405162461bcd60e51b81526004016105879061276e565b610b2e6000610b29610c4a565b611271565b610b48600080516020612cd0833981519152610b29610c4a565b610b60600080516020612cd083398151915283611271565b610b78600080516020612cd083398151915282611271565b8251610b8b90600f906020860190611e14565b508451610b9f906010906020880190611e14565b508351610bb3906011906020870190611e14565b50600e80546001600160a01b0319166001600160a01b039290921691909117905550505050565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205460ff1690565b60006001600160e01b0319821663780e9d6360e01b14806104c657506104c68261127b565b6000908152600460205260409020546001600160a01b0316151590565b3390565b600081815260066020526040902080546001600160a01b0319166001600160a01b0384169081179091558190610c83826108e3565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b610cc582610c2d565b610ce15760405162461bcd60e51b815260040161058790612720565b6000828152600c60209081526040909120825161063f92840190611e14565b6000610d0b82610c2d565b610d275760405162461bcd60e51b8152600401610587906125e4565b6000610d32836108e3565b9050806001600160a01b0316846001600160a01b03161480610d6d5750836001600160a01b0316610d6284610560565b6001600160a01b0316145b80610d7d5750610d7d8185610bda565b949350505050565b826001600160a01b0316610d98826108e3565b6001600160a01b031614610dbe5760405162461bcd60e51b8152600401610587906124bf565b6001600160a01b038216610de45760405162461bcd60e51b815260040161058790612569565b610def8383836112bb565b610dfa600082610c4e565b6001600160a01b0383166000908152600560205260408120805460019290610e23908490612bb3565b90915550506001600160a01b0382166000908152600560205260408120805460019290610e51908490612b68565b909155505060008181526004602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a461063f83838361063f565b610ec2828261098a565b61067757610eda816001600160a01b031660146112c6565b610ee58360206112c6565b604051602001610ef6929190612300565b60408051601f198184030181529082905262461bcd60e51b8252610587916004016123da565b610f268282611478565b600082815260016020526040902061063f90826114fd565b610f488282611512565b600082815260016020526040902061063f9082611595565b6001600160a01b038216610f865760405162461bcd60e51b8152600401610587906127a5565b610f8f81610c2d565b15610fac5760405162461bcd60e51b815260040161058790612504565b610fb8600083836112bb565b6001600160a01b0382166000908152600560205260408120805460019290610fe1908490612b68565b909155505060008181526004602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a46106776000838361063f565b610814816115aa565b61063f8383836040518060200160405280600081525061111a565b600061098383836115ea565b816001600160a01b0316836001600160a01b031614156110a95760405162461bcd60e51b8152600401610587906125ad565b6001600160a01b0383811660008181526007602090815260408083209487168084529490915290819020805460ff1916851515179055517f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c319061110d9085906123c6565b60405180910390a3505050565b611125848484610d85565b61113184848484611622565b610a4e5760405162461bcd60e51b81526004016105879061246d565b606061115882610c2d565b6111745760405162461bcd60e51b81526004016105879061281e565b6000828152600c60205260408120805461118d90612c0d565b80601f01602080910402602001604051908101604052809291908181526020018280546111b990612c0d565b80156112065780601f106111db57610100808354040283529160200191611206565b820191906000526020600020905b8154815290600101906020018083116111e957829003601f168201915b50505050509050600061121761173d565b905080516000141561122b575090506104c9565b81511561125d5780826040516020016112459291906122d1565b604051602081830303815290604052925050506104c9565b610d7d8461174c565b60006104c6826117ce565b6106778282610f1c565b60006001600160e01b031982166380ac58cd60e01b14806112ac57506001600160e01b03198216635b5e139f60e01b145b806104c657506104c6826117d2565b61063f8383836117f7565b606060006112d5836002612b94565b6112e0906002612b68565b67ffffffffffffffff81111561130657634e487b7160e01b600052604160045260246000fd5b6040519080825280601f01601f191660200182016040528015611330576020820181803683370190505b509050600360fc1b8160008151811061135957634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061139657634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a90535060006113ba846002612b94565b6113c5906001612b68565b90505b6001811115611459576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061140757634e487b7160e01b600052603260045260246000fd5b1a60f81b82828151811061142b57634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a90535060049490941c9361145281612bf6565b90506113c8565b5083156109835760405162461bcd60e51b8152600401610587906123ed565b611482828261098a565b610677576000828152602081815260408083206001600160a01b03851684529091529020805460ff191660011790556114b9610c4a565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000610983836001600160a01b038416611880565b61151c828261098a565b15610677576000828152602081815260408083206001600160a01b03851684529091529020805460ff19169055611551610c4a565b6001600160a01b0316816001600160a01b0316837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45050565b6000610983836001600160a01b0384166118ca565b6115b3816119e7565b6000818152600c6020526040902080546115cc90612c0d565b159050610814576000818152600c6020526040812061081491611e98565b600082600001828154811061160f57634e487b7160e01b600052603260045260246000fd5b9060005260206000200154905092915050565b6000611636846001600160a01b0316611a96565b1561173257836001600160a01b031663150b7a02611652610c4a565b8786866040518563ffffffff1660e01b81526004016116749493929190612389565b602060405180830381600087803b15801561168e57600080fd5b505af19250505080156116be575060408051601f3d908101601f191682019092526116bb9181019061216b565b60015b611718573d8080156116ec576040519150601f19603f3d011682016040523d82523d6000602084013e6116f1565b606091505b5080516117105760405162461bcd60e51b81526004016105879061246d565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050610d7d565b506001949350505050565b6060600f80546104dd90612c0d565b606061175782610c2d565b6117735760405162461bcd60e51b8152600401610587906128bb565b600061177d61173d565b9050600081511161179d5760405180602001604052806000815250610983565b806117a784611aa5565b6040516020016117b89291906122d1565b6040516020818303038152906040529392505050565b5490565b60006001600160e01b03198216635a05180f60e01b14806104c657506104c682611bc0565b61180283838361063f565b6001600160a01b03831661181e5761181981611be5565b611841565b816001600160a01b0316836001600160a01b031614611841576118418382611c29565b6001600160a01b03821661185d5761185881611cc6565b61063f565b826001600160a01b0316826001600160a01b03161461063f5761063f8282611d9f565b600061188c8383611de3565b6118c257508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610741565b506000610741565b600081815260018301602052604081205480156119dd5760006118ee600183612bb3565b855490915060009061190290600190612bb3565b905081811461198357600086600001828154811061193057634e487b7160e01b600052603260045260246000fd5b906000526020600020015490508087600001848154811061196157634e487b7160e01b600052603260045260246000fd5b6000918252602080832090910192909255918252600188019052604090208390555b85548690806119a257634e487b7160e01b600052603160045260246000fd5b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610741565b6000915050610741565b60006119f2826108e3565b9050611a00816000846112bb565b611a0b600083610c4e565b6001600160a01b0381166000908152600560205260408120805460019290611a34908490612bb3565b909155505060008281526004602052604080822080546001600160a01b0319169055518391906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a46106778160008461063f565b6001600160a01b03163b151590565b606081611aca57506040805180820190915260018152600360fc1b60208201526104c9565b8160005b8115611af45780611ade81612c48565b9150611aed9050600a83612b80565b9150611ace565b60008167ffffffffffffffff811115611b1d57634e487b7160e01b600052604160045260246000fd5b6040519080825280601f01601f191660200182016040528015611b47576020820181803683370190505b5090505b8415610d7d57611b5c600183612bb3565b9150611b69600a86612c63565b611b74906030612b68565b60f81b818381518110611b9757634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a905350611bb9600a86612b80565b9450611b4b565b60006001600160e01b03198216637965db0b60e01b14806104c657506104c682611dfb565b600a80546000838152600b60205260408120829055600182018355919091527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a80155565b60006001611c3684610927565b611c409190612bb3565b600083815260096020526040902054909150808214611c93576001600160a01b03841660009081526008602090815260408083208584528252808320548484528184208190558352600990915290208190555b5060009182526009602090815260408084208490556001600160a01b039094168352600881528383209183525290812055565b600a54600090611cd890600190612bb3565b6000838152600b6020526040812054600a8054939450909284908110611d0e57634e487b7160e01b600052603260045260246000fd5b9060005260206000200154905080600a8381548110611d3d57634e487b7160e01b600052603260045260246000fd5b6000918252602080832090910192909255828152600b9091526040808220849055858252812055600a805480611d8357634e487b7160e01b600052603160045260246000fd5b6001900381819060005260206000200160009055905550505050565b6000611daa83610927565b6001600160a01b039093166000908152600860209081526040808320868452825280832085905593825260099052919091209190915550565b60009081526001919091016020526040902054151590565b6001600160e01b031981166301ffc9a760e01b14919050565b828054611e2090612c0d565b90600052602060002090601f016020900481019282611e425760008555611e88565b82601f10611e5b57805160ff1916838001178555611e88565b82800160010185558215611e88579182015b82811115611e88578251825591602001919060010190611e6d565b50611e94929150611ed0565b5090565b508054611ea490612c0d565b6000825580601f10611eb65750610814565b601f01602090049060005260206000209081019061081491905b5b80821115611e945760008155600101611ed1565b600067ffffffffffffffff80841115611f0057611f00612ca3565b604051601f8501601f19908116603f01168101908282118183101715611f2857611f28612ca3565b81604052809350858152868686011115611f4157600080fd5b858560208301376000602087830101525050509392505050565b80356001600160a01b03811681146104c957600080fd5b600082601f830112611f82578081fd5b61098383833560208501611ee5565b600060208284031215611fa2578081fd5b61098382611f5b565b60008060408385031215611fbd578081fd5b611fc683611f5b565b9150611fd460208401611f5b565b90509250929050565b600080600060608486031215611ff1578081fd5b611ffa84611f5b565b925061200860208501611f5b565b9150604084013590509250925092565b6000806000806080858703121561202d578081fd5b61203685611f5b565b935061204460208601611f5b565b925060408501359150606085013567ffffffffffffffff811115612066578182fd5b8501601f81018713612076578182fd5b61208587823560208401611ee5565b91505092959194509250565b600080604083850312156120a3578182fd5b6120ac83611f5b565b9150602083013580151581146120c0578182fd5b809150509250929050565b600080604083850312156120dd578182fd5b6120e683611f5b565b946020939093013593505050565b600060208284031215612105578081fd5b5035919050565b6000806040838503121561211e578182fd5b82359150611fd460208401611f5b565b60008060408385031215612140578182fd5b50508035926020909101359150565b600060208284031215612160578081fd5b813561098381612cb9565b60006020828403121561217c578081fd5b815161098381612cb9565b600060208284031215612198578081fd5b813567ffffffffffffffff8111156121ae578182fd5b610d7d84828501611f72565b600080600080600060a086880312156121d1578081fd5b853567ffffffffffffffff808211156121e8578283fd5b6121f489838a01611f72565b96506020880135915080821115612209578283fd5b61221589838a01611f72565b9550604088013591508082111561222a578283fd5b5061223788828901611f72565b93505061224660608701611f5b565b915061225460808701611f5b565b90509295509295909350565b60008060408385031215612272578182fd5b82359150602083013567ffffffffffffffff81111561228f578182fd5b61229b85828601611f72565b9150509250929050565b600081518084526122bd816020860160208601612bca565b601f01601f19169290920160200192915050565b600083516122e3818460208801612bca565b8351908301906122f7818360208801612bca565b01949350505050565b60007f416363657373436f6e74726f6c3a206163636f756e742000000000000000000082528351612338816017850160208801612bca565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351612369816028840160208801612bca565b01602801949350505050565b6001600160a01b0391909116815260200190565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906123bc908301846122a5565b9695505050505050565b901515815260200190565b90815260200190565b60006020825261098360208301846122a5565b6020808252818101527f537472696e67733a20686578206c656e67746820696e73756666696369656e74604082015260600190565b6020808252602b908201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560408201526a74206f6620626f756e647360a81b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b6020808252601c908201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604082015260600190565b6020808252601490820152734d75737420686176652041646d696e20726f6c6560601b604082015260600190565b60208082526024908201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646040820152637265737360e01b606082015260800190565b60208082526019908201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604082015260600190565b6020808252602c908201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860408201526b34b9ba32b73a103a37b5b2b760a11b606082015260800190565b60208082526038908201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760408201527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000606082015260800190565b6020808252602a908201527f4552433732313a2062616c616e636520717565727920666f7220746865207a65604082015269726f206164647265737360b01b606082015260800190565b60208082526029908201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460408201526832b73a103a37b5b2b760b91b606082015260800190565b6020808252602e908201527f45524337323155524953746f726167653a2055524920736574206f66206e6f6e60408201526d32bc34b9ba32b73a103a37b5b2b760911b606082015260800190565b6020808252601c908201527f4552433732313a20494e495449414c495a4520464f5242494444454e00000000604082015260600190565b6020808252818101527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604082015260600190565b60208082526024908201527f4f7065726174726f6e206f6e6c792063616e2075736520746869732066756e636040820152633a34b7b760e11b606082015260800190565b60208082526031908201527f45524337323155524953746f726167653a2055524920717565727920666f72206040820152703737b732bc34b9ba32b73a103a37b5b2b760791b606082015260800190565b6020808252602c908201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860408201526b34b9ba32b73a103a37b5b2b760a11b606082015260800190565b6020808252602f908201527f4552433732314d657461646174613a2055524920717565727920666f72206e6f60408201526e3732bc34b9ba32b73a103a37b5b2b760891b606082015260800190565b6020808252602e908201527f4552433732313a206d75737420686176652061646d696e20726f6c6520746f2060408201526d73657420546f6b656e205552497360901b606082015260800190565b60208082526021908201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656040820152603960f91b606082015260800190565b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b6020808252602e908201527f4552433732313a206d75737420686176652061646d696e20726f6c6520746f2060408201526d6368616e6765206261736555726960901b606082015260800190565b6020808252602c908201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60408201526b7574206f6620626f756e647360a01b606082015260800190565b60208082526030908201527f4552433732314275726e61626c653a2063616c6c6572206973206e6f74206f7760408201526f1b995c881b9bdc88185c1c1c9bdd995960821b606082015260800190565b60208082526025908201527f4552433732313a206d7573742068617665206d696e74657220726f6c6520746f604082015264081b5a5b9d60da1b606082015260800190565b6020808252602f908201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560408201526e103937b632b9903337b91039b2b63360891b606082015260800190565b60008219821115612b7b57612b7b612c77565b500190565b600082612b8f57612b8f612c8d565b500490565b6000816000190483118215151615612bae57612bae612c77565b500290565b600082821015612bc557612bc5612c77565b500390565b60005b83811015612be5578181015183820152602001612bcd565b83811115610a4e5750506000910152565b600081612c0557612c05612c77565b506000190190565b600281046001821680612c2157607f821691505b60208210811415612c4257634e487b7160e01b600052602260045260246000fd5b50919050565b6000600019821415612c5c57612c5c612c77565b5060010190565b600082612c7257612c72612c8d565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160e01b03198116811461081457600080fdfe9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6a2646970667358221220b030f4f70553d52f8e53838cf6b36cebd96c32ddf8ea9b9b3425e184b80967a664736f6c63430008010033",
- }
- // MetaRareERC721CollectionABI is the input ABI used to generate the binding from.
- // Deprecated: Use MetaRareERC721CollectionMetaData.ABI instead.
- var MetaRareERC721CollectionABI = MetaRareERC721CollectionMetaData.ABI
- // Deprecated: Use MetaRareERC721CollectionMetaData.Sigs instead.
- // MetaRareERC721CollectionFuncSigs maps the 4-byte function signature to its string representation.
- var MetaRareERC721CollectionFuncSigs = MetaRareERC721CollectionMetaData.Sigs
- // MetaRareERC721CollectionBin is the compiled bytecode used for deploying new contracts.
- // Deprecated: Use MetaRareERC721CollectionMetaData.Bin instead.
- var MetaRareERC721CollectionBin = MetaRareERC721CollectionMetaData.Bin
- // DeployMetaRareERC721Collection deploys a new Ethereum contract, binding an instance of MetaRareERC721Collection to it.
- func DeployMetaRareERC721Collection(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *MetaRareERC721Collection, error) {
- parsed, err := MetaRareERC721CollectionMetaData.GetAbi()
- if err != nil {
- return common.Address{}, nil, nil, err
- }
- if parsed == nil {
- return common.Address{}, nil, nil, errors.New("GetABI returned nil")
- }
- address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(MetaRareERC721CollectionBin), backend)
- if err != nil {
- return common.Address{}, nil, nil, err
- }
- return address, tx, &MetaRareERC721Collection{MetaRareERC721CollectionCaller: MetaRareERC721CollectionCaller{contract: contract}, MetaRareERC721CollectionTransactor: MetaRareERC721CollectionTransactor{contract: contract}, MetaRareERC721CollectionFilterer: MetaRareERC721CollectionFilterer{contract: contract}}, nil
- }
- // MetaRareERC721Collection is an auto generated Go binding around an Ethereum contract.
- type MetaRareERC721Collection struct {
- MetaRareERC721CollectionCaller // Read-only binding to the contract
- MetaRareERC721CollectionTransactor // Write-only binding to the contract
- MetaRareERC721CollectionFilterer // Log filterer for contract events
- }
- // MetaRareERC721CollectionCaller is an auto generated read-only Go binding around an Ethereum contract.
- type MetaRareERC721CollectionCaller struct {
- contract *bind.BoundContract // Generic contract wrapper for the low level calls
- }
- // MetaRareERC721CollectionTransactor is an auto generated write-only Go binding around an Ethereum contract.
- type MetaRareERC721CollectionTransactor struct {
- contract *bind.BoundContract // Generic contract wrapper for the low level calls
- }
- // MetaRareERC721CollectionFilterer is an auto generated log filtering Go binding around an Ethereum contract events.
- type MetaRareERC721CollectionFilterer struct {
- contract *bind.BoundContract // Generic contract wrapper for the low level calls
- }
- // MetaRareERC721CollectionSession is an auto generated Go binding around an Ethereum contract,
- // with pre-set call and transact options.
- type MetaRareERC721CollectionSession struct {
- Contract *MetaRareERC721Collection // Generic contract binding to set the session for
- CallOpts bind.CallOpts // Call options to use throughout this session
- TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
- }
- // MetaRareERC721CollectionCallerSession is an auto generated read-only Go binding around an Ethereum contract,
- // with pre-set call options.
- type MetaRareERC721CollectionCallerSession struct {
- Contract *MetaRareERC721CollectionCaller // Generic contract caller binding to set the session for
- CallOpts bind.CallOpts // Call options to use throughout this session
- }
- // MetaRareERC721CollectionTransactorSession is an auto generated write-only Go binding around an Ethereum contract,
- // with pre-set transact options.
- type MetaRareERC721CollectionTransactorSession struct {
- Contract *MetaRareERC721CollectionTransactor // Generic contract transactor binding to set the session for
- TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
- }
- // MetaRareERC721CollectionRaw is an auto generated low-level Go binding around an Ethereum contract.
- type MetaRareERC721CollectionRaw struct {
- Contract *MetaRareERC721Collection // Generic contract binding to access the raw methods on
- }
- // MetaRareERC721CollectionCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
- type MetaRareERC721CollectionCallerRaw struct {
- Contract *MetaRareERC721CollectionCaller // Generic read-only contract binding to access the raw methods on
- }
- // MetaRareERC721CollectionTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
- type MetaRareERC721CollectionTransactorRaw struct {
- Contract *MetaRareERC721CollectionTransactor // Generic write-only contract binding to access the raw methods on
- }
- // NewMetaRareERC721Collection creates a new instance of MetaRareERC721Collection, bound to a specific deployed contract.
- func NewMetaRareERC721Collection(address common.Address, backend bind.ContractBackend) (*MetaRareERC721Collection, error) {
- contract, err := bindMetaRareERC721Collection(address, backend, backend, backend)
- if err != nil {
- return nil, err
- }
- return &MetaRareERC721Collection{MetaRareERC721CollectionCaller: MetaRareERC721CollectionCaller{contract: contract}, MetaRareERC721CollectionTransactor: MetaRareERC721CollectionTransactor{contract: contract}, MetaRareERC721CollectionFilterer: MetaRareERC721CollectionFilterer{contract: contract}}, nil
- }
- // NewMetaRareERC721CollectionCaller creates a new read-only instance of MetaRareERC721Collection, bound to a specific deployed contract.
- func NewMetaRareERC721CollectionCaller(address common.Address, caller bind.ContractCaller) (*MetaRareERC721CollectionCaller, error) {
- contract, err := bindMetaRareERC721Collection(address, caller, nil, nil)
- if err != nil {
- return nil, err
- }
- return &MetaRareERC721CollectionCaller{contract: contract}, nil
- }
- // NewMetaRareERC721CollectionTransactor creates a new write-only instance of MetaRareERC721Collection, bound to a specific deployed contract.
- func NewMetaRareERC721CollectionTransactor(address common.Address, transactor bind.ContractTransactor) (*MetaRareERC721CollectionTransactor, error) {
- contract, err := bindMetaRareERC721Collection(address, nil, transactor, nil)
- if err != nil {
- return nil, err
- }
- return &MetaRareERC721CollectionTransactor{contract: contract}, nil
- }
- // NewMetaRareERC721CollectionFilterer creates a new log filterer instance of MetaRareERC721Collection, bound to a specific deployed contract.
- func NewMetaRareERC721CollectionFilterer(address common.Address, filterer bind.ContractFilterer) (*MetaRareERC721CollectionFilterer, error) {
- contract, err := bindMetaRareERC721Collection(address, nil, nil, filterer)
- if err != nil {
- return nil, err
- }
- return &MetaRareERC721CollectionFilterer{contract: contract}, nil
- }
- // bindMetaRareERC721Collection binds a generic wrapper to an already deployed contract.
- func bindMetaRareERC721Collection(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
- parsed, err := abi.JSON(strings.NewReader(MetaRareERC721CollectionABI))
- if err != nil {
- return nil, err
- }
- return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil
- }
- // Call invokes the (constant) contract method with params as input values and
- // sets the output to result. The result type might be a single field for simple
- // returns, a slice of interfaces for anonymous returns and a struct for named
- // returns.
- func (_MetaRareERC721Collection *MetaRareERC721CollectionRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
- return _MetaRareERC721Collection.Contract.MetaRareERC721CollectionCaller.contract.Call(opts, result, method, params...)
- }
- // Transfer initiates a plain transaction to move funds to the contract, calling
- // its default method if one is available.
- func (_MetaRareERC721Collection *MetaRareERC721CollectionRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
- return _MetaRareERC721Collection.Contract.MetaRareERC721CollectionTransactor.contract.Transfer(opts)
- }
- // Transact invokes the (paid) contract method with params as input values.
- func (_MetaRareERC721Collection *MetaRareERC721CollectionRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
- return _MetaRareERC721Collection.Contract.MetaRareERC721CollectionTransactor.contract.Transact(opts, method, params...)
- }
- // Call invokes the (constant) contract method with params as input values and
- // sets the output to result. The result type might be a single field for simple
- // returns, a slice of interfaces for anonymous returns and a struct for named
- // returns.
- func (_MetaRareERC721Collection *MetaRareERC721CollectionCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
- return _MetaRareERC721Collection.Contract.contract.Call(opts, result, method, params...)
- }
- // Transfer initiates a plain transaction to move funds to the contract, calling
- // its default method if one is available.
- func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
- return _MetaRareERC721Collection.Contract.contract.Transfer(opts)
- }
- // Transact invokes the (paid) contract method with params as input values.
- func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
- return _MetaRareERC721Collection.Contract.contract.Transact(opts, method, params...)
- }
- // DEFAULTADMINROLE is a free data retrieval call binding the contract method 0xa217fddf.
- //
- // Solidity: function DEFAULT_ADMIN_ROLE() view returns(bytes32)
- func (_MetaRareERC721Collection *MetaRareERC721CollectionCaller) DEFAULTADMINROLE(opts *bind.CallOpts) ([32]byte, error) {
- var out []interface{}
- err := _MetaRareERC721Collection.contract.Call(opts, &out, "DEFAULT_ADMIN_ROLE")
- if err != nil {
- return *new([32]byte), err
- }
- out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte)
- return out0, err
- }
- // DEFAULTADMINROLE is a free data retrieval call binding the contract method 0xa217fddf.
- //
- // Solidity: function DEFAULT_ADMIN_ROLE() view returns(bytes32)
- func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) DEFAULTADMINROLE() ([32]byte, error) {
- return _MetaRareERC721Collection.Contract.DEFAULTADMINROLE(&_MetaRareERC721Collection.CallOpts)
- }
- // DEFAULTADMINROLE is a free data retrieval call binding the contract method 0xa217fddf.
- //
- // Solidity: function DEFAULT_ADMIN_ROLE() view returns(bytes32)
- func (_MetaRareERC721Collection *MetaRareERC721CollectionCallerSession) DEFAULTADMINROLE() ([32]byte, error) {
- return _MetaRareERC721Collection.Contract.DEFAULTADMINROLE(&_MetaRareERC721Collection.CallOpts)
- }
- // MINTERROLE is a free data retrieval call binding the contract method 0xd5391393.
- //
- // Solidity: function MINTER_ROLE() view returns(bytes32)
- func (_MetaRareERC721Collection *MetaRareERC721CollectionCaller) MINTERROLE(opts *bind.CallOpts) ([32]byte, error) {
- var out []interface{}
- err := _MetaRareERC721Collection.contract.Call(opts, &out, "MINTER_ROLE")
- if err != nil {
- return *new([32]byte), err
- }
- out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte)
- return out0, err
- }
- // MINTERROLE is a free data retrieval call binding the contract method 0xd5391393.
- //
- // Solidity: function MINTER_ROLE() view returns(bytes32)
- func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) MINTERROLE() ([32]byte, error) {
- return _MetaRareERC721Collection.Contract.MINTERROLE(&_MetaRareERC721Collection.CallOpts)
- }
- // MINTERROLE is a free data retrieval call binding the contract method 0xd5391393.
- //
- // Solidity: function MINTER_ROLE() view returns(bytes32)
- func (_MetaRareERC721Collection *MetaRareERC721CollectionCallerSession) MINTERROLE() ([32]byte, error) {
- return _MetaRareERC721Collection.Contract.MINTERROLE(&_MetaRareERC721Collection.CallOpts)
- }
- // MetaRareOperator is a free data retrieval call binding the contract method 0x6585690d.
- //
- // Solidity: function MetaRareOperator() view returns(address)
- func (_MetaRareERC721Collection *MetaRareERC721CollectionCaller) MetaRareOperator(opts *bind.CallOpts) (common.Address, error) {
- var out []interface{}
- err := _MetaRareERC721Collection.contract.Call(opts, &out, "MetaRareOperator")
- if err != nil {
- return *new(common.Address), err
- }
- out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
- return out0, err
- }
- // MetaRareOperator is a free data retrieval call binding the contract method 0x6585690d.
- //
- // Solidity: function MetaRareOperator() view returns(address)
- func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) MetaRareOperator() (common.Address, error) {
- return _MetaRareERC721Collection.Contract.MetaRareOperator(&_MetaRareERC721Collection.CallOpts)
- }
- // MetaRareOperator is a free data retrieval call binding the contract method 0x6585690d.
- //
- // Solidity: function MetaRareOperator() view returns(address)
- func (_MetaRareERC721Collection *MetaRareERC721CollectionCallerSession) MetaRareOperator() (common.Address, error) {
- return _MetaRareERC721Collection.Contract.MetaRareOperator(&_MetaRareERC721Collection.CallOpts)
- }
- // BalanceOf is a free data retrieval call binding the contract method 0x70a08231.
- //
- // Solidity: function balanceOf(address owner) view returns(uint256)
- func (_MetaRareERC721Collection *MetaRareERC721CollectionCaller) BalanceOf(opts *bind.CallOpts, owner common.Address) (*big.Int, error) {
- var out []interface{}
- err := _MetaRareERC721Collection.contract.Call(opts, &out, "balanceOf", owner)
- if err != nil {
- return *new(*big.Int), err
- }
- out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
- return out0, err
- }
- // BalanceOf is a free data retrieval call binding the contract method 0x70a08231.
- //
- // Solidity: function balanceOf(address owner) view returns(uint256)
- func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) BalanceOf(owner common.Address) (*big.Int, error) {
- return _MetaRareERC721Collection.Contract.BalanceOf(&_MetaRareERC721Collection.CallOpts, owner)
- }
- // BalanceOf is a free data retrieval call binding the contract method 0x70a08231.
- //
- // Solidity: function balanceOf(address owner) view returns(uint256)
- func (_MetaRareERC721Collection *MetaRareERC721CollectionCallerSession) BalanceOf(owner common.Address) (*big.Int, error) {
- return _MetaRareERC721Collection.Contract.BalanceOf(&_MetaRareERC721Collection.CallOpts, owner)
- }
- // CollectionFactory is a free data retrieval call binding the contract method 0xcf25a2fd.
- //
- // Solidity: function collectionFactory() view returns(address)
- func (_MetaRareERC721Collection *MetaRareERC721CollectionCaller) CollectionFactory(opts *bind.CallOpts) (common.Address, error) {
- var out []interface{}
- err := _MetaRareERC721Collection.contract.Call(opts, &out, "collectionFactory")
- if err != nil {
- return *new(common.Address), err
- }
- out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
- return out0, err
- }
- // CollectionFactory is a free data retrieval call binding the contract method 0xcf25a2fd.
- //
- // Solidity: function collectionFactory() view returns(address)
- func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) CollectionFactory() (common.Address, error) {
- return _MetaRareERC721Collection.Contract.CollectionFactory(&_MetaRareERC721Collection.CallOpts)
- }
- // CollectionFactory is a free data retrieval call binding the contract method 0xcf25a2fd.
- //
- // Solidity: function collectionFactory() view returns(address)
- func (_MetaRareERC721Collection *MetaRareERC721CollectionCallerSession) CollectionFactory() (common.Address, error) {
- return _MetaRareERC721Collection.Contract.CollectionFactory(&_MetaRareERC721Collection.CallOpts)
- }
- // GetApproved is a free data retrieval call binding the contract method 0x081812fc.
- //
- // Solidity: function getApproved(uint256 tokenId) view returns(address)
- func (_MetaRareERC721Collection *MetaRareERC721CollectionCaller) GetApproved(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) {
- var out []interface{}
- err := _MetaRareERC721Collection.contract.Call(opts, &out, "getApproved", tokenId)
- if err != nil {
- return *new(common.Address), err
- }
- out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
- return out0, err
- }
- // GetApproved is a free data retrieval call binding the contract method 0x081812fc.
- //
- // Solidity: function getApproved(uint256 tokenId) view returns(address)
- func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) GetApproved(tokenId *big.Int) (common.Address, error) {
- return _MetaRareERC721Collection.Contract.GetApproved(&_MetaRareERC721Collection.CallOpts, tokenId)
- }
- // GetApproved is a free data retrieval call binding the contract method 0x081812fc.
- //
- // Solidity: function getApproved(uint256 tokenId) view returns(address)
- func (_MetaRareERC721Collection *MetaRareERC721CollectionCallerSession) GetApproved(tokenId *big.Int) (common.Address, error) {
- return _MetaRareERC721Collection.Contract.GetApproved(&_MetaRareERC721Collection.CallOpts, tokenId)
- }
- // GetRoleAdmin is a free data retrieval call binding the contract method 0x248a9ca3.
- //
- // Solidity: function getRoleAdmin(bytes32 role) view returns(bytes32)
- func (_MetaRareERC721Collection *MetaRareERC721CollectionCaller) GetRoleAdmin(opts *bind.CallOpts, role [32]byte) ([32]byte, error) {
- var out []interface{}
- err := _MetaRareERC721Collection.contract.Call(opts, &out, "getRoleAdmin", role)
- if err != nil {
- return *new([32]byte), err
- }
- out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte)
- return out0, err
- }
- // GetRoleAdmin is a free data retrieval call binding the contract method 0x248a9ca3.
- //
- // Solidity: function getRoleAdmin(bytes32 role) view returns(bytes32)
- func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) GetRoleAdmin(role [32]byte) ([32]byte, error) {
- return _MetaRareERC721Collection.Contract.GetRoleAdmin(&_MetaRareERC721Collection.CallOpts, role)
- }
- // GetRoleAdmin is a free data retrieval call binding the contract method 0x248a9ca3.
- //
- // Solidity: function getRoleAdmin(bytes32 role) view returns(bytes32)
- func (_MetaRareERC721Collection *MetaRareERC721CollectionCallerSession) GetRoleAdmin(role [32]byte) ([32]byte, error) {
- return _MetaRareERC721Collection.Contract.GetRoleAdmin(&_MetaRareERC721Collection.CallOpts, role)
- }
- // GetRoleMember is a free data retrieval call binding the contract method 0x9010d07c.
- //
- // Solidity: function getRoleMember(bytes32 role, uint256 index) view returns(address)
- func (_MetaRareERC721Collection *MetaRareERC721CollectionCaller) GetRoleMember(opts *bind.CallOpts, role [32]byte, index *big.Int) (common.Address, error) {
- var out []interface{}
- err := _MetaRareERC721Collection.contract.Call(opts, &out, "getRoleMember", role, index)
- if err != nil {
- return *new(common.Address), err
- }
- out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
- return out0, err
- }
- // GetRoleMember is a free data retrieval call binding the contract method 0x9010d07c.
- //
- // Solidity: function getRoleMember(bytes32 role, uint256 index) view returns(address)
- func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) GetRoleMember(role [32]byte, index *big.Int) (common.Address, error) {
- return _MetaRareERC721Collection.Contract.GetRoleMember(&_MetaRareERC721Collection.CallOpts, role, index)
- }
- // GetRoleMember is a free data retrieval call binding the contract method 0x9010d07c.
- //
- // Solidity: function getRoleMember(bytes32 role, uint256 index) view returns(address)
- func (_MetaRareERC721Collection *MetaRareERC721CollectionCallerSession) GetRoleMember(role [32]byte, index *big.Int) (common.Address, error) {
- return _MetaRareERC721Collection.Contract.GetRoleMember(&_MetaRareERC721Collection.CallOpts, role, index)
- }
- // GetRoleMemberCount is a free data retrieval call binding the contract method 0xca15c873.
- //
- // Solidity: function getRoleMemberCount(bytes32 role) view returns(uint256)
- func (_MetaRareERC721Collection *MetaRareERC721CollectionCaller) GetRoleMemberCount(opts *bind.CallOpts, role [32]byte) (*big.Int, error) {
- var out []interface{}
- err := _MetaRareERC721Collection.contract.Call(opts, &out, "getRoleMemberCount", role)
- if err != nil {
- return *new(*big.Int), err
- }
- out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
- return out0, err
- }
- // GetRoleMemberCount is a free data retrieval call binding the contract method 0xca15c873.
- //
- // Solidity: function getRoleMemberCount(bytes32 role) view returns(uint256)
- func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) GetRoleMemberCount(role [32]byte) (*big.Int, error) {
- return _MetaRareERC721Collection.Contract.GetRoleMemberCount(&_MetaRareERC721Collection.CallOpts, role)
- }
- // GetRoleMemberCount is a free data retrieval call binding the contract method 0xca15c873.
- //
- // Solidity: function getRoleMemberCount(bytes32 role) view returns(uint256)
- func (_MetaRareERC721Collection *MetaRareERC721CollectionCallerSession) GetRoleMemberCount(role [32]byte) (*big.Int, error) {
- return _MetaRareERC721Collection.Contract.GetRoleMemberCount(&_MetaRareERC721Collection.CallOpts, role)
- }
- // HasRole is a free data retrieval call binding the contract method 0x91d14854.
- //
- // Solidity: function hasRole(bytes32 role, address account) view returns(bool)
- func (_MetaRareERC721Collection *MetaRareERC721CollectionCaller) HasRole(opts *bind.CallOpts, role [32]byte, account common.Address) (bool, error) {
- var out []interface{}
- err := _MetaRareERC721Collection.contract.Call(opts, &out, "hasRole", role, account)
- if err != nil {
- return *new(bool), err
- }
- out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
- return out0, err
- }
- // HasRole is a free data retrieval call binding the contract method 0x91d14854.
- //
- // Solidity: function hasRole(bytes32 role, address account) view returns(bool)
- func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) HasRole(role [32]byte, account common.Address) (bool, error) {
- return _MetaRareERC721Collection.Contract.HasRole(&_MetaRareERC721Collection.CallOpts, role, account)
- }
- // HasRole is a free data retrieval call binding the contract method 0x91d14854.
- //
- // Solidity: function hasRole(bytes32 role, address account) view returns(bool)
- func (_MetaRareERC721Collection *MetaRareERC721CollectionCallerSession) HasRole(role [32]byte, account common.Address) (bool, error) {
- return _MetaRareERC721Collection.Contract.HasRole(&_MetaRareERC721Collection.CallOpts, role, account)
- }
- // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5.
- //
- // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool)
- func (_MetaRareERC721Collection *MetaRareERC721CollectionCaller) IsApprovedForAll(opts *bind.CallOpts, owner common.Address, operator common.Address) (bool, error) {
- var out []interface{}
- err := _MetaRareERC721Collection.contract.Call(opts, &out, "isApprovedForAll", owner, operator)
- if err != nil {
- return *new(bool), err
- }
- out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
- return out0, err
- }
- // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5.
- //
- // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool)
- func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) {
- return _MetaRareERC721Collection.Contract.IsApprovedForAll(&_MetaRareERC721Collection.CallOpts, owner, operator)
- }
- // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5.
- //
- // Solidity: function isApprovedForAll(address owner, address operator) view returns(bool)
- func (_MetaRareERC721Collection *MetaRareERC721CollectionCallerSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) {
- return _MetaRareERC721Collection.Contract.IsApprovedForAll(&_MetaRareERC721Collection.CallOpts, owner, operator)
- }
- // Name is a free data retrieval call binding the contract method 0x06fdde03.
- //
- // Solidity: function name() view returns(string)
- func (_MetaRareERC721Collection *MetaRareERC721CollectionCaller) Name(opts *bind.CallOpts) (string, error) {
- var out []interface{}
- err := _MetaRareERC721Collection.contract.Call(opts, &out, "name")
- if err != nil {
- return *new(string), err
- }
- out0 := *abi.ConvertType(out[0], new(string)).(*string)
- return out0, err
- }
- // Name is a free data retrieval call binding the contract method 0x06fdde03.
- //
- // Solidity: function name() view returns(string)
- func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) Name() (string, error) {
- return _MetaRareERC721Collection.Contract.Name(&_MetaRareERC721Collection.CallOpts)
- }
- // Name is a free data retrieval call binding the contract method 0x06fdde03.
- //
- // Solidity: function name() view returns(string)
- func (_MetaRareERC721Collection *MetaRareERC721CollectionCallerSession) Name() (string, error) {
- return _MetaRareERC721Collection.Contract.Name(&_MetaRareERC721Collection.CallOpts)
- }
- // OwnerOf is a free data retrieval call binding the contract method 0x6352211e.
- //
- // Solidity: function ownerOf(uint256 tokenId) view returns(address)
- func (_MetaRareERC721Collection *MetaRareERC721CollectionCaller) OwnerOf(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) {
- var out []interface{}
- err := _MetaRareERC721Collection.contract.Call(opts, &out, "ownerOf", tokenId)
- if err != nil {
- return *new(common.Address), err
- }
- out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
- return out0, err
- }
- // OwnerOf is a free data retrieval call binding the contract method 0x6352211e.
- //
- // Solidity: function ownerOf(uint256 tokenId) view returns(address)
- func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) OwnerOf(tokenId *big.Int) (common.Address, error) {
- return _MetaRareERC721Collection.Contract.OwnerOf(&_MetaRareERC721Collection.CallOpts, tokenId)
- }
- // OwnerOf is a free data retrieval call binding the contract method 0x6352211e.
- //
- // Solidity: function ownerOf(uint256 tokenId) view returns(address)
- func (_MetaRareERC721Collection *MetaRareERC721CollectionCallerSession) OwnerOf(tokenId *big.Int) (common.Address, error) {
- return _MetaRareERC721Collection.Contract.OwnerOf(&_MetaRareERC721Collection.CallOpts, tokenId)
- }
- // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
- //
- // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
- func (_MetaRareERC721Collection *MetaRareERC721CollectionCaller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) {
- var out []interface{}
- err := _MetaRareERC721Collection.contract.Call(opts, &out, "supportsInterface", interfaceId)
- if err != nil {
- return *new(bool), err
- }
- out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
- return out0, err
- }
- // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
- //
- // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
- func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) SupportsInterface(interfaceId [4]byte) (bool, error) {
- return _MetaRareERC721Collection.Contract.SupportsInterface(&_MetaRareERC721Collection.CallOpts, interfaceId)
- }
- // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.
- //
- // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)
- func (_MetaRareERC721Collection *MetaRareERC721CollectionCallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) {
- return _MetaRareERC721Collection.Contract.SupportsInterface(&_MetaRareERC721Collection.CallOpts, interfaceId)
- }
- // Symbol is a free data retrieval call binding the contract method 0x95d89b41.
- //
- // Solidity: function symbol() view returns(string)
- func (_MetaRareERC721Collection *MetaRareERC721CollectionCaller) Symbol(opts *bind.CallOpts) (string, error) {
- var out []interface{}
- err := _MetaRareERC721Collection.contract.Call(opts, &out, "symbol")
- if err != nil {
- return *new(string), err
- }
- out0 := *abi.ConvertType(out[0], new(string)).(*string)
- return out0, err
- }
- // Symbol is a free data retrieval call binding the contract method 0x95d89b41.
- //
- // Solidity: function symbol() view returns(string)
- func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) Symbol() (string, error) {
- return _MetaRareERC721Collection.Contract.Symbol(&_MetaRareERC721Collection.CallOpts)
- }
- // Symbol is a free data retrieval call binding the contract method 0x95d89b41.
- //
- // Solidity: function symbol() view returns(string)
- func (_MetaRareERC721Collection *MetaRareERC721CollectionCallerSession) Symbol() (string, error) {
- return _MetaRareERC721Collection.Contract.Symbol(&_MetaRareERC721Collection.CallOpts)
- }
- // TokenByIndex is a free data retrieval call binding the contract method 0x4f6ccce7.
- //
- // Solidity: function tokenByIndex(uint256 index) view returns(uint256)
- func (_MetaRareERC721Collection *MetaRareERC721CollectionCaller) TokenByIndex(opts *bind.CallOpts, index *big.Int) (*big.Int, error) {
- var out []interface{}
- err := _MetaRareERC721Collection.contract.Call(opts, &out, "tokenByIndex", index)
- if err != nil {
- return *new(*big.Int), err
- }
- out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
- return out0, err
- }
- // TokenByIndex is a free data retrieval call binding the contract method 0x4f6ccce7.
- //
- // Solidity: function tokenByIndex(uint256 index) view returns(uint256)
- func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) TokenByIndex(index *big.Int) (*big.Int, error) {
- return _MetaRareERC721Collection.Contract.TokenByIndex(&_MetaRareERC721Collection.CallOpts, index)
- }
- // TokenByIndex is a free data retrieval call binding the contract method 0x4f6ccce7.
- //
- // Solidity: function tokenByIndex(uint256 index) view returns(uint256)
- func (_MetaRareERC721Collection *MetaRareERC721CollectionCallerSession) TokenByIndex(index *big.Int) (*big.Int, error) {
- return _MetaRareERC721Collection.Contract.TokenByIndex(&_MetaRareERC721Collection.CallOpts, index)
- }
- // TokenOfOwnerByIndex is a free data retrieval call binding the contract method 0x2f745c59.
- //
- // Solidity: function tokenOfOwnerByIndex(address owner, uint256 index) view returns(uint256)
- func (_MetaRareERC721Collection *MetaRareERC721CollectionCaller) TokenOfOwnerByIndex(opts *bind.CallOpts, owner common.Address, index *big.Int) (*big.Int, error) {
- var out []interface{}
- err := _MetaRareERC721Collection.contract.Call(opts, &out, "tokenOfOwnerByIndex", owner, index)
- if err != nil {
- return *new(*big.Int), err
- }
- out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
- return out0, err
- }
- // TokenOfOwnerByIndex is a free data retrieval call binding the contract method 0x2f745c59.
- //
- // Solidity: function tokenOfOwnerByIndex(address owner, uint256 index) view returns(uint256)
- func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) TokenOfOwnerByIndex(owner common.Address, index *big.Int) (*big.Int, error) {
- return _MetaRareERC721Collection.Contract.TokenOfOwnerByIndex(&_MetaRareERC721Collection.CallOpts, owner, index)
- }
- // TokenOfOwnerByIndex is a free data retrieval call binding the contract method 0x2f745c59.
- //
- // Solidity: function tokenOfOwnerByIndex(address owner, uint256 index) view returns(uint256)
- func (_MetaRareERC721Collection *MetaRareERC721CollectionCallerSession) TokenOfOwnerByIndex(owner common.Address, index *big.Int) (*big.Int, error) {
- return _MetaRareERC721Collection.Contract.TokenOfOwnerByIndex(&_MetaRareERC721Collection.CallOpts, owner, index)
- }
- // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd.
- //
- // Solidity: function tokenURI(uint256 tokenId) view returns(string)
- func (_MetaRareERC721Collection *MetaRareERC721CollectionCaller) TokenURI(opts *bind.CallOpts, tokenId *big.Int) (string, error) {
- var out []interface{}
- err := _MetaRareERC721Collection.contract.Call(opts, &out, "tokenURI", tokenId)
- if err != nil {
- return *new(string), err
- }
- out0 := *abi.ConvertType(out[0], new(string)).(*string)
- return out0, err
- }
- // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd.
- //
- // Solidity: function tokenURI(uint256 tokenId) view returns(string)
- func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) TokenURI(tokenId *big.Int) (string, error) {
- return _MetaRareERC721Collection.Contract.TokenURI(&_MetaRareERC721Collection.CallOpts, tokenId)
- }
- // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd.
- //
- // Solidity: function tokenURI(uint256 tokenId) view returns(string)
- func (_MetaRareERC721Collection *MetaRareERC721CollectionCallerSession) TokenURI(tokenId *big.Int) (string, error) {
- return _MetaRareERC721Collection.Contract.TokenURI(&_MetaRareERC721Collection.CallOpts, tokenId)
- }
- // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd.
- //
- // Solidity: function totalSupply() view returns(uint256)
- func (_MetaRareERC721Collection *MetaRareERC721CollectionCaller) TotalSupply(opts *bind.CallOpts) (*big.Int, error) {
- var out []interface{}
- err := _MetaRareERC721Collection.contract.Call(opts, &out, "totalSupply")
- if err != nil {
- return *new(*big.Int), err
- }
- out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
- return out0, err
- }
- // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd.
- //
- // Solidity: function totalSupply() view returns(uint256)
- func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) TotalSupply() (*big.Int, error) {
- return _MetaRareERC721Collection.Contract.TotalSupply(&_MetaRareERC721Collection.CallOpts)
- }
- // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd.
- //
- // Solidity: function totalSupply() view returns(uint256)
- func (_MetaRareERC721Collection *MetaRareERC721CollectionCallerSession) TotalSupply() (*big.Int, error) {
- return _MetaRareERC721Collection.Contract.TotalSupply(&_MetaRareERC721Collection.CallOpts)
- }
- // Approve is a paid mutator transaction binding the contract method 0x095ea7b3.
- //
- // Solidity: function approve(address to, uint256 tokenId) returns()
- func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactor) Approve(opts *bind.TransactOpts, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
- return _MetaRareERC721Collection.contract.Transact(opts, "approve", to, tokenId)
- }
- // Approve is a paid mutator transaction binding the contract method 0x095ea7b3.
- //
- // Solidity: function approve(address to, uint256 tokenId) returns()
- func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) {
- return _MetaRareERC721Collection.Contract.Approve(&_MetaRareERC721Collection.TransactOpts, to, tokenId)
- }
- // Approve is a paid mutator transaction binding the contract method 0x095ea7b3.
- //
- // Solidity: function approve(address to, uint256 tokenId) returns()
- func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactorSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) {
- return _MetaRareERC721Collection.Contract.Approve(&_MetaRareERC721Collection.TransactOpts, to, tokenId)
- }
- // Burn is a paid mutator transaction binding the contract method 0x42966c68.
- //
- // Solidity: function burn(uint256 tokenId) returns()
- func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactor) Burn(opts *bind.TransactOpts, tokenId *big.Int) (*types.Transaction, error) {
- return _MetaRareERC721Collection.contract.Transact(opts, "burn", tokenId)
- }
- // Burn is a paid mutator transaction binding the contract method 0x42966c68.
- //
- // Solidity: function burn(uint256 tokenId) returns()
- func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) Burn(tokenId *big.Int) (*types.Transaction, error) {
- return _MetaRareERC721Collection.Contract.Burn(&_MetaRareERC721Collection.TransactOpts, tokenId)
- }
- // Burn is a paid mutator transaction binding the contract method 0x42966c68.
- //
- // Solidity: function burn(uint256 tokenId) returns()
- func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactorSession) Burn(tokenId *big.Int) (*types.Transaction, error) {
- return _MetaRareERC721Collection.Contract.Burn(&_MetaRareERC721Collection.TransactOpts, tokenId)
- }
- // GrantRole is a paid mutator transaction binding the contract method 0x2f2ff15d.
- //
- // Solidity: function grantRole(bytes32 role, address account) returns()
- func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactor) GrantRole(opts *bind.TransactOpts, role [32]byte, account common.Address) (*types.Transaction, error) {
- return _MetaRareERC721Collection.contract.Transact(opts, "grantRole", role, account)
- }
- // GrantRole is a paid mutator transaction binding the contract method 0x2f2ff15d.
- //
- // Solidity: function grantRole(bytes32 role, address account) returns()
- func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) GrantRole(role [32]byte, account common.Address) (*types.Transaction, error) {
- return _MetaRareERC721Collection.Contract.GrantRole(&_MetaRareERC721Collection.TransactOpts, role, account)
- }
- // GrantRole is a paid mutator transaction binding the contract method 0x2f2ff15d.
- //
- // Solidity: function grantRole(bytes32 role, address account) returns()
- func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactorSession) GrantRole(role [32]byte, account common.Address) (*types.Transaction, error) {
- return _MetaRareERC721Collection.Contract.GrantRole(&_MetaRareERC721Collection.TransactOpts, role, account)
- }
- // Initialize is a paid mutator transaction binding the contract method 0xd6d0faee.
- //
- // Solidity: function initialize(string initName, string initSymbol, string baseURI, address collectionOwner, address operatorContract) returns()
- func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactor) Initialize(opts *bind.TransactOpts, initName string, initSymbol string, baseURI string, collectionOwner common.Address, operatorContract common.Address) (*types.Transaction, error) {
- return _MetaRareERC721Collection.contract.Transact(opts, "initialize", initName, initSymbol, baseURI, collectionOwner, operatorContract)
- }
- // Initialize is a paid mutator transaction binding the contract method 0xd6d0faee.
- //
- // Solidity: function initialize(string initName, string initSymbol, string baseURI, address collectionOwner, address operatorContract) returns()
- func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) Initialize(initName string, initSymbol string, baseURI string, collectionOwner common.Address, operatorContract common.Address) (*types.Transaction, error) {
- return _MetaRareERC721Collection.Contract.Initialize(&_MetaRareERC721Collection.TransactOpts, initName, initSymbol, baseURI, collectionOwner, operatorContract)
- }
- // Initialize is a paid mutator transaction binding the contract method 0xd6d0faee.
- //
- // Solidity: function initialize(string initName, string initSymbol, string baseURI, address collectionOwner, address operatorContract) returns()
- func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactorSession) Initialize(initName string, initSymbol string, baseURI string, collectionOwner common.Address, operatorContract common.Address) (*types.Transaction, error) {
- return _MetaRareERC721Collection.Contract.Initialize(&_MetaRareERC721Collection.TransactOpts, initName, initSymbol, baseURI, collectionOwner, operatorContract)
- }
- // Mint is a paid mutator transaction binding the contract method 0x40c10f19.
- //
- // Solidity: function mint(address to, uint256 tokenId) returns()
- func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactor) Mint(opts *bind.TransactOpts, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
- return _MetaRareERC721Collection.contract.Transact(opts, "mint", to, tokenId)
- }
- // Mint is a paid mutator transaction binding the contract method 0x40c10f19.
- //
- // Solidity: function mint(address to, uint256 tokenId) returns()
- func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) Mint(to common.Address, tokenId *big.Int) (*types.Transaction, error) {
- return _MetaRareERC721Collection.Contract.Mint(&_MetaRareERC721Collection.TransactOpts, to, tokenId)
- }
- // Mint is a paid mutator transaction binding the contract method 0x40c10f19.
- //
- // Solidity: function mint(address to, uint256 tokenId) returns()
- func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactorSession) Mint(to common.Address, tokenId *big.Int) (*types.Transaction, error) {
- return _MetaRareERC721Collection.Contract.Mint(&_MetaRareERC721Collection.TransactOpts, to, tokenId)
- }
- // RenounceRole is a paid mutator transaction binding the contract method 0x36568abe.
- //
- // Solidity: function renounceRole(bytes32 role, address account) returns()
- func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactor) RenounceRole(opts *bind.TransactOpts, role [32]byte, account common.Address) (*types.Transaction, error) {
- return _MetaRareERC721Collection.contract.Transact(opts, "renounceRole", role, account)
- }
- // RenounceRole is a paid mutator transaction binding the contract method 0x36568abe.
- //
- // Solidity: function renounceRole(bytes32 role, address account) returns()
- func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) RenounceRole(role [32]byte, account common.Address) (*types.Transaction, error) {
- return _MetaRareERC721Collection.Contract.RenounceRole(&_MetaRareERC721Collection.TransactOpts, role, account)
- }
- // RenounceRole is a paid mutator transaction binding the contract method 0x36568abe.
- //
- // Solidity: function renounceRole(bytes32 role, address account) returns()
- func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactorSession) RenounceRole(role [32]byte, account common.Address) (*types.Transaction, error) {
- return _MetaRareERC721Collection.Contract.RenounceRole(&_MetaRareERC721Collection.TransactOpts, role, account)
- }
- // RevokeRole is a paid mutator transaction binding the contract method 0xd547741f.
- //
- // Solidity: function revokeRole(bytes32 role, address account) returns()
- func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactor) RevokeRole(opts *bind.TransactOpts, role [32]byte, account common.Address) (*types.Transaction, error) {
- return _MetaRareERC721Collection.contract.Transact(opts, "revokeRole", role, account)
- }
- // RevokeRole is a paid mutator transaction binding the contract method 0xd547741f.
- //
- // Solidity: function revokeRole(bytes32 role, address account) returns()
- func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) RevokeRole(role [32]byte, account common.Address) (*types.Transaction, error) {
- return _MetaRareERC721Collection.Contract.RevokeRole(&_MetaRareERC721Collection.TransactOpts, role, account)
- }
- // RevokeRole is a paid mutator transaction binding the contract method 0xd547741f.
- //
- // Solidity: function revokeRole(bytes32 role, address account) returns()
- func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactorSession) RevokeRole(role [32]byte, account common.Address) (*types.Transaction, error) {
- return _MetaRareERC721Collection.Contract.RevokeRole(&_MetaRareERC721Collection.TransactOpts, role, account)
- }
- // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e.
- //
- // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns()
- func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactor) SafeTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
- return _MetaRareERC721Collection.contract.Transact(opts, "safeTransferFrom", from, to, tokenId)
- }
- // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e.
- //
- // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns()
- func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
- return _MetaRareERC721Collection.Contract.SafeTransferFrom(&_MetaRareERC721Collection.TransactOpts, from, to, tokenId)
- }
- // SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e.
- //
- // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId) returns()
- func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactorSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
- return _MetaRareERC721Collection.Contract.SafeTransferFrom(&_MetaRareERC721Collection.TransactOpts, from, to, tokenId)
- }
- // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde.
- //
- // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns()
- func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactor) SafeTransferFrom0(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) {
- return _MetaRareERC721Collection.contract.Transact(opts, "safeTransferFrom0", from, to, tokenId, _data)
- }
- // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde.
- //
- // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns()
- func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) {
- return _MetaRareERC721Collection.Contract.SafeTransferFrom0(&_MetaRareERC721Collection.TransactOpts, from, to, tokenId, _data)
- }
- // SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde.
- //
- // Solidity: function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) returns()
- func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactorSession) SafeTransferFrom0(from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) {
- return _MetaRareERC721Collection.Contract.SafeTransferFrom0(&_MetaRareERC721Collection.TransactOpts, from, to, tokenId, _data)
- }
- // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465.
- //
- // Solidity: function setApprovalForAll(address operator, bool approved) returns()
- func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactor) SetApprovalForAll(opts *bind.TransactOpts, operator common.Address, approved bool) (*types.Transaction, error) {
- return _MetaRareERC721Collection.contract.Transact(opts, "setApprovalForAll", operator, approved)
- }
- // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465.
- //
- // Solidity: function setApprovalForAll(address operator, bool approved) returns()
- func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) SetApprovalForAll(operator common.Address, approved bool) (*types.Transaction, error) {
- return _MetaRareERC721Collection.Contract.SetApprovalForAll(&_MetaRareERC721Collection.TransactOpts, operator, approved)
- }
- // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465.
- //
- // Solidity: function setApprovalForAll(address operator, bool approved) returns()
- func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactorSession) SetApprovalForAll(operator common.Address, approved bool) (*types.Transaction, error) {
- return _MetaRareERC721Collection.Contract.SetApprovalForAll(&_MetaRareERC721Collection.TransactOpts, operator, approved)
- }
- // SetBaseURI is a paid mutator transaction binding the contract method 0x55f804b3.
- //
- // Solidity: function setBaseURI(string newBaseUri) returns()
- func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactor) SetBaseURI(opts *bind.TransactOpts, newBaseUri string) (*types.Transaction, error) {
- return _MetaRareERC721Collection.contract.Transact(opts, "setBaseURI", newBaseUri)
- }
- // SetBaseURI is a paid mutator transaction binding the contract method 0x55f804b3.
- //
- // Solidity: function setBaseURI(string newBaseUri) returns()
- func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) SetBaseURI(newBaseUri string) (*types.Transaction, error) {
- return _MetaRareERC721Collection.Contract.SetBaseURI(&_MetaRareERC721Collection.TransactOpts, newBaseUri)
- }
- // SetBaseURI is a paid mutator transaction binding the contract method 0x55f804b3.
- //
- // Solidity: function setBaseURI(string newBaseUri) returns()
- func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactorSession) SetBaseURI(newBaseUri string) (*types.Transaction, error) {
- return _MetaRareERC721Collection.Contract.SetBaseURI(&_MetaRareERC721Collection.TransactOpts, newBaseUri)
- }
- // SetName is a paid mutator transaction binding the contract method 0xc47f0027.
- //
- // Solidity: function setName(string newName) returns()
- func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactor) SetName(opts *bind.TransactOpts, newName string) (*types.Transaction, error) {
- return _MetaRareERC721Collection.contract.Transact(opts, "setName", newName)
- }
- // SetName is a paid mutator transaction binding the contract method 0xc47f0027.
- //
- // Solidity: function setName(string newName) returns()
- func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) SetName(newName string) (*types.Transaction, error) {
- return _MetaRareERC721Collection.Contract.SetName(&_MetaRareERC721Collection.TransactOpts, newName)
- }
- // SetName is a paid mutator transaction binding the contract method 0xc47f0027.
- //
- // Solidity: function setName(string newName) returns()
- func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactorSession) SetName(newName string) (*types.Transaction, error) {
- return _MetaRareERC721Collection.Contract.SetName(&_MetaRareERC721Collection.TransactOpts, newName)
- }
- // SetSymbol is a paid mutator transaction binding the contract method 0xb84c8246.
- //
- // Solidity: function setSymbol(string newSymbol) returns()
- func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactor) SetSymbol(opts *bind.TransactOpts, newSymbol string) (*types.Transaction, error) {
- return _MetaRareERC721Collection.contract.Transact(opts, "setSymbol", newSymbol)
- }
- // SetSymbol is a paid mutator transaction binding the contract method 0xb84c8246.
- //
- // Solidity: function setSymbol(string newSymbol) returns()
- func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) SetSymbol(newSymbol string) (*types.Transaction, error) {
- return _MetaRareERC721Collection.Contract.SetSymbol(&_MetaRareERC721Collection.TransactOpts, newSymbol)
- }
- // SetSymbol is a paid mutator transaction binding the contract method 0xb84c8246.
- //
- // Solidity: function setSymbol(string newSymbol) returns()
- func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactorSession) SetSymbol(newSymbol string) (*types.Transaction, error) {
- return _MetaRareERC721Collection.Contract.SetSymbol(&_MetaRareERC721Collection.TransactOpts, newSymbol)
- }
- // SetTokenURI is a paid mutator transaction binding the contract method 0x162094c4.
- //
- // Solidity: function setTokenURI(uint256 tokenId, string _tokenURI) returns()
- func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactor) SetTokenURI(opts *bind.TransactOpts, tokenId *big.Int, _tokenURI string) (*types.Transaction, error) {
- return _MetaRareERC721Collection.contract.Transact(opts, "setTokenURI", tokenId, _tokenURI)
- }
- // SetTokenURI is a paid mutator transaction binding the contract method 0x162094c4.
- //
- // Solidity: function setTokenURI(uint256 tokenId, string _tokenURI) returns()
- func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) SetTokenURI(tokenId *big.Int, _tokenURI string) (*types.Transaction, error) {
- return _MetaRareERC721Collection.Contract.SetTokenURI(&_MetaRareERC721Collection.TransactOpts, tokenId, _tokenURI)
- }
- // SetTokenURI is a paid mutator transaction binding the contract method 0x162094c4.
- //
- // Solidity: function setTokenURI(uint256 tokenId, string _tokenURI) returns()
- func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactorSession) SetTokenURI(tokenId *big.Int, _tokenURI string) (*types.Transaction, error) {
- return _MetaRareERC721Collection.Contract.SetTokenURI(&_MetaRareERC721Collection.TransactOpts, tokenId, _tokenURI)
- }
- // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd.
- //
- // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns()
- func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactor) TransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
- return _MetaRareERC721Collection.contract.Transact(opts, "transferFrom", from, to, tokenId)
- }
- // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd.
- //
- // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns()
- func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
- return _MetaRareERC721Collection.Contract.TransferFrom(&_MetaRareERC721Collection.TransactOpts, from, to, tokenId)
- }
- // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd.
- //
- // Solidity: function transferFrom(address from, address to, uint256 tokenId) returns()
- func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactorSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
- return _MetaRareERC721Collection.Contract.TransferFrom(&_MetaRareERC721Collection.TransactOpts, from, to, tokenId)
- }
- // TransferOnlyOperator is a paid mutator transaction binding the contract method 0x5145dc57.
- //
- // Solidity: function transferOnlyOperator(address from, address to, uint256 tokenId) returns()
- func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactor) TransferOnlyOperator(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
- return _MetaRareERC721Collection.contract.Transact(opts, "transferOnlyOperator", from, to, tokenId)
- }
- // TransferOnlyOperator is a paid mutator transaction binding the contract method 0x5145dc57.
- //
- // Solidity: function transferOnlyOperator(address from, address to, uint256 tokenId) returns()
- func (_MetaRareERC721Collection *MetaRareERC721CollectionSession) TransferOnlyOperator(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
- return _MetaRareERC721Collection.Contract.TransferOnlyOperator(&_MetaRareERC721Collection.TransactOpts, from, to, tokenId)
- }
- // TransferOnlyOperator is a paid mutator transaction binding the contract method 0x5145dc57.
- //
- // Solidity: function transferOnlyOperator(address from, address to, uint256 tokenId) returns()
- func (_MetaRareERC721Collection *MetaRareERC721CollectionTransactorSession) TransferOnlyOperator(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) {
- return _MetaRareERC721Collection.Contract.TransferOnlyOperator(&_MetaRareERC721Collection.TransactOpts, from, to, tokenId)
- }
- // 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.
- type MetaRareERC721CollectionApprovalIterator struct {
- Event *MetaRareERC721CollectionApproval // Event containing the contract specifics and raw log
- contract *bind.BoundContract // Generic contract to use for unpacking event data
- event string // Event name to use for unpacking event data
- logs chan types.Log // Log channel receiving the found contract events
- sub ethereum.Subscription // Subscription for errors, completion and termination
- done bool // Whether the subscription completed delivering logs
- fail error // Occurred error to stop iteration
- }
- // Next advances the iterator to the subsequent event, returning whether there
- // are any more events found. In case of a retrieval or parsing error, false is
- // returned and Error() can be queried for the exact failure.
- func (it *MetaRareERC721CollectionApprovalIterator) Next() bool {
- // If the iterator failed, stop iterating
- if it.fail != nil {
- return false
- }
- // If the iterator completed, deliver directly whatever's available
- if it.done {
- select {
- case log := <-it.logs:
- it.Event = new(MetaRareERC721CollectionApproval)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- default:
- return false
- }
- }
- // Iterator still in progress, wait for either a data or an error event
- select {
- case log := <-it.logs:
- it.Event = new(MetaRareERC721CollectionApproval)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- case err := <-it.sub.Err():
- it.done = true
- it.fail = err
- return it.Next()
- }
- }
- // Error returns any retrieval or parsing error occurred during filtering.
- func (it *MetaRareERC721CollectionApprovalIterator) Error() error {
- return it.fail
- }
- // Close terminates the iteration process, releasing any pending underlying
- // resources.
- func (it *MetaRareERC721CollectionApprovalIterator) Close() error {
- it.sub.Unsubscribe()
- return nil
- }
- // MetaRareERC721CollectionApproval represents a Approval event raised by the MetaRareERC721Collection contract.
- type MetaRareERC721CollectionApproval struct {
- Owner common.Address
- Approved common.Address
- TokenId *big.Int
- Raw types.Log // Blockchain specific contextual infos
- }
- // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925.
- //
- // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)
- func (_MetaRareERC721Collection *MetaRareERC721CollectionFilterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, approved []common.Address, tokenId []*big.Int) (*MetaRareERC721CollectionApprovalIterator, error) {
- var ownerRule []interface{}
- for _, ownerItem := range owner {
- ownerRule = append(ownerRule, ownerItem)
- }
- var approvedRule []interface{}
- for _, approvedItem := range approved {
- approvedRule = append(approvedRule, approvedItem)
- }
- var tokenIdRule []interface{}
- for _, tokenIdItem := range tokenId {
- tokenIdRule = append(tokenIdRule, tokenIdItem)
- }
- logs, sub, err := _MetaRareERC721Collection.contract.FilterLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule)
- if err != nil {
- return nil, err
- }
- return &MetaRareERC721CollectionApprovalIterator{contract: _MetaRareERC721Collection.contract, event: "Approval", logs: logs, sub: sub}, nil
- }
- // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925.
- //
- // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)
- func (_MetaRareERC721Collection *MetaRareERC721CollectionFilterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *MetaRareERC721CollectionApproval, owner []common.Address, approved []common.Address, tokenId []*big.Int) (event.Subscription, error) {
- var ownerRule []interface{}
- for _, ownerItem := range owner {
- ownerRule = append(ownerRule, ownerItem)
- }
- var approvedRule []interface{}
- for _, approvedItem := range approved {
- approvedRule = append(approvedRule, approvedItem)
- }
- var tokenIdRule []interface{}
- for _, tokenIdItem := range tokenId {
- tokenIdRule = append(tokenIdRule, tokenIdItem)
- }
- logs, sub, err := _MetaRareERC721Collection.contract.WatchLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule)
- if err != nil {
- return nil, err
- }
- return event.NewSubscription(func(quit <-chan struct{}) error {
- defer sub.Unsubscribe()
- for {
- select {
- case log := <-logs:
- // New log arrived, parse the event and forward to the user
- event := new(MetaRareERC721CollectionApproval)
- if err := _MetaRareERC721Collection.contract.UnpackLog(event, "Approval", log); err != nil {
- return err
- }
- event.Raw = log
- select {
- case sink <- event:
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- }
- }), nil
- }
- // ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925.
- //
- // Solidity: event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)
- func (_MetaRareERC721Collection *MetaRareERC721CollectionFilterer) ParseApproval(log types.Log) (*MetaRareERC721CollectionApproval, error) {
- event := new(MetaRareERC721CollectionApproval)
- if err := _MetaRareERC721Collection.contract.UnpackLog(event, "Approval", log); err != nil {
- return nil, err
- }
- event.Raw = log
- return event, nil
- }
- // 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.
- type MetaRareERC721CollectionApprovalForAllIterator struct {
- Event *MetaRareERC721CollectionApprovalForAll // Event containing the contract specifics and raw log
- contract *bind.BoundContract // Generic contract to use for unpacking event data
- event string // Event name to use for unpacking event data
- logs chan types.Log // Log channel receiving the found contract events
- sub ethereum.Subscription // Subscription for errors, completion and termination
- done bool // Whether the subscription completed delivering logs
- fail error // Occurred error to stop iteration
- }
- // Next advances the iterator to the subsequent event, returning whether there
- // are any more events found. In case of a retrieval or parsing error, false is
- // returned and Error() can be queried for the exact failure.
- func (it *MetaRareERC721CollectionApprovalForAllIterator) Next() bool {
- // If the iterator failed, stop iterating
- if it.fail != nil {
- return false
- }
- // If the iterator completed, deliver directly whatever's available
- if it.done {
- select {
- case log := <-it.logs:
- it.Event = new(MetaRareERC721CollectionApprovalForAll)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- default:
- return false
- }
- }
- // Iterator still in progress, wait for either a data or an error event
- select {
- case log := <-it.logs:
- it.Event = new(MetaRareERC721CollectionApprovalForAll)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- case err := <-it.sub.Err():
- it.done = true
- it.fail = err
- return it.Next()
- }
- }
- // Error returns any retrieval or parsing error occurred during filtering.
- func (it *MetaRareERC721CollectionApprovalForAllIterator) Error() error {
- return it.fail
- }
- // Close terminates the iteration process, releasing any pending underlying
- // resources.
- func (it *MetaRareERC721CollectionApprovalForAllIterator) Close() error {
- it.sub.Unsubscribe()
- return nil
- }
- // MetaRareERC721CollectionApprovalForAll represents a ApprovalForAll event raised by the MetaRareERC721Collection contract.
- type MetaRareERC721CollectionApprovalForAll struct {
- Owner common.Address
- Operator common.Address
- Approved bool
- Raw types.Log // Blockchain specific contextual infos
- }
- // FilterApprovalForAll is a free log retrieval operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31.
- //
- // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved)
- func (_MetaRareERC721Collection *MetaRareERC721CollectionFilterer) FilterApprovalForAll(opts *bind.FilterOpts, owner []common.Address, operator []common.Address) (*MetaRareERC721CollectionApprovalForAllIterator, error) {
- var ownerRule []interface{}
- for _, ownerItem := range owner {
- ownerRule = append(ownerRule, ownerItem)
- }
- var operatorRule []interface{}
- for _, operatorItem := range operator {
- operatorRule = append(operatorRule, operatorItem)
- }
- logs, sub, err := _MetaRareERC721Collection.contract.FilterLogs(opts, "ApprovalForAll", ownerRule, operatorRule)
- if err != nil {
- return nil, err
- }
- return &MetaRareERC721CollectionApprovalForAllIterator{contract: _MetaRareERC721Collection.contract, event: "ApprovalForAll", logs: logs, sub: sub}, nil
- }
- // WatchApprovalForAll is a free log subscription operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31.
- //
- // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved)
- func (_MetaRareERC721Collection *MetaRareERC721CollectionFilterer) WatchApprovalForAll(opts *bind.WatchOpts, sink chan<- *MetaRareERC721CollectionApprovalForAll, owner []common.Address, operator []common.Address) (event.Subscription, error) {
- var ownerRule []interface{}
- for _, ownerItem := range owner {
- ownerRule = append(ownerRule, ownerItem)
- }
- var operatorRule []interface{}
- for _, operatorItem := range operator {
- operatorRule = append(operatorRule, operatorItem)
- }
- logs, sub, err := _MetaRareERC721Collection.contract.WatchLogs(opts, "ApprovalForAll", ownerRule, operatorRule)
- if err != nil {
- return nil, err
- }
- return event.NewSubscription(func(quit <-chan struct{}) error {
- defer sub.Unsubscribe()
- for {
- select {
- case log := <-logs:
- // New log arrived, parse the event and forward to the user
- event := new(MetaRareERC721CollectionApprovalForAll)
- if err := _MetaRareERC721Collection.contract.UnpackLog(event, "ApprovalForAll", log); err != nil {
- return err
- }
- event.Raw = log
- select {
- case sink <- event:
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- }
- }), nil
- }
- // ParseApprovalForAll is a log parse operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31.
- //
- // Solidity: event ApprovalForAll(address indexed owner, address indexed operator, bool approved)
- func (_MetaRareERC721Collection *MetaRareERC721CollectionFilterer) ParseApprovalForAll(log types.Log) (*MetaRareERC721CollectionApprovalForAll, error) {
- event := new(MetaRareERC721CollectionApprovalForAll)
- if err := _MetaRareERC721Collection.contract.UnpackLog(event, "ApprovalForAll", log); err != nil {
- return nil, err
- }
- event.Raw = log
- return event, nil
- }
- // 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.
- type MetaRareERC721CollectionRoleAdminChangedIterator struct {
- Event *MetaRareERC721CollectionRoleAdminChanged // Event containing the contract specifics and raw log
- contract *bind.BoundContract // Generic contract to use for unpacking event data
- event string // Event name to use for unpacking event data
- logs chan types.Log // Log channel receiving the found contract events
- sub ethereum.Subscription // Subscription for errors, completion and termination
- done bool // Whether the subscription completed delivering logs
- fail error // Occurred error to stop iteration
- }
- // Next advances the iterator to the subsequent event, returning whether there
- // are any more events found. In case of a retrieval or parsing error, false is
- // returned and Error() can be queried for the exact failure.
- func (it *MetaRareERC721CollectionRoleAdminChangedIterator) Next() bool {
- // If the iterator failed, stop iterating
- if it.fail != nil {
- return false
- }
- // If the iterator completed, deliver directly whatever's available
- if it.done {
- select {
- case log := <-it.logs:
- it.Event = new(MetaRareERC721CollectionRoleAdminChanged)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- default:
- return false
- }
- }
- // Iterator still in progress, wait for either a data or an error event
- select {
- case log := <-it.logs:
- it.Event = new(MetaRareERC721CollectionRoleAdminChanged)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- case err := <-it.sub.Err():
- it.done = true
- it.fail = err
- return it.Next()
- }
- }
- // Error returns any retrieval or parsing error occurred during filtering.
- func (it *MetaRareERC721CollectionRoleAdminChangedIterator) Error() error {
- return it.fail
- }
- // Close terminates the iteration process, releasing any pending underlying
- // resources.
- func (it *MetaRareERC721CollectionRoleAdminChangedIterator) Close() error {
- it.sub.Unsubscribe()
- return nil
- }
- // MetaRareERC721CollectionRoleAdminChanged represents a RoleAdminChanged event raised by the MetaRareERC721Collection contract.
- type MetaRareERC721CollectionRoleAdminChanged struct {
- Role [32]byte
- PreviousAdminRole [32]byte
- NewAdminRole [32]byte
- Raw types.Log // Blockchain specific contextual infos
- }
- // FilterRoleAdminChanged is a free log retrieval operation binding the contract event 0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff.
- //
- // Solidity: event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)
- func (_MetaRareERC721Collection *MetaRareERC721CollectionFilterer) FilterRoleAdminChanged(opts *bind.FilterOpts, role [][32]byte, previousAdminRole [][32]byte, newAdminRole [][32]byte) (*MetaRareERC721CollectionRoleAdminChangedIterator, error) {
- var roleRule []interface{}
- for _, roleItem := range role {
- roleRule = append(roleRule, roleItem)
- }
- var previousAdminRoleRule []interface{}
- for _, previousAdminRoleItem := range previousAdminRole {
- previousAdminRoleRule = append(previousAdminRoleRule, previousAdminRoleItem)
- }
- var newAdminRoleRule []interface{}
- for _, newAdminRoleItem := range newAdminRole {
- newAdminRoleRule = append(newAdminRoleRule, newAdminRoleItem)
- }
- logs, sub, err := _MetaRareERC721Collection.contract.FilterLogs(opts, "RoleAdminChanged", roleRule, previousAdminRoleRule, newAdminRoleRule)
- if err != nil {
- return nil, err
- }
- return &MetaRareERC721CollectionRoleAdminChangedIterator{contract: _MetaRareERC721Collection.contract, event: "RoleAdminChanged", logs: logs, sub: sub}, nil
- }
- // WatchRoleAdminChanged is a free log subscription operation binding the contract event 0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff.
- //
- // Solidity: event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)
- func (_MetaRareERC721Collection *MetaRareERC721CollectionFilterer) WatchRoleAdminChanged(opts *bind.WatchOpts, sink chan<- *MetaRareERC721CollectionRoleAdminChanged, role [][32]byte, previousAdminRole [][32]byte, newAdminRole [][32]byte) (event.Subscription, error) {
- var roleRule []interface{}
- for _, roleItem := range role {
- roleRule = append(roleRule, roleItem)
- }
- var previousAdminRoleRule []interface{}
- for _, previousAdminRoleItem := range previousAdminRole {
- previousAdminRoleRule = append(previousAdminRoleRule, previousAdminRoleItem)
- }
- var newAdminRoleRule []interface{}
- for _, newAdminRoleItem := range newAdminRole {
- newAdminRoleRule = append(newAdminRoleRule, newAdminRoleItem)
- }
- logs, sub, err := _MetaRareERC721Collection.contract.WatchLogs(opts, "RoleAdminChanged", roleRule, previousAdminRoleRule, newAdminRoleRule)
- if err != nil {
- return nil, err
- }
- return event.NewSubscription(func(quit <-chan struct{}) error {
- defer sub.Unsubscribe()
- for {
- select {
- case log := <-logs:
- // New log arrived, parse the event and forward to the user
- event := new(MetaRareERC721CollectionRoleAdminChanged)
- if err := _MetaRareERC721Collection.contract.UnpackLog(event, "RoleAdminChanged", log); err != nil {
- return err
- }
- event.Raw = log
- select {
- case sink <- event:
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- }
- }), nil
- }
- // ParseRoleAdminChanged is a log parse operation binding the contract event 0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff.
- //
- // Solidity: event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)
- func (_MetaRareERC721Collection *MetaRareERC721CollectionFilterer) ParseRoleAdminChanged(log types.Log) (*MetaRareERC721CollectionRoleAdminChanged, error) {
- event := new(MetaRareERC721CollectionRoleAdminChanged)
- if err := _MetaRareERC721Collection.contract.UnpackLog(event, "RoleAdminChanged", log); err != nil {
- return nil, err
- }
- event.Raw = log
- return event, nil
- }
- // 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.
- type MetaRareERC721CollectionRoleGrantedIterator struct {
- Event *MetaRareERC721CollectionRoleGranted // Event containing the contract specifics and raw log
- contract *bind.BoundContract // Generic contract to use for unpacking event data
- event string // Event name to use for unpacking event data
- logs chan types.Log // Log channel receiving the found contract events
- sub ethereum.Subscription // Subscription for errors, completion and termination
- done bool // Whether the subscription completed delivering logs
- fail error // Occurred error to stop iteration
- }
- // Next advances the iterator to the subsequent event, returning whether there
- // are any more events found. In case of a retrieval or parsing error, false is
- // returned and Error() can be queried for the exact failure.
- func (it *MetaRareERC721CollectionRoleGrantedIterator) Next() bool {
- // If the iterator failed, stop iterating
- if it.fail != nil {
- return false
- }
- // If the iterator completed, deliver directly whatever's available
- if it.done {
- select {
- case log := <-it.logs:
- it.Event = new(MetaRareERC721CollectionRoleGranted)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- default:
- return false
- }
- }
- // Iterator still in progress, wait for either a data or an error event
- select {
- case log := <-it.logs:
- it.Event = new(MetaRareERC721CollectionRoleGranted)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- case err := <-it.sub.Err():
- it.done = true
- it.fail = err
- return it.Next()
- }
- }
- // Error returns any retrieval or parsing error occurred during filtering.
- func (it *MetaRareERC721CollectionRoleGrantedIterator) Error() error {
- return it.fail
- }
- // Close terminates the iteration process, releasing any pending underlying
- // resources.
- func (it *MetaRareERC721CollectionRoleGrantedIterator) Close() error {
- it.sub.Unsubscribe()
- return nil
- }
- // MetaRareERC721CollectionRoleGranted represents a RoleGranted event raised by the MetaRareERC721Collection contract.
- type MetaRareERC721CollectionRoleGranted struct {
- Role [32]byte
- Account common.Address
- Sender common.Address
- Raw types.Log // Blockchain specific contextual infos
- }
- // FilterRoleGranted is a free log retrieval operation binding the contract event 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d.
- //
- // Solidity: event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)
- func (_MetaRareERC721Collection *MetaRareERC721CollectionFilterer) FilterRoleGranted(opts *bind.FilterOpts, role [][32]byte, account []common.Address, sender []common.Address) (*MetaRareERC721CollectionRoleGrantedIterator, error) {
- var roleRule []interface{}
- for _, roleItem := range role {
- roleRule = append(roleRule, roleItem)
- }
- var accountRule []interface{}
- for _, accountItem := range account {
- accountRule = append(accountRule, accountItem)
- }
- var senderRule []interface{}
- for _, senderItem := range sender {
- senderRule = append(senderRule, senderItem)
- }
- logs, sub, err := _MetaRareERC721Collection.contract.FilterLogs(opts, "RoleGranted", roleRule, accountRule, senderRule)
- if err != nil {
- return nil, err
- }
- return &MetaRareERC721CollectionRoleGrantedIterator{contract: _MetaRareERC721Collection.contract, event: "RoleGranted", logs: logs, sub: sub}, nil
- }
- // WatchRoleGranted is a free log subscription operation binding the contract event 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d.
- //
- // Solidity: event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)
- func (_MetaRareERC721Collection *MetaRareERC721CollectionFilterer) WatchRoleGranted(opts *bind.WatchOpts, sink chan<- *MetaRareERC721CollectionRoleGranted, role [][32]byte, account []common.Address, sender []common.Address) (event.Subscription, error) {
- var roleRule []interface{}
- for _, roleItem := range role {
- roleRule = append(roleRule, roleItem)
- }
- var accountRule []interface{}
- for _, accountItem := range account {
- accountRule = append(accountRule, accountItem)
- }
- var senderRule []interface{}
- for _, senderItem := range sender {
- senderRule = append(senderRule, senderItem)
- }
- logs, sub, err := _MetaRareERC721Collection.contract.WatchLogs(opts, "RoleGranted", roleRule, accountRule, senderRule)
- if err != nil {
- return nil, err
- }
- return event.NewSubscription(func(quit <-chan struct{}) error {
- defer sub.Unsubscribe()
- for {
- select {
- case log := <-logs:
- // New log arrived, parse the event and forward to the user
- event := new(MetaRareERC721CollectionRoleGranted)
- if err := _MetaRareERC721Collection.contract.UnpackLog(event, "RoleGranted", log); err != nil {
- return err
- }
- event.Raw = log
- select {
- case sink <- event:
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- }
- }), nil
- }
- // ParseRoleGranted is a log parse operation binding the contract event 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d.
- //
- // Solidity: event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)
- func (_MetaRareERC721Collection *MetaRareERC721CollectionFilterer) ParseRoleGranted(log types.Log) (*MetaRareERC721CollectionRoleGranted, error) {
- event := new(MetaRareERC721CollectionRoleGranted)
- if err := _MetaRareERC721Collection.contract.UnpackLog(event, "RoleGranted", log); err != nil {
- return nil, err
- }
- event.Raw = log
- return event, nil
- }
- // 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.
- type MetaRareERC721CollectionRoleRevokedIterator struct {
- Event *MetaRareERC721CollectionRoleRevoked // Event containing the contract specifics and raw log
- contract *bind.BoundContract // Generic contract to use for unpacking event data
- event string // Event name to use for unpacking event data
- logs chan types.Log // Log channel receiving the found contract events
- sub ethereum.Subscription // Subscription for errors, completion and termination
- done bool // Whether the subscription completed delivering logs
- fail error // Occurred error to stop iteration
- }
- // Next advances the iterator to the subsequent event, returning whether there
- // are any more events found. In case of a retrieval or parsing error, false is
- // returned and Error() can be queried for the exact failure.
- func (it *MetaRareERC721CollectionRoleRevokedIterator) Next() bool {
- // If the iterator failed, stop iterating
- if it.fail != nil {
- return false
- }
- // If the iterator completed, deliver directly whatever's available
- if it.done {
- select {
- case log := <-it.logs:
- it.Event = new(MetaRareERC721CollectionRoleRevoked)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- default:
- return false
- }
- }
- // Iterator still in progress, wait for either a data or an error event
- select {
- case log := <-it.logs:
- it.Event = new(MetaRareERC721CollectionRoleRevoked)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- case err := <-it.sub.Err():
- it.done = true
- it.fail = err
- return it.Next()
- }
- }
- // Error returns any retrieval or parsing error occurred during filtering.
- func (it *MetaRareERC721CollectionRoleRevokedIterator) Error() error {
- return it.fail
- }
- // Close terminates the iteration process, releasing any pending underlying
- // resources.
- func (it *MetaRareERC721CollectionRoleRevokedIterator) Close() error {
- it.sub.Unsubscribe()
- return nil
- }
- // MetaRareERC721CollectionRoleRevoked represents a RoleRevoked event raised by the MetaRareERC721Collection contract.
- type MetaRareERC721CollectionRoleRevoked struct {
- Role [32]byte
- Account common.Address
- Sender common.Address
- Raw types.Log // Blockchain specific contextual infos
- }
- // FilterRoleRevoked is a free log retrieval operation binding the contract event 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b.
- //
- // Solidity: event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)
- func (_MetaRareERC721Collection *MetaRareERC721CollectionFilterer) FilterRoleRevoked(opts *bind.FilterOpts, role [][32]byte, account []common.Address, sender []common.Address) (*MetaRareERC721CollectionRoleRevokedIterator, error) {
- var roleRule []interface{}
- for _, roleItem := range role {
- roleRule = append(roleRule, roleItem)
- }
- var accountRule []interface{}
- for _, accountItem := range account {
- accountRule = append(accountRule, accountItem)
- }
- var senderRule []interface{}
- for _, senderItem := range sender {
- senderRule = append(senderRule, senderItem)
- }
- logs, sub, err := _MetaRareERC721Collection.contract.FilterLogs(opts, "RoleRevoked", roleRule, accountRule, senderRule)
- if err != nil {
- return nil, err
- }
- return &MetaRareERC721CollectionRoleRevokedIterator{contract: _MetaRareERC721Collection.contract, event: "RoleRevoked", logs: logs, sub: sub}, nil
- }
- // WatchRoleRevoked is a free log subscription operation binding the contract event 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b.
- //
- // Solidity: event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)
- func (_MetaRareERC721Collection *MetaRareERC721CollectionFilterer) WatchRoleRevoked(opts *bind.WatchOpts, sink chan<- *MetaRareERC721CollectionRoleRevoked, role [][32]byte, account []common.Address, sender []common.Address) (event.Subscription, error) {
- var roleRule []interface{}
- for _, roleItem := range role {
- roleRule = append(roleRule, roleItem)
- }
- var accountRule []interface{}
- for _, accountItem := range account {
- accountRule = append(accountRule, accountItem)
- }
- var senderRule []interface{}
- for _, senderItem := range sender {
- senderRule = append(senderRule, senderItem)
- }
- logs, sub, err := _MetaRareERC721Collection.contract.WatchLogs(opts, "RoleRevoked", roleRule, accountRule, senderRule)
- if err != nil {
- return nil, err
- }
- return event.NewSubscription(func(quit <-chan struct{}) error {
- defer sub.Unsubscribe()
- for {
- select {
- case log := <-logs:
- // New log arrived, parse the event and forward to the user
- event := new(MetaRareERC721CollectionRoleRevoked)
- if err := _MetaRareERC721Collection.contract.UnpackLog(event, "RoleRevoked", log); err != nil {
- return err
- }
- event.Raw = log
- select {
- case sink <- event:
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- }
- }), nil
- }
- // ParseRoleRevoked is a log parse operation binding the contract event 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b.
- //
- // Solidity: event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)
- func (_MetaRareERC721Collection *MetaRareERC721CollectionFilterer) ParseRoleRevoked(log types.Log) (*MetaRareERC721CollectionRoleRevoked, error) {
- event := new(MetaRareERC721CollectionRoleRevoked)
- if err := _MetaRareERC721Collection.contract.UnpackLog(event, "RoleRevoked", log); err != nil {
- return nil, err
- }
- event.Raw = log
- return event, nil
- }
- // 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.
- type MetaRareERC721CollectionTransferIterator struct {
- Event *MetaRareERC721CollectionTransfer // Event containing the contract specifics and raw log
- contract *bind.BoundContract // Generic contract to use for unpacking event data
- event string // Event name to use for unpacking event data
- logs chan types.Log // Log channel receiving the found contract events
- sub ethereum.Subscription // Subscription for errors, completion and termination
- done bool // Whether the subscription completed delivering logs
- fail error // Occurred error to stop iteration
- }
- // Next advances the iterator to the subsequent event, returning whether there
- // are any more events found. In case of a retrieval or parsing error, false is
- // returned and Error() can be queried for the exact failure.
- func (it *MetaRareERC721CollectionTransferIterator) Next() bool {
- // If the iterator failed, stop iterating
- if it.fail != nil {
- return false
- }
- // If the iterator completed, deliver directly whatever's available
- if it.done {
- select {
- case log := <-it.logs:
- it.Event = new(MetaRareERC721CollectionTransfer)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- default:
- return false
- }
- }
- // Iterator still in progress, wait for either a data or an error event
- select {
- case log := <-it.logs:
- it.Event = new(MetaRareERC721CollectionTransfer)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- case err := <-it.sub.Err():
- it.done = true
- it.fail = err
- return it.Next()
- }
- }
- // Error returns any retrieval or parsing error occurred during filtering.
- func (it *MetaRareERC721CollectionTransferIterator) Error() error {
- return it.fail
- }
- // Close terminates the iteration process, releasing any pending underlying
- // resources.
- func (it *MetaRareERC721CollectionTransferIterator) Close() error {
- it.sub.Unsubscribe()
- return nil
- }
- // MetaRareERC721CollectionTransfer represents a Transfer event raised by the MetaRareERC721Collection contract.
- type MetaRareERC721CollectionTransfer struct {
- From common.Address
- To common.Address
- TokenId *big.Int
- Raw types.Log // Blockchain specific contextual infos
- }
- // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef.
- //
- // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)
- func (_MetaRareERC721Collection *MetaRareERC721CollectionFilterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address, tokenId []*big.Int) (*MetaRareERC721CollectionTransferIterator, error) {
- var fromRule []interface{}
- for _, fromItem := range from {
- fromRule = append(fromRule, fromItem)
- }
- var toRule []interface{}
- for _, toItem := range to {
- toRule = append(toRule, toItem)
- }
- var tokenIdRule []interface{}
- for _, tokenIdItem := range tokenId {
- tokenIdRule = append(tokenIdRule, tokenIdItem)
- }
- logs, sub, err := _MetaRareERC721Collection.contract.FilterLogs(opts, "Transfer", fromRule, toRule, tokenIdRule)
- if err != nil {
- return nil, err
- }
- return &MetaRareERC721CollectionTransferIterator{contract: _MetaRareERC721Collection.contract, event: "Transfer", logs: logs, sub: sub}, nil
- }
- // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef.
- //
- // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)
- func (_MetaRareERC721Collection *MetaRareERC721CollectionFilterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *MetaRareERC721CollectionTransfer, from []common.Address, to []common.Address, tokenId []*big.Int) (event.Subscription, error) {
- var fromRule []interface{}
- for _, fromItem := range from {
- fromRule = append(fromRule, fromItem)
- }
- var toRule []interface{}
- for _, toItem := range to {
- toRule = append(toRule, toItem)
- }
- var tokenIdRule []interface{}
- for _, tokenIdItem := range tokenId {
- tokenIdRule = append(tokenIdRule, tokenIdItem)
- }
- logs, sub, err := _MetaRareERC721Collection.contract.WatchLogs(opts, "Transfer", fromRule, toRule, tokenIdRule)
- if err != nil {
- return nil, err
- }
- return event.NewSubscription(func(quit <-chan struct{}) error {
- defer sub.Unsubscribe()
- for {
- select {
- case log := <-logs:
- // New log arrived, parse the event and forward to the user
- event := new(MetaRareERC721CollectionTransfer)
- if err := _MetaRareERC721Collection.contract.UnpackLog(event, "Transfer", log); err != nil {
- return err
- }
- event.Raw = log
- select {
- case sink <- event:
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- }
- }), nil
- }
- // ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef.
- //
- // Solidity: event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)
- func (_MetaRareERC721Collection *MetaRareERC721CollectionFilterer) ParseTransfer(log types.Log) (*MetaRareERC721CollectionTransfer, error) {
- event := new(MetaRareERC721CollectionTransfer)
- if err := _MetaRareERC721Collection.contract.UnpackLog(event, "Transfer", log); err != nil {
- return nil, err
- }
- event.Raw = log
- return event, nil
- }
- // OwnableMetaData contains all meta data concerning the Ownable contract.
- var OwnableMetaData = &bind.MetaData{
- 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\"}]",
- Sigs: map[string]string{
- "8da5cb5b": "owner()",
- "715018a6": "renounceOwnership()",
- "f2fde38b": "transferOwnership(address)",
- },
- }
- // OwnableABI is the input ABI used to generate the binding from.
- // Deprecated: Use OwnableMetaData.ABI instead.
- var OwnableABI = OwnableMetaData.ABI
- // Deprecated: Use OwnableMetaData.Sigs instead.
- // OwnableFuncSigs maps the 4-byte function signature to its string representation.
- var OwnableFuncSigs = OwnableMetaData.Sigs
- // Ownable is an auto generated Go binding around an Ethereum contract.
- type Ownable struct {
- OwnableCaller // Read-only binding to the contract
- OwnableTransactor // Write-only binding to the contract
- OwnableFilterer // Log filterer for contract events
- }
- // OwnableCaller is an auto generated read-only Go binding around an Ethereum contract.
- type OwnableCaller struct {
- contract *bind.BoundContract // Generic contract wrapper for the low level calls
- }
- // OwnableTransactor is an auto generated write-only Go binding around an Ethereum contract.
- type OwnableTransactor struct {
- contract *bind.BoundContract // Generic contract wrapper for the low level calls
- }
- // OwnableFilterer is an auto generated log filtering Go binding around an Ethereum contract events.
- type OwnableFilterer struct {
- contract *bind.BoundContract // Generic contract wrapper for the low level calls
- }
- // OwnableSession is an auto generated Go binding around an Ethereum contract,
- // with pre-set call and transact options.
- type OwnableSession struct {
- Contract *Ownable // Generic contract binding to set the session for
- CallOpts bind.CallOpts // Call options to use throughout this session
- TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
- }
- // OwnableCallerSession is an auto generated read-only Go binding around an Ethereum contract,
- // with pre-set call options.
- type OwnableCallerSession struct {
- Contract *OwnableCaller // Generic contract caller binding to set the session for
- CallOpts bind.CallOpts // Call options to use throughout this session
- }
- // OwnableTransactorSession is an auto generated write-only Go binding around an Ethereum contract,
- // with pre-set transact options.
- type OwnableTransactorSession struct {
- Contract *OwnableTransactor // Generic contract transactor binding to set the session for
- TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
- }
- // OwnableRaw is an auto generated low-level Go binding around an Ethereum contract.
- type OwnableRaw struct {
- Contract *Ownable // Generic contract binding to access the raw methods on
- }
- // OwnableCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
- type OwnableCallerRaw struct {
- Contract *OwnableCaller // Generic read-only contract binding to access the raw methods on
- }
- // OwnableTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
- type OwnableTransactorRaw struct {
- Contract *OwnableTransactor // Generic write-only contract binding to access the raw methods on
- }
- // NewOwnable creates a new instance of Ownable, bound to a specific deployed contract.
- func NewOwnable(address common.Address, backend bind.ContractBackend) (*Ownable, error) {
- contract, err := bindOwnable(address, backend, backend, backend)
- if err != nil {
- return nil, err
- }
- return &Ownable{OwnableCaller: OwnableCaller{contract: contract}, OwnableTransactor: OwnableTransactor{contract: contract}, OwnableFilterer: OwnableFilterer{contract: contract}}, nil
- }
- // NewOwnableCaller creates a new read-only instance of Ownable, bound to a specific deployed contract.
- func NewOwnableCaller(address common.Address, caller bind.ContractCaller) (*OwnableCaller, error) {
- contract, err := bindOwnable(address, caller, nil, nil)
- if err != nil {
- return nil, err
- }
- return &OwnableCaller{contract: contract}, nil
- }
- // NewOwnableTransactor creates a new write-only instance of Ownable, bound to a specific deployed contract.
- func NewOwnableTransactor(address common.Address, transactor bind.ContractTransactor) (*OwnableTransactor, error) {
- contract, err := bindOwnable(address, nil, transactor, nil)
- if err != nil {
- return nil, err
- }
- return &OwnableTransactor{contract: contract}, nil
- }
- // NewOwnableFilterer creates a new log filterer instance of Ownable, bound to a specific deployed contract.
- func NewOwnableFilterer(address common.Address, filterer bind.ContractFilterer) (*OwnableFilterer, error) {
- contract, err := bindOwnable(address, nil, nil, filterer)
- if err != nil {
- return nil, err
- }
- return &OwnableFilterer{contract: contract}, nil
- }
- // bindOwnable binds a generic wrapper to an already deployed contract.
- func bindOwnable(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
- parsed, err := abi.JSON(strings.NewReader(OwnableABI))
- if err != nil {
- return nil, err
- }
- return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil
- }
- // Call invokes the (constant) contract method with params as input values and
- // sets the output to result. The result type might be a single field for simple
- // returns, a slice of interfaces for anonymous returns and a struct for named
- // returns.
- func (_Ownable *OwnableRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
- return _Ownable.Contract.OwnableCaller.contract.Call(opts, result, method, params...)
- }
- // Transfer initiates a plain transaction to move funds to the contract, calling
- // its default method if one is available.
- func (_Ownable *OwnableRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
- return _Ownable.Contract.OwnableTransactor.contract.Transfer(opts)
- }
- // Transact invokes the (paid) contract method with params as input values.
- func (_Ownable *OwnableRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
- return _Ownable.Contract.OwnableTransactor.contract.Transact(opts, method, params...)
- }
- // Call invokes the (constant) contract method with params as input values and
- // sets the output to result. The result type might be a single field for simple
- // returns, a slice of interfaces for anonymous returns and a struct for named
- // returns.
- func (_Ownable *OwnableCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
- return _Ownable.Contract.contract.Call(opts, result, method, params...)
- }
- // Transfer initiates a plain transaction to move funds to the contract, calling
- // its default method if one is available.
- func (_Ownable *OwnableTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
- return _Ownable.Contract.contract.Transfer(opts)
- }
- // Transact invokes the (paid) contract method with params as input values.
- func (_Ownable *OwnableTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
- return _Ownable.Contract.contract.Transact(opts, method, params...)
- }
- // Owner is a free data retrieval call binding the contract method 0x8da5cb5b.
- //
- // Solidity: function owner() view returns(address)
- func (_Ownable *OwnableCaller) Owner(opts *bind.CallOpts) (common.Address, error) {
- var out []interface{}
- err := _Ownable.contract.Call(opts, &out, "owner")
- if err != nil {
- return *new(common.Address), err
- }
- out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
- return out0, err
- }
- // Owner is a free data retrieval call binding the contract method 0x8da5cb5b.
- //
- // Solidity: function owner() view returns(address)
- func (_Ownable *OwnableSession) Owner() (common.Address, error) {
- return _Ownable.Contract.Owner(&_Ownable.CallOpts)
- }
- // Owner is a free data retrieval call binding the contract method 0x8da5cb5b.
- //
- // Solidity: function owner() view returns(address)
- func (_Ownable *OwnableCallerSession) Owner() (common.Address, error) {
- return _Ownable.Contract.Owner(&_Ownable.CallOpts)
- }
- // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6.
- //
- // Solidity: function renounceOwnership() returns()
- func (_Ownable *OwnableTransactor) RenounceOwnership(opts *bind.TransactOpts) (*types.Transaction, error) {
- return _Ownable.contract.Transact(opts, "renounceOwnership")
- }
- // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6.
- //
- // Solidity: function renounceOwnership() returns()
- func (_Ownable *OwnableSession) RenounceOwnership() (*types.Transaction, error) {
- return _Ownable.Contract.RenounceOwnership(&_Ownable.TransactOpts)
- }
- // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6.
- //
- // Solidity: function renounceOwnership() returns()
- func (_Ownable *OwnableTransactorSession) RenounceOwnership() (*types.Transaction, error) {
- return _Ownable.Contract.RenounceOwnership(&_Ownable.TransactOpts)
- }
- // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b.
- //
- // Solidity: function transferOwnership(address newOwner) returns()
- func (_Ownable *OwnableTransactor) TransferOwnership(opts *bind.TransactOpts, newOwner common.Address) (*types.Transaction, error) {
- return _Ownable.contract.Transact(opts, "transferOwnership", newOwner)
- }
- // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b.
- //
- // Solidity: function transferOwnership(address newOwner) returns()
- func (_Ownable *OwnableSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) {
- return _Ownable.Contract.TransferOwnership(&_Ownable.TransactOpts, newOwner)
- }
- // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b.
- //
- // Solidity: function transferOwnership(address newOwner) returns()
- func (_Ownable *OwnableTransactorSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) {
- return _Ownable.Contract.TransferOwnership(&_Ownable.TransactOpts, newOwner)
- }
- // 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.
- type OwnableOwnershipTransferredIterator struct {
- Event *OwnableOwnershipTransferred // Event containing the contract specifics and raw log
- contract *bind.BoundContract // Generic contract to use for unpacking event data
- event string // Event name to use for unpacking event data
- logs chan types.Log // Log channel receiving the found contract events
- sub ethereum.Subscription // Subscription for errors, completion and termination
- done bool // Whether the subscription completed delivering logs
- fail error // Occurred error to stop iteration
- }
- // Next advances the iterator to the subsequent event, returning whether there
- // are any more events found. In case of a retrieval or parsing error, false is
- // returned and Error() can be queried for the exact failure.
- func (it *OwnableOwnershipTransferredIterator) Next() bool {
- // If the iterator failed, stop iterating
- if it.fail != nil {
- return false
- }
- // If the iterator completed, deliver directly whatever's available
- if it.done {
- select {
- case log := <-it.logs:
- it.Event = new(OwnableOwnershipTransferred)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- default:
- return false
- }
- }
- // Iterator still in progress, wait for either a data or an error event
- select {
- case log := <-it.logs:
- it.Event = new(OwnableOwnershipTransferred)
- if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
- it.fail = err
- return false
- }
- it.Event.Raw = log
- return true
- case err := <-it.sub.Err():
- it.done = true
- it.fail = err
- return it.Next()
- }
- }
- // Error returns any retrieval or parsing error occurred during filtering.
- func (it *OwnableOwnershipTransferredIterator) Error() error {
- return it.fail
- }
- // Close terminates the iteration process, releasing any pending underlying
- // resources.
- func (it *OwnableOwnershipTransferredIterator) Close() error {
- it.sub.Unsubscribe()
- return nil
- }
- // OwnableOwnershipTransferred represents a OwnershipTransferred event raised by the Ownable contract.
- type OwnableOwnershipTransferred struct {
- PreviousOwner common.Address
- NewOwner common.Address
- Raw types.Log // Blockchain specific contextual infos
- }
- // FilterOwnershipTransferred is a free log retrieval operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0.
- //
- // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
- func (_Ownable *OwnableFilterer) FilterOwnershipTransferred(opts *bind.FilterOpts, previousOwner []common.Address, newOwner []common.Address) (*OwnableOwnershipTransferredIterator, error) {
- var previousOwnerRule []interface{}
- for _, previousOwnerItem := range previousOwner {
- previousOwnerRule = append(previousOwnerRule, previousOwnerItem)
- }
- var newOwnerRule []interface{}
- for _, newOwnerItem := range newOwner {
- newOwnerRule = append(newOwnerRule, newOwnerItem)
- }
- logs, sub, err := _Ownable.contract.FilterLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule)
- if err != nil {
- return nil, err
- }
- return &OwnableOwnershipTransferredIterator{contract: _Ownable.contract, event: "OwnershipTransferred", logs: logs, sub: sub}, nil
- }
- // WatchOwnershipTransferred is a free log subscription operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0.
- //
- // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
- func (_Ownable *OwnableFilterer) WatchOwnershipTransferred(opts *bind.WatchOpts, sink chan<- *OwnableOwnershipTransferred, previousOwner []common.Address, newOwner []common.Address) (event.Subscription, error) {
- var previousOwnerRule []interface{}
- for _, previousOwnerItem := range previousOwner {
- previousOwnerRule = append(previousOwnerRule, previousOwnerItem)
- }
- var newOwnerRule []interface{}
- for _, newOwnerItem := range newOwner {
- newOwnerRule = append(newOwnerRule, newOwnerItem)
- }
- logs, sub, err := _Ownable.contract.WatchLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule)
- if err != nil {
- return nil, err
- }
- return event.NewSubscription(func(quit <-chan struct{}) error {
- defer sub.Unsubscribe()
- for {
- select {
- case log := <-logs:
- // New log arrived, parse the event and forward to the user
- event := new(OwnableOwnershipTransferred)
- if err := _Ownable.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil {
- return err
- }
- event.Raw = log
- select {
- case sink <- event:
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- case err := <-sub.Err():
- return err
- case <-quit:
- return nil
- }
- }
- }), nil
- }
- // ParseOwnershipTransferred is a log parse operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0.
- //
- // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
- func (_Ownable *OwnableFilterer) ParseOwnershipTransferred(log types.Log) (*OwnableOwnershipTransferred, error) {
- event := new(OwnableOwnershipTransferred)
- if err := _Ownable.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil {
- return nil, err
- }
- event.Raw = log
- return event, nil
- }
- // SafeMathMetaData contains all meta data concerning the SafeMath contract.
- var SafeMathMetaData = &bind.MetaData{
- ABI: "[]",
- Bin: "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212201fc18ef4fe49cd386cc40f05ccfc38eca9a6a4ddd13c34f6feca7955cbf776bb64736f6c63430008010033",
- }
- // SafeMathABI is the input ABI used to generate the binding from.
- // Deprecated: Use SafeMathMetaData.ABI instead.
- var SafeMathABI = SafeMathMetaData.ABI
- // SafeMathBin is the compiled bytecode used for deploying new contracts.
- // Deprecated: Use SafeMathMetaData.Bin instead.
- var SafeMathBin = SafeMathMetaData.Bin
- // DeploySafeMath deploys a new Ethereum contract, binding an instance of SafeMath to it.
- func DeploySafeMath(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *SafeMath, error) {
- parsed, err := SafeMathMetaData.GetAbi()
- if err != nil {
- return common.Address{}, nil, nil, err
- }
- if parsed == nil {
- return common.Address{}, nil, nil, errors.New("GetABI returned nil")
- }
- address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(SafeMathBin), backend)
- if err != nil {
- return common.Address{}, nil, nil, err
- }
- return address, tx, &SafeMath{SafeMathCaller: SafeMathCaller{contract: contract}, SafeMathTransactor: SafeMathTransactor{contract: contract}, SafeMathFilterer: SafeMathFilterer{contract: contract}}, nil
- }
- // SafeMath is an auto generated Go binding around an Ethereum contract.
- type SafeMath struct {
- SafeMathCaller // Read-only binding to the contract
- SafeMathTransactor // Write-only binding to the contract
- SafeMathFilterer // Log filterer for contract events
- }
- // SafeMathCaller is an auto generated read-only Go binding around an Ethereum contract.
- type SafeMathCaller struct {
- contract *bind.BoundContract // Generic contract wrapper for the low level calls
- }
- // SafeMathTransactor is an auto generated write-only Go binding around an Ethereum contract.
- type SafeMathTransactor struct {
- contract *bind.BoundContract // Generic contract wrapper for the low level calls
- }
- // SafeMathFilterer is an auto generated log filtering Go binding around an Ethereum contract events.
- type SafeMathFilterer struct {
- contract *bind.BoundContract // Generic contract wrapper for the low level calls
- }
- // SafeMathSession is an auto generated Go binding around an Ethereum contract,
- // with pre-set call and transact options.
- type SafeMathSession struct {
- Contract *SafeMath // Generic contract binding to set the session for
- CallOpts bind.CallOpts // Call options to use throughout this session
- TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
- }
- // SafeMathCallerSession is an auto generated read-only Go binding around an Ethereum contract,
- // with pre-set call options.
- type SafeMathCallerSession struct {
- Contract *SafeMathCaller // Generic contract caller binding to set the session for
- CallOpts bind.CallOpts // Call options to use throughout this session
- }
- // SafeMathTransactorSession is an auto generated write-only Go binding around an Ethereum contract,
- // with pre-set transact options.
- type SafeMathTransactorSession struct {
- Contract *SafeMathTransactor // Generic contract transactor binding to set the session for
- TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
- }
- // SafeMathRaw is an auto generated low-level Go binding around an Ethereum contract.
- type SafeMathRaw struct {
- Contract *SafeMath // Generic contract binding to access the raw methods on
- }
- // SafeMathCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
- type SafeMathCallerRaw struct {
- Contract *SafeMathCaller // Generic read-only contract binding to access the raw methods on
- }
- // SafeMathTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
- type SafeMathTransactorRaw struct {
- Contract *SafeMathTransactor // Generic write-only contract binding to access the raw methods on
- }
- // NewSafeMath creates a new instance of SafeMath, bound to a specific deployed contract.
- func NewSafeMath(address common.Address, backend bind.ContractBackend) (*SafeMath, error) {
- contract, err := bindSafeMath(address, backend, backend, backend)
- if err != nil {
- return nil, err
- }
- return &SafeMath{SafeMathCaller: SafeMathCaller{contract: contract}, SafeMathTransactor: SafeMathTransactor{contract: contract}, SafeMathFilterer: SafeMathFilterer{contract: contract}}, nil
- }
- // NewSafeMathCaller creates a new read-only instance of SafeMath, bound to a specific deployed contract.
- func NewSafeMathCaller(address common.Address, caller bind.ContractCaller) (*SafeMathCaller, error) {
- contract, err := bindSafeMath(address, caller, nil, nil)
- if err != nil {
- return nil, err
- }
- return &SafeMathCaller{contract: contract}, nil
- }
- // NewSafeMathTransactor creates a new write-only instance of SafeMath, bound to a specific deployed contract.
- func NewSafeMathTransactor(address common.Address, transactor bind.ContractTransactor) (*SafeMathTransactor, error) {
- contract, err := bindSafeMath(address, nil, transactor, nil)
- if err != nil {
- return nil, err
- }
- return &SafeMathTransactor{contract: contract}, nil
- }
- // NewSafeMathFilterer creates a new log filterer instance of SafeMath, bound to a specific deployed contract.
- func NewSafeMathFilterer(address common.Address, filterer bind.ContractFilterer) (*SafeMathFilterer, error) {
- contract, err := bindSafeMath(address, nil, nil, filterer)
- if err != nil {
- return nil, err
- }
- return &SafeMathFilterer{contract: contract}, nil
- }
- // bindSafeMath binds a generic wrapper to an already deployed contract.
- func bindSafeMath(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
- parsed, err := abi.JSON(strings.NewReader(SafeMathABI))
- if err != nil {
- return nil, err
- }
- return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil
- }
- // Call invokes the (constant) contract method with params as input values and
- // sets the output to result. The result type might be a single field for simple
- // returns, a slice of interfaces for anonymous returns and a struct for named
- // returns.
- func (_SafeMath *SafeMathRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
- return _SafeMath.Contract.SafeMathCaller.contract.Call(opts, result, method, params...)
- }
- // Transfer initiates a plain transaction to move funds to the contract, calling
- // its default method if one is available.
- func (_SafeMath *SafeMathRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
- return _SafeMath.Contract.SafeMathTransactor.contract.Transfer(opts)
- }
- // Transact invokes the (paid) contract method with params as input values.
- func (_SafeMath *SafeMathRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
- return _SafeMath.Contract.SafeMathTransactor.contract.Transact(opts, method, params...)
- }
- // Call invokes the (constant) contract method with params as input values and
- // sets the output to result. The result type might be a single field for simple
- // returns, a slice of interfaces for anonymous returns and a struct for named
- // returns.
- func (_SafeMath *SafeMathCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
- return _SafeMath.Contract.contract.Call(opts, result, method, params...)
- }
- // Transfer initiates a plain transaction to move funds to the contract, calling
- // its default method if one is available.
- func (_SafeMath *SafeMathTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
- return _SafeMath.Contract.contract.Transfer(opts)
- }
- // Transact invokes the (paid) contract method with params as input values.
- func (_SafeMath *SafeMathTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
- return _SafeMath.Contract.contract.Transact(opts, method, params...)
- }
- // StringsMetaData contains all meta data concerning the Strings contract.
- var StringsMetaData = &bind.MetaData{
- ABI: "[]",
- Bin: "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122058baafeed872837f3d079e468c5f41092777ed4166f64475bcc91ae3f5c7b81f64736f6c63430008010033",
- }
- // StringsABI is the input ABI used to generate the binding from.
- // Deprecated: Use StringsMetaData.ABI instead.
- var StringsABI = StringsMetaData.ABI
- // StringsBin is the compiled bytecode used for deploying new contracts.
- // Deprecated: Use StringsMetaData.Bin instead.
- var StringsBin = StringsMetaData.Bin
- // DeployStrings deploys a new Ethereum contract, binding an instance of Strings to it.
- func DeployStrings(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *Strings, error) {
- parsed, err := StringsMetaData.GetAbi()
- if err != nil {
- return common.Address{}, nil, nil, err
- }
- if parsed == nil {
- return common.Address{}, nil, nil, errors.New("GetABI returned nil")
- }
- address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(StringsBin), backend)
- if err != nil {
- return common.Address{}, nil, nil, err
- }
- return address, tx, &Strings{StringsCaller: StringsCaller{contract: contract}, StringsTransactor: StringsTransactor{contract: contract}, StringsFilterer: StringsFilterer{contract: contract}}, nil
- }
- // Strings is an auto generated Go binding around an Ethereum contract.
- type Strings struct {
- StringsCaller // Read-only binding to the contract
- StringsTransactor // Write-only binding to the contract
- StringsFilterer // Log filterer for contract events
- }
- // StringsCaller is an auto generated read-only Go binding around an Ethereum contract.
- type StringsCaller struct {
- contract *bind.BoundContract // Generic contract wrapper for the low level calls
- }
- // StringsTransactor is an auto generated write-only Go binding around an Ethereum contract.
- type StringsTransactor struct {
- contract *bind.BoundContract // Generic contract wrapper for the low level calls
- }
- // StringsFilterer is an auto generated log filtering Go binding around an Ethereum contract events.
- type StringsFilterer struct {
- contract *bind.BoundContract // Generic contract wrapper for the low level calls
- }
- // StringsSession is an auto generated Go binding around an Ethereum contract,
- // with pre-set call and transact options.
- type StringsSession struct {
- Contract *Strings // Generic contract binding to set the session for
- CallOpts bind.CallOpts // Call options to use throughout this session
- TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
- }
- // StringsCallerSession is an auto generated read-only Go binding around an Ethereum contract,
- // with pre-set call options.
- type StringsCallerSession struct {
- Contract *StringsCaller // Generic contract caller binding to set the session for
- CallOpts bind.CallOpts // Call options to use throughout this session
- }
- // StringsTransactorSession is an auto generated write-only Go binding around an Ethereum contract,
- // with pre-set transact options.
- type StringsTransactorSession struct {
- Contract *StringsTransactor // Generic contract transactor binding to set the session for
- TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
- }
- // StringsRaw is an auto generated low-level Go binding around an Ethereum contract.
- type StringsRaw struct {
- Contract *Strings // Generic contract binding to access the raw methods on
- }
- // StringsCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
- type StringsCallerRaw struct {
- Contract *StringsCaller // Generic read-only contract binding to access the raw methods on
- }
- // StringsTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
- type StringsTransactorRaw struct {
- Contract *StringsTransactor // Generic write-only contract binding to access the raw methods on
- }
- // NewStrings creates a new instance of Strings, bound to a specific deployed contract.
- func NewStrings(address common.Address, backend bind.ContractBackend) (*Strings, error) {
- contract, err := bindStrings(address, backend, backend, backend)
- if err != nil {
- return nil, err
- }
- return &Strings{StringsCaller: StringsCaller{contract: contract}, StringsTransactor: StringsTransactor{contract: contract}, StringsFilterer: StringsFilterer{contract: contract}}, nil
- }
- // NewStringsCaller creates a new read-only instance of Strings, bound to a specific deployed contract.
- func NewStringsCaller(address common.Address, caller bind.ContractCaller) (*StringsCaller, error) {
- contract, err := bindStrings(address, caller, nil, nil)
- if err != nil {
- return nil, err
- }
- return &StringsCaller{contract: contract}, nil
- }
- // NewStringsTransactor creates a new write-only instance of Strings, bound to a specific deployed contract.
- func NewStringsTransactor(address common.Address, transactor bind.ContractTransactor) (*StringsTransactor, error) {
- contract, err := bindStrings(address, nil, transactor, nil)
- if err != nil {
- return nil, err
- }
- return &StringsTransactor{contract: contract}, nil
- }
- // NewStringsFilterer creates a new log filterer instance of Strings, bound to a specific deployed contract.
- func NewStringsFilterer(address common.Address, filterer bind.ContractFilterer) (*StringsFilterer, error) {
- contract, err := bindStrings(address, nil, nil, filterer)
- if err != nil {
- return nil, err
- }
- return &StringsFilterer{contract: contract}, nil
- }
- // bindStrings binds a generic wrapper to an already deployed contract.
- func bindStrings(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
- parsed, err := abi.JSON(strings.NewReader(StringsABI))
- if err != nil {
- return nil, err
- }
- return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil
- }
- // Call invokes the (constant) contract method with params as input values and
- // sets the output to result. The result type might be a single field for simple
- // returns, a slice of interfaces for anonymous returns and a struct for named
- // returns.
- func (_Strings *StringsRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
- return _Strings.Contract.StringsCaller.contract.Call(opts, result, method, params...)
- }
- // Transfer initiates a plain transaction to move funds to the contract, calling
- // its default method if one is available.
- func (_Strings *StringsRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
- return _Strings.Contract.StringsTransactor.contract.Transfer(opts)
- }
- // Transact invokes the (paid) contract method with params as input values.
- func (_Strings *StringsRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
- return _Strings.Contract.StringsTransactor.contract.Transact(opts, method, params...)
- }
- // Call invokes the (constant) contract method with params as input values and
- // sets the output to result. The result type might be a single field for simple
- // returns, a slice of interfaces for anonymous returns and a struct for named
- // returns.
- func (_Strings *StringsCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
- return _Strings.Contract.contract.Call(opts, result, method, params...)
- }
- // Transfer initiates a plain transaction to move funds to the contract, calling
- // its default method if one is available.
- func (_Strings *StringsTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
- return _Strings.Contract.contract.Transfer(opts)
- }
- // Transact invokes the (paid) contract method with params as input values.
- func (_Strings *StringsTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
- return _Strings.Contract.contract.Transact(opts, method, params...)
- }
|